서버 설치 · 5 min read · Dec 23, 2025

Ubuntu 15.10에서 PHP (PHP-FPM 모드) 및 MySQL 또는 MariaDB와 함께 Lighttpd 설치하기

Lighttpd는 속도에 민감한 환경을 위해 설계된 안전하고 빠르며 표준을 준수하는 웹 서버입니다. 이 튜토리얼에서는 PHP 지원 (PHP-FPM을 통해) 및 MySQL 또는 MariaDB와 함께 Ubuntu 15.10 서버에 Lighttpd를 설치하는 방법을 보여줍니다. PHP-FPM (FastCGI Process Manager)은 모든 크기의 사이트, 특히 더 바쁜 사이트에 유용한 몇 가지 추가 기능이 있는 대체 PHP FastCGI 구현입니다. 이 튜토리얼에서는 Lighttpd의 spawn-fcgi 대신 PHP-FPM을 사용합니다.

1 사전 참고

이 튜토리얼에서는 호스트 이름 server1.example.com과 IP 주소 192.168.1.100을 사용합니다. 이러한 설정은 귀하의 경우 다를 수 있으므로 적절한 곳에서 교체해야 합니다.

모든 단계를 root 권한으로 실행하고 있으므로 진행하기 전에 root로 로그인했는지 확인하십시오:

sudo su

2 MySQL / MariaDB 설치하기

Ubuntu는 원래 MySQL 데이터베이스 서버 (MySQL 5.6)와 MySQL 포크인 MariaDB (10)에 대한 패키지를 제공합니다. 대부분의 사용자는 오늘날 MariaDB를 사용하는 것을 선호합니다. 왜냐하면 MySQL보다 약간 빠르고 개발이 더 빠르게 진행되기 때문입니다. 여기서 무엇을 설치할지는 귀하에게 맡기며 두 가지 옵션을 모두 설명하겠습니다. 2.1 또는 2.2의 지침 중 하나를 따르되 둘 다 따르지 마십시오.

2.1 MySQL 설치하기

MySQL을 다음과 같이 설치합니다:

apt-get -y install mysql-server-5.6 mysql-client-5.6

MySQL root 사용자에 대한 비밀번호를 제공하라는 메시지가 표시됩니다. 이 비밀번호는 root@localhost 및 [email protected] 사용자 모두에 대해 유효하므로 나중에 MySQL root 비밀번호를 수동으로 지정할 필요가 없습니다:

MySQL “root” 사용자에 대한 새 비밀번호: <– yourrootsqlpassword
MySQL “root” 사용자에 대한 비밀번호를 반복 입력하십시오: <– yourrootsqlpassword

2.2 MariaDB 설치하기

MariaDB를 다음과 같이 설치합니다:

apt-get -y install mariadb-server mariadb-client

이제 MariaDB에 대한 root 비밀번호를 설정합니다.

mysql_secure_installation

다음 질문이 표시됩니다:

Enter current password for root (enter for none): <-- press enter  
Set root password? [Y/n] <-- y  
New password: <-- Enter the new MariaDB root password here  
Re-enter new password: <-- Repeat the password  
Remove anonymous users? [Y/n] <-- y  
Disallow root login remotely? [Y/n] <-- y  
Reload privilege tables now? [Y/n] <-- y

3 Lighttpd 설치하기

Lighttpd는 Ubuntu 패키지로 제공되므로 다음과 같이 설치할 수 있습니다:

apt-get -y install lighttpd

이제 브라우저를 http://192.168.1.100/index.lighttpd.html로 이동하면 Lighttpd 자리 표시자 페이지가 표시됩니다:

Ubuntu 15.10의 Lighttpd 환영 페이지.

Lighttpd의 기본 문서 루트는 Ubuntu의 경우 /var/www/html이며, 구성 파일은 /etc/lighttpd/lighttpd.conf입니다. 추가 구성은 /etc/lighttpd/conf-available 디렉토리의 파일에 저장됩니다. 이러한 구성은 /etc/lighttpd/conf-enabled 디렉토리에서 적절한 구성 파일로의 심볼릭 링크를 생성하는 lighttpd-enable-mod 명령으로 활성화할 수 있습니다. lighttpd-disable-mod 명령으로 구성을 비활성화할 수 있습니다.

4 PHP 5.6 설치하기

PHP5를 Lighttpd에서 작동하게 하려면 다음과 같이 PHP-FPM을 설치합니다:

apt-get -y install php5-fpm php5

PHP-FPM은 /var/run/php5-fpm.sock 소켓에서 FastCGI 서버를 실행하는 데몬 프로세스입니다 (systemd 서비스 단위 php5-fpm.service).

5 Lighttpd 및 PHP 구성하기

Lighttpd에서 PHP5를 활성화하려면 /etc/php5/fpm/php.ini를 수정하고 cgi.fix_pathinfo=1 줄의 주석을 제거해야 합니다:

nano /etc/php5/fpm/php.ini
[...]
; cgi.fix_pathinfo는 CGI에 대한 *실제* PATH_INFO/PATH_TRANSLATED 지원을 제공합니다. PHP의
; 이전 동작은 PATH_TRANSLATED를 SCRIPT_FILENAME으로 설정하고 PATH_INFO가 무엇인지 이해하지 못하는 것이었습니다. PATH_INFO에 대한 자세한 내용은 cgi 사양을 참조하십시오. 이를 1로 설정하면 PHP CGI가 경로를 사양에 맞게 수정합니다. 0으로 설정하면 PHP가 이전과 같이 동작합니다. 기본값은 1입니다. 스크립트를 수정하여 PATH_TRANSLATED 대신 SCRIPT_FILENAME을 사용해야 합니다.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]

PHP에 대한 Lighttpd 구성 파일 /etc/lighttpd/conf-available/15-fastcgi-php.conf는 spawn-fcgi와 함께 사용하기에 적합하지만, 우리는 PHP-FPM을 사용하고자 하므로 파일의 백업을 생성하고 (15-fastcgi-php-spawnfcgi.conf라는 이름으로) 15-fastcgi-php.conf를 다음과 같이 수정합니다:

cd /etc/lighttpd/conf-available/  
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf  
nano 15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## PHP에 대한 FastCGI 서버 시작 (php5-cgi 패키지가 필요함)
fastcgi.server += ( ".php" =>
        ((
                "socket" => "/var/run/php5-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

fastcgi 구성을 활성화하려면 다음 명령을 실행합니다:

lighttpd-enable-mod fastcgi  
lighttpd-enable-mod fastcgi-php

이렇게 하면 /etc/lighttpd/conf-enabled/10-fastcgi.conf가 /etc/lighttpd/conf-available/10-fastcgi.conf를 가리키고, /etc/lighttpd/conf-enabled/15-fastcgi-php.conf가 /etc/lighttpd/conf-available/15-fastcgi-php.conf를 가리키는 심볼릭 링크가 생성됩니다:

ls -l /etc/lighttpd/conf-enabled
root@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled  
total 0  
lrwxrwxrwx 1 root root 33 Nov 11 13:59 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf  
lrwxrwxrwx 1 root root 37 Nov 11 13:59 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf

그런 다음 Lighttpd를 다시 로드합니다:

service lighttpd force-reload

6 PHP5 테스트하기 / PHP5 설치에 대한 세부 정보 얻기

기본 웹 사이트의 문서 루트는 /var/www/html입니다. 이제 해당 디렉토리에 작은 PHP 파일 (info.php)을 만들고 브라우저에서 호출합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 유용한 세부 정보를 표시합니다.

nano /var/www/html/info.php

이제 브라우저에서 해당 파일을 호출합니다 (예: http://192.168.1.100/info.php):

Ubuntu 15.10에서의 PHP Info() 출력.

보시다시피 PHP 5.6이 작동하고 있으며, Server API 줄에 표시된 대로 FPM/FastCGI를 통해 작동하고 있습니다. 아래로 스크롤하면 PHP5에서 이미 활성화된 모든 모듈을 볼 수 있습니다. MySQL은 거기에 나열되어 있지 않으므로 PHP에서 MySQL 지원이 아직 없습니다.

7 PHP5에서 MySQL 지원 받기

PHP에서 MySQL 지원을 받으려면 php5-mysqlnd 패키지를 설치할 수 있습니다. 이는 MySQL과 MariaDB를 지원하는 최신 MySQL 드라이버를 포함하고 있으므로 php5-mysql 패키지보다 선호됩니다. 애플리케이션에 필요할 수 있는 다른 PHP5 모듈도 설치하는 것이 좋습니다. 다음과 같이 사용 가능한 PHP5 모듈을 검색할 수 있습니다:

apt-cache search php5

필요한 모듈을 선택하고 다음과 같이 설치합니다:

apt-get -y install php5-mysqlnd php5-curl 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

Xcache는 PHP 중간 코드를 캐싱하고 최적화하기 위한 무료 오픈 PHP opcode 캐셔입니다. 이는 eAccelerator 및 APC와 같은 다른 PHP opcode 캐셔와 유사합니다. PHP 페이지 속도를 높이기 위해 이러한 것 중 하나를 설치하는 것이 강력히 권장됩니다.

Xcache는 다음과 같이 설치할 수 있습니다:

apt-get -y install php5-xcache

이제 PHP-FPM을 다시 로드합니다:

service php5-fpm reload

이제 브라우저에서 http://192.168.1.100/info.php를 다시 로드하고 모듈 섹션으로 다시 스크롤합니다. 이제 MySQL 모듈을 포함하여 많은 새로운 모듈을 찾을 수 있어야 합니다:

mysqlnd 드라이버가 활성화된 phpinfo 출력.

8 phpMyAdmin

phpMyAdmin은 MySQL 데이터베이스를 관리할 수 있는 웹 인터페이스입니다. 설치하는 것이 좋습니다:

apt-get -y install phpmyadmin

다음 질문이 표시됩니다:

자동으로 재구성할 웹 서버: <– lighttpd
dbconfig-common으로 phpmyadmin을 위한 데이터베이스 구성? <– yes

데이터베이스의 관리 사용자 비밀번호: <-- MySQL/MariaDB root 비밀번호 입력  
phpmyadmin의 MySQL 애플리케이션 비밀번호: <-- ENTER 키를 누르십시오  

그 후 http://192.168.1.100/phpmyadmin/에서 phpMyAdmin에 접근할 수 있습니다:

Lighttpd에서 Ubuntu 15.10에 성공적으로 설치된 PHPMyAdmin.

9 PHP-FPM이 TCP 연결을 사용하도록 설정하기 (선택 사항)

기본적으로 PHP-FPM은 /var/run/php5-fpm.sock 소켓에서 수신 대기합니다. PHP-FPM이 TCP 연결을 사용하도록 설정하는 것도 가능합니다. 이렇게 하려면 /etc/php5/fpm/pool.d/www.conf를 열고…

nano /etc/php5/fpm/pool.d/www.conf

… listen 줄을 다음과 같이 수정합니다:

[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]

이렇게 하면 PHP-FPM이 IP 127.0.0.1 (localhost)의 포트 9000에서 수신 대기하게 됩니다. 시스템에서 사용되지 않는 포트를 사용해야 합니다.

그런 다음 PHP-FPM을 다시 로드합니다:

service php5-fpm reload

다음으로 Lighttpd의 PHP 구성 파일 /etc/lighttpd/conf-available/15-fastcgi-php.conf를 열고 소켓 줄을 호스트 및 포트 줄로 교체합니다:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## PHP에 대한 FastCGI 서버 시작 (php5-cgi 패키지가 필요함)
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

마지막으로 Lighttpd를 다시 로드합니다:

service lighttpd force-reload

10 이 튜토리얼의 가상 머신 이미지 다운로드

이 튜토리얼은 Howtoforge 구독자를 위한 ovf/ova 형식의 사용 준비가 완료된 가상 머신 이미지로 제공됩니다. VM 형식은 VMWare 및 Virtualbox와 호환됩니다. 가상 머신 이미지는 다음 로그인 세부 정보를 사용합니다:

SSH / Shell 로그인

사용자 이름: administrator
비밀번호: howtoforge

이 사용자는 sudo 권한이 있습니다.

MySQL / MariaDB 로그인

사용자 이름: root
비밀번호: howtoforge

VM의 IP는 192.168.1.100이며, /etc/network/interfaces 파일에서 변경할 수 있습니다. 가상 머신을 보호하기 위해 위의 모든 비밀번호를 변경하십시오.

11 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.