서버 설치 · 5 min read · Dec 18, 2025
Debian 8 (Jessie)에서 PHP5 (PHP-FPM) 및 MySQL과 함께 Lighttpd 설치하기
Lighttpd는 속도가 중요한 환경을 위해 설계된 안전하고 빠르며 표준을 준수하는 웹 서버입니다. 이 튜토리얼에서는 PHP5 지원( PHP-FPM을 통해) 및 MySQL 지원과 함께 Debian 8 (Jessie) 서버에 Lighttpd를 설치하는 방법을 보여줍니다. PHP-FPM (FastCGI Process Manager)은 모든 크기의 사이트, 특히 더 바쁜 사이트에 유용한 몇 가지 추가 기능이 있는 대체 PHP FastCGI 구현입니다. 이 튜토리얼에서는 Lighttpd의 spawn-fcgi 대신 PHP-FPM을 사용합니다.
1 사전 참고
이 튜토리얼에서는 호스트 이름 server1.example.com과 IP 주소 192.168.1.100을 사용합니다. 이러한 설정은 여러분의 경우 다를 수 있으므로 적절한 곳에서 교체해야 합니다. 이 설치의 기초로 Debian 최소 서버를 사용하십시오. 이는 데이터 센터의 최소 이미지일 수도 있고, Debian 최소 서버 튜토리얼을 사용하여 처음부터 설치할 수도 있습니다.
2 MySQL / MariaDB 설치하기
Debian 8은 전통적인 MySQL 데이터베이스와 원래 MySQL 발명가인 Monty Widenius가 유지 관리하는 MySQL 포크인 MariaDB라는 2개의 MySQL 호환 데이터베이스를 제공합니다. 현재 MariaDB는 데이터베이스 속도와 개발 활동 면에서 선두를 달리고 있으므로 서버에 MariaDB를 선택하겠습니다.
아래에서는 MariaDB(2.1장)와 MySQL(2.2장)의 설치를 설명하므로 선호하는 데이터베이스를 선택할 수 있습니다. 2.1장 또는 2.2장 중 하나만 따르도록 하십시오.
2.1 MariaDB 설치하기
MariaDB를 설치하려면 다음 명령을 실행하십시오.
apt-get install mariadb-server mariadb-clientMariaDB 루트 사용자에 대한 비밀번호를 제공하라는 메시지가 표시됩니다. 이 비밀번호는 사용자 root@localhost와 [email protected] 모두에 유효하므로 나중에 수동으로 MariaDB 루트 비밀번호를 지정할 필요가 없습니다:
New password for the MariaDB "root" user: <-- yourrootsqlpassword
Repeat password for the MariaDB "root" user: <-- yourrootsqlpassword2.2 MySQL 설치하기
MySQL 5는 다음과 같이 설치합니다:
apt-get install mysql-server mysql-clientMySQL 루트 사용자에 대한 비밀번호를 제공하라는 메시지가 표시됩니다. 이 비밀번호는 사용자 root@localhost와 [email protected] 모두에 유효하므로 나중에 수동으로 MySQL 루트 비밀번호를 지정할 필요가 없습니다:
New password for the MySQL “root” user: <– yourrootsqlpassword
Repeat password for the MySQL “root” user: <– yourrootsqlpassword
3 Lighttpd 설치하기
Lighttpd는 Debian 패키지로 제공되므로 다음과 같이 설치할 수 있습니다:
apt-get install lighttpd이제 브라우저를 http://192.168.1.100/로 이동하면 Lighttpd 자리 표시자 페이지가 표시됩니다:

Lighttpd의 기본 문서 루트는 Debian에서 /var/www이며, 구성 파일은 /etc/lighttpd/lighttpd.conf입니다.
추가 구성은 /etc/lighttpd/conf-available 디렉토리에 있는 파일에 저장됩니다. 이러한 구성은 /etc/lighttpd/conf-enabled 디렉토리에서 적절한 구성 파일로의 심볼릭 링크를 생성하는 lighttpd-enable-mod 명령으로 활성화할 수 있습니다. lighttpd-disable-mod 명령으로 구성을 비활성화할 수 있습니다.
4 PHP5 설치하기
PHP-FPM을 통해 Lighttpd에서 PHP5를 작동시킬 수 있으며, 다음과 같이 설치합니다:
apt-get install php5-fpm php5PHP-FPM은 소켓 /var/run/php5-fpm.sock에서 FastCGI 서버를 실행하는 데몬 프로세스입니다(초기 스크립트 /etc/init.d/php5-fpm).
5 Lighttpd 및 PHP5 구성하기
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
[...]구성 변경 사항을 적용하려면 php5-fpm 서비스를 재시작합니다:
systemctl restart php5-fpm.servicePHP용 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# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/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 Aug 11 08:20 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Aug 11 08:20 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf그런 다음 Lighttpd를 다시 로드합니다:
systemctl force-reload lighttpd.service6 PHP5 테스트 / PHP5 설치에 대한 세부정보 얻기
기본 웹사이트의 문서 루트는 /var/www입니다. 이제 해당 디렉토리에 작은 PHP 파일(info.php)을 만들고 브라우저에서 호출합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 유용한 세부정보를 많이 표시합니다.
nano /var/www/html/info.php이제 브라우저에서 해당 파일을 호출합니다(예: http://192.168.1.100/info.php):

보시다시피, PHP5가 작동하고 있으며, Server API 줄에 표시된 대로 FPM/FastCGI를 통해 작동하고 있습니다. 아래로 스크롤하면 PHP5에서 이미 활성화된 모든 모듈을 볼 수 있습니다. MySQL은 거기에 나열되어 있지 않으므로 PHP5에서 MySQL 지원이 아직 없습니다.
7 PHP5에서 MySQL 지원 받기
PHP에서 MySQL 지원을 받으려면 php5-mysqlnd 패키지를 설치할 수 있습니다. 이는 MySQL 및 MariaDB와 호환되는 새로운 데이터베이스 드라이버입니다. 애플리케이션에 필요할 수 있는 다른 PHP5 모듈도 설치하는 것이 좋습니다. 다음과 같이 사용 가능한 PHP5 모듈을 검색할 수 있습니다:
apt-cache search php5필요한 모듈을 선택하고 다음과 같이 설치합니다:
apt-get install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xslXcache는 PHP 중간 코드를 캐시하고 최적화하기 위한 무료 오픈 PHP opcode 캐셔입니다. eAccelerator 및 APC와 같은 다른 PHP opcode 캐셔와 유사합니다. PHP 페이지 속도를 높이기 위해 이러한 것 중 하나를 설치하는 것이 강력히 권장됩니다.
Xcache는 다음과 같이 설치할 수 있습니다:
apt-get install php5-xcache이제 PHP-FPM을 다시 로드합니다:
systemctl restart php5-fpm.service이제 브라우저에서 http://192.168.1.100/info.php를 다시 로드하고 모듈 섹션으로 다시 스크롤합니다. 이제 MySQL 모듈을 포함하여 많은 새로운 모듈을 찾아야 합니다:

8 phpMyAdmin
phpMyAdmin은 MySQL 데이터베이스를 관리할 수 있는 웹 인터페이스입니다. 설치하는 것이 좋습니다:
apt-get install phpmyadmin다음과 같은 질문이 표시됩니다:
자동으로 재구성할 웹 서버: <– lighttpd

phpmyadmin을 위한 데이터베이스를 dbconfig-common으로 구성하시겠습니까? <-- 예
데이터베이스 관리 사용자의 비밀번호: <-- yourrootsqlpassword
phpmyadmin의 MySQL 애플리케이션 비밀번호: <-- 를 누르십시오. 이후 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(로컬호스트)의 포트 9000에서 수신 대기하게 됩니다. 시스템에서 사용 중이지 않은 포트를 사용해야 합니다.
그런 다음 PHP-FPM을 다시 로드합니다:
systemctl restart php5-fpm.service다음으로 Lighttpd의 PHP 구성 파일 /etc/lighttpd/conf-available/15-fastcgi-php.conf를 열고 소켓 줄을 호스트 및 포트 줄로 교체합니다:
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf# -*- depends: fastcgi -*-
# /usr/share/doc/lighttpd/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를 다시 로드합니다:
systemctl force-reload lighttpd.service10 링크
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- phpMyAdmin: http://www.phpmyadmin.net/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.