서버 & DB

AWS EC2 서버 구축 및 연동 - 4

마루설아 2022. 5. 9. 23:04

https://maruseol-a.tistory.com/5

 

AWS EC2 서버 구축 및 연동 - 3

https://maruseol-a.tistory.com/4 AWS EC2 서버 구축 및 연동 - 2 https://maruseol-a.tistory.com/3 AWS EC2 서버 구축 및 연동 - 1 https://aws.amazon.com/ko/console/ AWS Management Console AWS Support 플..

maruseol-a.tistory.com

이전 포스팅에서는 Putty를 사용하여 nginx를 설치하여 웹 서버를 구현하고

FileZilla를 이용하여 EC2 서버 스토리지에 연동까지 시도해봤다.

이번 포스팅에는 EC2 서버에 PHP, MySQL 및 phpMyAdmin을 설치해볼 것이다.

 

 

먼저 Putty를 실행하여 콘솔에 접속한다.

접속하는 방법은 이전 포스팅을 참조할 것.

 

PHP를 설치하기 위해 다음 명령어를 입력한다.

sudo apt-get install php-fpm

 

Y를 입력하여 설치를 계속 진행하자.

앞으로 같은 문구가 나오면 계속 Y를 입력하는 것으로 하겠다.

 

그러면 위 그림과 같이 설치가 완료되는데

빨간 박스 안의 php버전을 알아두자.

필자의 경우 php8.1-fpm 이다.

 

그 후, 콘솔 입력창에 다음 명령어를 입력한다.

sudo vi /etc/nginx/sites-available/default

그렇다면 위 그림처럼 한 파일 편집기가 열릴 것이다.

 

아래 방향키를 눌러 index index.html ~~~~ 적힌 부분을 찾는다.

우측 방향키로 맨 우측으로 이동하여 i를 누른 후 맨 끝에 index.php를 입력한다.

 

그리고 아래 보이는

loaction ~ /.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php7.4-fpm.sock;

}

 

부분의 맨 앞에 # 을 제거해준다.

주석을 해제하는 거라고 보면 된다.

 

그리고 php7.4-fpm.sock; 부분을 현재 설치된 php버전인 8.1로 바꿔주자.

마지막으로 ESC를 누르고 :wq! Enter를 해준다. (:wq! 는 편집기를 저장하고 나간다는 의미이다.)

 

nginx를 리로드 해주는 다음 명령어를 입력해준다.

sudo service nginx reload

 

nginx 상태를 확인한다.

sudo service nginx status

 

혹시라도 초록 글씨가 아닌 다른 것이 나온다면

sudo nginx -t

sudo systemctl restart nginx

입력 후 재시도 해보자.

 

 

다음으로 콘솔 입력창에 아래 명령어를 입력한다.

cd /var/www/html

vi phpinfo.php

 

i를 누른 후 다음과 같이 입력하고 ESC, :wq! 를 순서대로 입력한다.

<?php phpinfo(); ?>

 

그러고 나서 IPv4 퍼블릭 주소/phpinfo.php 를 인터넷 주소창에 입력해보자.

웹 페이지상에 php 버전 정보가 나온다면 PHP 설치 및 설정이 완료된 것이다.

 

 

다음은 데이터베이스에 사용할 MySQL을 설치해보자.

MySQL 설치를 위해 다음 명령어를 입력한다.

sudo apt-get update

sudo apt-get install mysql-server mysql-client

 

설치가 끝나면 다음 명령어를 입력하여 MySQL에 접속해보자.

sudo mysql -u root -p

 

Enter Password : 가 나오면 바로 Enter를 누르면 된다.

그렇다면 콘솔 입력창이 mysql> 로 변경될 것이다.

 

 

MySQL 명령어 및 쿼리문은 다양하다.

그 중 몇가지만 함께 시도해보자.

 

select version();

현재 MySQL 버전을 확인할 수 있다.

필자는 "8.0.29-0ubuntu0.22.04.2"로 나온다.

버전 별 명령문 및 쿼리문은 다를 수 있으니 유의하자.

 

show databases;

MySQL에 있는 데이터베이스 목록을 조회할 수 있다.

 

select host,user,authentication_string from mysql.user;

현재 사용자 현황을 볼 수 있다.

 

create user 'Maru'@'%' identified by 'maru1234';

MySQL 사용자에 "Maru" 사용자를 만들고 "maru1234"로 비밀번호를 설정한다.

사용자 및 비밀번호 칸에 원하는 내용으로 바꾸어 설정하자.

가운데 %는 외부 접속과 관련된 구문인데 이는 필자도 아직 배우는 중이다.

 

grant all privileges on *.* to 'Maru'@'%';

"Maru" 사용자에게 쿼리 권한(ALL)을 준다. (insert, select 등)

MySQL grant문에 대해 각자 알아볼 것.

 

flush privileges;

MySQL의 캐시를 모두 삭제하고 새로운 설정을 적용한다.

지금 같은 경우, 권한을 새로 준 후 flush를 통해 서버에 적용해야 위의 권한 부여가 완료된다.

 

create database testDB default character set utf8;

testDB라는 데이터베이스를 생성한다.

 

use testDB;

testDB 데이터베이스를 사용한다.

 

exit

MySQL에서 빠져나온다.

 

MySQL 명령 및 쿼리문은 간단하게 이 정도까지만 마무리하겠다.

 

 

다음은 phpMyAdmin을 이용해보자.

MySQL을 월드 와이드 웹 상에서 관리할 목적으로 PHP로 작성한 오픈 소스 도구이다. 데이터베이스, 테이블, 필드, 열의 작성, 수정, 삭제, 또 SQL 상태 실행, 사용자 및 사용 권한 관리 등의 다양한 작업을 수행할 수 있다. (위키백과)

 

putty에서 다음 명령어를 입력해준다.

sudo apt update && sudo apt install phpmyadmin

 

설치가 완료되면 위 화면이 나올 것이다.

Tab을 눌러 Ok를 누른다.

 

Yes를 눌러준다.

 

phpMyAdmin의 비밀번호를 설정하는 창이다.

비밀번호 설정 없이 Tab을 눌러 Ok를 눌러도 되고

비밀번호를 설정해준다면 외워두자.

 

설치가 완료되면 콘솔 입력창에 다음 명령어를 입력해준다. 주의할 점은 in이 아닌 ln이다.

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

 

그리고 인터넷 주소창에 퍼블릭 IPv4주소/phpmyadmin 으로 접속해보자.

 

위의 페이지가 뜬다면 phpMyAdmin 설치에 성공한 것이다.

putty mysql 콘솔에서 등록했던 사용자로 로그인도 해보자.

 

정상적으로 잘 작동이 되며 아까 putty에서 추가했던 testDB 데이터베이스도 잘 보인다.

 

 

이상으로 AWS EC2 데이터베이스 구축과 서버 연동, 스토리지 접근, MySQL 등의 설정을 마치겠다.

다음 포스팅은 이번에 만든 서버와 안드로이드 스튜디오 연동에 대해 포스팅 해보겠다.