본문 바로가기

클라우드

AWS 아키텍처 설계 프로젝트 (4) - EC2 LAMP 스택 구축

생성한 EC2에 Amazon Linux 환경에서 LAMP 스택을 설치 진행

Apache 웹서버, MairaDB 10.2 데이터베이스, PHP 7.2를 설치하고 자동으로 다운로드하기 위한 명령어 실행

LAMP 스택이란? L(Linux), A(Apache), M(MySQL/MariaDB), P(PHP)

 

명령어 : sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2

LAMP 스택 설치를 위한 명령어 실행

하지만 내가 구축하는 OS 는 Amazon Linux 2023이기 때문에 강의와 같은 LAMP 스택 설치 명령어가 불가능하다.

Amazon-linux-extras 명령어 지원이 된다면 위에 명령어로 설치가 가능하고 그 외에 버전이면 각각 설치를 해야한다.

 

Apache 웹 서버 설치
sudo dnf install httpd -y
MariaDB 데이터베이스 설치
sudo dnf install mariadb105-server -y
3. PHP 및 관련 모듈 설치
sudo dnf install php -y


MariaDB와 PHP를 연동하기 위해 php-mysqlnd 모듈 설치를  추가 진행
sudo dnf install php-mysqlnd -y


서비스 시작 및 부팅 시 자동 시작 설정
sudo systemctl start httpd
sudo systemctl enable httpd

sudo systemctl start mariadb
sudo systemctl enable mariadb

MariaDB초기 설정
sudo mysql_secure_installation
- 여기서 MySQL 루트 비밀번호 설정, 익명 사용자 삭제, 원격 루트 로그인 비활성화, 테스트 데이터베이스 삭제 등을 설정할 수 있습니다.

 

위의 과정들을 거치고 나서 정상적으로 설치가 완료 되었는지, 서비스가 올라왔는지 확인 진행

Apache 웹 서버 확인

퍼블릭 IP 주소로 웹 서버가 올라와 있는 것을 확인

 

웹 서버 확인

 

 

 

다음은 Mariadb 확인

MariaDB 확인

 

서비스가 올라온 것을 확인하여 DB에 접속이 가능한지 확인

DB 접속 테스트

 

PHP 정보 페이지 생성 명령어 실행

 

 

사용 명령어 :
PHP 정보 페이지 생성 - echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php
PHP 정보 페이지 확인 - http://your-server-ip/phpinfo.php

웹 페이지에 위와 같이 PHP 환경 정보가 나타나면 정상적으로 서비스가 올라온 것이다. 

더보기

EC2 사용 스크립트 파일 (강의용)

 

sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
sudo yum install -y httpd 
systemctl restart httpd
chkconfig httpd on
chown -R ec2-user:ec2-user /var/www/html
mkdir /var/www/html/wordpress
TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
echo "$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" "http://169.254.169.254/latest/meta-data/placement/availability-zone").[자신의 EFS_ID].efs.ap-northeast-2.amazonaws.com:/   /usr/share/nginx/html/myapp nfs4    defaults" >> /etc/fstab
mount -a
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
cp wordpress /var/www/html -r 
chown  ec2-user /var/www/html/wordpress
chmod -R o+r /var/www/html/wordpress
(wp-config를 /home/ec2-user로 복사)
cp wp-config.php /var/www/html/wordpress