この記事では、LEMPスタック(Linux、Nginx、MariaDB、PHP)およびPHP-FPMをRHEL/CentOS 7/6およびFedora 26-29サーバーにyumおよびdnfパッケージマネージャーを使用してインストールする方法を説明します。
このプロセス中に、これらのパッケージの最新バージョンをインストールできるようにするために、Epel、Remi、Nginx、MariaDBリポジトリをインストールおよび有効化します。
関連記事: CentOS 7にApache、MySQL 8またはMariaDB 10およびPHP 7をインストールする
ステップ1: EPELとRemiリポジトリのインストール
EPEL(Enterprise Linuxの追加パッケージ)は、RHELベースのLinuxディストリビューション向けのアドオンソフトウェアパッケージを提供するコミュニティベースのリポジトリです。
Remiは、FedoraおよびEnterprise Linuxディストリビューションでのインストール用に最新バージョンのPHPスタック(フル機能)を見つけることができるリポジトリです。
RHEL/CentOS 7の場合
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------ For RHEL 7 Only ------ # subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL/CentOS 6の場合
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ------ For RHEL 6 Only ------ # subscription-manager repos --enable=rhel-6-server-optional-rpms
Fedora 24-29の場合
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
ステップ2: NginxとMariaDBリポジトリのインストール
Nginxリポジトリは
RHEL 7/6用:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
CentOS 7/6用:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
MariaDBリポジトリを有効にするには、次の内容で/etc/yum.repos.d/mariadb.repoという名前のファイルを作成します。
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
ステップ4: NgnixとMariaDBのインストール
Nginx(Engine X)は、オープンソースで堅牢で軽量で高性能なWebサーバーであり、HTTP、SMTP、POP3およびIMAPプロトコル用のリバースプロキシサーバーおよびメールプロキシサーバーです。詳細については、http://wiki.nginx.org/Overviewを参照してください。
MariaDBは、よく知られたMySQLのフォークであり、世界で最も人気のあるリレーショナルデータベース管理システム(RDBMS)の1つです。完全にコミュニティによって開発されており、そのためFOSSであり、GPLと互換性があることが意図されています。
NgnixとMariaDBをインストールするには、次のコマンドを実行します。
----------- Installing on RHEL/CentOS 7/6 ----------- # yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm ----------- Installing on Fedora ----------- # dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
ステップ3: Remiリポジトリを使用してPHPをインストール
PHP(ハイパーテキストプリプロセッサ)は、Web開発に最適な、フリーかつオープンソースのサーバーサイドスクリプト言語です。ウェブサイトの動的なウェブページを生成するために使用され、*nixサーバーで最も頻繁に見られます。PHPの利点の1つは、さまざまなモジュールを使用して簡単に拡張できることです。
PHPをインストールするには、まずRemiリポジトリを有効にする必要があります。これには、yumリポジトリとパッケージを管理するための便利なプログラムのコレクションであるyum-utils
をインストールします。
# yum install yum-utils
インストールしたら、yum-utils
が提供するyum-config-managerを使用して、異なるPHPバージョンをインストールするためのデフォルトリポジトリとしてRemiリポジトリを有効にできます。
たとえば、PHP 7.xバージョンをインストールするには、次のコマンドを使用します。
------------- On CentOS & RHEL ------------- # yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0] # yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1] # yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2] # yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3] ------------- On Fedora ------------- # dnf --enablerepo=remi install php70 [Install PHP 7.0] # dnf --enablerepo=remi install php71 [Install PHP 7.1] # dnf --enablerepo=remi install php72 [Install PHP 7.2] # dnf --enablerepo=remi install php73 [Install PHP 7.3]
次に、以下のPHPモジュールをすべてインストールします。
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear ------ On Fedora ------ # dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
ステップ6:Apacheサービスの停止と無効化
デフォルトでは、ApacheとNginxは同じポート(TCP 80)でリッスンします。そのため、サーバーにApacheがインストールされている場合は、Nginxを使用するためにそれを停止して無効化/マスク(サービスを/dev/nullにリンクする無効化の強化バージョン)する必要があります。または、もう使用しない場合は削除することもできます。
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
ステップ7:Nginx、MariaDB、PHP-FPMの起動/停止
----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- # systemctl enable nginx # systemctl enable mariadb # systemctl enable php-fpm ----------- Start Nginx, MariaDB and PHP-FPM ----------- # systemctl start nginx # systemctl start mariadb # systemctl start php-fpm
ステップ8:NginxとPHP-FPMの設定
今回は、ウェブサイト(Nginxでの仮想ホストまたはサーバーブロックと呼ばれるもの)のディレクトリ構造を作成します。これは/srv/www/以下に行います。この例ではwww.tecmint.com
を使用しますが、他のドメインとメインディレクトリを選んでいただいても構いません。
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
ステップ9:Nginx仮想ホストディレクトリの設定
多くのWebサーバーにおける特徴の1つとして、1台のマシンから複数のサイトを運用できるという能力があります。ここからは、サーバーブロック(Apacheでの仮想ホストとして知られるもの)を保存するディレクトリを作成します。/etc/nginx以下に配置します。
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
次のコード行は、/etc/nginx/nginx.confのhttpブロックを閉じる前に挿入する必要があります。これにより、Nginxが実行されているときに/etc/nginx/sites-enabledディレクトリ内の構成ファイルが考慮されるようになります。
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;

tecmint.com
のサーバーブロックを作成するには、次のコード行を/etc/nginx/sites-available/tecmintに追加します(このファイルは、好きなテキストエディタを起動してフルパスを入力すると作成されます)。これは基本的な仮想ホスト構成ファイルです。
server { listen 80 default; server_name tecmint; access_log /srv/www/tecmint/logs/access.log; error_log /srv/www/tecmint/logs/error.log; root /srv/www/tecmint/public_html; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
仮想ホストを「有効化」するプロセスは、tecmint
仮想ホストの定義から/etc/nginx/sites-enabledへのシンボリックリンクを作成することです。
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
行ってきた変更を実際に適用するには、Nginxを再起動する必要があります。その前に構成ファイルの構文エラーをチェックすることが時々役立ちます。
# nginx -t # systemctl restart nginx # systemctl status nginx

新しく作成した仮想ホストにアクセスするには、ドメイン名の基本的な解決方法として、/etc/hostsに以下の行を追加する必要があります。
192.168.0.18 www.tecmint.com tecmint.com
ステップ10:Nginx、MySQL、PHP、PHP-FPMのテスト
PHPのテストは従来の方法で行います。 /srv/www/tecmint/public_html/にtest.php
というファイルを作成し、以下のコードを追加してください。
phpinfo()
関数は、現在のPHPインストールに関する多くの情報を表示します。
<?php phpinfo(); ?>
ウェブブラウザを http://tecmint/test.php
に向け、インストールされたモジュールと追加ソフトウェアの存在を確認してください。
おめでとうございます!これで、LEMP スタックの動作するインストールが完了しました。何か予期しない問題が発生した場合は、以下のフォームを使用してお問い合わせください。質問や提案も歓迎します。
Source:
https://www.tecmint.com/install-nginx-mariadb-php-rhel-centos-fedora/