前回までで、下地とも言える各サーバー達が完成しました!
今回からは、これらと連携して利用するサーバー達を構築していきたいと思います。
まず1台目は、Webアプリケーションサーバーです!
しかし今回ご紹介するサーバーは、一般的なWebアプリケーションサーバーではなく、ただWebサーバーとアプリケーションサーバーを合わせたものとお考えください。
Webアプリケーションサーバーの構築
それでは必要なパッケージをじゃんじゃんインストールしていきましょう!
データベースサーバーはすでに構築しているので、必要なのは「Apache2」と「PHP」の2つのみになります。
もちろん、Webアプリサーバーで何を利用するかは人それぞれなので、Apache2の代わりにnginxでも良いですし、PHPの代わりにJavaでも構いません。
ただ、今後このサーバーで便利で役立つ機能を追加して記事を書いていきますので、もし真似したいと思った方は是非ともApache2とPHPを入れてください!
Apache2のインストール
まずは、Apache2をインストールしてWebサーバーを構築します。
何度も言ってますが、ここからの操作もroot権限でお願いしますよ~!
CentOS時代はhttpdだったような気がしますが、Ubuntuでは普通にApache2となります。
# apt -y install apache2
ど~ん!はい、完了!
さらに、Ubuntuでは設定ファルが不思議な場所にありますので、間違わないように編集します。
# vi /etc/apache2/conf-enabled/security.conf
・・・
ServerTokens Prod
・・・
ディレクトリ名のみでアクセスできるファイルを設定する場合はこちら。
# vi /etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
上記の設定は参考サイトの設定とは異なりますが、後程インストールするPHPやその他のファイルも使う想定なので、このように設定しています。
あなたの環境に合わせてくださいね!それから、下記の設定ファイルの任意の場所にサーバー名を追記します。
# vi /etc/apache2/apache2.conf
・・・
ServerName localhost.localdomain
最後に、以下の管理者情報を変更します。
# vi /etc/apache2/sites-enabled/000-default.conf
・・・
ServerAdmin webmaster@localhost.localdomain
・・・
こちらのディレクトリ配下にあるファイルは、今後変更する機会が多いので覚えておいてください。
後はApache2を再起動して、設定を反映させたら完了です。
# systemctl restart apache2
ファイアウォールについて
もし、ファイアウォールを有効にしてる場合は、ポート開放してあげましょう。
アプリケーション名でも設定できるので、ぜひお試しください。
# ufw app list
利用可能なアプリケーション:
Apache
Apache Full
Apache Secure
PHPのインストール
次に、PHPをインストールしてアプリケーションサーバーを構築します。
とりあえず、よく利用する最低限のモジュールも一緒にインストールしますが、自身の環境に合わせて追加してください。
# apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring
PHPモジュールを有効にします。
# a2enconf php7.4-cgi
Enabling conf php7.4-cgi.
To activate the new configuration, you need to run:
systemctl reload apache2
PHPの初期設定をします。
ここでも最低限タイムゾーンを変更します。
# vi /etc/php/7.4/apache2/php.ini
・・・
date.timezone = "Asia/Tokyo"
たぶん設定がこれだけだと、Webアプリを構築する際に後々不都合が生じるはずですが、一旦は完了です。
# systemctl restart apache2
Apache2を再起動したら完了です!
PHP-FPMをインストール
最後は、PHPを高速化するPHP-FPMをインストールします。
無くても問題ないですが、今となっては必須ですね。
では、始めます。
# apt -y install php-fpm
Apache2の設定ファイルの中から、PHP-FPMを利用するVirtualHostの設定内に以下を追加します。
著者の場合は、SSL(https)を使用する予定なので、default-ssl.conf
に追加します。
# vi /etc/apache2/sites-available/default-ssl.conf
<VirtualHost>
・・・
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
・・・
</VirtualHost>
設定ファイルの編集が完了したら、Apache2のモジュールを有効化していきます。
# a2enmod proxy_fcgi setenvif
Considering dependency proxy for proxy_fcgi:
Enabling module proxy.
Enabling module proxy_fcgi.
Module setenvif already enabled
To activate the new configuration, you need to run:
systemctl restart apache2
こちらも同様にコマンド実行。
# a2enconf php7.4-fpm
Enabling conf php7.2-fpm.
To activate the new configuration, you need to run:
systemctl reload apache2
最後に再起動して設定を反映させたら完了です。
# systemctl restart php7.4-fpm apache2
念の為、info.php
で確認してみてください。
# echo '<?php phpinfo(); ?>' > /var/www/html/info.php
アクセスしてみて、このように「FPM/FastCGI」と表示されればOKです!
次回から、今回構築したWebアプリケーションサーバーに他の機能も搭載していきますので、お楽しみに!
- Original:https://minory.org/ubuntu-webapp-server.html
- Source:Minory
- Author:管理者