Debian8(jessie)에 Nginx+PHP7+PHP-FPM+MariaDB+phpMyAdmin을 설치한 메모

계기



조금 서비스 만들까라고 생각해, 소수 조사에 WordPress의 이사를 해, 최저 스펙으로 어느 정도 움직이는지를 실험.

CentOS와 Debian의 차이가 겨우 알았을 정도의 초보자 마크씨이므로, 필요없는 작업이라든지 낭비도 있을까 생각한다.
악전 고투하면서도, 우선 낭트카 움직일 것 같다.

준비



서버는 카고야에서 512MB 플랜, Debian8을 설치.

덧붙여서, JuiceSSH라고 하는 것을 사용하면, Android 스마트폰으로부터도 할 수 있는 것 같다.

설치하기 전에



vim을 사용할 때



vim-tiny가 들어 있으면 지우십시오.
우선은 들어가 있는지 확인.
> dpkg -l | grep vim

vim-tiny가 있으면 제거
> apt remove vim-tiny

vim 설치
> apt update
> apt install vim

Git



분명 어딘가에서 사용하므로 Git 정도는 넣어 둔다.
> apt update
> apt install git

환경 설치



Nginx 설치



보통으로하면 오래된 것이 설치되므로 설정을 이지쿠루.
> vim /etc/apt/sources.list

/etc/apt/sources.list
# 末尾に追加
deb http://nginx.org/packages/debian/ jessie nginx
deb-src http://nginx.org/packages/debian/ jessie nginx

목록을 업데이트한 후 설치
> apt update
> apt install nginx

버전을 확인할 수 있으면 OK.
> nginx -v
nginx version: nginx/1.12.2

http 접속해 보고, 루트에 nginx의 초기 페이지가 표시되면 OK.


PHP7 설치



그대로라면 apt에 선택사항이 나오지 않으므로 추가한다.
> vim /etc/apt/sources.list

/etc/apt/sources.list
# 末尾に追加
deb http://packages.dotdeb.org jessie all

이것만으로는 설치에 실패했다.
apt-add-repository라는 것을 사용하는 것 같습니다.
> apt install apt-file
> apt-file update
> apt-file search apt-add-repository
> apt-get install -y software-properties-common
> apt-add-repository ppa:ondrej/php

키도 추가한다.
> wget https://www.dotdeb.org/dotdeb.gpg
> apt-key add dotdeb.gpg
> apt-get update

드디어 설치 준비 완료.
세트를 정리해 설치.
> apt install php7.0 php7.0-fpm php7.0-mysql php7.0-mbs                                                                                      > tring php7.0-xml php7.0-gd php7.0-curl

> php --version
PHP 7.0.28-1~dotdeb+8.1 (cli) ( NTS )

이번에는 Nginx에 php를 연결한다.
우선 php-fpm 설정.
> vim /etc/php/7.0/fpm/pool.d/www.conf

사용자와 그룹을 nginx로 만듭니다.
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = nginx
group = nginx

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx

php-fpm을 다시 시작합니다.
> /etc/init.d/php7.0-fpm restart
> systemctl status php7.0-fpm.service
# 緑の○ならOK、エラーの場合はなんかメッセージが書いてあるはず。

Php 테스트 페이지를 만들어 연결해 봅니다.
# テストファイルindex.phpを作るため、勝手に作られているindex.htmlを退避
> mv /usr/share/nginx/html/index.html index.back
> vim /usr/share/nginx/html/index.php

내용은 자주 있는 녀석.
<?php echo phpinfo(); ?>

nginx 설정에 PHP 소켓을 추가합니다.
> vim /etc/nginx/conf.d/default.conf

/etc/nginx/conf.d/default.conf

# 9行目付近をこのようにする
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

# 31行目付近をこのようにする。
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

재부팅
> /etc/init.d/nginx restart

다시 http 연결하고 PHP의 평소 화면이 표시되면 OK

> apt install mariadb-server
# root のパスワードを聞かれたら、適当に決めて入れる。
> mysql -u root -p
# ここでパスワードを聞かれる
MariaDB [(none)]> use mysql
# なるべく全権限をもったユーザーを作るが、root ほどではないらしい。
MariaDB [mysql]> grant all on *.* to "dbuser"@localhost identified by 'password';
# ユーザー名とパスワードは任意で変更
MariaDB [mysql]> exit

phpMyAdmin 설치



이것으로 인스톨 하지만, php5와 apache2가 들어 버리는 것은 어떻게든 할 수 없는 것일까.
뭐 곤란하지 않다면 좋다.
> apt install phpmyadmin

설치 중에 비밀번호를 듣기 때문에 적당히 넣는다.
다음으로 웹 서버가 Apache인지 lighttpd인지 묻지만, 선택하지 않고 다음에 간다.
dbconfig-common이 낭트카 들리기 때문에, No로 한다.
ln -s /usr/share/phpmyadmin /usr/share/nginx/html
cd /usr/share/nginx/html
mv phpmyadmin origin-url 
セキュリティ上アレなので名前は適当に変える

위의 경우, http://(ip)/origin-url 로 접속하면 넣는다.


여기에 WordPress를 이사한다.

참고



Vim/Debian에 설치
Def Debian 9 Stretch에서 Nginx + PHP7.0 + MariaDB 설치
Def Yon phpMyAdmin 설치(Debian Stretch+Nginx+MariaDB 환경)
nginx document installing nginx

좋은 웹페이지 즐겨찾기