서버 설치 · 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-client

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

New password for the MariaDB "root" user: <-- yourrootsqlpassword  
Repeat password for the MariaDB "root" user: <-- yourrootsqlpassword

2.2 MySQL 설치하기

MySQL 5는 다음과 같이 설치합니다:

apt-get install mysql-server mysql-client

MySQL 루트 사용자에 대한 비밀번호를 제공하라는 메시지가 표시됩니다. 이 비밀번호는 사용자 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 php5

PHP-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.service

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
# -*- 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-enabled
root@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.service

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

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

nano /var/www/html/info.php

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

Lighttpd에서 php-fpm에 대한 PHPInfo.

보시다시피, 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-xsl

Xcache는 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 모듈을 포함하여 많은 새로운 모듈을 찾아야 합니다:

phpinfo() 출력에 표시된 MySQL 드라이버.

8 phpMyAdmin

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

apt-get install phpmyadmin

다음과 같은 질문이 표시됩니다:

자동으로 재구성할 웹 서버: <– lighttpd

apt 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.service

10 링크

Share: X/Twitter LinkedIn

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

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