Help us understand the problem. What is going on with this article?

Debian8(jessie)にNginx+PHP7+PHP-FPM+MariaDB+phpMyAdminをインストールしたメモ

More than 1 year has passed since last update.

きっかけ

ちょっくらサービス作ろうかと思い、小手調べに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。
image.png

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
image.png

> 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

インストール中にパスワードを聞かれるので、適当に入れる。
次にWebサーバーが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 で接続すると入れる。
image.png

ここにWordPressを引っ越す。

参考

Vim/Debianへのインストール
デフよん Debian 9 StretchでNginx+PHP7.0+MariaDBをインストール
デフよん phpMyAdminをインストール(Debian Stretch+Nginx+MariaDB環境)
nginx document installing nginx

blue-ossan
嫁さん一番、仕事は二番、三児のオヤジ。 徳島のとある里山に移住。古民家DIY改修中。 プログラミング16年、PHP+Laravelは相棒。javascriptは愛人。 良いプログラミングをするには良い食事で頭作りから!
https://pochaneco.space
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away