Lighttpdは、速度が重要な環境向けに設計された、安全で高速な標準準拠のWebサーバーです。このチュートリアルでは、PHP5サポート(PHP-FPM経由)およびMySQLサポートを備えたDebian 8(Jessie)サーバーにLighttpdをインストールする方法を示します。 PHP-FPM(FastCGI Process Manager)は、あらゆるサイズのサイト、特に忙しいサイトに役立ついくつかの追加機能を備えた、代替のPHPFastCGI実装です。このチュートリアルでは、Lighttpdのspawn-fcgiの代わりにPHP-FPMを使用しています。
1予備メモ
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.1.100を使用します。これらの設定は異なる場合があるため、必要に応じて置き換える必要があります。このインストールのベースとしてDebian最小サーバーを使用します。これは、データセンターの最小イメージにすることも、Debian最小サーバーチュートリアルを使用して最初からインストールすることもできます。
2 MySQL/MariaDBのインストール
Debian 8には、2つのMySQL互換データベース、従来のMySQLデータベースと、元のMySQLの発明者であるMontyWideniusによって保守されているMySQLフォークであるMariaDBが付属しています。現在、MariaDBはデータベースの速度と開発アクティビティでリードしているため、サーバーに選択します。
以下では、MariaDB(第2.1章)とMySQL(第2.2章)のインストールについて説明します。これにより、好みのデータベースを選択できます。 2.1章または2.2章のいずれかに従うようにしてください。両方ではないようにしてください。
2.1MariaDBのインストール
MariaDBをインストールするには、このコマンドを実行します。
apt-get install mariadb-server mariadb-client
MariaDBrootユーザーのパスワードを入力するように求められます。このパスワードは[emailprotected]と[emailprotected]rver1.example.comのユーザーに有効であるため、MariaDBrootパスワードを指定する必要はありません。後で手動で:
New password for the MariaDB "root" user: <-- yourrootsqlpassword
Repeat password for the MariaDB "root" user: <-- yourrootsqlpassword
2.2MySQLのインストール
MySQL5は次のようにインストールします:
apt-get install mysql-server mysql-client
MySQLルートユーザーのパスワードを入力するように求められます。このパスワードは[メール保護]ユーザーと[メール保護]ユーザーに有効であるため、後でMySQLルートパスワードを手動で指定する必要はありません。
MySQLの「root」ユーザーの新しいパスワード:<-yourrootsqlpassword
MySQLの「root」ユーザーのパスワードを繰り返します:<-yourrootsqlpassword
3Lighttpdのインストール
LighttpdはDebianパッケージとして入手できるため、次のようにインストールできます。
apt-get install lighttpd
次に、ブラウザをhttp://192.168.1.100/に移動すると、Lighttpdプレースホルダーページが表示されます。
LighttpdのデフォルトのドキュメントルートはDebianでは/var/ wwwで、設定ファイルは/etc/lighttpd/lighttpd.confです。
追加の設定は/etc/ lighttpd / conf-availableディレクトリのファイルに保存されます-これらの設定は、/ etc / lighttpd/conf-enabledディレクトリから適切な設定へのシンボリックリンクを作成するlighttpd-enable-modコマンドで有効にできます。 / etc / lighttpd/conf-available内のファイル。 lighttpd-disable-modコマンドを使用して設定を無効にできます。
4PHP5のインストール
次のようにインストールするPHP-FPMを使用して、LighttpdでPHP5を動作させることができます。
apt-get install php5-fpm php5
PHP-FPMは、ソケット/var/run/php5-fpm.sockでFastCGIサーバーを実行するデーモンプロセス(initスクリプト/etc/init.d/php5-fpmを使用)です。
5LighttpdとPHP5の設定
LighttpdでPHP5を有効にするには、/ etc / php5 / fpm / php.iniを変更し、cgi.fix_pathinfo=1の行のコメントを解除する必要があります。
nano /etc/php5/fpm/php.ini
[...] ; 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 [...]
そして、php5-fpmサービスを再起動して、構成の変更を適用します。
systemctl restart php5-fpm.service
PHPのLighttpd設定ファイル/etc/lighttpd/conf-available/15-fastcgi-php.confはspawn-fcgiでの使用に適していますが、PHP-FPMを使用するため、ファイルのバックアップを作成します( 15-fastcgi-php-spawnfcgi.confという名前)、15-fastcgi-php.confを次のように変更します。
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf
# -*- depends: fastcgi -*- # /usr/share/doc/lighttpd/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi ## Start an FastCGI server for php (needs the php5-cgi package) fastcgi.server += ( ".php" => (( "socket" => "/var/run/php5-fpm.sock", "broken-scriptfilename" => "enable" )) )
fastcgi構成を有効にするには、次のコマンドを実行します。
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php
これにより、/ etc / lighttpd / conf-available/10-fastcgi.confおよび/etc/ lighttpd / conf-enabled/15-fastcgi-phpを指すシンボリックリンク/etc/lighttpd/conf-enabled/10-fastcgi.confが作成されます。 /etc/lighttpd/conf-available/15-fastcgi-php.confを指す.conf:
ls -l /etc/lighttpd/conf-enabled
[email protected]:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Aug 11 08:20 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Aug 11 08:20 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf
次に、Lighttpdをリロードします:
systemctl force-reload lighttpd.service
6PHP5のテスト/PHP5インストールの詳細の取得
デフォルトのWebサイトのドキュメントルートは/var/wwwです。次に、そのディレクトリに小さなPHPファイル(info.php)を作成し、ブラウザで呼び出します。このファイルには、インストールされているPHPのバージョンなど、PHPのインストールに関する多くの役立つ詳細が表示されます。
nano /var/www/html/info.php
<?php phpinfo(); ?>
次に、そのファイルをブラウザ(http://192.168.1.100/info.phpなど)で呼び出します。
ご覧のとおり、サーバーAPI行に示されているように、PHP5は機能しており、FPM/FastCGIを介して機能しています。さらに下にスクロールすると、PHP5ですでに有効になっているすべてのモジュールが表示されます。 MySQLはそこにリストされていません。つまり、PHP5ではMySQLがまだサポートされていません。
7PHP5でのMySQLサポートの取得
PHPでMySQLをサポートするには、php5-mysqlndパッケージをインストールします。これは、MySQLおよびMariaDBと互換性のある新しいデータベースドライバーです。他のPHP5モジュールをインストールすることをお勧めします。また、アプリケーションでそれらが必要になる場合もあります。次のような利用可能なPHP5モジュールを検索できます:
apt-cache search php5
必要なものを選び、次のようにインストールします:
apt-get install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Xcacheは、PHP中間コードをキャッシュおよび最適化するための無料のオープンPHPオペコードキャッシャーです。これは、eAcceleratorやAPCなどの他のPHPオペコードキャッシャーに似ています。 PHPページを高速化するために、これらのいずれかをインストールすることを強くお勧めします。
Xcacheは次のようにインストールできます:
apt-get install php5-xcache
PHP-FPMをリロードします:
systemctl restart php5-fpm.service
次に、ブラウザにhttp://192.168.1.100/info.phpをリロードし、モジュールセクションまでスクロールダウンします。これで、MySQLモジュールを含む多くの新しいモジュールが見つかるはずです:
8 phpMyAdmin
phpMyAdminは、MySQLデータベースを管理するためのWebインターフェイスです。インストールすることをお勧めします:
apt-get install phpmyadmin
次の質問が表示されます:
自動的に再構成するWebサーバー:<-lighttpd
Configure database for phpmyadmin with dbconfig-common? <-- Yes
Password of the database's administrative user: <-- yourrootsqlpassword
MySQL application password for phpmyadmin: <-- Press <enter>
その後、http://192.168.1.100/phpmyadmin/からphpMyAdminにアクセスできます:
9PHP-FPMでTCP接続を使用する
デフォルトでは、PHP-FPMはソケット/var/run/php5-fpm.sockをリッスンしています。 PHP-FPMにTCP接続を使用させることも可能です。これを行うには、/ etc / php5 / fpm / pool.d / www.conf ...
を開きます。nano /etc/php5/fpm/pool.d/www.conf
...そしてリッスンラインを次のように見せます:
[...] ;listen = /var/run/php5-fpm.sock listen = 127.0.0.1:9000 [...]
これにより、PHP-FPMはIP 127.0.0.1(localhost)のポート9000でリッスンします。システムで使用されていないポートを使用していることを確認してください。
次に、PHP-FPMをリロードします:
systemctl restart php5-fpm.service
次に、LighttpdのPHP構成ファイル/etc/lighttpd/conf-available/15-fastcgi-php.confを開き、ソケットラインをホストラインとポートラインに置き換えます。
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# -*- depends: fastcgi -*- # /usr/share/doc/lighttpd/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi ## Start an FastCGI server for php (needs the php5-cgi package) fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) )
最後にLighttpdをリロードします:
systemctl force-reload lighttpd.service
10リンク
- lighttpd:http://www.lighttpd.net/
- PHP:http://www.php.net/
- PHP-FPM:http://php-fpm.org/
- MySQL:http://www.mysql.com/
- Debian:http://www.debian.org/
- phpMyAdmin:http://www.phpmyadmin.net/