当記事はアフィリエイト広告を利用しています
【Ubuntu編】エックスサーバーVPSにPHPとMySQLをインストールする方法

【Ubuntu編】エックスサーバーVPS(Xserver VPS)にPHPとMySQL(MariaDB)をインストールする方法

こちらのページでは、エックスサーバーVPS(Xserver VPS)を利用している方向けにPHPとMySQL(MariaDB)をインストールする方法説明します。
OSには「Ubuntu」を利用しています。

 

PHPのインストール

PHPのインストール

PHPのパッケージ情報をチェック

PHPをインストールする前に、パッケージに含まれるPHPのバージョン情報をチェックしてみましょう。

# sudo apt show php

パッケージのPHPバージョン確認

Package: php
Version: 2:8.1+92ubuntu1
Priority: optional
Section: php
Source: php-defaults (92ubuntu1)
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: Debian PHP Maintainers
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 14.3 kB
Depends: php8.1
Download-Size: 2,756 B
APT-Sources: http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
Description: サーバーサイド・HTML埋め込みスクリプト言語 (デフォルト)
PHP (PHP: Hypertext Preprocessor の再帰的頭字語) は広く使われている
オープンソースな汎用スクリプト言語で、特にウェブ開発に適しており、 HTML に組み込むことができます。
.
This package is a dependency package, which depends on latest stable PHP
version (currently 8.1).

これでPHP8.1.xxがインストールされることが分かりました。
ですが、PHPの正確なバージョンまでは分からないようですね。

ここは、実際にPHPのインストールを行ってから確認するようにしてみましょう。

 

PHPをインストール
# sudo apt-get install -y php

この1行を実行するだけでPHPのインストールが完了します。

WordPressを利用する場合には、足りないモジュールが出てくる可能性もあります。
デフォルトでインストールされているモジュールもありますが、不安であればWordPressで利用しそうなモジュールを明示してインストールしておきましょう。

これでPHP本体と一緒にインストールされます。

# sudo apt-get install -y php

 

PHPのバージョンを確認

インストールされたPHPのバージョンも確認しておきましょう。

# sudo php -v

結果はこちら。
PHPのバージョン確認

PHP 8.1.2-1ubuntu2.8 (cli) (built: Nov 2 2022 13:35:25) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.8, Copyright (c), by Zend Technologies

PHP8.1.2がインストールされたようですね。

 

PHPの設定ファイルである「php.ini」を編集する場合、保存場所は以下になります。
/etc/php/8.1/apache2/php.ini

※PHPのバージョンによって保存先が異なることもあるので、ここにphp.iniがない場合には別途調べてみてください。

これで、PHPのインストールは完了です。
次は、MySQL(MariaDB)のインストールを行っていきます。

 

MySQL(MariaDB)のインストール

MySQL(MariaDB)のインストール

それでは、MySQL(MariaDB)をインストールしていきます。

因みに、MySQLと言っていますが、正確にはMariaDBというデータベースソフトになります。
MariaDBは、MySQLと高い互換性を持つデータベースで

MySQL(MariaDB)をインストール
# sudo apt-get install -y mysql-server mysql-client

 

MySQLのバージョンを確認

インストールされたMySQLのバージョンも確認してみます。

# sudo mysql --version

結果はこちらです。

MySQL(MariaDB)のバージョン確認

「mysql Ver 8.0.31-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))」と表示されましたね。
これでMySQLが正常にインストールされたことも確認できました。

 

rootのパスワード設定と諸々の初期設定

ただ、これで終わりではありません。
この時点では、MySQLのrootユーザーにパスワードが設定されていない状態になります。

そこで、「mysql_secure_installation」というコマンドを実行して、rootユーザーのパスワードの設定を行っておきます。
また、このコマンドではパスワード以外にもいくつかの初期設定を行うことができます。

# sudo mysql_secure_installation

ここからは、対話形式で設定を行っていきます。
以下のように回答していってください。

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No:
→「y」を入力してEnter

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
→「2(STRONG)」を入力してEnter

ここではセキュリティレベルの設定になるので、一番強い「2」をおすすめします。

New password: →rootのパスワードを入力します
Re-enter new password: →上記と同じrootのパスワードをもう一度入力します
※rootユーザーのパスワードは任意ですが、複雑な文字列のパスワードを設定するようにしましょう。

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :
→「y」を入力してEnter

「100」というのは設定したパスワードの強度を表していて、「100」はいい方の評価値です。
また、ここでは設定したパスワードで確定するかを回答することになるので「y」と答えてください。

 

因みに、ここで「y」を入力しても再度パスワード設定画面が出て、先に進めないというループが発生することもあります。
MySQL(MariaDB)の初期設定でのエラー
この場合のエラー対応は、こちらで説明を行っているので参考にしてください。

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) :
→「y」を入力してEnter

anonymousユーザーの削除を行うかどうかの確認になります。

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? (Press y|Y for Yes, any other key for No) :
→「y」を入力してEnter

リモートからの接続でのrootユーザーのログインを禁止にします。

By default, MySQL 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? (Press y|Y for Yes, any other key for No) :
→「y」を入力してEnter

デフォルトで作成されている「test」というデータベースを削除するかどうかの質問です。
testデータベースは不要なので「y」を入力して削除してしまいましょう。

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :
→「y」を入力してEnter

最後に、MySQLの権限テーブルの権限テーブル更新をするかを聞かれるので、「y」と答えて終了します。

 

MySQLへの接続確認

最後に、念のために上記で設定したパスワードを使ってMySQLへ接続できるかの確認だけ行っておきます。

# mysql -u root -p


ここで、「Enter password:」とパスワードを聞かれるので、設定したrootユーザーのパスワードを入力してenterしてください。
「Welcome to the MySQL monitor・・・」と出たら、MySQLへの接続が完了になります。

 

パスワードの設定でエラーが出る場合の対応

「mysql_secure_installation」の実行で以下のようなエラーが出て設定をすすめられない場合があります。
... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

この場合には、先にrootユーザーのパスワード設定を行っておきます。

■パスワードなしでMySQLへ接続

# mysql -u root


■rootにパスワードを設定するSQLを実行

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'rootのパスワード';


■MySQLを抜ける

mysql> exit;

これで、rootユーザーへのパスワード設定が完了しました。

まとめると、このような感じで進めていくことになります。
MySQL(MariaDB)のエラー対応

そして、再度「mysql_secure_installation」を実行して、MySQLの初期設定を続ければOKです。

# sudo mysql_secure_installation

 

まとめ

こちらのページでは、OSとしてUbuntuを利用されている方向けに、PHPとMySQLのインストール方法をまとめました。

PHPのインストールは恐らくあっさりと完了すると思いますが、MySQLのインストールでは初期設定なども必要になるので少し手間取るかもしれないです。
ですが、落ち着いてすすめれば作業に30分も掛からないので、挑戦してみてください。

\エックスサーバーVPSのお申込みはコチラ↓/
圧倒的性能!圧倒的コスパ!月額830円~のVPS!

 

おすすめの記事