GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 8にApache、MySQL、PHP(LAMP)をインストールする方法

ランプ 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 ServerAdmin [email protected] DocumentRoot / var / www / html ServerName tecadmin.example.net ServerAlias www.tecadmin.example.net ErrorLog logs/tecadmin.net-error。 log CustomLog logs/tecadmin.net-access.log結合

仮想ホスト構成ファイルを保存し、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をインストールできます。


Cent OS
  1. CentOS7にPerconaサーバーをインストールする方法

  2. CentOS7にMySQLサーバーをインストールする方法

  3. CentOS7にLAMPをインストールする方法

  1. CentOS8にMySQL8データベースサーバーをインストールする方法

  2. CentOS / RHEL 7にApache、MySQL、PHP(LAMP)をインストールする方法

  3. Debian 11 に LAMP Apache、MySQL、PHP をインストールする方法

  1. RHEL 8 / CentOS8LinuxにLAMPサーバーをインストールする方法

  2. CentOS 7(LAMP)にApache、PHP、MySQLをインストールする

  3. CentOS 7.3(LAMP)にApache、PHP 7.1、MySQLをインストールする方法