最近、Apache/Nginx、PHP、MySQLを本番環境にインストールするための最良かつ最も簡単な方法は、特定のディストリビューション用にapt-getまたは同様のパッケージマネージャーを使用してソフトウェアを取り込むことだと言われています。これの利点は、信頼性の高いビルドパッケージを使用しており、本番環境で簡単に更新できることです。
現在、私はUbuntu 12.04を使用しており、このソフトウェアの最新バージョンに熱心です。
しかし、私が出くわしたすべてのガイドは、私にこれらすべてのものをインストールさせているようですが、すべての構成を行った後、それは機能せず、何がうまくいかなかったのか、それを修正する方法がわかりません。
1) これらの手順 を使用してdotdebリポジトリをインストールします。
2)Apache 2.2.22、PHP 5.4.3、MySQL 5.5.24を使用して:
aptitude install mysql-server Apache2 libapache2-mod-php5 php5-mysql php5-apc php5-curl
3)次のコマンドでmod-rewriteパッケージをインストールします。
a2enmod rewrite
これで機能し、phpinfo()が正しく実行および表示され、データベースに接続できるようになりました。ただし、これではApache 2.2.22しか取得できず(最新の速度向上には2.4.xが望ましい)、mod-rewriteを機能させることもできず、すべてをindex.phpにリダイレクトすることを拒否するため、ホームページのみが機能します。
Htaccessコードを次のように設定しています。
RewriteEngine on
RewriteBase /
# Forward any url without the listed extentions to index.php
RewriteRule !\.(js|css|ico|txt|gif|jpg|jpeg|png|ttf)$ index.php
私は知らない、これは私がこれを機能させるために今やらなければならなかったUbuntuの5番目のインストールですが、それでも正方形の1でどこにも行きません。
これらすべてのテクノロジーを一緒にインストールし、それらをうまく相互作用させるための実用的なガイドまたはソリューションを誰かが持っていますか?
ソフトウェアの最新ビルドのリポジトリパッケージを見つけることができる可能性はほとんどありません。パッケージは、問題なく動作し、わずかな労力でインストールできる実証済みのインストールです。より高いバージョンをインストールするには、ソースからインストールする必要があります。パッケージはすべての構成と依存関係を処理するため、これは少し厄介な場合があります。すでにphpinfo()関数が機能している場合は、そのページに表示されている./configure設定をコピーして、ビルドする必要がある場合に役立ててください。そうは言っても、一度それを乗り越えて機能させると、ソースからアプリを構築する可能性があなたを脅かすことはなくなります。
書き換えルールに関しては、次のようなものを試してください
RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule !^(.*)\.(js|css|ico|txt|gif|jpg|jpeg|png|ttf)$ index.php [L]
安全で安定した本番システムを目標としている場合は、「最新」バージョンを選択しないでください。そして、あなたはメンテナンス作業を控えるべきです。したがって、タスクに「適切な」ディストリビューションを選択することは、私見です。
手動で更新し続けるのは面倒です。一部のディストリビューションは、安定版リリースよりも早くパッチを適用します。
私はこれをCentOSforApache-httpdでしばらく見ました。セキュリティパッチをさらに高速にしたい場合は、RedHat Enterprise(または高速で安定したパッチを提供するその他のディストリビューション)を使用する必要があります。
Php5-fpmでNginxを使用する方がはるかに簡単です。
私は このガイド 約1年前に、dotdebのPhp-fpmとMySQLを使用したNginxのセットアップと構成について書きました。
そしてもう1つ Nginxに関する古い記事-Apacheリバースプロキシのセットアップ 。
Canonicalでさえ、最初のポイントリリース(12.04.1など)まで待ってから本番ボックスにロールアウトすることをお勧めします。そうは言っても、私は過去数年間8.04LTSを実行しているサーバークラスターに12.04LTSのクリーンインストールを行っているだけなので、すべての人が良いアドバイスに従うわけではありません。
Apache2.2とPHP 5.3に落ち着く準備ができている場合、これはUbuntuで最も速い方法です。
Sudo tasksel install lamp-server
Sudo a2enmod rewrite
Sudo /etc/init.d/Apache2 restart
これで、Apache 2.2、PHP 5.3、MySQL 5.5、mod_rewriteがすべての依存関係とストック構成でインストールされます。
Apache2.4とPHP 5.4が本当に必要な場合は、UbuntuServerのバージョンに表示されるまで待つことをお勧めします。
編集:使用しているパッケージの1つはAPCです。このスレッドによると:
https://stackoverflow.com/questions/9611676/is-apc-compatible-with-php-5-4
PHP 5.4を使用する場合は、少し注意が必要です。