内蔵の環境:
ubuntu16.04、lighttpdの+ php7.0 [PHP-FPM]
国内のウェブサイトのフォーラムは、アクセスを拒否するために失敗し、ないサーバーを解析する1日の午後、様々な試み、PHPを読んで、503エラーになり、その後、記事を読んで、今外国人のノートをダウンする手順に従って、外国人を指摘するが、それでも成功それがない友人にFQの参考のために、投稿のように:
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 11:26 10 -fastcgi.conf - > ../conf-available/ 10 - fastcgi.conf lrwxrwxrwx 1つのルートルート37年04月27 11:26 15 -fastcgi-php.conf - > ../conf-available/ 15 -fastcgi- php.conf lrwxrwxrwx 1つのルートルート42年04月21 11:10 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の力リロード
10のリンク
- Lighttpdの: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQLの: http://www.mysql.com/
- Ubuntuの: http://www.ubuntu.com/
- phpMyAdminは: http://www.phpmyadmin.net/