A LAMP stack is a collection of four different software (Linux, Apache, MySQL, and PHP) that programmers or web developers use to create and deploy websites or applications.
이 자습서는 LAMP 스택을 최신 RHEL 및 RHEL 기반 배포 (예: CentOS, Oracle Linux, Rocky, 및 AlmaLinux)에 설치하고 구성하는 방법에 중점을 둘 것입니다.
목차
요구 사항
사용된 배포판에 따라 네트워크 구성을 위한 정적 IP 주소를 사용하여 최소 시스템 설치를 수행하는 데 다음 링크를 사용하십시오.
- RHEL 9 무료로 다운로드하고 설치하는 방법
- RHEL 8 무료로 다운로드하고 설치하는 방법
- CentOS Stream 9 Linux 설치
- CentOS 7 Linux 설치
- Rocky Linux 9 단계별 설치 방법
- AlmaLinux 9 단계별 설치 방법
단계 1: Apache 웹 서버 설치
1. 최소 시스템 설치를 수행하고 서버 네트워크 인터페이스를 정적 IP 주소로 구성한 후 Apache(httpd) 서비스 바이너리 패키지를 다음 yum 명령어를 사용하여 공식 저장소에서 설치하세요.
# yum install httpd

2. Apache 설치가 완료되면 RHEL과 CentOS 모두 init 스크립트를 SysV에서 Systemd로 마이그레이션하였으므로 다음 명령어를 사용하여 Apache 데몬을 관리하세요 – 리눅스에서 init이 Systemd로 대체된 이유는 무엇인가요?.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd

3. 다음 단계에서는 80번 포트와 443번 포트를 firewall-cmd를 사용하여 Firewalld 데몬을 통해 액세스를 허용하도록 방화벽에서 열어두세요.
# firewall-cmd --add-service=http # firewall-cmd --add-service=https # systemctl restart firewalld
방화벽에서 iptables 규칙을 일관되게 적용하려면 --permanent
옵션을 사용하고 firewalld 서비스를 다시 시작하여 효과를 반영하세요.
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld

아래에 제시된 방화벽을 관리하기 위한 중요한 Firewalld 명령어들:
# firewall-cmd --state # firewall-cmd --list-all # firewall-cmd --list-interfaces # firewall-cmd --get-service # firewall-cmd --query-service service_name # firewall-cmd --add-port=80/tcp
4. Apache 기능을 확인하기 위해 원격 브라우저를 열고 서버 IP 주소를 URL에 HTTP 프로토콜을 사용하여 입력하면, 아래 스크린샷과 같은 기본 페이지가 나타나야 합니다.
http://server_IP

5. 현재 Apache DocumentRoot 경로는 /var/www/html 시스템 경로로 설정되어 있으며, 기본적으로 인덱스 파일을 제공하지 않습니다. DocumentRoot 경로의 디렉토리 목록을 보려면.
Apache welcome 구성 파일을 열고 Indexes 문을 –
에서 +
로 LocationMatch 지시문에서 변경하고, 아래 스크린샷을 예로 사용하세요.
# vi /etc/httpd/conf.d/welcome.conf

6. 변경 사항을 적용한 후 파일을 닫고 Apache 서비스를 다시 시작하여 변경 사항을 반영한 다음 브라우저 페이지를 다시 로드하여 최종 결과를 확인하세요.
# systemctl restart httpd

2단계: Apache용 PHP 지원 설치
7. PHP 동적 언어 지원을 설치하기 전에 Apache용으로 사용 가능한 PHP 모듈과 확장 목록을 확인하기 위해 다음 명령어를 사용하세요.
# yum search php

8. 어떤 유형의 애플리케이션을 사용하려는지에 따라 위의 목록에서 필요한 PHP 모듈을 설치하세요. 기본적인 MySQL/MariaDB 지원을 PHP와 PhpMyAdmin에 설치하려면 다음 모듈을 설치해야 합니다.
# yum install php php-mysql php-pdo php-gd php-mbstring

9. 브라우저에서 PHP에 대한 전체 정보 목록을 얻으려면 다음 명령을 사용하여 Apache 문서 루트에 info.php 파일을 만들고, httpd 서비스를 다시 시작하고, 브라우저를 http://server_IP/info.php 주소로 지정하십시오.
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php # systemctl restart httpd

10. PHP 날짜 및 시간대에서 오류가 발생하면 php.ini 구성 파일을 열고 date.timezone 문을 찾아 주석 처리를 제거하고 물리적 위치를 추가하고 Apache 데몬을 다시 시작하십시오.
# vi /etc/php.ini
date.timezone 라인을 다음과 같이 변경하고 PHP 지원 시간대 목록을 사용하십시오.
date.timezone = Continent/City

단계 3: MariaDB 데이터베이스 설치 및 구성
11. RHEL 배포판은 기본 데이터베이스 관리 시스템으로 MySQL에서 MariaDB로 전환되었습니다. 다음 명령을 사용하여 MariaDB 데이터베이스를 설치하십시오.
# yum install mariadb-server mariadb

12. MariaDB 패키지를 설치한 후 데이터베이스 데몬을 시작하고 mysql_secure_installation 스크립트를 사용하여 데이터베이스를 보호하십시오(루트 암호 설정, 루트에서 원격 로그인 비활성화, 테스트 데이터베이스 제거, 익명 사용자 제거).
# systemctl start mariadb # systemctl enable mariadb # systemctl status mariadb # mysql_secure_installation


13. 데이터베이스 기능을 테스트하려면 루트 계정을 사용하여 MariaDB에 로그인하고 quit 문을 사용하여 종료하십시오.
mysql -u root -p MariaDB > show databases; MariaDB > quit

단계 4: MySQL 관리를 위해 PhpMyAdmin 설치
14. 기본적으로 공식 저장소에서는 PhpMyAdmin 웹 인터페이스에 대한 이진 패키지를 제공하지 않습니다. 데이터베이스를 관리하는 데 MySQL 명령줄을 사용하는 것이 불편하다면 다음 명령을 사용하여 PhpMyAdmin 패키지를 설치할 수 있습니다. 다음 명령을 사용하여 remi 저장소를 활성화합니다.
# yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm [On CentOS/RHEL 8] # yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm [On CentOS/RHEL 7]
remi 저장소를 활성화한 후에는 PhpMyAdmin을 설치합니다.
# yum install phpmyadmin

15. 다음으로, PhpMyAdmin을 구성하여 원격 호스트에서의 연결을 허용하도록 phpmyadmin.conf 파일을 편집합니다. 이 파일은 아파치의 conf.d 디렉터리에 있으며 다음 줄을 주석 처리합니다.
# vi /etc/httpd/conf.d/phpMyAdmin.conf
다음과 같이 “Require local” 라인 아래에 “Require all granted” 라인을 추가합니다.
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require local Require all granted </Directory>

16. PhpMyAdmin 웹 인터페이스에 로그인할 수 있도록 하려면 아파치 웹 서비스를 다시 시작하고 브라우저를 URL 주소로 이동합니다.
# systemctl restart httpd http://server_IP/phpmyadmin/

단계 5: Linux에서 LAMP 시스템 전체적으로 활성화하기
17. 재부팅 후 MariaDB 및 Apache 서비스를 자동으로 시작하려면 다음 명령을 사용하여 이를 시스템 전체적으로 활성화합니다.
# systemctl enable mariadb # systemctl enable httpd
기본적인 LAMP 설치에 필요한 것은 모두 이것뿐입니다. LAMP 스택 관련 다음 시리즈의 기사에서는 Virtual Host를 생성하는 방법, SSL 인증서 및 키 생성, 그리고 Apache HTTP Server에 SSL 트랜잭션 지원 추가에 대해 논의할 것입니다.