Apache-2.2

需要工作指南來安裝最新的 Apache 或 Nginx、PHP 和 MySQL 進行生產

  • May 20, 2012

好的,有人告訴我這些天安裝 Apache/Nginx、PHP、MySQL 以進行生產的最佳和最簡單的方法是使用 apt-get 或類似的軟體包管理器為您的特定發行版引入軟體。這樣做的好處是您使用的是可靠建構的包,並且您可以在生產中輕鬆更新它們。

現在我正在使用 Ubuntu 12.04 並熱衷於該軟體的最新版本:

  • Apache 2.4.xNginx 1.2.x
  • PHP 5.4.x
  • MySQL 5.5.x

然而,我遇到的每個指南似乎都讓我安裝了所有這些東西,但是在我完成所有配置之後它並沒有最終工作,我不知道出了什麼問題或如何修復它。

到目前為止,我想出了:

1) 使用以下說明安裝 dotdeb 儲存庫:

  1. 安裝 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
  1. 安裝 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

我不知道,這是我現在必須做的第 5 次安裝 Ubuntu 以嘗試使其正常工作,但仍然處於第一階段並且沒有得到任何結果。

有沒有人有一個工作指南或解決方案來將所有這些技術安裝在一起並讓它們很好地互動?

您能夠找到該軟體最新版本的儲存庫包的可能性極小。這些軟體包是經過驗證的安裝,可以毫無問題地工作並且安裝起來毫不費力。要安裝更高版本,您必須從原始碼安裝。這有時會有點麻煩,因為這些包會為您處理所有配置和依賴項。如果您已經讓 phpinfo() 函式正常工作,請複制顯示在該頁面上的 ./configure 設置,以便在您必須建構它時為您提供幫助。話雖如此,一旦你克服了它並讓它工作,從原始碼建構應用程序的前景將不再讓你感到害怕。

至於你的重寫規則,試試這樣的

RewriteEngine on 

RewriteCond $1 !^(index\.php)
RewriteRule !^(.*)\.(js|css|ico|txt|gif|jpg|jpeg|png|ttf)$ index.php [L]

引用自:https://serverfault.com/questions/388118