前回、AlmaLinux8をダウンロードし、VirtualBox (Windows10) にAlmaLinux8をインストールしましたが、今回はAlmaLinux 8にApache、MySQL、PHPをインストールしてみます。(LAMPサーバーのインストールする)
- ■PC環境
- ■Oracle VM VirtualBox マネージャーを起動
- ■「AlmaLinux」仮想マシンを起動する
- ■AlmaLinux8へのログイン
- ■「端末」を起動する
- ■LAMPサーバーをインストールし設定する
- ■システムアップデートを実行する
- ■ApacheWebサーバー(httpd)をインストールする
- ■Apacheの有効化と起動
- ■ファイヤーウォールのルール更新
- ■MySQLまたはMariaDBのインストール
- ■MySQLとMariaDBのサービスを開始・有効化する
- ■脅威からMySQLデータベースを安全に保護する場合の従うべきオプションと設定
- ■PHP 7.2/7.3/7.4または8.0のインストール
- ■PHPの動作テストを行う
■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キーを押します。押すと削除されます。