IT & CODE 이야기

기존 Nginx 웹 서버에 Adminer 설치하기 본문

CODE/Server

기존 Nginx 웹 서버에 Adminer 설치하기

Karoid 2018. 6. 8. 12:31

기존 Nginx 웹 서버에 Adminer 설치하기

이미 nginx가 설치되어 있는 상태에서 Adminer를 설치해보도록 하겠습니다

Adminer를 프로젝트에 추가하기

Adminer사이트에 접속하여 단일한 php 파일을 다운받아 프로젝트의 public 폴더에 추가합니다. 아래 내용은 /public/admin 폴더 안에 database.php라는 이름으로 넣었습니다.

PHP 설치

저희 서버는 postgresql을 사용하므로 php-postgresql과 PHP 7 버젼을 설치합니다

$ sudo apt install php-fpm php-pgsql

설정파일을 수정해서 보안을 신경써줍니다.

$ sudo vi /etc/php/7.0/fpm/php.ini

cgi .fix_pathinfo 부분을 찾아 앞에 주석(;)을 삭제하고 값을 1에서 0으로 변경합니다. 1의 경우 PHP 파일을 찾을 수 없을 경우 근접한 파일을 찾아서 실행하게 되므로 보안이 취약하게 됩니다.

cgi.fix_pathinfo=0

저장 후 다음과 같이 입력하여 PHP FPM을 재시작합니다.

sudo systemctl restart php7.0-fpm

PHP를 위한 Nginx 서버 설정

이제 Nginx 서버 설정을 위한 설정파일에 들어갑니다.

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

주석을 풀어 php가 작동되도록 만듭니다

location ~ ^/admin/database\.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

제대로 설정된다면 /admin/database 을 켜게 되면 adminer가 실행되게 됩니다.

수정된 설정파일에 {가 맞지 않는다던가 사소한 오타가 있으면 Nginx가 실행되지 않으므로 다음과 같이 입력하여 오류 여부를 확인합니다.

$ sudo nginx -t

이상이 없으면 다음과 같이 입력하여 서버를 재시작합니다.

sudo service nginx restart
Comments