지난번 편에서는 Centos 에서 아파치를 설치하는 방법에 대해 알아보았다. 이번편에서는 웹서버를 운영하는데 필요한 PHP 및 추가 패키지 설치하는 방법에 대해 알아보자
(이제와서 이야기하지만 서버 명령어 앞에 [root@localhost ~]# 의 경우 빼고 실제 명령어만 입력해 주어야 한다...ㅡ..ㅡ)
아래 명령어를 통해 php 저장소를 추가한다.
[root@localhost ~]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@localhost ~]# yum -y install epel-release yum-utils
아래의 명령어를 통해 설치할 php 버전을 활성화 하자 (여기서는 php7.4로 진행하니 참고)
[root@localhost ~]# yum-config-manager --enable remi-php74
PHP 와 함께 사용할 추가 모듈들을 함께 설치한다. (추가 모듈은 서버에 맞게 확인하여 설치 필요)
[root@localhost ~]# yum -y install php php-fpm php-cli php-redis php-brotli php-intl php-gd php-gmp php-imap php-bcmath php-interbase php-json php-mbstring php-mysqlnd php-odbc php-opcache php-memcached php-tidy php-pdo php-pdo-dblib php-pear php-pgsql php-process php-pecl-apcu php-pecl-geoip php-pecl-imagick php-pecl-hrtime php-pecl-json php-pecl-memcache php-pecl-mongodb php-pecl-rar php-pecl-pq php-pecl-redis4 php-pecl-yaml php-pecl-zip
php 설치가 정상적으로 잘되었는지 아래 명령어를 통해 확인해 보자
[root@localhost ~]# php -v
PHP 7.4.30 (cli) (built: Jun 7 2022 08:38:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.30, Copyright (c), by Zend Technologies
PHP 설치시 PHP-FPM을 함께 설치하였기에 아래와 같이 아파치 conf.d 디렉토리내 php.conf 파일을 vi 편집기로 열어보자
[root@localhost ~]# vi /etc/httpd/conf.d/php.conf
php.conf 파일내용중 아래 설정을 참고하여 수정해 주기 바란다.
<IfModule mod_php7.c>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
<FilesMatch \.(php|phar)$>
#SetHandler application/x-httpd-php # 이부분을 주석처리
# 아래설정 추가
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
#
# Uncomment the following lines to allow PHP to pretty-print .phps
# files as PHP source code:
#
#<FilesMatch \.phps$>
# SetHandler application/x-httpd-php-source
#</FilesMatch>
#
# Apache specific PHP configuration options
# those can be override in each configured vhost
#
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"
php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache"
#php_value opcache.file_cache "/var/lib/php/opcache"
</IfModule>
수정이 완료되었으면 아파치 및 php-fpm 서비스를 재시작한다.
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# systemctl start php-fpm
php 설치가 완료되었으니 설치가 정상적으로 되었는지 최종 테스트를 진행한다. 웹루트는 최초로 아래와 같이 아피치 설정파일을 열어서 수정해 준다.
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
파일을 열어 아래의 코드를 찾아 수정해 준다. (참고로 서버에 맞게 설정하면되는데 잘 모를 경우 아래와 같이 수정해준다.)
Listen 80
DocumentRoot "/var/www/html"
수정이 됬다면 아파치를 재시작 해준다.
[root@localhost ~]# systemctl restart httpd
그다음 내부 아이피를 통해 브라우저에서 접속해 보면 정상적으로 뜨는것을 확인 할 수 있다. 정상 설치가 되었다면 아래의 이미지와 같이 노출이 된다.
php-fpm 이 정상적으로 설치되고 실행되었다면 위의 Server API 부분에서 FPM/FastCGI 을 확인 할 수 있다.