Rocky Linux는 CentOS의 뒤를 이어 안정성과 호환성을 중시하는 엔터프라이즈급 리눅스 배포판입니다. 서버 운영에 적합한 환경을 제공하며, 웹 서비스 구성을 위해 Apache, PHP, MariaDB로 이루어진 APM 스택 설치가 자주 필요합니다. 이 글에서는 Rocky Linux 환경에서 YUM 패키지 매니저를 이용해 APM 스택을 설치하는 방법에 대해 설명합니다.
1. APM 스택이란?
APM은 Apache 웹 서버, PHP 프로그래밍 언어, MariaDB 데이터베이스 서버로 구성된 조합을 의미합니다. 각 요소는 다음과 같은 역할을 담당합니다:
- Apache: 클라이언트의 요청을 받아 웹페이지를 제공하는 웹 서버
- PHP: 서버 사이드 스크립트를 처리하는 프로그래밍 언어
- MariaDB: 데이터를 저장하고 관리하는 관계형 데이터베이스 시스템
2. 설치 전 준비
2.1 시스템 업데이트
패키지를 설치하기 전에 시스템을 최신 상태로 업데이트하는 것이 좋습니다.
sudo dnf update -y
sudo dnf upgrade -y
2.2 방화벽 및 SELinux 설정 확인
기본적으로 Rocky Linux는 SELinux가 활성화되어 있고 방화벽이 설정되어 있습니다. 웹 서버를 외부에서 접근 가능하게 하려면 HTTP 및 HTTPS 포트를 열어야 합니다.
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
3. Apache 웹 서버 설치
3.1 Apache 설치
Rocky Linux에서는 YUM(또는 DNF)을 사용해 쉽게 Apache를 설치할 수 있습니다.
sudo dnf install httpd -y
3.2 Apache 서비스 시작 및 부팅 시 자동 실행 설정
sudo systemctl start httpd
sudo systemctl enable httpd
3.3 설치 확인
브라우저를 열고 서버의 IP 주소를 입력했을 때 기본 Apache 테스트 페이지가 보이면 정상 설치된 것입니다.
http://서버_IP_주소
4. PHP 설치
4.1 기본 PHP 패키지 설치
Rocky Linux 기본 저장소에는 PHP가 포함되어 있습니다. 최신 버전이 필요할 경우 Remi 저장소를 추가해야 합니다.
기본 PHP 설치:
sudo dnf install php php-mysqlnd php-cli php-common php-gd php-xml php-mbstring -y
PHP 버전 확인:
php -v
4.2 PHP 테스트 페이지 작성
Apache가 PHP 파일을 처리하는지 확인하기 위해 간단한 테스트 파일을 생성합니다.
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
브라우저에서 http://서버_IP_주소/info.php
로 접속하여 PHP 환경 정보를 확인할 수 있습니다.
5. MariaDB 설치
5.1 MariaDB 서버 설치
sudo dnf install mariadb-server mariadb -y
5.2 MariaDB 서비스 시작 및 부팅 시 자동 실행 설정
sudo systemctl start mariadb
sudo systemctl enable mariadb
5.3 MariaDB 보안 설정
설치 직후에는 보안 강화를 위해 초기 설정을 진행해야 합니다.
sudo mysql_secure_installation
설정 과정 중 다음과 같은 작업을 수행합니다:
- root 비밀번호 설정
- 익명 사용자 삭제
- 원격 root 로그인 금지
- 테스트 데이터베이스 삭제
- 권한 테이블 재로드
5.4 MariaDB 접속 테스트
mysql -u root -p
비밀번호를 입력한 후 MariaDB 프롬프트에 접속되면 정상 설치된 것입니다.
6. 추가 설정
6.1 Apache + PHP 통합 설정
PHP가 Apache를 통해 동작하도록 추가 모듈 설정이 필요할 수 있습니다. 일반적으로 설치 시 자동으로 적용되지만, 필요 시 php.conf
파일을 확인합니다.
cat /etc/httpd/conf.d/php.conf
6.2 서비스 재시작
설치한 소프트웨어를 반영하기 위해 모두 재시작합니다.
sudo systemctl restart httpd
sudo systemctl restart mariadb
7. APM 스택 점검
7.1 Apache 상태 점검
sudo systemctl status httpd
7.2 PHP 작동 점검
브라우저로 info.php
파일 접속 시 PHP 정보가 정상 출력되는지 확인합니다.
7.3 MariaDB 작동 점검
MySQL 명령어로 데이터베이스 접속이 정상 작동하는지 확인합니다.
8. 추천 추가 작업
8.1 Remi 저장소 추가 (최신 PHP 설치 필요 시)
sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
sudo dnf module enable php:remi-8.1 -y
sudo dnf install php php-mysqlnd -y
8.2 SELinux 설정 변경 (필요 시)
SELinux가 PHP와 MariaDB 통신을 차단할 경우 다음과 같은 설정이 필요합니다.
sudo setsebool -P httpd_can_network_connect_db 1
8.3 HTTPS 설정 (SSL 인증서 설치)
보안을 위해 Let's Encrypt를 통한 무료 SSL 인증서 발급 및 설치를 고려할 수 있습니다.
결론
Rocky Linux에서 YUM 패키지 매니저를 활용하여 APM 스택(Apache, PHP, MariaDB)을 설치하는 과정은 비교적 직관적이며, 안정적인 웹 서비스 환경 구축에 필수적입니다. Apache로 웹서버를 구축하고, PHP로 서버 사이드 스크립트를 처리하며, MariaDB로 데이터를 저장하는 기본 환경을 마련함으로써, 다양한 웹 애플리케이션을 운영할 수 있게 됩니다. 향후 보안 업데이트 적용, 버전 관리, 최적화 작업을 통해 더욱 탄탄하고 빠른 서버 환경을 유지하는 것이 중요합니다.
'IT' 카테고리의 다른 글
MySQL에서 DB 튜닝하는 방법 (성능 최적화, 인덱스 활용, 쿼리 최적화) (0) | 2025.03.16 |
---|---|
네트워크의 7계층 (OSI 7 Layer) 구조와 단계별 정의 및 예시 (0) | 2025.03.16 |
iptables와 firewalld의 차이점과 사용법 예시 방화벽 설정, 관리 방법, 적용 사례 (0) | 2025.03.01 |
Routing과 Switching의 개념 기능 차이점 사례 (0) | 2025.02.25 |
Zabbix 모니터링 프로그램 역할, 사용법, 장단점 (0) | 2025.02.22 |