서버 설치 · 4 min read · Jan 27, 2026
Fedora 19에서 PHP5 (PHP-FPM) 및 MySQL 지원과 함께 Lighttpd 설치하기
Fedora 19에서 PHP5 (PHP-FPM) 및 MySQL 지원과 함께 Lighttpd 설치하기
버전 1.0
저자: Falko Timme
Twitter에서 나를 팔로우하세요
Lighttpd는 속도에 민감한 환경을 위해 설계된 안전하고 빠르며 표준을 준수하는 웹 서버입니다. 이 튜토리얼에서는 PHP5 지원( PHP-FPM을 통해) 및 MySQL 지원과 함께 Fedora 19 서버에 Lighttpd를 설치하는 방법을 보여줍니다. PHP-FPM(FastCGI 프로세스 관리자)은 모든 규모의 사이트, 특히 더 바쁜 사이트에 유용한 몇 가지 추가 기능이 있는 대체 PHP FastCGI 구현입니다. 이 튜토리얼에서는 Lighttpd의 spawn-fcgi 대신 PHP-FPM을 사용합니다.
이것이 당신에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
이 튜토리얼에서는 호스트 이름 server1.example.com과 IP 주소 192.168.0.100을 사용합니다. 이러한 설정은 귀하의 경우 다를 수 있으므로 적절한 곳에서 교체해야 합니다.
2 MySQL/MariaDB 5 설치하기
먼저 다음과 같이 MySQL 5를 설치합니다:
yum install mysql mysql-server그런 다음 MySQL의 시스템 시작 링크를 생성하여(시스템이 부팅될 때 MySQL이 자동으로 시작되도록) MySQL 서버를 시작합니다:
systemctl enable mysqld.service
systemctl start mysqld.serviceMySQL 사용자 root의 비밀번호를 생성합니다(사용하려는 비밀번호로 yourrootsqlpassword를 교체하세요):
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
참고: 이 스크립트의 모든 부분을 실행하는 것은 모든 MariaDB 서버에서 권장됩니다.
생산 환경에서 사용 중입니다! 각 단계를 주의 깊게 읽어주세요!
MariaDB에 로그인하여 보안을 설정하려면 현재 root 사용자에 대한 비밀번호가 필요합니다.
방금 MariaDB를 설치했으며 root 비밀번호를 아직 설정하지 않았다면 비밀번호는 비어 있으므로 여기서 그냥 Enter를 누르세요.
현재 root 비밀번호 입력(없으면 Enter): <– ENTER
OK, 비밀번호가 성공적으로 사용되었습니다. 계속 진행합니다…
root 비밀번호를 설정하면 적절한 권한 없이 누구도 MariaDB root 사용자로 로그인할 수 없도록 보장합니다.
root 비밀번호를 설정하시겠습니까? [Y/n] <– ENTER
새 비밀번호: <– yourrootsqlpassword
새 비밀번호를 다시 입력하세요: <– yourrootsqlpassword
비밀번호가 성공적으로 업데이트되었습니다!
권한 테이블을 다시 로드하는 중..
… 성공!
기본적으로 MariaDB 설치에는 익명 사용자가 있어 누구나 사용자 계정을 생성하지 않고도 MariaDB에 로그인할 수 있습니다.
이는 오직 테스트를 위해 의도된 것이며 설치를 조금 더 원활하게 진행하기 위한 것입니다.
생산 환경으로 이동하기 전에 이를 제거해야 합니다.
익명 사용자를 제거하시겠습니까? [Y/n] <– ENTER
… 성공!
일반적으로 root는 ‘localhost’에서만 연결할 수 있어야 합니다.
이는 누군가가 네트워크에서 root 비밀번호를 추측할 수 없도록 보장합니다.
원격으로 root 로그인을 허용하지 않으시겠습니까? [Y/n] <– ENTER
… 성공!
기본적으로 MariaDB에는 누구나 접근할 수 있는 ‘test’라는 데이터베이스가 있습니다.
이는 또한 오직 테스트를 위해 의도된 것이며 생산 환경으로 이동하기 전에 제거해야 합니다.
테스트 데이터베이스 및 접근을 제거하시겠습니까? [Y/n] <– ENTER
- 테스트 데이터베이스 삭제 중…
… 성공! - 테스트 데이터베이스에 대한 권한 제거 중…
… 성공!
권한 테이블을 다시 로드하면 지금까지 수행한 모든 변경 사항이 즉시 적용됩니다.
지금 권한 테이블을 다시 로드하시겠습니까? [Y/n] <– ENTER
… 성공!
정리 중…
모든 작업이 완료되었습니다! 위의 모든 단계를 완료했다면 귀하의 MariaDB 설치는 이제 안전해야 합니다.
MariaDB를 사용해 주셔서 감사합니다!
[root@server1 ~]#
3 Lighttpd 설치하기
Lighttpd는 Fedora 패키지로 제공되므로 다음과 같이 설치할 수 있습니다:
yum install lighttpd그런 다음 Lighttpd의 시스템 시작 링크를 생성하여(시스템이 부팅될 때 Lighttpd가 자동으로 시작되도록) Lighttpd를 시작합니다:
systemctl enable lighttpd.service
systemctl restart lighttpd.service이제 브라우저를 http://192.168.0.100으로 이동하면 Lighttpd 자리 표시자 페이지를 볼 수 있습니다:

Lighttpd의 기본 문서 루트는 Fedora에서 /var/www/lighttpd이며, 구성 파일은 /etc/lighttpd/lighttpd.conf입니다.
4 PHP5 설치하기
PHP-FPM을 통해 Lighttpd에서 PHP5를 작동하게 할 수 있으며, 다음과 같이 설치합니다:
yum install php-fpm lighttpd-fastcgiPHP-FPM은 포트 9000에서 FastCGI 서버를 실행하는 데몬 프로세스입니다.
PHP-FPM의 시스템 시작 링크를 생성하고 시작합니다:
systemctl enable php-fpm.service
systemctl start php-fpm.service5 Lighttpd 및 PHP5 구성하기
Lighttpd에서 PHP5를 활성화하려면 두 개의 파일, /etc/php.ini 및 /etc/lighttpd/lighttpd.conf를 수정해야 합니다. 먼저 /etc/php.ini를 열고 cgi.fix_pathinfo=1 줄의 주석을 제거합니다:
vi /etc/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://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
그런 다음 /etc/lighttpd/conf.d/fastcgi.conf를 열고 “mod_fastcgi”가 활성화되어 있는지 확인합니다:
vi /etc/lighttpd/conf.d/fastcgi.conf| [...] server.modules += ( "mod_fastcgi" ) [...] |
그런 다음 파일 아래쪽에 fastcgi.server 구문이 있습니다. 주석을 남겨두고 다음과 같이 자신의 fastcgi.server 구문을 추가합니다:
| [...] ## ## PHP 예제 ## PHP의 경우 php.ini에서 cgi.fix_pathinfo = 1을 설정하는 것을 잊지 마세요. ## ## php 프로세스 수는 쉽게 계산할 수 있습니다: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## php-num-procs 예제의 경우 17*5 = 85 php 프로세스를 얻습니다. ## 매우 바쁜 사이트에 대해 항상 이 높은 수가 필요합니다. ## 그리고 RAM이 많을 경우. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), # ( "php-tcp" => # ( # "host" => "127.0.0.1", # "port" => 9999, # "check-local" => "disable", # "broken-scriptfilename" => "enable", # ) # ), # # ( "php-num-procs" => # ( # "socket" => socket_dir + "/php-fastcgi-2.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "bin-environment" => ( # "PHP_FCGI_CHILDREN" => "16", # "PHP_FCGI_MAX_REQUESTS" => "10000", # ), # "max-procs" => 5, # "broken-scriptfilename" => "enable", # ) # ), # ) ), [...] |
/etc/lighttpd/modules.conf를 열어…
vi /etc/lighttpd/modules.conf… /etc/lighttpd/conf.d/fastcgi.conf 파일을 활성화합니다:
| [...] ## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...] |
그런 다음 Lighttpd를 재시작합니다:
systemctl restart lighttpd.service새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.