[관련 게시물]
지금까지 phpMyAdmin을 설치하고 업그레이드하는 방법들에 대해 글을 올렸습니다. 최근에는 phpMyAdmin을 수동으로 설치하는 방법에 대해 글을 올렸습니다. 그러나 그 방법은 보안상 그다지 좋은 방법이 아닙니다. 개인적으로만 활용할 목적으로 가상 서버를 구성한 것이라면 이전 방법도 그다지 큰 문제는 없겠지만 실제 서버 서비스를 제공하는 중이라면 이전 방법들은 보안에 취약한 설치 방법입니다. 따라서 심볼릭 링크를 이용한 보안 접속 설치 방법을 알려드리도록 하겠습니다.
사전 설치 패키지
study@study-VirtualBox:~$ sudo apt install dbconfig-common dbconfig-mysql javascript-common libjs-jquery libjs-sphinxdoc libjs-underscore libzip4 php-bz2 php-curl php-gd php-mbstring php-mysql php-pear php-php-gettext php-phpseclib php-tcpdf php-xml php-zip php7.2-bz2 php7.2-curl php7.2-gd php7.2-mbstring php7.2-mysql php7.2-xml php7.2-zip
phpMyAdmin을 설치하기 전 위 패키지들을 설치해주셔야 문제 없이 작동됩니다. 특히 php7.2-mysql 패키지는 필수로 설치해주셔야 합니다. 만약 php 버전이 7.2아닌 경우, 서버에서 사용 중인 php 버전에 맞는 패키지를 설치해주셔야 합니다.
phpMyAdmin 다운로드
study@study-VirtualBox:~$ sudo wget -P ~/다운로드 https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz
설치하고자 하는 phpMyAdmin 버전의 파일 링크 주소를 확인하여 내려받습니다.
이 글을 쓰고 있는 시점에서 phpMyAdmin 최신 버전은 4.9.0.1입니다.
웹루트 디렉토리 밖에 다운받은 파일 압축 풀기
study@study-VirtualBox:~$ sudo tar -xzf /home/study/다운로드/phpMyAdmin-4.9.0.1-all-languages.tar.gz -C /var/www
우분투 APM 서버의 웹루트 디렉토리는 보통 /var/www/html입니다. 만약 이 디렉토리 안에 phpMyAdmin을 설치한다면 누구나 손쉽게 접속할 수 있는 문제가 있습니다.
인터넷과 연결되지 않은 개발 서버 또는 테스트 서버라면 문제가 없겠지만 인터넷에 연결되어 서비스를 제공하는 서버라면 해킹 가능성을 늘 염두할 필요가 있습니다. 따라서 웹루트 디렉토리가 아닌 상위 디렉토리로 뺀 것입니다.
심볼릭 링크 생성
study@study-VirtualBox:~$ sudo ln -s /var/www/phpMyAdmin-4.9.0.1-all-languages /var/www/html/dbmgt
이제 심볼릭 링크를 이용해 웹루트 디렉토리에 실제로는 존재하지 않는 가상의 디렉토리 링크를 생성하여 실제 phpMyAdmin 디렉토리와 연결해줍니다.
저는 dbmgt라는 심볼릭 링크를 웹루트에 만들어 실제 phpMyAdmin 디렉토리와 연결해주었습니다.
study@study-VirtualBox:/var/www/html$ ls -al ... 생략 ... lrwxrwxrwx 1 root root 41 6월 28 17:47 dbmgt -> /var/www/phpMyAdmin-4.9.0.1-all-languages ... 생략 ... study@study-VirtualBox:/var/www/html$
이제 ls 명령어를 이용해 심볼릭 링크가 잘 생성되었는지 확인합니다.
phpMyAdmin 설정
config.inc.php 파일 생성
http://도메인 주소/심볼릭 링크 이름/setup에 접속합니다. 그러면 phpMyAdmin의 환경설정을 할 수 있습니다. 설정을 끝마친 후 다운로드 버튼을 눌러 파일인 phpMyAdmin의 환경설정 파일인 config.inc.php를 다운받습니다.
웹브라우저 다운로드 폴더 기본값은 계정명/다운로드입니다. 우분투의 경우 /home/계정명/다운로드가 기본값입니다.
study@study-VirtualBox:/var/www/html$ cd ~/다운로드 study@study-VirtualBox:~/다운로드$ sudo cp config.inc.php /var/www/phpMyAdmin-4.9.0.1-all-languages
위 명령을 실행하여 내려받은 config.inc.php 파일을 실제 phpMyAdmin 폴더 안에 복사해줍니다.
오류 문제 해결
config.inc.php 파일을 복사해 넣은 다음 http://도메인 주소/심볼릭 링크 이름에 접속하여 첫 로그인을 하면 위 그림과 같은 오류 안내가 화면 하단에 뜹니다. 해당 오류 내용을 옮기면 아래와 같습니다.
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.
phpmyadmin 하위 디렉토리 중 tmp라는 디렉토리가 없어서 나타나는 오류입니다.
해결 방법은 두가지 입니다.
해결법 1
config.inc.php 파일을 열어 아래 구문을 추가해줍니다.
$cfg['TempDir'] = '/tmp';
해결법 2
해당 디렉토리를 생성해주고 퍼미션 설정을 해주시면 됩니다.
study@study-VirtualBox:~/다운로드$ cd /var/www/phpMyAdmin-4.9.0.1-all-languages study@study-VirtualBox:/var/www/phpMyAdmin-4.9.0.1-all-languages$ sudo mkdir tmp study@study-VirtualBox:/var/www/phpMyAdmin-4.9.0.1-all-languages$ ls -l | grep tmp drwxr-xr-x 2 root root 4096 6월 27 17:31 tmp study@study-VirtualBox:/var/www/phpMyAdmin-4.9.0.1-all-languages$ sudo chmod 777 tmp study@study-VirtualBox:/var/www/phpMyAdmin-4.9.0.1-all-languages$ ls -l | grep tmp drwxrwxrwx 2 root root 4096 6월 27 17:31 tmp study@study-VirtualBox:/var/www/phpMyAdmin-4.9.0.1-all-languages$
위 명령에 대한 자세한 설명은 아래 링크를 참고하시기 바랍니다.
위 작업을 마치고 재접속을 하면 하단의 오류 경고가 사라지며 무사히 설치가 완료됩니다.
'서버 운영 > APM 서버 구축' 카테고리의 다른 글
우분투(Ubuntu) 20.04에서 APM 설치 - 마리아DB(MariaDB) 10.5 설치 (0) | 2020.09.18 |
---|---|
우분투(Ubuntu) 20.04에서 APM 설치 - 마리아DB(MariaDB) 10.3 설치 (0) | 2020.09.16 |
우분투(Ubuntu) 20.04에서 APM 설치 - 아파치(Apache2 설치 (6) | 2020.09.14 |
Apache와 Shell에서 PHP 버전 전환하기(How to Switch between Multiple PHP Version) (0) | 2019.07.05 |
phpMyAdmin 수동 설치 01 - 일반 설치 (0) | 2019.07.01 |
MariaDB 업그레이드 (Upgrading from MariaDB 10.3 to MariaDB 10.4) (0) | 2019.06.27 |
APT 패키지 관리자를 통해 설치한 phpMyAdmin 업그레이드 방법(업그레이드 버전 4.9.0.1) (0) | 2019.06.18 |
phpMyAdmin 4.6.6deb5와 PHP 7.2 간 호환성 문제 해결 - Warning in ./libraries/sql.lib.php#613 (0) | 2019.06.16 |