CentOS / RHEL8 / 7にPHPとMariaDBを使用してLighttpdをインストールする方法


Lighttpdは、オープンソースで、安全で、高速で、柔軟性があり、より最適化されたWebサーバーであり、他のWebサーバーと比較してメモリ使用量が少ないスピードクリティカルな環境向けに設計されています。

効果的なCPU負荷管理により、1台のサーバーで最大10,000の接続を並列処理でき、FastCGI、SCGI、認証、出力圧縮、URL書き換えなどの高度な機能セットが付属しています。

Lighttpdは、高速ioインフラストラクチャにより、他の代替Webサーバーよりも同じハードウェアで数倍優れたパフォーマンスを拡張できるため、すべてのLinuxサーバーに最適なソリューションです。

このチュートリアルでは、Lighttpd with PHP、PHP-FPM、およびMariaDBを、ホスト名tecmint.comおよびIPアドレス192.168.0.103のCentOS/RHEL8/7ディストリビューションにインストールする方法について説明します。

ステップ1:LighttpdWebサーバーをインストールする

1. Lighttpdをインストールするには、まず、次のyumコマンドを使用して、システムソフトウェアパッケージと使用可能なリポジトリを更新する必要があります。

# yum -y update

2.次に、システムでEPELリポジトリを有効にし、次のコマンドを使用してソフトウェアパッケージを更新する必要があります。

# yum -y install epel-release
# yum -y update

3. EPELリポジトリを有効にしたら、次のコマンドを実行してLighttpdをインストールできます。

# yum install lighttpd

4. Lighttpdパッケージをインストールしたら、サービスを開始して起動時にサービスを自動的に開始できるようにし、次のコマンドを使用してステータスを確認します。

# systemctl start lighttpd
# systemctl enable lighttpd
# systemctl status lighttpd

5.次に、次のコマンドを使用して、システムにインストールされているLighttpdのバージョンを確認します。

# lighttpd -v

lighttpd/1.4.55 (ssl) - a light and fast webserver

6.次に、ファイアウォールでHTTPおよびHTTPSトラフィックを許可する必要があります。

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

7.ブラウザを開き、次のURLをポイントして、LighttpdWebサーバーが機能していることを確認します。

http://Your-Domain.com
OR
http://Your-IP-addr

Lighttpdのデフォルトのドキュメントルートディレクトリは/ var/www/lighttpd /で、メインの設定ファイルは/etc/lighttpd/lighttpd.confの下にあります。

ステップ2:CentOS7にMySQLとしてMariaDBをインストールする

8.次に、次のコマンドを使用して、LighttpdのMySQLサポートをインストールします。

# yum -y install mariadb mariadb-server

9.インストールが完了したら、次のコマンドを使用して、MariaDBを起動、有効化、およびステータスを確認します。

# systemctl start mariadb.service
# systemctl enable mariadb.service
# systemctl status mariadb.service

10.最後に、次のコマンドを発行して、MariaDBのインストールを保護する必要があります。

# mysql_secure_installation

MariaDBのインストールと、それをどのように保護するかについて、いくつかの異なる質問が表示されます。データベースのrootユーザーのパスワードを変更したり、テストデータベースを無効にしたり、匿名ユーザーを無効にしたり、rootログインをリモートで無効にしたりできます。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): Enter OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorization. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!

11. MySQLサーバーに接続してみて、ターミナルで次のコマンドを使用してデータベースサーバー上の既存のデータベースを確認します。

# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]>

ステップ3:CentOS7にFastCGIを使用してPHPおよびPHP-FPMをインストールする

12. FastCGIをサポートするPHP-FPMを有効にするには、まず、次のコマンドを使用して、必要な拡張機能とともにPHPをインストールする必要があります。

# yum -y install php php-mysqlnd php-pdo php-gd php-mbstring

13. PHPをインストールしたら、LighttpdのPHP-FPMおよびFastCGIサポートを有効にします。これを行うには、これらのパッケージもインストールする必要があります。

# yum -y install php-fpm lighttpd-fastcgi

14./etc/php-fpm.d/www.confというファイルを開きます。

# vi /etc/php-fpm.d/www.conf

ユーザーとグループをLighttpdに設定します。

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = lighttpd
; RPM: Keep a group allowed to write in log dir.
group = lighttpd

また、PHP-FPMはデフォルトで/var/run/php/php7.0-fpm.sockソケットを使用します。TCP接続を使用するには、PHP-FPMを作成する必要があります。 listen 行を次のようにします。

;listen = /var/run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000 

15.次に、PHP-FPMサービスを開始し、次のコマンドを使用して、起動時に自動的に開始できるようにします。

# systemctl start php-fpm.service
# systemctl enable php-fpm.service

ステップ4:LighttpdのFastCGIでPHPとPHP-FPMを有効にする

16.ここで、LighttpdのPHPサポートを有効にするには、3つのファイル/etc/php.ini、/etc/lighttpd/modules.conf、および/etc/lighttpd/conf.d/fastcgi.confを変更する必要があります。

最初のファイル/etc/php.iniを開きます。

# vi /etc/php.ini

行cgi.fix_pathinfo u003d 1を示す次の行のコメントを解除します。

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1

次に、/ etc/lighttpd /modules.confという2番目のファイルを開きます。

# vi /etc/lighttpd/modules.conf

include“ conf.d/fastcgi.conf”という次の行のコメントを解除します。

##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"

次に、/ etc/lighttpd/conf.d /fastcgi.confという3番目のファイルを開きます。

# vi /etc/lighttpd/conf.d/fastcgi.conf

次に、ファイルの最後に次のコンテナを追加して保存します。

fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

Lighttpdサービスを再起動して変更を反映し、PHPサポートを有効にします。

# systemctl restart lighttpd

ステップ5:LighttpdでFastCGIをサポートするPHPおよびPHP-FPMをテストする

17.先に述べたように、Lighttpdのデフォルトのドキュメントルートは/ var/www/lighttpd /です。したがって、ここでは、このディレクトリにphpinfo.phpファイルを作成します。

# vi /var/www/lighttpd/info.php

次の行を追加します。この小さなコードは、PHPのインストールとそのバージョンに関する情報を表示します。

<?php
phpinfo();
?>

18.ブラウザを開き、次のリンクに移動します。

http://Your-Domain.com/info.php
OR
http://Your-IP-addr/info.php

PHP、PHP-FPM、およびMySQLの動作情報と、すでに有効になっている他の多くのモジュールが表示されます。