(*이 포스팅은 ICBANQ 10기 무상체험단에 선정되어 작성하는 비글본 블랙 개봉기입니다.)
지난 포스팅에서는 비글본 블랙의 기본 OS인 Angstrom 대신 우분투13.04 이미지 설치하는 방법을 설명했다. 이번 포스팅에서는 nginx서버와 함께 PHP, MySQL을 설치해보기로 한다.
먼저 우분투에 설치되어 있는 apache를 제거해서 미리 nginx와의 충돌을 피해야 한다.
1 2 |
sudo apt-get purge apache2* sudo apt-get autoremove |
apache 제거 후 nginx와 PHP FPM를 설치한다. 먼저 다음과 같이 nginx 패키지를 설치한다.
1 |
sudo apt-get install -y nginx |
그리고 PHP관련 패키지를 설치한다.
1 2 3 |
sudo apt-get -y install php5-fpm php5-curl php5-mysql php5-gd php5-intl php-pear php5-imagick \ php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode \ php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-common |
nginx와 PHP 설치는 끝이 났지만 한가지 nginx 설정에서 PHP FPM과 연동을 해줘야 한다. 우선 다음 명령으로 설정 파일을 연다.
1 |
sudo nano /etc/nginx/sites-available/default |
파일을 열면 아래와 유사한 설정 부분을 찾아 주석을 제거하고 마지막 줄에 “try_files $uri =403″을 넣어준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; # add the following line in for added security. try_files $uri =403; } |
설졍을 변경했으니 관련 프로그램을 재시작한다.
1 2 |
sudo /etc/init.d/php5-fpm restart sudo service nginx restart |
nginx가 잘 운영되는지 직접 서버의 주소로 들어가 확인하여 아래와 같은 화면을 만나면 성공이다.
nginx의 동작을 확인했으면 이제 PHP와 nginx가 잘 연동되었는지 확인하기 위해서 phpinfo()함수를 넣은 파일을 하나 만들어 nginx의 웹 루트 폴더(/usr/share/nginx/html)에 넣어서 브라우저에서 실행해 본다.
1 2 3 |
<?php phpinfo(); ?> |
브라우저에서 아래와 같은 창이 뜨면 PHP FPM이 잘 설치되어 nginx와 연동되었다는 뜻이다.
mysql은 다음의 명령으로 설치 한다. 중간에 묻는 패스워드 설정만 하면 쉽게 설치할 수 있다.
1 |
sudo apt-get install -y mysql-server mysql-client |
다음으로 편의를 위해서 phpmyadmin도 설치한다. 설치할 때 웹서버를 묻는데 일단 아파치로 하고 넘어간다.
1 |
sudo apt-get install phpmyadmin |
설치 중간 중간에 비번을 잘 입력하고 난 후 설치가 끝나면 현재 phpmyadmin의 폴더를 nginx 서버의 웹루트 폴더에 심볼릭 링크를 걸고 nginx를 재시작한다.
1 2 |
sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html/ sudo service nginx restart |
phpmyadmin을 실행시켜 정상적으로 뜨면 성공이고, 403 에러가 뜬다면 nginx의 설정을 확인해 봐야 한다.
1 |
sudo nano /etc/nginx/sites-available/default |
설정 파일에서 처음 서버 설정 밑에 index에 “index.php”가 추가되었는지 확인하고 안 되어 있어 넣었더니 정상적으로 phpmyadmin이 작동했다.
오늘 작업은 여기저기 참조를 많이 했다. 아래 참조한 사이트들이다.
- http://www.networkinghowtos.com/howto/installing-nginx-php-and-mysql-on-ubuntu-13-04/
- http://www.unixmen.com/install-lemp-server-nginx-mysql-mariadb-php-ubuntu-13-10-server/
- https://bbs.archlinux.org/viewtopic.php?id=163714