ウェブサイト検索

CentOS 7 に Nginx 1.15、MariaDB 10、および PHP 7 をインストールする方法


この記事では、LEMP スタック (LinuxNginxMariaDB) をインストールする方法について説明します。 PHP) と RHEL/CentOS 7/6 および Fedora 26-29 サーバー上の PHP-FPM (yum および dnf パッケージを使用)マネージャー。

このプロセスでは、次のことを可能にするために、EpelRemiNginxMariaDB リポジトリをインストールして有効にします。これらのパッケージの最新バージョンをインストールします。

こちらもお読みください: 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 および CentOS ディストリビューションでのみ必要です。 /etc/yum.repos.d/nginx.repo というファイルを作成し、次の行をそれに追加します。

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 は、世界で最も人気のあるリレーショナル データベース管理システム (RDBMS) の 1 つである、よく知られた MySQL のフォークです。これは完全にコミュニティによって開発されており、FOSS のままであり、GPL と互換性があることが意図されています。

NgnixMariaDB をインストールするには、次のコマンドを実行します。


----------- 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 開発に最適な無料のオープン ソースのサーバー側スクリプト言語です。これは、Web サイトの動的な Web ページを作成するために使用でき、*nix サーバーで最も頻繁に見られます。 PHP の利点の 1 つは、さまざまなモジュールを使用して簡単に拡張できることです。

PHP をインストールするには、まず、yum リポジトリとパッケージを管理するための便利なプログラムのコレクションである yum-utils をインストールして、Remi リポジトリを有効にする必要があります。

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 サービスの停止と無効化

デフォルトでは、ApacheNginx は同じポート (TCP 80) で待機します。そのため、サーバーに Apache がインストールされている場合、Nginx を使用するには、Apache を停止して無効化/マスクする必要があります (サービスを /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 の構成

次に、Web サイトのディレクトリ構造 (仮想ホスト、または Nginx で呼ばれるサーバー ブロック) を /srv/www/ の下に作成しましょう。この例では linux-console.net を使用しますが、必要に応じて別のドメインとメイン ディレクトリを自由に選択してください。

mkdir -p /srv/www/tecmint/public_html 
mkdir /srv/www/tecmint/logs 
chown -R nginx:nginx /srv/www/tecmint  

ステップ 9: Nginx 仮想ホスト ディレクトリの構成

ご存知のとおり、同じマシンから複数のサイトを実行できる機能は、主要な Web サーバーの際立った機能の 1 つです。次に、/etc/nginx の下にサーバー ブロック (Apache では仮想ホストと呼ばれます) を保存するディレクトリの作成に進みます。

mkdir /etc/nginx/sites-available 
mkdir /etc/nginx/sites-enabled 

次のコード行は、/etc/nginx/nginx.conf 内の http ブロックを閉じる前に挿入する必要があり、/etc/nginx/sites-enabled 内の設定ファイルが確実に有効になります。 Nginx の実行中に ディレクトリが考慮されます。

## Load virtual host conf files. ## 
include /etc/nginx/sites-enabled/*; 

linux-console.net のサーバー ブロックを作成するには、次のコード行を /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	linux-console.net linux-console.net 

ステップ 10: Nginx、MySQL、PHP、および PHP-FPM のテスト

PHP をテストする古典的な方法にこだわりましょう。 /srv/www/tecmint/public_html/test.php というファイルを作成し、次のコード行をそれに追加します。

phpinfo() 関数は、現在の PHP インストールに関する大量の情報を表示します。

<?php 
	phpinfo(); 
?> 

次に、Web ブラウザで http://tecmint/test.php にアクセスし、インストールされているモジュールと追加のソフトウェアの存在を確認します。

おめでとう!これで、LEMP スタックの動作するインストールが完了しました。何かが期待どおりに進まない場合は、以下のフォームを使用してお気軽にお問い合わせください。質問や提案も歓迎です。