본문 바로가기
리눅스(Linux)/CentOS

[CentOS 7/8] 아파치 웹서버(httpd)와 PHP를 설치하자

by 연구자 공학코드 2021. 1. 7.

공지사항

  1. 코스닥 상장사 중견기업인 에스트래픽에서 사세 확장으로 인해 아래와 같이 채용을 진행 중입니다.
    도로·교통 분야 Full-Stack 개발자 채용: https://www.jobkorea.co.kr/Recruit/GI_Read/45943451
    도로·교통 분야 서버 개발자 채용: https://www.jobkorea.co.kr/Recruit/GI_Read/45943457

  2. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

CentOS 8에 아파치(Apache) 웹서버(HTTPD)와 PHP를 설치해서 테스트할 것이 생겼다. 그래서 각종 자료를 열람하여 설치를 했는데 시행착오를 좀 겪어서 필자가 사용하기 좋게 정리를 하였다.

 

1. 의존성 라이브러리 패키지 설치

아래의 명령어를 입력하여 선행 설치 파일을 설치한다.

yum install -y libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel

2. 아파치 웹서버(httpd) 설치

아래의 명령어로 아파치 웹서버를 설치한다.

yum install -y httpd* 

아래의 명령어로 설치한 아파치 웹서버가 잘 설치되었는지 확인한다.

httpd -v

Apache httpd 2.4.37이 설치된 화면

3. PHP 설치

아래의 명령어로 PHP 패키지를 설치한다.

yum install -y php php-common php-opcache php-cli php-gd php-curl php-mysqlnd php-mysqli

PHP 7.2.24가 설치된 화면

3.1. PHP 7.2 버전으로 설치하기

아래의 명령어로 Remi 저장소를 추가한다.

curl -O https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh epel-release-latest-7.noarch.rpm

curl -O http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

yum install -y yum-utils
yum-config-manager --enable remi-php72

아래의 명령어를 입력하면 설치가능한 패키지목록이 나타난다.

yum list | grep php

Remi 저장소로부터 받아온 설치가능한 패키지 목록

아래의 명령어를 입력하여 PHP 7.2 버전을 설치한다.

yum install -y php php-common php-opcache php-cli php-gd php-curl php-mysqlnd php-mysqli

아래의 명령어를 입력하여 설치된 PHP 버전을 확인한다.

php -v

PHP 7.2.34가 설치된 화면

PHP 버전을 여러개 설치하고 싶은 경우 아래처럼 입력하면 된다.

yum install -y php72 php72-php-common php72-php-opcache php72-php-cli php72-php-gd php72-php-curl php72-php-mysqlnd php72-php-mysqli

"php72"라는 키워드를 입력한 경우 아래의 명령어처럼 입력해야 설치가 잘 되었는지 확인할 수 있다.

php72 -v

PHP 버전 확인 화면

반응형

4. 아파치 웹서버 실행

systemctl start httpd

웹 서버를 실행한 화면

웹 브라우저로 서버 IP를 입력해서 잘 실행되는지 확인한다. "localhost"를 입력하는 것을 추천한다. CentOS 방화벽 때문에 브라우저에서 보이지 않을 수 있는데 이 경우는 테스트를 위해 임시로 방화벽을 "systemctl stop firewall"를 입력하여 종료하거나 하단의 "7. HTTP 기본 포트 방화벽 개방 설정"로 가서 방화벽을 설정한다.

아파치 웹서버가 실행된 화면

5. 아파치 웹서버 자동 실행 등록

systemctl enable httpd

자동 실행 등록 화면

6. 아파치 웹서버가 index.php를 기본 문서로 인식하도록 설정 수정

vi /etc/httpd/conf/httpd.conf

아파치 웹서버 설정파일을 위의 명령어를 입력하여 텍스트 에디터(vi)로 열고 아래의 설정을 입력하고 저장한다.

<IfModule dir_module>
    DirectoryIndex index.php index.html 
</IfModule>

기본 문서를 설정한 화면

7. HTTP 기본 포트 방화벽 개방 설정

firewall-cmd --permanent --zone=public --add-port=80/tcp

위의 명령어를 입력하여 HTTP 기본 포트인 80번 포트를 개방하고 아래의 명령어를 입력하여 방화벽 설정을 갱신한다.

firewall-cmd --reload

방화벽 설정 및 재기동

8. 웹서버 정상 동작 확인

브라우저로 "http://localhost/"로 이동하여 정상적으로 웹서버가 동작하는지를 확인한다. 나타나는 화면은 설치한 PHP 버전 마다 상이할 수 있다.

정상적으로 동작한 화면

9. PHP 정상 동작 확인

vi /var/www/html/phpinfo.php

위의 명령어를 입력하여 기본 웹서버 디렉토리에 "phpinfo.php" 파일을 생성하고 아래의 내용을 입력하고 저장한다.

<?php 
    phpinfo();
?>

브라우저로 "http://localhost/phpinfo.php"로 이동하여 PHP가 정상적으로 동작하는지를 확인한다.

PHP 7.2.24가 설치된 화면
PHP 7.2.34가 설치된 화면

PHP가 정상 동작하는지 확인하였으면 임시로 생성한 설정을 열람할 수 있는 파일을 삭제한다.

rm /var/www/html/phpinfo.php

 

728x90
반응형

댓글