構築するlighttpdのWebサーバエンジンのOpenWrtの開発

 

 

内蔵の環境:

ubuntu16.04、lighttpdの+ php7.0 [PHP-FPM]

国内のウェブサイトのフォーラムは、アクセスを拒否するために失敗し、ないサーバーを解析する1日の午後、様々な試み、PHPを読んで、503エラーになり、その後、記事を読んで、今外国人のノートをダウンする手順に従って、外国人を指摘するが、それでも成功それがない友人にFQの参考のために、投稿のように:

オリジナルリンク:https://www.howtoforge.com/tutorial/installing-lighttpd-with-php7-php-fpm-and-mysql-on-ubuntu-16.04-lts/

Lighttpdのは、スピード・クリティカルな環境用に設計された、安全な、速い、標準準拠のWebサーバです。このチュートリアルでは、PHP 7(PHP-FPMを介して)サポートとMySQL 5.7でのUbuntu 16.04サーバー上でLighttpdのインストール方法を示しています。PHP-FPM(FastCGIプロセスマネージャ)は、あらゆる規模のサイトに役立ついくつかの追加機能、特に忙しいのサイトを持つ代替PHPのFastCGI実装です。私はこのチュートリアルの代わりに、Lighttpdのの産卵-fcgiの中でPHP-FPMを使用しています。

1つの予備注意

このチュートリアルでは、私は、ホスト名の使用  IPアドレスとserver1.example.comを  192.168.1.100。あなたが適切な場合にはそれらを交換する必要があるので、これらの設定は、あなたのために異なる場合があります。 私はrootでログインしていることを確認し、root権限を持つこのチュートリアルのすべてのステップを実行しています:

sudoを -s

2 MySQLの5.7をインストールします

まず、我々は次のようにMySQLをインストールします。

-y apt-getのインストールのMySQLサーバのmysqlクライアントを

あなたはMySQLのrootユーザのパスワードを提供するように求められます-このパスワードは、ユーザーのために有効である  だけでなく、ルート@ localhostの  [email protected]、私たちは、後に手動でMySQLのrootパスワードを指定する必要はありません:

MySQLの「ルート」ユーザーのための新しいパスワード:  < - yourrootsqlpassword
MySQLの「ルート」ユーザーのための繰り返しパスワード:  < - yourrootsqlpassword

 

インストーラは、MySQLのrootパスワードを設定しているが、安全なMySQLのインストール用に変更する必要がありますいくつかのより多くの設定があります。これはmysql_secure_installationコマンドで行うことができます。

mysql_secure_installation

 

コマンドは対話です。

ルート@ server1を:〜 のmysql_secure_installation
MySQLサーバの展開を確保。
パスワードを入力するために rootユーザー:< - MySQLのrootパスワードを入力します。
VALIDATEパスワードPLUGINはパスワードをテストするために使用することができます
し、セキュリティを向上させます。これは、パスワードの強度をチェック
している人のみこれらのパスワードを設定することができます
十分に安全なの。あなたは、セットアップVALIDATEパスワードプラグインにいかが
yを押し| Y についてはい、他のキーのためにありません:< -あなたはこの機能する場合はyを押したり押しはそう入力します。
既存のパスワード使用のためのルートを。
パスワード変更のためのルートを?((yを押し| Y についてはい、他のキーのためにありません):< -を押して入力します。
...スキップ。
デフォルトでは、MySQLのインストールは、匿名ユーザーを持っている
誰もが持ってすることなく、MySQLのにログインできるように
作成したユーザーアカウントのためにそれらを。これが唯一の目的としているため
、テスト、およびするために作り、インストールが少しスムーズに行きます。
本番に移行する前に、それらを削除すべきである
環境。
匿名ユーザーを削除しますか?(yを押し| Y についてはい、他のキーのためにありません):< - yの 
成功。
通常、ルートからのみ接続を許可しなければならない
 ローカルホストこれは、誰かが推測することができないことを保証し
、ネットワークからのrootのパスワード。
ルート禁止ログインをリモートで?(yを押し| Y についてはい、他のキーのためにありません):< - yの 
成功。
デフォルトでは、MySQLはという名前のデータベースが付属していますテストという
、誰もがアクセスすることができます。これはまた、唯一の目的としているため、テスト、
および本番に移行する前に除去しなければならない
環境。
それにテスト・データベースとのアクセスを削除しますか?|(Y yを押しためはい、他のキーのために:いいえ)Y - <
 - 削除テストデータベース... 
成功。
- ...テスト・データベース上の権限を削除する
成功。
権限テーブルをリロードすると、すべての変更をすることを保証します
、これまでに作られたが、すぐに有効になります。
今権限テーブルをリロード?(yを押し| Y についてはい、他のキーのためにありません):< - yの 
成功。
すべて行って

3 Lighttpdのインストール

Lighttpdのは、Ubuntuのパッケージとして提供されています。したがって、我々はUbuntuのXenial Xerusパッケージリポジトリからaptでそれを直接インストールすることができます。

-y apt-getのインストールのlighttpdを

今お使いのブラウザに指示  http://192.168.1.100/~~Vを、あなたはLighttpdのプレースホルダページが表示されます。

 

 

Lighttpdののデフォルトのドキュメントルートがある  Ubuntuで/ var / www / htmlと設定、およびコンフィギュレーションファイルがある  /etc/lighttpd/lighttpd.conf。追加の構成は、内のファイルに格納されている  の/ etc / lighttpdの/ confに利用可能なディレクトリ-これらの構成をして有効にすることができる  からシンボリックリンクを作成しますlighttpdの有効-modコマンド  の適切な構成には/ etc / lighttpdの/ confに対応のディレクトリ内のファイル  は/ etc / lighttpdの/ confに利用可能。あなたはとの設定を無効にすることができます  lighttpdのディセーブル-modコマンド。

4 PHP 7.0をインストールします

私たちは、このようにインストールPHP-FPMを通じてLighttpdの中でPHPを動作させることができます。

-yはapt-getをインストール PHP7を。0 -fpmのPHP7。0

PHP-FPMは(initスクリプトを持つデーモンプロセスである  ソケットでのFastCGIサーバを実行しているのphp5-FPM)  /var/run/php/php7.0-fpm.sock。

5 LighttpdのとPHP 7.0の設定

Lighttpdの中でPHPを有効にするには、我々は変更する必要があり  /etc/php/7.0/fpm/php.iniと行コメントを解除  = 1 cgi.fix_pathinfoを:

ナノは/ etc / PHP / 7.0 /fpm/php.ini
[...] cgi.fix_pathinfoは提供 *本物* PATH_INFO / PATH_TRANSLATEDサポートのための CGIを。PHP " 
以前の動作はSCRIPT_FILENAMEにPATH_TRANSLATEDを設定するために、そして完全に理解しないことでしたPATH_INFOは何ですか。以下のために多くのPATH_INFOの情報を、CGIの仕様を参照してください。設定
; この1は仕様に準拠するために、そのパスを修正するためにPHP CGIの原因となります。設定
; ゼロのPHPは、以前のように振る舞うようになります。デフォルトは1 あなたのスクリプトを修正する必要がありますSCRIPT_FILENAMEではなく、PATH_TRANSLATEDを使用します。
; http:// php.net/cgi.fix-pathinfo 
cgi.fix_pathinfo = 1 
[...]

PHPのためのLighttpdの設定ファイル  のspawn-fcgiのでの使用に適している/etc/lighttpd/conf-available/15-fastcgi-php.confは、しかし、我々はそれゆえ我々は(ファイルのバックアップを作成し、PHP-FPMを使用したいです名前の  15-のfastcgi-php.conf.bak)と変更  以下のように15-fastcgiの-php.confを:

CDの/ etc / lighttpdの/ confに利用可能/
 CP  15 -fastcgi-php.conf 15 -fastcgi- php.conf.bak 
ナノ15 -fastcgi-php.conf
#は、/ usr / share / doc / lighttpdの-docの/ fastcgi.txt.gz 
#のhttp:// redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi 

##のFastCGIサーバを起動するために PHP( PHP7を必要とする。0 - CGIパッケージ)
fastcgi.server + =(" .PHP " => 
        ((
                " ソケット" => " /var/run/php/php7.0-fpm.sock " " 破断scriptfilename " => " 有効" 
        )) 

FastCGIの設定を有効にするには、次のコマンドを実行します。

lighttpdの-enable- MODのFastCGI 
lighttpdの -enable-MODのFastCGI-PHP

これは、シンボリックリンク作成  を指して/etc/lighttpd/conf-enabled/10-fastcgi.conf  及び/etc/lighttpd/conf-available/10-fastcgi.conf  の/ etc / lighttpdの/ confに対応/ 15のFastCGI-PHPを指す.confの  /etc/lighttpd/conf-available/15-fastcgi-php.conf:

LS -lの/ etc / lighttpdの/ confに対応
ルート@ SERVER1:の/ etc / lighttpdの/ confに入手可能な#1 のls -lの/ etc / lighttpdの/ conf- 有効
合計0 
lrwxrwxrwx 1ルートルート33年04月27  1126  10 -fastcgi.conf - > ../conf-available/ 10 - fastcgi.conf 
lrwxrwxrwx 1つのルートルート37年04月27  1126  15 -fastcgi-php.conf - > ../conf-available/ 15 -fastcgi- php.conf 
lrwxrwxrwx 1つのルートルート42年04月21  1110  90 -javascript-alias.conf - > ../conf-available/ 90 -javascript- alias.conf 
ルート@ server1を:の/ etc / lighttpdの/ confに利用可能な#

その後、我々はLighttpdのをリロードします。

サービスlighttpdの力リロード

 注:ロケールエラーが発生した場合、あなたが使用して、エラーを削除することができます

-y apt-getをインストールした言語パックエンベースを   
dpkgを -reconfigureロケールを

あなたのPHPのインストールについて6テストPHP 7.0 /取得詳細

既定のWebサイトのドキュメントルートは、  / var / www / htmlと設定。私たちは今、小さなPHPファイル(作成され、そのディレクトリにinfo.php)を、ブラウザでそれを呼び出します。ファイルには、インストールされているPHPのバージョンなど、当社のPHPのインストールに関する有用な詳細の多くを表示します。

ナノ/ var / www / htmlと設定/ 情報の.php
<?PHPの
するphpinfo(); 
?>

今、私たちは(例えば、ブラウザでそのファイルを呼び出す  http://192.168.1.100/info.php):

ご覧のとおり、PHP 7.0が動作している、とに示すように、それは、FPM / FastCGIを経由働いている  サーバーAPIライン。あなたがさらに下にスクロールする場合は、既にPHP5で有効になっているすべてのモジュールが表示されます。MySQLは、我々はまだPHPでのMySQLをサポートしていないことを意味するが記載されていません。

7 PHPでのMySQLのサポートを取得します

PHPでのMySQLのサポートを得るために、我々はインストールすることができます  php7.0-mysqlのパッケージを。それはあなたのアプリケーションのためにそれらを必要とするかもしれないだけでなく、他のいくつかのPHPモジュールをインストールすることをお勧めします。あなたは、このような可能なPHPモジュールを検索することができます。

apt-キャッシュ検索PHP7。0

Pick the ones you need and install them like this:

apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache  php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext

APCu is an extension for the PHP Opcache module that comes with PHP 7, it adds some compatibility features for software that supports the APC cache (e.g. Wordpress cache plugins).

APCu can be installed as follows:

apt-get -y install php-apcu

Now reload PHP-FPM:

service php7.0-fpm reload

Now reload http://192.168.1.100/info.php in your browser and scroll down to the modules section again. You should now find lots of new modules there, including the mysqli and mysqlnd module:

 

8 phpMyAdmin

phpMyAdmin is a web interface through which you can manage your MySQL databases. It's a good idea to install it:

apt-get -y install phpmyadmin

You will see the following questions:

Web server to reconfigure automatically: <-- lighttpd
Configure database for phpmyadmin with dbconfig-common? <-- Yes
MySQL application password for phpmyadmin: <-- Press Enter

If you get the following error:

Run /etc/init.d/lighttpd force-reload to enable changes
dpkg: error processing package phpmyadmin (--configure):
subprocess installed post-installation script returned error exit status 2
E: Sub-process /usr/bin/dpkg returned an error code (1)

Then run these commands:

/etc/init.d/lighttpd force-reload
apt-get -y install phpmyadmin

Afterwards, you can access phpMyAdmin under http://192.168.1.100/phpmyadmin/:

 

9 Making PHP-FPM use a TCP Connection (Optional)

By default PHP-FPM is listening on the socket /var/run/php/php7.0-fpm.sock. It is also possible to make PHP-FPM use a TCP connection. To do this, open /etc/php/7.0/fpm/pool.d/www.conf...

nano /etc/php/7.0/fpm/pool.d/www.conf

... and make the listen line look as follows:

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

This will make PHP-FPM listen on port 9000 on the IP 127.0.0.1 (localhost). Make sure you use a port that is not in use on your system.

Then reload PHP-FPM:

service php7.0-fpm reload

Next open Lighttpd's PHP configuration file /etc/lighttpd/conf-available/15-fastcgi-php.conf and replace the socket line with host and port lines:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php7.0-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "有効" 
        )) 

最後にLighttpdのをリロードします。

サービスlighttpdの力リロード

 

おすすめ

転載: www.cnblogs.com/weishengzhong/p/11129127.html