서버 설치 · 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 su2 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.6MySQL 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] <-- y3 Lighttpd 설치하기
Lighttpd는 Ubuntu 패키지로 제공되므로 다음과 같이 설치할 수 있습니다:
apt-get -y install lighttpd이제 브라우저를 http://192.168.1.100/index.lighttpd.html로 이동하면 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 php5PHP-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-enabledroot@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-reload6 PHP5 테스트하기 / PHP5 설치에 대한 세부 정보 얻기
기본 웹 사이트의 문서 루트는 /var/www/html입니다. 이제 해당 디렉토리에 작은 PHP 파일 (info.php)을 만들고 브라우저에서 호출합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 유용한 세부 정보를 표시합니다.
nano /var/www/html/info.php이제 브라우저에서 해당 파일을 호출합니다 (예: http://192.168.1.100/info.php):

보시다시피 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-xslXcache는 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 모듈을 포함하여 많은 새로운 모듈을 찾을 수 있어야 합니다:

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에 접근할 수 있습니다:

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-reload10 이 튜토리얼의 가상 머신 이미지 다운로드
이 튜토리얼은 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 링크
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Ubuntu: http://www.ubuntu.com/
- phpMyAdmin: http://www.phpmyadmin.net/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.