Ubuntu 16.04 LTS에 phpMyAdmin 설치하기

콜트·2021년 1월 7일
0

phpMyAdmin 설치

  1. EC2 인스턴스에 접속한 뒤, 패키지매니저를 통해 phpMyAdmin을 설치해준다. 먼저 sudo apt update를 통해 패키지 업데이트를 진행하고 sudo apt install phpmyadmin으로 phpMyAdmin을 설치해준다.

  2. phpMyAdmin의 설치가 진행되면 다음과 같은 화면이 나오는데 Yes를 선택하고 넘어간다.

  3. MySQL 어플리케이션 암호는 phpMyAdmin이 내부적으로 MySQL과 통신하기 위해 사용하는 것으로 비워두고 엔터를 치면 자동으로 생성된다. 원하는 비밀번호를 지정해주자.

  4. 다음으로 웹 서버를 고르는 화면이 뜨는데, Nginx를 위한 옵션은 없으므로 TAB을 누르고 엔터를 눌러 웹 서버를 선택하지 않고 넘어간다.

  • 본인은 처음에 생각없이 apache2를 선택했다가 지우고 재설치하는 등, 시행착오를 굉장히 많이 겪었다. 반드시 본인의 환경에 맞는 것을 선택하도록 하자(부들부들).
  • 추가로, 패키지를 깔끔하게 제거하기 위해서는 --purge 옵션을 추가해서 제거해야 한다. 즉, sudo apt remove --purge <패키지명> 과 같이 명령을 입력해야 한다. 기본적으로 debian 계열(우분투 포함)은 설정 파일과 같은 특정 파일을 관리하고 있는데, 이 파일들은 --purge 옵션을 사용할 때에만 제거될 수 있다. 잘못 설치해서 다시 처음부터 설치하고 싶은 경우 삭제할 때 --purge를 잊지 말도록 하자.
  1. phpMyAdmin 설치는 끝났지만 Nginx 웹 서버가 phpMyAdmin 파일을 올바르게 찾고 제공하려면 설치 파일에서 Nginx 문서 루트 디렉토리로의 심볼릭 링크를 만들어야 한다. 다음과 같이 만들어준다.

  2. 마지막으로 phpMyAdmin이 의존하는 PHP 모듈인 mcrypt를 활성화해야 한다. 이는 phpMyAdmin과 함께 설치되었으므로 이를 켜고 php7.0-fpm을 다시 시작한다.

  3. 이제 phpMyAdmin 설치가 완료되었으므로 http://server_domain_or_IP/phpmyadmin으로 웹 브라우저에서 접근하면 phpMyAdmin 화면이 나와야 하는데.. 안나온다.

  4. /etc/nginx/sites-available/default 라는 설정 파일에 index.php를 추가해준다(여기서 삽질을 굉장히 많이 했다. 앞의 게시글을 그대로 따라왔다면 당장 /var/www/html/index.php 파일을 /var/www/html/phpinfo.php로 변경하도록 하자. 그렇지 않으면 계속해서 앞전의 PHP 설치정보를 보여주는 index.php 페이지가 보일 것이다).

  5. 그리고 다시 http://server_domain_or_IP/phpmyadmin 으로 접근하면 다음과 같이 phpMyAdmin 화면을 볼 수 있게 되었다.

  6. 기쁜 마음으로 로그인을 하고 접속하려는데... 404 Not Found.... 이는 phpmyadmin 내부에 존재하는 파일을 찾지 못해서 생긴 에러인듯 하다(자세한 건 좀 더 찾아봐야겠다).

  7. /etc/nginx/sites-available/default 설정 파일에 다음 코드를 추가해서 해결했다. location /phpmyadmin/phpmyadmin 으로 접근했을 때 무언가 동작하는 코드인듯 하다. 마찬가지로 찾아봐야겠다.

  8. 위의 코드를 추가해주고 sudo service nginx restart 명령어로 nginx를 재실행해서 변경된 설정을 적용해준 다음, 로그인을 하면 이제 제대로 된 phpMyAdmin 웹 인터페이스 화면이 나온다.

  9. 봇을 비롯해 해커들은 지속적으로 phpMyAdmin 로그인 페이지를 가지고 있는 웹서버를 스캔하고 있다. 따라서 URL을 변경할 필요가 있다. 앞서 DocumentRoot/var/www/html/phpmyadmin에 대한 심볼릭 링크를 생성했다. 지금 필요한 것은 위의 심볼릭 링크의 이름을 변경해주는 것이다. 다음과 같이 변경해주면 된다.

    이 과정을 통해 이제 http://server_domain_or_IP/php_coltphpmyadmin에 접근할 수 있다.


참고자료


profile
개발 블로그이지만 꼭 개발 이야기만 쓰라는 법은 없으니, 그냥 쓰고 싶은 내용이면 뭐든 쓰려고 합니다. 코드는 깃허브에다 작성할 수도 있으니까요.

0개의 댓글