この記事では、RedHat®EnterpriseLinux(RHEL)7サーバーにLAMP(Linux®、Apache®、MySQL®、PHP)スタックをインストールする方法について説明します。 Linuxはオペレーティングシステムであり、ApacheはWebデーモンであり、ユーザーのPHPスクリプトを介してMySQLデータベースに格納されている情報を提供します。この記事を終えると、完全に機能するLAMPサーバーが完成し、複数の仮想ホストにサービスを提供できるようになります。
- Secure Shell(SSH)の基本的な理解
- サーバーへのsudoまたは管理アクセス
- CentOS®7、Fedora 30+、またはRHEL7を搭載したクラウドサーバー
IUSリポジトリをインストールする
Inline with Upstream Stable(IUS)リポジトリは、公式のCentOSおよびRedHatリポジトリにあるいくつかのソフトウェアの新しいバージョンを提供します。 IUSリポジトリのパッケージ名は、公式リポジトリで使用されているパッケージ名とは異なります。これにより、意図しない競合やソフトウェアバージョンの更新を回避できます。さらに、RHEL 7ディストリビューションでは、PHPのデフォルトバージョンはPHP 5.6であり、サポートされなくなりました。IUSリポジトリには、RHEL7ディストリビューションで利用可能な最新バージョンである7.4までのバージョンのPHPが含まれています。
IUSリポジトリの詳細については、「CentOSおよびRedHatへのEPELおよびIUSリポジトリのインストール」を参照してください。
IUSリリースパッケージをインストールするには、次のコマンドを実行します。
sudo yum install https://$(rpm -E '%{?centos:centos}%{!?centos:rhel}%{rhel}').iuscommunity.org/ius-release.rpm
LAMPスタックをインストールします
SSHを使用してサーバーにログインし、希望するセットアップ方法について次の手順を実行します。
1行のコマンドメソッド
-
サーバー上でLAMPスタックを適切に設定するには、次の1行のコマンドを使用します。
sudo sh -c "yum install httpd mariadb104 mariadb104-server mod_php74 -y; systemctl start mariadb && mysql_secure_installation && systemctl restart mariadb && systemctl start httpd && systemctl enable httpd && systemctl enable mariadb && firewall-cmd --permanent --zone=public --add-service=http && firewall-cmd --permanent --zone=public --add-service=https && firewall-cmd --reload"
-
次のシステムプロンプトに回答してください。
- rootの現在のパスワードを入力します(noneの場合は入力します) :空白のままにします。
- unix_socket認証に切り替えます[Y/n] :いいえを選択します 。
- rootパスワードを設定しますか? [Y / n] :はいを選択します 。
- 新しいパスワード :あなたが決めますが、それを安全にします。
- 匿名ユーザーを削除しますか? [Y / n] :はいを選択します 。
- rootログインをリモートで禁止しますか? [Y / n] :はいを選択します 。
- テストデータベースを削除してアクセスしますか? [Y / n] :はいを選択します 。
- 特権テーブルを今すぐリロードしますか? [Y / n] :はいを選択します 。
個別コマンド方式
次の手順では、前の1行のコマンドを個別の手順に分割します。
-
必要なパッケージをインストールします:
sudo yum install httpd mariadb104 mariadb104-server mod_php74 -y
-
次のコマンドを実行して、MySQLサーバーを起動して保護します。
sudo sh -c "systemctl start mariadb && mysql_secure_installation"
-
次のシステムプロンプトに回答してください。
- rootの現在のパスワードを入力します(noneの場合は入力します) :空白のままにします。
- rootパスワードを設定しますか? [Y / n] :はいを選択します 。
- unix_socket認証に切り替えます[Y/n] :いいえを選択します 。
- 新しいパスワード :あなたが決めますが、それを安全にします。
- 匿名ユーザーを削除しますか? [Y / n] :はいを選択します 。
- rootログインをリモートで禁止しますか? [Y / n] :はいを選択します 。
- テストデータベースを削除してアクセスしますか? [Y / n] :はいを選択します 。
- 特権テーブルを今すぐリロードしますか? [Y / n] :はいを選択します 。
-
次のコマンドを入力してmysqldを再起動し、httpdを起動し、httpdとmysqldを起動時に起動するように構成します。
sudo sh -c "systemctl restart mariadb && systemctl start httpd && systemctl enable httpd && systemctl enable mariadb"
-
ファイアウォールを通過するWebトラフィックを許可する:
sudo sh -c "firewall-cmd --permanent --zone=public --add-service=http && firewall-cmd --permanent --zone=public --add-service=https && firewall-cmd --reload"
このコマンドは、ファイアウォールを通過するポート80(Web)およびポート443(セキュアWeb)のインバウンドトラフィックを許可し、再起動のルールを保存します。
インストールが完了しました。すべてが正しくインストールされたことをテストするには、ブラウザを開いて https:// serverIpAddress /に移動します 。