DEVOPS/CLOUD

[AWS] Amazon Linux에 LAMP 웹 서버 설치하기

연듀 2022. 10. 12. 22:32

 

 

 Amazon Linux 2 instance

  • PHP, Maria DB 지원을 포함하는 Apache 웹 서버 설치
  • PHP version 7.2 설치

  LAMP Web Server = LAMP stack

  고정 웹 사이트 호스팅

  DB에서 정보를 읽고 쓰는 동적 PHP application 배포

 

 

 

LAMP 서버 준비

 

보안 그룹 생성

 

보안그룹의 이름,설명을 추가하고 VPC는 default로 설정한다.

인바운드 규칙은 SSH, HTTP, HTTPS를 모두 Anywhere-IPv4로 체크한 후 보안 그룹 생성을 클릭한다.

 

 

 

인스턴스 생성

 

Amazon Linux 선택

 

 

 

생성한 키 페어를 선택하고 기존 보안 그룹 선택

 

 

 

 

고정된 IP 주소를 갖기 위해 탄력적 IP 주소를 할당한다.

 

인스턴스 생성 후 네트워크 및 보안 -탄력적 IP - 탄력적 IP 주소 할당

 

 

할당 클릭

 

 

 

 

 

작업 - 탄력적 IP주소 연결 클릭

 

 

 

 

 

인스턴스를 선택하고 연결 클릭

 

 

 

 

탄력적 IP 주소가 인스턴스에 연결되었다.

 

 

 

키 페어 파일이 있는 디렉토리에서 Git Bash를 실행한 후 아래 명령어를 실행해 연결한다.

 

 

 ssh -i "[키페어].pem" ec2-user@[IP주소]

 

 

 

sudo yum update -y

 

Amazon Linux 2용 LAMP MariaDB 및 PHP 패키지의 최신 버전 가져오기:

sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2

 

 

Apache web server, MariaDB 패키지 설치:

sudo yum install -y httpd mariadb-server

 

 

 

 

Apache 웹 서버 시작: sudo systemctl start httpd 

 

system 부팅 때마다 웹 서버 시작하도록: sudo systemctl enable httpd

 

httpd 실행 확인: sudo systemctl is-enabled httpd

 

 

 

 

enabled 된 후 주소창에 퍼블릭 IPv4 주소를 치면 위와 같은 Apache test page가 뜬다. 

 

 

 

문서 루트의 주소는 다음과 같다.

Apache Linux document root = /var/www/html

 

 

 

ec2-user account에서 이 디렉토리를 조작할 수 있으려면 소유권/권한 변경이 필요하다.

 

 

 

 

cd /var/www

sudo chown ec2-user /var/www/html

 

 

 

 

 

html을 자유롭게 편집할 수 있다.

주소창에 ip 주소를 검색하면 html 화면이 정상적으로 잘 뜨는것을 볼 수 있다. 

 

 


 

LAMP 서버 테스트

 

 

 

문서 root에 PHP 파일 생성도 할 수 있다. (phpinfo.php)

 

 vi phpinfo.php 로 편집기를 들어간 후  <?php phpinfo(); ?> 를 입력한다.

 

주소창에 public_IP/phpinfo.php 을 입력하면 PHP 정보 페이지가 뜬다.

 

 

 

 

보안상 phpinfo.php는 삭제하도록 한다.

 

rm phpinfo.php

 

 

 

 

html을 vi 편집기로 편집하면 불편하기 때문에 WinSCP 프로그램을 사용한다.

WinSCP를 다운받아 실행한다.

 

 

호스트 이름에 인스턴스 IP 주소를, 사용자 이름에 ec2-user를 입력한다.

 

비밀번호 창 밑 고급 버튼을 클릭하고 SSH - 인증 클릭

 

 

 

개인키 파일에 다운받은 ppk 파일을 업로드하고 확인버튼 클릭

 

 

 

 

저장을 눌러 세션을 저장한다.

 

 

로그인버튼을 눌르고, 알 수 없는 서버에 연결하고 호스트 키를 캐시에 추가하시겠습니까? 라는 경고창이 뜨면 예를 클릭한다.

 

 

 

 

왼쪽은 로컬, 오른쪽은 ec2이다.

로컬에 있는 파일을  /var/www/html/ 위치로 옮겨 파일을 손쉽게 변경할 수 있다. 

 

이렇게 원하는 파일들을 서버에 전송시켜 정적인 웹사이트를 구축할 수 있다. 

 

 

 

 


 

DB 서버 보안 설정

 

 

MariaDB 서버 시작: sudo systemctl start mariadb

 

root 암호화 설정: sudo mysql_secure_installation

 

 

 

서버 중지 할 때: sudo systemctl stop mariadb

부팅시 MariaDB 서버 시작: sudo systemctl enable mariadb

 

 

 

 

 


 

phpMyAdmin 설치

 

phpMyAdmin : EC2 인스턴스의 MySQL 데이터베이스를 보고 편집하는데 사용할 수 있는 웹 기반 데이터베이스 관리 도구

 

 

종속 항목 설치: sudo yum install php-mbstring -y
Apache 다시 시작: sudo systemctl restart httpd

php-fpm 다시 시작: sudo systemctl restart php-fpm

 

 

 

Apache 문서 루트로 이동: cd /var/www/html
www.phpmyadmin.net/downloads에서 phpMyAdmin 최신릴리스의 소스 패키지 선택: 

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

 

 

 

 

phpMyAdmin 폴더 생성 + 패키지 압축 해제


mkdir phpMyAdmin

tar -xvzf phpAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1

 

 

패지키 압축이 풀어졌다.

 

 

 


파일 사이즈가 크기 때문에 다운 받은 파일을 삭제한다.

rm phpMyAdmin-latest-all-languages.tar.gz

 

 

 

 

이제 주소창에  http://public_IP/phpMyAdmin 를 입력하면 다음과 같은 화면이 뜬다. 




 

 

사용자명은 root, 암호는 아까 설정한걸 입력해 접속한다.