안녕, 세상!

2-4 AWS에 PHPMyAdmin 설치 본문

It공부/Server

2-4 AWS에 PHPMyAdmin 설치

dev_Lumin 2021. 2. 2. 01:16

이어서 PHPMyAdmin을 설치해보도록 하겠습니다.

(실습에 대한 설명은 이전 과정과 연결되므로 이전 과정을 꼭 보시고 적용시켜야 합니다.)

 

 

현재까지 환경을 정리해보자면 다음과 같습니다.

클라우드 서버 : AWS EC2 인스턴스

OS : Ubuntu 18.04.05 LTS

WebServer : Nginx

BL : PHP

DBMS : MySQL

 

 

PHPMyAdmin이란?

mysql을 GUI로 관리할 수 있는 무료 소프트웨어 도구입니다.

GUI로 MySQL을 편리하게 관리를 할 수 있다고 하는데

커널에 손을 대면 커널이 훨씬 편안하고 쉬운........

아 그렇다고 합니다!

 

 

우선 aws EC2를 동작시키고 WinSCP에 로그인한 후 PuTTY 환경에서 phpmyadmin을

패키지 매니저로 설치해줍니다.

(1) PHPMyAdmin 기본 설치

$ sudo apt update
$ sudo apt install phpmyadmin

웹서버 선택

nginx를 사용할 것이기 때문에 tab키를 눌러서 선택을 해주지 않습니다.

ok버튼을 누릅니다.

 

phpmyadmin을 설치할려면 반드시 database가 필요하므로 

database(MySQL) 추가설치 여부를 확인하는 질문입니다.

필자는 이미 앞서 AWS에 mysql을 설치했으므로 no버튼을 눌러줍니다!!!

(만약에 database가 설치되지 않았다면 Yes를 눌러야 합니다.)

no버튼을 누른다면 더 이상 중요한 질문들이 없고 말끔하게 설치가 완료됩니다.

(설치가 완료되면 굳이 Yes를 눌렀을 경우를 볼 필요 없습니다)

 

Yes를 눌렀을 경우 ( database가 있음에도 불구하고)

만약 mySQL 데이터베이스가 설치되어 있음에도 불구하고 

Yes 버튼을 눌러준다면,

다음과 같이 mySQL 데이터베이스에 대한 비밀번호를 새로 생성하라고 요구합니다.

 

필자의 경우는 앞서 MySQL의 비밀번호 강도를 MIDEUM으로 설정했기 때문에 다음과 같은 오류가 나오고

 

database installation에 대한 옵션을 선택하라고 나오는데

이미 MySQL이 있으므로 그냥 ignore을 선택하고 ok를 누르면 설치가 완료됩니다.

 

 

 

참고

필자는 yes를 했을 경우와 no을 했을 경우 뭐가 달라지는 궁금해서 

직접 패키지 설치한 것을 제거하고 다시 해보고 했습니다.

이때 패키지 설치한 것을 깔끔하게 지우기 위해서 다음 명령어를 사용했습니다.

패키지를 깔끔하게 제거하는 명령어

$ sudo apt remove --purge <패키지명>

물론 다음 명령어는 패키지로 인해 설치된 디렉터리들을 말끔히 지워주지만 

사용자가 추가적으로 만든 디렉터리나 파일들은 알아서 삭제해주셔야 합니다.

 

 

(2) PhpMyAdmin 설정

설치를 완료했지만 Nginx 웹 서버가 phpMyAdmin 파일을 올바르게 찾고 제공하려면

설치 파일에서 Nginx 문서 루트 디렉터리로 심볼릭 링크를 만들어야 합니다.

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

 

이제 설정이 완료되었기 때문에 주소창에 AWS서버공인ip/phpmyadmin을 입력하면

될 수도 있고 안 될 수도 있습니다.

 

필자의 경우 안되었습니다. ( 필자의 앞글을 그대로 따라 하셨다면 안되었을 것입니다.)

 

이는 nginx 설정 디렉터리에 php 설정이 안 된 부분이 있기 때문입니다.

다음과 같이 nginx 설정 디렉터리에서 수정을 해줍니다.

$ sudo vim /etc/nginx/sites-available/default

43번째 줄을 보면 

Add index.php to the list if you are using PHP

라고 쓰여 있습니다.

index.php 파일은 앞서 필자가 phpinfo() 코드를 작성한 파일입니다.

 

안내된 대로 index.php를 추가해줍니다.

그런데 여기서 주의(?)해야할 부분은 위의 그림처럼 index.php를

index.nginx-debian.html보다 앞에 작성하게 된다면 공인ip를 입력할 때 default로 index.php가 나올 것입니다.

그걸 원치 않는다면 다음과 같이 index.nginx-debian.html보다 뒤에 작성을 해줍니다.

 

저장하고 나온 후 nginx의 설정 파일을 수정했으므로 nginx를 restart 시켜줍니다.

$ sudo service nginx restart

 

이제 다시 AWS서버공인ip/phpmyadmin을 주소창에 입력해주면 

phpmyadmin이 잘 나오는 것을 확인할 수 있습니다.

 

이제 사용자명과 암호를 입력해줍니다.

사용자명과 암호는 MySQL의 사용자명과 암호를 입력해주면 됩니다.

필자의 경우 앞서 MySQL Secure 과정에서 외부에서 root로 로그인하지 못하게 설정을 했기 때문에

root사용자로 로그인할 수 없습니다.

 

앞서 따로 추가로 만들어준 lumin이라는 사용자로 로그인을 해보면,

다음과 같이 잘 접속이 됩니다.

lumin이라는 사용자에게 모든 권한을 부여한 Lumindb 데이터베이스도 잘 보이는 것을 확인할 수 있습니다.

 

 

 

 

참조 : bbs.archlinux.org/viewtopic.php?id=163714   

       : www.manualfactory.net/10579   

 

Comments