[さくらのVPS + Ubuntu18.04] Nginx + PHP + MariaDB + PhpMyAdmin を導入してLEMP環境にする

Ubuntu18.04LTS環境にLEMPを整える

さくらのVPSにLEMP環境を導入

  • Nginx
  • MariaDB
  • PHP
  • phpMyAdmin

1.Nginxを導入する

WEBサーバに高速HTTPサーバソフトウェアであるNginx(エンジンエックス)をインストールします。

# apt update
# apt -y install nginx
# systemctl status nginx
# vi /etc/nginx/sites-available/default

@46行目:サーバ名変更
server_name ubuntu18-isikari-server;

# systemctl restart nginx

さくらのVPSサーバへアクセスしてデフォルトページの表示を確認する。

http://さくらのVPSサーバ名/

2.PHPを導入する

PHPを導入します。
デフォルトのパッケージではphp-fpmが存在しないようで、リポジトリの設定を変更してから導入します。
パッケージはApacheを想定しているようで警告が出ます。HTTPアプリケーションは導入していますので無視します。

# add-apt-repository universe
# apt update
# apt install -y php php-fpm php-common php-mysql php-gd php-cli
# vi /etc/php/7.2/fpm/php.ini

@776行目
cgi.fix_pathinfo=0

# systemctl restart php7.2-fpm
# vi /etc/nginx/sites-available/default

@64行目に追記

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

#systemctl restart nginx
#echo “<?php phpinfo(); ?>” | tee /var/www/html/info.php

さくらのVPSサーバへアクセスしてphpinfoページの表示を確認する。

http://さくらのVPSサーバ名/info.php

3.MariaDBを導入する

データベースシステムにMariaDBを導入します。

# apt -y install mariadb-server
# vi /etc/mysql/mariadb.conf.d/50-server.cnf

@111、112行目を変更
character-set-server = utf8
collation-server = utf8_general_ci

# systemctl restart mariadb

MariaDBの初期設定

# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
… Success!

By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

@MariaDBにrootユーザで接続する
# mysql -u root -p
Enter password: 設定したパスワードを入力
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 38
Server version: 10.1.34-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> select user,host,password from mysql.user;
+——+———–+——————————————-+
| user | host | password |
+——+———–+——————————————-+
| root | localhost | ************************ |
+——+———–+——————————————-+
1 row in set (0.00 sec)

MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
+——————–+
3 rows in set (0.01 sec)

MariaDB [(none)]> exit
Bye

4.phpMyAdminを導入する。

phpMyAdminを導入してMariaDBを操作できるようにします。

# apt -y install phpmyadmin php-gettext

HTTPサーバソフトウェアを選択します。

必要ないので[No]

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

@53行目あたりに追記
location /phpmyadmin {
root /usr/share;
index index.php;
location ~ ^/phpmyadmin.+\.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ;
include fastcgi_params;
}
}

さくらのVPSサーバへアクセスしてphpmyadminページの表示を確認する。

http://さくらのVPSサーバ名/phpmyadmin/

rootログインが出来ない模様ですので新規でログインユーザを作ります。

# mysql -u root -p
Enter password: rootパスワードを入力
MariaDB [(none)]> CREATE USER ‘admin’@’localhost’ IDENTIFIED BY ‘password’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO ‘admin’@’localhost’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye

作成したユーザーでphpMyAdminページより再度ログインを試みる。

ログインできました。

Ubuntu18.04LTS環境にLEMP構築は以上です。
お疲れ様でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です