Cloud/AWS

AWS - EC2 서버 Linux를 사용한 WEB, DB Server 생성

잇(IT) 2022. 6. 15. 16:44


목차

1. WEB Server (PHP), DB Server (MySQL)

1.1 PHP 설치
1.2 SSH 설정
1.3 DB Server 설치
1.4 WEB Sever 파일 및 MySQL 설정


 

- AWS EC2(가상 서버)에 Linux를 설치하여 WEB Server와 DB Server를 설치하여 실제 사용을 해 볼 것이다.


https://insoobaik.tistory.com/174

 

MySQL - 설치 및 기본 명령어, 원격 접속

목차 - WEB 동작 과정 1. MYSql 설치 2. MYSql 기본 명령어 3. MYSql 원격 접속 4. MYSql 명령어 4.1 명령어 4.2 조건문 4.3 SQL Injection - WEB 동작 과정 1. Client는 DNS Server에게 원하는..

insoobaik.tistory.com

https://insoobaik.tistory.com/175

 

MySQL + PHP - 설치 및 연결, php 파일 분석

목차 1. PHP 설치 및 설정 1.1 PHP 설치 2. PHP 파일 확인 2.1 index.php 2.2 person1.php 2.3 insert1.php 2.4 table1.php 3. DB 설정 4. 설정 확인 - WEB 동작 과정 https://insoobaik.tistory...

insoobaik.tistory.com

- PHP 설치 및 MySQL 연동에 관한 자세한 내용은 이전 포스팅을 참고한다.


https://insoobaik.tistory.com/219

 

AWS - AWS CLI, IAM, S3, EC2, 보안 그룹, 원격 접속

목차 1. AWS CLI 2. IAM 2.1 사용자 생성 2.2 그룹 생성 2.3 액세스 키 3. aws configure 4. S3 5. EC2 6. 보안 그룹 7. 원격 프로그램 접속 1. AWS CLI - AWS CLI : AWS CLI는 AWS 서비스를 관..

insoobaik.tistory.com

- AWS EC2 생성 및 Linux 설치에 대한 자세한 내용은 위의 포스팅을 참고한다.


1. WEB Server (PHP), DB Server (MySQL)

 

1.1 PHP 설치


WEB Server에서 작업

 

- amazon-linux-extras는 amazon Extras 라이브러리에서 소프트웨어 패키지를 다운 받을 수 있도록 도와준다.

- 즉 yum -y install 대신 해당 패키지를 설치할 때 사용한다.

 

- PHP의 경우 yum -y install이 불가능하기 하고 위의 list에 포함되어 있기 때문에 amazon-linux-extras를 통해 우선 소프트웨어 패키지를 받아준다.

 

- 7.4 버전의 php가 설치된 것을 볼 수 있다.

 

- php를 설치해준다.


1.2 SSH 설정

 

- 서버 안이 아닌 외부에 있는 파일들을 Server에 복사하기 위해선 SSH를 통한 접속이 가능해야 한다. 하지만 기본적으로 서버가 설치되면 SSH의 사용은 불가능 하기 때문에 외부에서 접근이 가능하도록 해당 Server에 접속하여 SSH 설정을 변경해준다.

- Password를 통한 접속이 가능하도록 변경해준다.

 

- root 로그인이 가능하도록 변경해준다.

 

- ssh 설정이 변경되었기 때문에 시스템 재시작을 해준다.


Host PC에서 작업

 

- WEB Server에 ssh 설정을 변경하여 scp를 통한 파일 전송이 가능해졌기 때문에 WEB Server에서 사용할 PHP 파일을 WEB Server로 전송한다.


1.3 DB Server 설치


DB Server에서 작업

 

- 이전 포스팅을 참고하여 이전에 MySQL 설치 방법과 동일하게 DB Server에  MySQL을 설치해준다.

 

- 설치가 완료되어 MySQL 접속이 가능한 것을 볼 수 있다.


1.4 WEB Sever 파일 및 MySQL 설정

 

index.php 파일 내용 일부

- WEB Server와 DB Server가 연결되었지 확인하는 파일에 필요한 DB인 test DB를 생성해준다.

 

- 모든 DB 및 테이블에 모든 IP로부터 root 접근이 가능하도록 권한 설정을 해준다.

(해당 구문에 대한 자세한 내용을 알고 싶다면 이전 포스팅을 참고한다.) 


WEB Server에서 작업

 

- DB Server의 Private 주소로 연결을 시도하고, root 사용자로 로그인하여 test DB에 접근하겠다는 의미이다.

 

- WEB Server에 해당하는 EC2의 public IP 주소로 접근하게 되면 다음과 같이 WEB page와 DB Server와 연결된 것을 확인 할 수 있다.

 

- 마찬가지로 DB Server로 접속하는 설정으로 변경한다.

 

- person1.php 파일은 정보를 입력하고 다른 페이지로 넘어가는 화면을 구성하는 파일이다.

- table1.php 파일은 DB Server의 데이터 정보들을 불러오는 파일이고 WEB Server에 존재하는 파일이기 때문에 경로를 WEB Server IP 주소를 입력해준다.

 

- table1.php 파일은 DB Server로부터 데이터를 불러오는 파일이다. 

- 사용자는 root, DB는 member, TABLE은 member, 속성은 no, id, name, phone, address에 해당하는 정보들을 불러오겠다는 의미다. 


DB Server에서 작업

 

- WEB Server의 파일인 table1.php에서 DB Server의 member DB의 member TABLE에 있는 no, id, name, phone, address 속성을 불러오게 되어있기 때문에 해당 DB, TABLE, 속성들을 만들어준다.


WEB Server 확인

 

- person1.php 파일을 통해 정보를 입력하는 페이지다.

 

- person1.php 페이지를 통해 회원 정보가 DB Server로 정상적으로 넘어가고 table1.php 파일에서 정상적으로 DB Server로부터 데이터를 받아와 화면에 출력한 모습을 볼 수 있다.


- scp로 파일을 전송할 때 /etc/ssh/sshd_config 파일에서 root 사용자 로그인 허용 및 Password로 진입 가능하도록 설정 변경 해줘야 한다.

 

grant all privileges on *.* 'root'@'%' identified by 'Qordlstn0417#';

flush priviliges;

- 해당 구문을 이용하여 DB Server에 접근하는 IP들 허용 잊지 말기

728x90