AlmaLinux 8にApache、MySQL、PHP(LAMPサーバー)をインストールする

前回、AlmaLinux8をダウンロードし、VirtualBox (Windows10) にAlmaLinux8をインストールしましたが、今回はAlmaLinux 8にApache、MySQL、PHPをインストールしてみます。(LAMPサーバーのインストールする)

■PC環境

Windows 10 Pro

VirtualBox6.1

■Oracle VM VirtualBox マネージャーを起動

まずは、Window10のスタートメニューから「Oracle VM VirtualBox」をクリックします。

クリックすると、「Oracle VM VirtualBox マネージャー」が起動します。

■「AlmaLinux」仮想マシンを起動する

前回、作成した「AlmaLinux」を選択し、「起動」ボタンをクリックします。

■AlmaLinux8へのログイン

クリックすると、AlmaLinuxが起動します。起動後、AlmaLinuxのログイン画面が表示されます。作成したアカウントが表示されますので、アカウントの名前をクリックします。

クリックすると、パスワードの入力欄が表示されますので、パスワードを入力し、「サインイン」ボタンをクリックします。

クリックすると、AlmaLinuxにログインすることができます。

■「端末」を起動する

ログイン後、上部にある「AlmaLinux」のマークをクリックして、「端末」をクリックします。

■LAMPサーバーをインストールし設定する

■システムアップデートを実行する

クリックすると、「端末」が表示されますので、システムアップデートを実行します。

sudo dnf update

システムアップデートする際は上記のコマンドを入力し、Enterキーを押します。なお、今回はroot権限に変更していますので、「dnf update」のみで入力します。

Enterキーを押すと、パッケージが確認されて、「これでよろしいですか?」と質問されますので、「y」を入力し、Enterキーを押します。

Enterキーを押すと、パッケージのダウンロードが開始され、「これでよろしいですか?」と質問されますので、「y」を入力し、Enterキーを押します。

Enterキーを押すと、インストールが開始されて、しばらくすると「完了しました」と表示されます。これでシステムアップデートは完了となります。

■ApacheWebサーバー(httpd)をインストールする

次にApacheWebサーバー(httpd)をインストールします。

sudo dnf install httpd httpd-tools

システムアップデートする際は上記のコマンドを入力し、Enterキーを押します。なお、今回はroot権限に変更していますので、「dnf install httpd httpd-tools」のみで入力します。

Enterキーを押すと、パッケージが確認されて、「これでよろしいですか?」と質問されますので、「y」を入力し、Enterキーを押します。

Enterキーを押すと、パッケージがダウンロードされ、インストールが開始されます。しばらくすると、「完了しました!」と表示されます。これでApacheWebサーバー(httpd)のインストールは完了となります。

■Apacheの有効化と起動

次にApacheの有効化と起動を行います。

sudo systemctl start httpd

まずは上記のコマンドを入力し、Enterキーを押します。

sudo systemctl enable httpd

次に、上記のコマンドを入力し、Enterキーを押します。

Created symlink /etc/systemd/system/multi-user. target. wants/httpd. service → /usr/lib/sy stemd/system/httpd. service.

Enterキーを押すと、上記のメッセージが表示されます。

sudo systemctl status httpd

次に、上記のコマンドを入力し、Enterキーを押します。

Enterキーを押すと、「Active: active (running)」と表示されます。これでApacheの有効化と起動は完了となります。

■ファイヤーウォールのルール更新

次に、ファイヤーウォールのルール更新を行います。ローカルマシンの外からWebブラウザを使用し、Apacheウェブサーバーにアクセスする場合には、AlmaLinuxサーバでポート80と443を開く必要があります。

■80番ポートまたはhttpを開く場合

sudo firewall-cmd --permanent --zone=public --add-service=http

■ポート443またはhttpsを許可する場合

sudo firewall-cmd --permanent --zone=public --add-service=https

■変更を有効にするためにファイアウォールを更新する

sudo firewall-cmd --reload

今回は、80番ポートまたはhttpを開く場合を試みます。コマンドを入力すると、「success」と表示されれば80番ポートまたはhttpを開くことが成功となります。

次に、変更を有効にします。「sudo firewall-cmd –reload」を入力し、「success」と表示されればファイアウォールの更新が成功となります。

成功すると、WebブラウザでAlmaLinuxのApacheウェブサーバーを呼び出して、接続することができます。

接続を確認する場合は、「VirtualBox マネージャー」の中で作成した「AlmaLinux」を選択し、右クリックを押すと、メニューが表示されるので、「設定」をクリックします。

クリックすると「設定」ウインドウが表示されますので、「ネットワーク」をクリックし、「アダプター1」から「高度」をクリックします。割り当ては「NAT」のままとなります。

クリックすると、高度の詳細が表示されますので、「ポートフォワーディング」ボタンをクリックします。

クリックすると「ポートフォワーディングルール」というウインドウが表示されますので、右側にある「新規ポートフォワーディングルールを追加します」というボタンをクリックし、ポートフォワーディングルールを追加します。追加したポートフォワーディングルールを編集し、名前を任意、プロトコルを「TCP」、ホストIPを「無記入」、ホストポートを「8888」、ゲストIPを「無記入」、ゲストポートを「80」に設定し、「OK」ボタンをクリックし、ルールを保存します。

これで、virtualboxのゲストOSとしてインストールしたAlmaLinux(ApacheHttpServer)を、ホストOS(Windows10)のWebブラウザからアクセスすることが可能となります。

保存後、Windows10のコマンドプロンプトを起動し、「ipconfig」と入力し、Enterキーを押すと、ipアドレス等が表示されます。「IPv4 アドレス」と表示されている箇所にipアドレスが表示されているので、これをメモしておきます。

http://(ipアドレス):8888/

メモ後、Webブラウザを起動し、アドレスバーに上記のURLを入力し、アクセスします。

アクセスすると、「Test Page for the Apache HTTP Server on AlmaLinux」というページが表示され、ページ内には「AlmaLinux Test Page」というタイトルなどが表示されています。

■MySQLまたはMariaDBのインストール

では、次にMySQLまたはMariaDBのインストールを行います。

■MySQLをインストールする場合

sudo dnf install mysql-server mysql

■MariaDBをインストールする場合

sudo dnf install mariadb-server mariadb -y

今回は、MySQLをインストールしてみます。「sudo dnf install mysql-server mysql」のコマンドを入力し、Enterキーを押します。

Enterキーを押すと、パッケージが確認されて、「これでよろしいですか?」と質問されますので、「y」を入力し、Enterキーを押します。

Enterキーを押すと、パッケージがダウンロードされ、インストールが開始されます。しばらくすると、「完了しました!」と表示されます。これでMySQLのインストールは完了となります。

■MySQLとMariaDBのサービスを開始・有効化する

次に、MySQLとMariaDBのサービスを開始・有効化します。

■MySQLのサービスを開始・有効化する

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

「Failed to restart mysqld.service: Unit not found.」と表示されたので、「sudo systemctl enable mysql」から「sudo systemctl enable mysqld」に変更。

■MariaDBのサービスを開始・有効化する

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

今回は、MySQLのサービスを開始・有効化しました。開始・有効化を順番に行い、最後に「sudo systemctl status mysqld」を入力し、Enterキーを押します。

Enterキーを押すと、「Active: active (running)」と表示されます。これで、MySQLのサービスを開始・有効化は完了となります。

■脅威からMySQLデータベースを安全に保護する場合の従うべきオプションと設定

次に脅威からMySQLデータベースを安全に保護する設定を行います。これは、MySQLまたはMariaDBのどちらを使用しても同じです。

mysql_secure_installation

上記のコマンドを入力し、Enterキーを押します。

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?(VALIDATE PASSWORD COMPONENTは、パスワードのテストやセキュリティの向上に使用できます。パスワードの強度をチェックして、ユーザーが十分に安全なパスワードだけを設定できるようにします。VALIDATE PASSWORDコンポーネントをセットアップしますか?)

Enterキーを押すと、上記のようなメッセージが表示されますので「y」と入力し、Enterキーを押します。

Enterキーを押すと、「There are three levels of password validation policy:(パスワード検証ポリシーには3つのレベルがあります。)」と表示されますので、今回は「0」を入力し、Enterキーを押します。

Enterキーを押すと、「New password:」と表示されますので、MySQLのパスワードを設定します。設定のために入力すると、「Re-enter new password:」と表示されますので、再度パスワードを入力します。

Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :(パスワードの強度の目安:50
提示されたパスワードで続行しますか?(Yesの場合はy|Yを、Noの場合は他のキーを押してください)。)

入力すると、上記のようなメッセージが表示されますので「y」と入力し、Enterキーを押します。

Enterキーを押すと、「Remove anonymous users? (Press y|Y for Yes, any other key for No) :(匿名ユーザーを削除しますか?(Yesの場合はy|Yを、Noの場合は他のキーを押す) :)」と表示されますので、「y」と入力し、Enterキーを押します。

Enterキーを押すと、「Disallow root login remotely? (Press y|Y for Yes, any other key for No) :(リモートでのrootログインを禁止しますか?(Yesの場合はy|Yを、Noの場合は他のキーを押す) :)」と表示されますので、「y」と入力し、Enterキーを押します。

Enterキーを押すと、「Remove test database and access to it? (Press y|Y for Yes, any other key for No) :(テスト用データベースとそのアクセスを削除しますか?(Yesの場合はy|Yを、Noの場合は他のキーを押す) :)」と表示されますので、「y」と入力し、Enterキーを押します。

Enterキーを押すと、「Reload privilege tables now? (Press y|Y for Yes, any other key for No) :(特権テーブルを再読み込みしますか?(Yesの場合はy|Yを、Noの場合は他のキーを押す) :)」と表示されますので、「y」と入力し、Enterキーを押します。

Enterキーを押すと、「All done!(全て完了しました)」と表示されます。これで脅威からMySQLデータベースを安全に保護する設定は完了となります。

■PHP 7.2/7.3/7.4または8.0のインストール

では、次に7.2/7.3/7.4または8.0のインストールを行います。

■インストール可能なPHPのバージョンを確認する

sudo dnf module list php

上記のコマンドを入力し、Enterキーを押します。

Enterキーを押すと、インストール可能なPHPのバージョンが表示されます。今回は7.4をインストールしますが、デフォルトではPHP 7.2 が選択された状態となっています。これを変更するには7.4をデフォルトにし、有効化するための設定を行います。

sudo dnf module reset php
sudo dnf module enable php:7.4

設定するために、上記のコマンドを入力し、Enterキーを押します。

Enterキーを押すと、「これでよろしいですか」と質問されますので「y」を入力し、Enterキーを押します。Enterキーを押すと、「完了しました!」と表示されます。これで7.4をデフォルトにし、有効化が完了となります。

■8.0のインストール

sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf update
sudo dnf module list php
sudo dnf module reset php
sudo dnf module enable php:remi-8.0

8.0をインストールする場合は上記のコマンドを入力します。

先ほどの続きですが、7.4をデフォルトにし、有効化した後に、コマンドを入力します。

sudo dnf install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd

上記のコマンドを入力し、PHP,ApacheとMysqlで使用するために必要な一般的な拡張機能をシステムにインストールします。入力後、Enterキーを押します。

インストールを開始しようとしましたが、

一致した引数がありません: php-mcrypt

エラー: 一致するものが見つかりません: php-mcrypt

というエラーが発生しました。

sudo dnf install php php-common php-opcache php-cli php-gd php-curl php-mysqlnd

エラーが発生したので、php-mcryptを記述せずに、インストールを行います。

Enterキーを押すと、パッケージが確認されて、「これでよろしいですか?」と質問されますので、「y」を入力し、Enterキーを押します。

Enterキーを押すと、パッケージがダウンロードされ、インストールが開始されます。しばらくすると、「完了しました!」と表示されます。これでPHP,ApacheとMysqlで使用するために必要な一般的な拡張機能をシステムにインストール完了となります。

なお、PHPを使ったさまざまなアプリケーションのパフォーマンスを向上させるために、以下のコマンドを使ってPHP-FPM(FastCGI Process Manager)を起動し、有効にすることができます。(まだ起動していない場合は行っておきます)。

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

■PHPの動作テストを行う

PHPのインストールが完了しましたので、動作テストを行います。テストでは、WebブラウザでPHPの設定情報を呼び出して確認します。

sudo vi /var/www/html/info.php

確認の際は、上記のコマンドを入力し、Enterキーを押します。

Enterキーを押すと、viエディタが起動しますので、「i」を押して挿入(Insert)モードに切り替えます。

■コード

<?php
phpinfo ();
?>

切り替えた後に、上記のコードを記述し、「ESC」キーを押して挿入(Insert)モードを終了し、「:qw」でinfo.phpのファイルを保存し、viエディタを終了します。

http://(ipアドレス):8888/info.php

終了後、Webブラウザを起動し、アドレスバーに上記のURLを入力し、アクセスします。

アクセスすると、PHPの設定情報が表示され、「PHP Version 7.4.6」と表示されました。これで動作は完了しました。

sudo rm /var/www/html/info.php

今回動作完了のために作成したinfo.phpのファイルを削除する場合は上記のコマンドを入力し、Enterキーを押します。押すと削除されます。

コメント

タイトルとURLをコピーしました