ランプ Linux、Apache、MySQL、PHPの頭字語です。 。 Apacheは、HTTPプロトコルを介してファイルを提供するWebサーバーです。 MySQLは人気のあるデータベースサーバーです。 PHPは、Webアプリケーションの開発に使用されるプログラミング言語です。これらのアプリケーションを使用して、本格的なWebサーバーを作成できます。 ApacheでPHPアプリケーションを実行する最も一般的な方法は、mod_phpモジュールを使用することです。また、PHP-FPMを使用することもできます。これには、これに比べていくつかの利点があります。 CentOS 8のデフォルトのインストールでは、PHP-FPMを使用してphpファイルを処理します。
このチュートリアルは、CentOS8およびRHEL8 LinuxシステムにLAMP(Linux、Apache、MySQL、およびPHP)をインストールして構成するのに役立ちます。
便利なリンク:
- CentOS8でApacheを使用してSSLを暗号化するセットアップ
- CentOS8でSFTPのみのユーザーを設定する方法
前提条件
- 新しくインストールされたCentOS8マシン。
- サーバーの初期設定を完了する
- sudo権限を持つシェルアクセス
ステップ1-Apacheをインストールする
Apache Webサーバーパッケージは、CentOS 8のデフォルトのAppStreamリポジトリで利用できます。次のコマンドを使用して、DNFキャッシュを更新し、パッケージをインストールする必要があります。
sudo dnf update sudo dnf install httpd httpd-tools
mod_sslパッケージは、安全なHTTPにSSL証明書を使用する機能を提供します。インストール後、httpdサービスを有効にして開始します。
sudo systemctl enable httpd.service sudo systemctl start httpd.service
次に、Apacheサービスのステータスを確認します。
sudo systemctl status httpd.service
出力:
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─php-fpm.conf Active: active (running) since Sat 2020-03-22 04:27:24 EDT; 5s ago Docs: man:httpd.service(8) Main PID: 8644 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 8918) Memory: 21.5M CGroup: /system.slice/httpd.service ├─8644 /usr/sbin/httpd -DFOREGROUND ├─8650 /usr/sbin/httpd -DFOREGROUND ├─8651 /usr/sbin/httpd -DFOREGROUND ├─8652 /usr/sbin/httpd -DFOREGROUND └─8653 /usr/sbin/httpd -DFOREGROUND Mar 22 04:27:23 tecadmin systemd[1]: Starting The Apache HTTP Server... Mar 22 04:27:24 tecadmin systemd[1]: Started The Apache HTTP Server. Mar 22 04:27:24 tecadmin httpd[8644]: Server configured, listening on: port 80
ステップ2–MySQLサーバーをインストールする
最新のMySQL8パッケージは、CentOS 8のAppStremリポジトリから入手できます。次のコマンドを使用して、必要なパッケージを含むMySQLサーバーをシステムにインストールします。
sudo dnf -y install @mysql
インストールが完了したら、システムの起動時にMySQLサービスが自動起動できるようにします。また、初めて手動でサービスを開始します。
sudo systemctl enable mysqld.service sudo systemctl start mysqld.service
次に、次のコマンドを使用してサービスの現在のステータスを確認します。
sudo systemctl status mysqld.service
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-03-22 02:49:33 EDT; 5min ago Process: 5841 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 5706 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS) Process: 5682 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 5798 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 8918) Memory: 442.1M CGroup: /system.slice/mysqld.service └─5798 /usr/libexec/mysqld --basedir=/usr Mar 22 02:48:42 tecadmin systemd[1]: Starting MySQL 8.0 database server... Mar 22 02:48:45 tecadmin mysql-prepare-db-dir[5706]: Initializing MySQL database Mar 22 02:49:33 tecadmin systemd[1]: Started MySQL 8.0 database server.
MySQLのインストールが完了しました。これで、パスワードなしでMySQLサーバーに接続できますが、MySQLのインストールを保護することをお勧めします。 MySQLパッケージは、セキュリティを適用するためのmysql_secure_installationコマンドを提供します。ターミナルで次のコマンドを実行するだけです:
sudo mysql_secure_installation
画面の指示に従います。以下は、ユーザー入力が必要な詳細です。
- はいの場合はy|Yを押し、いいえの場合はその他のキーを押します: y
- 0 =LOW、1 =MEDIUM、2 =STRONGと入力してください: 2
- 新しいパスワード:[ここに強力なパスワードを入力]
- 新しいパスワードを再入力します:ここにパスワードを再入力します
- 提供されたパスワードで続行しますか?([はい]の場合はy | Yを押し、[いいえ]の場合は他のキーを押します): y
- 匿名ユーザーを削除しますか? (はいの場合はy | Yを押し、いいえの場合はその他のキーを押します): y
- rootログインをリモートで禁止しますか? (はいの場合はy | Yを押し、いいえの場合はその他のキーを押します): y
- テストデータベースを削除してアクセスしますか? (はいの場合はy | Yを押し、いいえの場合はその他のキーを押します): y
- 特権テーブルを今すぐリロードしますか? (はいの場合はy | Yを押し、いいえの場合はその他のキーを押します): y
ステップ3–PHPをインストールする
Remiリポジトリには、CentOS8Linuxシステム用の最新のPHPパッケージが含まれています。したがって、まず、REMIリポジトリをシステムに追加する必要があります。次のコマンドを実行してリポジトリを追加するだけです。
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
次に、PHPのインストールに必要なDNFモジュールを有効にします。ここでは、PHP7.4をインストールするためのモジュールを有効にしています。要件に応じて、これをPHP7.3またはPHP7.2に変更できます。
sudo dnf module reset php sudo dnf module enable php:remi-7.4
システムでリポジトリが有効になったら。必要なPHPモジュールと一緒にPHPパッケージをインストールします。
sudo dnf install php php-mysqlnd
また、アプリケーションの要件に従って、他の必要なphpモジュールをインストールする必要があります。以下のコマンドは、頻繁に使用されるいくつかのphpモジュールをインストールします。
dnf install php-gd php-zip php-mcrypt php-json php-xml php-gettext php-curl php-intl
ステップ4–ApacheVirtualHostを作成する
LAMP環境に必要なすべてのパッケージがインストールされています。次に、Apache仮想ホストを作成します。デフォルトでは、ApacheはCentOS8システムでPHPファイルを処理するためにphp-fpmを使用します。
お気に入りのテキストエディタで仮想ホスト構成ファイルを作成および編集します:
sudo vim /etc/httpd/conf.d/tecadmin.example.net.conf
構成ファイルに次の内容を追加します。必ず必要なパラメータを変更してください。
Apache
12345678910 | |
仮想ホスト構成ファイルを保存し、Apacheをリロードして変更を適用します。
sudo systemctl restart httpd.service
便利なリンク:
- CentOS8でApacheを使用してSSLを暗号化するセットアップ
ステップ5–ファイアウォールでポートを許可する
CentOS 8 Linuxサーバーは、LAMP環境でアプリケーションを提供する準備ができています。システムにfirewalldがインストールされてアクティブになっている場合は、Apacheポートを許可する必要があります。これにより、ネットワークユーザーはリモートシステムからWebアプリケーションにアクセスできるようになります。
次のコマンドは、必要なポートを開きます。
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --zone=public --permanent --add-service=https sudo firewall-cmd --reload
便利なリンク:
- FirewallDとは何ですか。Linuxに実装する方法
ステップ6–テストセットアップ
全部終わった。環境をテストするには、 phpinfo()を使用してPHPスクリプトを作成します 働き。このファイルをサーバーのドキュメントルートに配置します。これを行うには、以下のコマンドを使用します。
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
次に、Apache VirtualHostで構成されたドメインのサーバーIPアドレス(デフォルトのVirtualHostの場合)を使用してinfo.phpにアクセスします。
http://tecadmin.example.net/info.php
結論
これで、CentOS8またはRHEL8LinuxシステムでLAMP環境が正常に構成されました。次に、システムにphpMyAdminをインストールできます。