2020年8月12日水曜日

Linux MintでLAN専用Webサーバ(Apache2・php・MySQL)の実験環境を構築する

 過去に似たようなことに取り組んでいたのですが、思うところあって再度の挑戦をすることにしました。一瞬、ファイルサーバとして使っているCeleron J1800マシーンに実験環境をと思ったのですが、非力な上に不具合が生じた場合ファイルサーバとして使えなくなるリスクを考え、取りあえず先日メンテナンスをしたメインで使っている自作PCLinux Mintで実験的な環境を作ってみることにしました。

以前は、apt-get(今は「apt」のみ)コマンドを使って必要なものをインストールしましたが、今回は(ダメ元で)「ソフトウエアマネージャ」を使ってみました。インストールしたのは、以下の通りです。(順番も大事なので上から順に入れました)

  1. Apache2(2.4.x)
  2. php(php 7.2.x)
  3. mysql(MySQL 5.7.x)※ServerとClient

ここまで入れて再起動してから、「phpMyAdmin」も同じく「ソフトウエアマネージャ」で入れました。インストールの最中に、Webサーバは何を使っているか(Apache2)、dbconfig-commonで設定するか(チェックして「next」ボタン)、ユーザーはどうするか(MySQLの設定はしていないのでroot)というようなことを聞かれますが、Apache2とphp、MySQLが動作していて設定が正しくないとインストールに失敗をします。(再起動したのは、この3つを動かすため)

次に動作確認をします。「端末(ターミナルエミュレータ)」を開いて次のようにコマンドを打ち込むと、それぞれレスポンスが返ってきます。

$ apache2 -v
$ php -v
$ sudo mysql -V
※mysqlだけは、sudo(管理者権限)でないとうまく動きません。(そういう設定にしてあるからですが)mysqlのオプションの「-V」は、大文字です。

#ついでに「perl -v」でPerlの動作確認もしましたが、Perl 5が問題なく動いていました。

次に、ブラウザでの確認をします。はじめに、「http://localhost/」でWebサーバが動いているか確認します。何らかのデフォルトページ「It works!」が表示されたらWebサーバとして動いています。Linux Mintでは、「Apache2 Ubuntu Default Page」というページが表示され、その中に各種ファイルの置き場所まで丁寧に書かれていました。これに従って、次の動作確認をします。先程のページから、Webサーバのデフォルトのページがどこにあるか(今回は、「/var/www/html/」でした)を確認して、その中にphpinfo.phpという名前(任意でわかりやすければ「phpinfo」のところは何でも良い)のファイルをつくり、以下のように記述します。

<?php
phpinfo();
?>

これを、Webサーバのデフォルトのページがあったフォルダに入れておきます。管理者権限が必要なので、sudoで作業をすると良いと思います。このままでは動作しないので、今度は「パッケージマネージャ」から「libapache2-mod-php7.2」というモジュールを探してインストールします。このモジュールは、先程の「ソフトウエアマネージャ」では出てきません。面倒でなければ「端末(ターミナルエミュレータ)」から以下のコマンドでもインストールすることができます。
(今回の作業は、The modern stone age.さんの【Ubuntu 18.04 LTS Server】Apache2とPHP7.2を動かすを参考にしました)

$ sudo apt install libapache2-mod-php7.2

ここまでできたら、Webブラウザで「http://localhost/phpinfo.php」を開いてphpの設定を確認します。phpが動いていることを示すインフォメーションページが表示されたら、Apache2とphp7.2がつながっていることを表しています。最後は、MySQLとの連携ができているかを確認します。先程インストールしておいた「phpMyAdmin」を起動します。Webブラウザで「http://localhost/phpmyadmin/」を開いても良いし、Mintメニューから「プログラミング」→「phpMyAdmin」とたどっても開くことができます。「phpMyAdminへようこそ」のページが表示されたら成功です。
(同【Ubuntu 18.04/16.04 LTS Server】phpMyAdminをインストールを参考にしました)

これで、それぞれのシステムを動かして連携させるところまで確認できました。この後は、実際の運用を考慮した細かな設定をして、より使いやすい環境にしていきたいと思います。余談ですが、この作業の過程でXAMPPという道具(ソフト)を見つけました。LinuxでもmacOSでも動くようなので、こちらもちょっと試してみようかと思っています。

0 件のコメント: