1. 시작하기 전에...
http://www.nextlab.co.kr:8080/nw/에서 100% 참고하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux가 설치되었을 때를 기준으로 설명합니다.
NGINX는 가벼워서 저성능의 서버에서도 실행되며, 각종 보완되지 않은 취약점에 해킹당할 수 있는 서버의 앞에 둠으로써 보안이슈를 보완할 수 있는 서버입니다.(원본링크) 그리고 참고 사이트에서는 프로세스 실행 시 rc.d가 먹히는데, series 4에서는 먹히지 않아서 systemctl로 대체합니다.
2. NGINX설치
pacman -Sy nginx
systemctl start nginx
nginx가 실행되는지 테스트하는 방법은 웹브라우저를 열어서 http://pogoplug_IP를 입력하여 엽니다. 그럼 'welcome to nginx'라는 문구가 나옵니다.
3. PHP 설치 및 연동
static한 html, image나 간단한 파일을 올릴 목적이면 이 정도로 끝낼 수 있지만, 우리는 그누보드까지 설치가 가능한 제대로 된 웹서버이기 때문에 php 설치 및 연동 설정 작업이 필요합니다.
pacman -Sy php-fpm
pacman -Sy php-gd
systemctl start php-fpm
4. PHP 설정
nano /etc/php/php.ini
(samba를 무사히 설치했다면 nano 대신 윈도우 탐색기에서 열어도 무방합니다. 단 ultra edit같이 UNIX 파일을 지원하는 에디터를 이용해야 합니다.)
아래와 같이 수정하거나 주석(;)을 지워주어야 합니다. (새로 추가하는 것이 아니라 찾아보면 해당 항목이 존재합니다.)
검색으로 보면 ;주석으로 묶인 첫번째 'short_open_tag'부분을 수정하지 말고 밑에 나오는 두번째 short_open_tag=Off를 수정합니다.
...쭈~욱 내려가다 보면 나옴.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag=Off를 다음과 같이 수정합니다.
short_open_tag=On (php에서 <? 로 짧은 시작태그 쓸 수 있도록 설정)
...또 쭈~욱 내려가다 보면 ;주석으로 묶인 아래와 같은 부분이 나오는데, ;주석을 지웁니다.
extension=mysql.so (mysql 연동)
extension=gd.so (gd module or php 연동)
5. nginx 설정 (가장 중요한 부분입니다.)
nano /etc/nginx/nginx.conf
아래 내용은 다음을 기준으로 설정합니다. (전체를 추가하는 것이 아니라 부분적으로 추가 또는 수정하거나 ;주석을 지워주면 됩니다.)
...
http {
...
access_log off;
gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /srv/http;
index index.html index.htm index.php;
}
...앞에 ;주석을 지웁니다.
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
root /srv/http;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
return 204;
access_log off;
log_not_found off;
}
ctrl+o, 엔터로 저장하고 ctrl+x로 나옵니다.
cd /srv/http
(디렉터리가 존재하지 않는다는 에러가 발생하면 # mkdir /srv/http 로 디렉터리를 생성하면 됩니다.)
systemctl restart php-fpm
systemctl restart nginx
6. php 연동 테스트
wget http://pogo.nextlab.co.kr:8080/phpinfo.php.bak
mv phpinfo.php.bak phpinfo.php
라고 각각 입력하고 엔터를 칩니다.
그리고 브라우저에서 '자신의 포고_IP/phpinfo.php' 를 열었을 때 php 설치 정보 페이지가 제대로 나온다면 php 연동 작업까지 성공한 것입니다.
http://www.nextlab.co.kr:8080/nw/에서 100% 참고하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux가 설치되었을 때를 기준으로 설명합니다.
NGINX는 가벼워서 저성능의 서버에서도 실행되며, 각종 보완되지 않은 취약점에 해킹당할 수 있는 서버의 앞에 둠으로써 보안이슈를 보완할 수 있는 서버입니다.(원본링크) 그리고 참고 사이트에서는 프로세스 실행 시 rc.d가 먹히는데, series 4에서는 먹히지 않아서 systemctl로 대체합니다.
2. NGINX설치
pacman -Sy nginx
systemctl start nginx
nginx가 실행되는지 테스트하는 방법은 웹브라우저를 열어서 http://pogoplug_IP를 입력하여 엽니다. 그럼 'welcome to nginx'라는 문구가 나옵니다.
기본 홈 위치는 /usr/share/nginx/html 입니다. |
static한 html, image나 간단한 파일을 올릴 목적이면 이 정도로 끝낼 수 있지만, 우리는 그누보드까지 설치가 가능한 제대로 된 웹서버이기 때문에 php 설치 및 연동 설정 작업이 필요합니다.
pacman -Sy php-fpm
pacman -Sy php-gd
systemctl start php-fpm
4. PHP 설정
nano /etc/php/php.ini
(samba를 무사히 설치했다면 nano 대신 윈도우 탐색기에서 열어도 무방합니다. 단 ultra edit같이 UNIX 파일을 지원하는 에디터를 이용해야 합니다.)
아래와 같이 수정하거나 주석(;)을 지워주어야 합니다. (새로 추가하는 것이 아니라 찾아보면 해당 항목이 존재합니다.)
검색으로 보면 ;주석으로 묶인 첫번째 'short_open_tag'부분을 수정하지 말고 밑에 나오는 두번째 short_open_tag=Off를 수정합니다.
...쭈~욱 내려가다 보면 나옴.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag=Off를 다음과 같이 수정합니다.
short_open_tag=On (php에서 <? 로 짧은 시작태그 쓸 수 있도록 설정)
...또 쭈~욱 내려가다 보면 ;주석으로 묶인 아래와 같은 부분이 나오는데, ;주석을 지웁니다.
extension=mysql.so (mysql 연동)
extension=gd.so (gd module or php 연동)
5. nginx 설정 (가장 중요한 부분입니다.)
nano /etc/nginx/nginx.conf
아래 내용은 다음을 기준으로 설정합니다. (전체를 추가하는 것이 아니라 부분적으로 추가 또는 수정하거나 ;주석을 지워주면 됩니다.)
...
http {
...
access_log off;
gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /srv/http;
index index.html index.htm index.php;
}
...앞에 ;주석을 지웁니다.
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
root /srv/http;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
return 204;
access_log off;
log_not_found off;
}
ctrl+o, 엔터로 저장하고 ctrl+x로 나옵니다.
cd /srv/http
(디렉터리가 존재하지 않는다는 에러가 발생하면 # mkdir /srv/http 로 디렉터리를 생성하면 됩니다.)
systemctl restart php-fpm
systemctl restart nginx
6. php 연동 테스트
wget http://pogo.nextlab.co.kr:8080/phpinfo.php.bak
mv phpinfo.php.bak phpinfo.php
라고 각각 입력하고 엔터를 칩니다.
그리고 브라우저에서 '자신의 포고_IP/phpinfo.php' 를 열었을 때 php 설치 정보 페이지가 제대로 나온다면 php 연동 작업까지 성공한 것입니다.
댓글 없음:
댓글 쓰기