지난번 편에서는 Centos 에서 아파치를 설치하는 방법에 대해 알아보았다. 이번편에서는 웹서버를 운영하는데 필요한 PHP 및 추가 패키지 설치하는 방법에 대해 알아보자 

 

(이제와서 이야기하지만 서버 명령어 앞에 [root@localhost ~]# 의 경우 빼고 실제 명령어만 입력해 주어야 한다...ㅡ..ㅡ)

 

PHP 저장소 추가

아래 명령어를 통해 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 버전 활성화 

아래의 명령어를 통해 설치할 php 버전을 활성화 하자 (여기서는 php7.4로 진행하니 참고)

[root@localhost ~]# yum-config-manager --enable remi-php74

 

 

PHP 및 추가 모듈 설치 

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-FPM 설정 

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

 

 

웹서버 접속하여 phpinfo() 함수로 정상 설치 확인

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 을 확인 할 수 있다. 

 

 

참고사이트
 
[CentOs] centos7 php7.4 설치
현재 5.4버전 가능
velog.io/@dong3789/CentOs-centos7-php7.4-설치