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

Apache의 기본 문서 루트는 Fedora에서 /var/www/html이며, 구성 파일은 /etc/httpd/conf/httpd.conf입니다. 추가 구성은 /etc/httpd/conf.d/ 디렉토리에 저장됩니다.
4 PHP5 설치
PHP5는 PHP-FPM과 Apache의 mod_proxy_fcgi 모듈을 통해 Apache2에서 작동하도록 할 수 있습니다. mod_proxy_fcgi 모듈은 이미 설치되어 있고 활성화되어 있어야 합니다:
ls -l /usr/lib64/httpd/modules/mod_proxy*[root@server1 modules]# ls -l /usr/lib64/httpd/modules/mod_proxy*
-rwxr-xr-x 1 root root 52128 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_ajp.so
-rwxr-xr-x 1 root root 39984 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_balancer.so
-rwxr-xr-x 1 root root 19400 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_connect.so
-rwxr-xr-x 1 root root 11192 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_express.so
-rwxr-xr-x 1 root root 19368 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_fcgi.so
-rwxr-xr-x 1 root root 11152 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_fdpass.so
-rwxr-xr-x 1 root root 44184 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_ftp.so
-rwxr-xr-x 1 root root 39968 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_http.so
-rwxr-xr-x 1 root root 19464 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy_scgi.so
-rwxr-xr-x 1 root root 98016 Oct 26 16:15 /usr/lib64/httpd/modules/mod_proxy.so
[root@server1 modules]#cat /etc/httpd/conf.modules.d/00-proxy.conf| [...] # 이 파일은 모든 프록시 모듈을 구성합니다: LoadModule proxy_module modules/mod_proxy.so LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_express_module modules/mod_proxy_express.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so [...] |
PHP-FPM을 다음과 같이 설치할 수 있습니다:
yum install php-fpm그런 다음 /etc/php.ini를 엽니다:
vi /etc/php.iniPHP 스크립트를 브라우저에서 호출할 때 다음과 같은 오류를 피하려면
[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): 시스템의 시간대 설정에 의존하는 것은 안전하지 않습니다. date.timezone 설정 또는 date_default_timezone_set() 함수를 사용해야 합니다. 이러한 방법 중 하나를 사용했지만 여전히 이 경고가 표시되는 경우, 시간대 식별자를 잘못 입력했을 가능성이 높습니다. /usr/share/nginx/html/info.php의 2번째 줄에서 'CEST/2.0/DST' 대신 'Europe/Berlin'을 선택했습니다.… /var/log/php-fpm/www-error.log에서, /etc/php.ini에서 date.timezone을 설정해야 합니다:
| [...] [Date] ; 날짜 함수에서 사용하는 기본 시간대를 정의합니다 ; http://php.net/date.timezone date.timezone = "Europe/Berlin" [...] |
시스템에 대한 올바른 시간대를 확인하려면 다음을 실행합니다:
cat /etc/sysconfig/clock[root@server1 ~]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[root@server1 ~]#그런 다음 php-fpm의 시스템 시작 링크를 생성하고 시작합니다:
systemctl enable php-fpm.service
systemctl start php-fpm.servicePHP-FPM은 포트 9000에서 FastCGI 서버를 실행하는 데몬 프로세스입니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.