서버 설치 · 5 min read · Nov 25, 2025
CentOS 7.6에 Apache, PHP 7.3 및 MySQL 설치하는 방법

이 튜토리얼에서는 PHP (mod_php) 및 MySQL 데이터베이스와 함께 CentOS 7 서버에 Apache 웹 서버를 설치하는 방법을 보여줍니다. LAMP는 Linux, Apache, MySQL, PHP의 약어입니다.
이 업데이트된 튜토리얼에서는 CentOS 7.6에 최신 PHP 버전(7.0, 7.1, 7.2 및 7.3)을 설치하는 방법을 보여줍니다.
1 사전 참고
이 튜토리얼에서는 호스트 이름 server1.example.com과 IP p 192.168.0.100을 사용합니다. 이러한 설정은 귀하의 환경에 따라 다를 수 있으므로 적절한 곳에서 교체해야 합니다.
최신 phpMyAdmin을 설치하기 위해 EPEL 저장소를 추가하겠습니다:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release쉘에서 파일을 편집하기 위해 nano 편집기를 설치하겠습니다. 파일 편집을 위해 vi를 선호하는 경우 이 단계를 건너뛰십시오.
yum -y install nano2 MySQL / MariaDB 설치
MariaDB는 원래 MySQL 개발자인 Monty Widenius의 MySQL 포크입니다. MariaDB는 MySQL과 호환되며, 여기서는 MySQL 대신 MariaDB를 사용하기로 선택했습니다. yum을 사용하여 MariaDB를 설치하려면 다음 명령을 실행하십시오:
yum -y install mariadb-server mariadb그런 다음 MySQL의 시스템 시작 링크를 생성하여 시스템 부팅 시 MySQL이 자동으로 시작되도록 하고 MySQL 서버를 시작합니다:
systemctl start mariadb.service
systemctl enable mariadb.serviceMySQL 루트 계정의 비밀번호를 설정합니다:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
MariaDB에 로그인하여 보안을 설정하려면 현재
루트 사용자에 대한 비밀번호가 필요합니다.
방금 MariaDB를 설치했으며
루트 비밀번호를 아직 설정하지 않았다면 비밀번호는 비어 있으므로
여기서 그냥 Enter를 누르십시오.
현재 루트 비밀번호를 입력하십시오(없으면 Enter): <--ENTER
OK, 비밀번호를 성공적으로 사용했습니다. 계속 진행합니다...
루트 비밀번호를 설정하면 아무도 적절한 권한 없이 MariaDB
루트 사용자로 로그인할 수 없게 됩니다.
루트 비밀번호를 설정하시겠습니까? [Y/n]
새 비밀번호: <--yourmariadbpassword
새 비밀번호를 다시 입력하십시오: <--yourmariadbpassword
비밀번호가 성공적으로 업데이트되었습니다!
권한 테이블을 다시 로드하는 중..
... 성공!
기본적으로 MariaDB 설치에는 익명 사용자가 있어
누구나 사용자 계정을 생성하지 않고도 MariaDB에 로그인할 수 있습니다.
이는 테스트 용도로만 사용되며 설치를 조금 더 원활하게 하기 위한 것입니다.
생산 환경으로 이동하기 전에 이를 제거해야 합니다.
익명 사용자를 제거하시겠습니까? [Y/n] <--ENTER
... 성공!
일반적으로 루트는 'localhost'에서만 연결할 수 있어야 합니다.
이는 누군가가 네트워크에서 루트 비밀번호를 추측할 수 없도록 보장합니다.
원격으로 루트 로그인을 금지하시겠습니까? [Y/n] <--ENTER
... 성공!
기본적으로 MariaDB에는 누구나 접근할 수 있는 'test'라는 데이터베이스가 있습니다.
이는 테스트 용도로만 사용되며 생산 환경으로 이동하기 전에 제거해야 합니다.
테스트 데이터베이스 및 접근을 제거하시겠습니까? [Y/n] <--ENTER
- 테스트 데이터베이스 삭제 중...
... 성공!
- 테스트 데이터베이스에 대한 권한 제거 중...
... 성공!
권한 테이블을 다시 로드하면 지금까지 수행한 모든 변경 사항이 즉시 적용됩니다.
권한 테이블을 지금 다시 로드하시겠습니까? [Y/n] <--ENTER
... 성공!
정리 중...
모두 완료되었습니다! 위의 모든 단계를 완료했다면 MariaDB
설치가 이제 안전해야 합니다.
MariaDB를 사용해 주셔서 감사합니다!
[root@server1 ~]#3 Apache 설치
CentOS 7에는 Apache 2.4가 포함되어 있습니다. Apache는 CentOS 7 패키지로 직접 제공되므로 다음과 같이 설치할 수 있습니다:
yum -y install httpd여기 설치 과정의 스크린샷이 있습니다.

이제 시스템을 구성하여 부팅 시 Apache가 시작되도록 합니다…
systemctl start httpd.servicesystemctl enable httpd.service외부에서 웹 서버에 접근할 수 있도록 하려면 방화벽에서 HTTP (80) 및 HTTPS (443) 포트를 열어야 합니다. CentOS의 기본 방화벽은 firewalld이며 firewalld-cmd 명령으로 구성할 수 있습니다.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload이제 브라우저를 열고 서버의 IP 주소(http://192.168.0.100)로 이동하면 Apache 자리 표시자 페이지를 볼 수 있습니다:

4 PHP 설치
CentOS에 기본 제공되는 PHP 버전은 꽤 오래되었습니다(PHP 5.4). 따라서 이 장에서는 Remi 저장소에서 PHP 7.0에서 7.3까지의 최신 PHP 버전을 설치하는 몇 가지 옵션을 보여드리겠습니다.
Remi CentOS 저장소를 추가합니다.
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpmyum-config-manager 유틸리티가 필요하므로 yum-utils를 설치합니다.
yum -y install yum-utils그리고 yum 업데이트를 실행합니다.
yum update이제 서버에서 사용할 PHP 버전을 선택해야 합니다. PHP 5.4를 사용하려면 4.1 장으로 진행하십시오. PHP 7.0을 설치하려면 4.2 장의 명령을 따르십시오. PHP 7.1은 4.3 장, PHP 7.4는 4.4 장, PHP 7.3은 4.5 장을 따르십시오. 4.x 장 중 하나만 따르고 모두 따르지 마십시오. Apache mod_php와 함께 한 번에 하나의 PHP 버전만 사용할 수 있습니다.
4.1 PHP 5.4 설치
PHP 5.4를 설치하려면 다음 명령을 실행하십시오:
yum -y install php4.2 PHP 7.0 설치
PHP 7.0 및 Apache PHP 7.0 모듈을 다음과 같이 설치할 수 있습니다:
yum-config-manager --enable remi-php70yum -y install php php-opcache4.3 PHP 7.1 설치
대신 PHP 7.1을 사용하려면 다음을 사용하십시오:
yum-config-manager --enable remi-php71yum -y install php php-opcache4.4 PHP 7.2 설치
대신 PHP 7.2를 사용하려면 다음을 사용하십시오:
yum-config-manager --enable remi-php72yum -y install php php-opcache4.5 PHP 7.3 설치
대신 PHP 7.3을 사용하려면 다음을 사용하십시오:
yum-config-manager --enable remi-php73yum -y install php php-opcache이 예제와 다운로드 가능한 가상 머신에서는 PHP 7.3을 사용할 것입니다.
변경 사항을 적용하려면 Apache를 재시작해야 합니다:
systemctl restart httpd.service5 PHP 테스트 / PHP 설치에 대한 세부 정보 가져오기
기본 웹사이트의 문서 루트는 /var/www/html입니다. 해당 디렉토리에 작은 PHP 파일(info.php)을 만들고 브라우저에서 호출하여 PHP 설치를 테스트합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 유용한 세부 정보를 표시합니다.
nano /var/www/html/info.php이제 브라우저에서 해당 파일을 호출합니다(예: http://192.168.0.100/info.php):

보시다시피 PHP 7.3이 작동하고 있으며, 서버 API 라인에 표시된 대로 Apache 2.0 핸들러를 통해 작동하고 있습니다. 아래로 스크롤하면 PHP에서 이미 활성화된 모든 모듈을 볼 수 있습니다. MySQL은 거기에 나열되어 있지 않으므로 PHP에서 MySQL 지원이 아직 없음을 의미합니다.
6 PHP에서 MySQL 지원 받기
PHP에서 MySQL 지원을 받으려면 php-mysqlnd 패키지를 설치할 수 있습니다. 애플리케이션에 필요할 수 있는 다른 PHP 모듈도 설치하는 것이 좋습니다. 다음과 같이 사용 가능한 PHP5 모듈을 검색할 수 있습니다:
yum search php필요한 모듈을 선택하고 다음과 같이 설치합니다:
yum -y install php-mysqlnd php-pdo다음 단계에서는 Wordpress, Joomla 및 Drupal과 같은 CMS 시스템에서 필요한 몇 가지 일반적인 PHP 모듈을 설치하겠습니다:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel이제 Apache 웹 서버를 재시작합니다:
systemctl restart httpd.service이제 브라우저에서 http://192.168.0.100/info.php를 새로 고치고 모듈 섹션으로 다시 스크롤하십시오. 이제 curl 등과 같은 많은 새로운 모듈을 찾을 수 있어야 합니다:

더 이상 PHP 정보 출력을 필요로 하지 않는 경우 보안상의 이유로 해당 파일을 삭제하십시오.
rm /var/www/html/info.php7 phpMyAdmin 설치
phpMyAdmin은 MySQL 데이터베이스를 관리할 수 있는 웹 인터페이스입니다.
phpMyAdmin은 이제 다음과 같이 설치할 수 있습니다:
yum -y install phpMyAdmin이제 phpMyAdmin을 구성합니다. phpMyAdmin이 localhost에서만 연결을 허용하지 않도록 Apache 구성을 변경합니다(
nano /etc/httpd/conf.d/phpMyAdmin.conf[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8
# Apache 2.4
#
# Require ip 127.0.0.1
# Require ip ::1
#
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Options none
AllowOverride Limit
Require all granted
[...] 구성 변경 사항을 적용하려면 Apache를 재시작합니다:
systemctl restart httpd.service그 후 http://192.168.0.100/phpmyadmin/에서 phpMyAdmin에 접근할 수 있습니다:


8 가상 머신으로 다운로드
이 설정은 howtoforge 구독자를 위해 ova/ovf 형식의 가상 머신 다운로드로 제공됩니다(VMWare 및 Virtualbox와 호환됨).
VM의 로그인 세부 정보
- Linux 루트 비밀번호는: howtoforge입니다.
- MySQL 루트 비밀번호는: howtoforge입니다.
첫 로그인 시 두 비밀번호를 모두 변경하십시오.
- VM의 IP 주소는 192.168.0.100입니다.
9 링크
Apache: http://httpd.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
phpMyAdmin: http://www.phpmyadmin.net/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.