需要工作指南来安装最新的Apache或Nginx,PHP和MySQL的生产

好吧,我被告知现在安装Apache / Nginx,PHP,MySQL的最好和最简单的方法是使用apt-get或类似的包pipe理器为你的特定发行版插入软件。 这样做的好处是您可以使用可靠的软件包,并且可以在生产中轻松更新它们。

现在我正在使用Ubuntu 12.04,并且热衷于这个软件的最新版本:

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

然而,我所遇到的每一个指南似乎都让我安装所有这些东西,但是在完成所有configuration之后,它并没有结束工作,我不知道出了什么问题或者如何解决这个问题。

到目前为止,我已经想出了:

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重写工作,它只是拒绝redirect到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的第五次安装,我现在不得不做,试图得到这个工作,但仍然在广场一个,没有得到任何地方。

有没有人有一个工作指南或解决scheme来安装所有这些技术在一起,使他们很好地交互?

你能够find软件包的最新版本的可能性是极不可能的。 这些软件包是经过validation的安装程序,可以毫无问题地安装,而且安装起来很轻松。 要安装更高版本,您必须从源代码安装。 这有时会有点多毛,因为这些软件包会处理所有的configuration和依赖关系。 如果你已经有了phpinfo()函数的话,复制那个页面上显示的./configure设置,当你必须构build它的时候可以帮助你。 所有这一切说,一旦你通过它,并得到它的工作,从源头上build立一个应用程序的前景将不再威胁你。

至于你的重写规则,尝试这样的事情

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

如果你的目标是一个安全,稳定的生产系统,你不应该去“最新”的版本。 而且你应该保持维护任务。 因此,为您的任务select“正确”的分配是恕我直言的路要走。

手动更新太麻烦 – 而且一些发行版的补丁速度比发布稳定的版本要快。

我在CentOS上为apache-httpd观看了一会儿。 如果您希望安全补丁速度更快,则必须使用RedHat Enterprise(或其他提供快速稳定补丁的发行版)。

您可以使用本指南从源代码安装Apache 2.4,然后使用dotdeb获取最新版本的PHP,Nginx和MySQL。

只要用php5-fpm就可以使用Nginx。

我在一年前编写了这个指南 ,用dotdeb用Php-fpm和MySQL设置和configurationNginx。

另外一篇关于Nginx的文章 – Apache反向代理设置 。

即使Canonicalbuild议您等到第一个版本发布(例如12.04.1),然后再推出到生产箱。 话虽如此,我只是在一台服务器集群上安装了12.04 LTS,在过去的几年里它已经运行了8.04 LTS,所以不是每个人都听从好build议!

如果你准备好解决Apache 2.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与所有依赖和股票configuration。

如果你真的需要Apache 2.4和PHP 5.4,我的build议是等到它们出现在Ubuntu Server的一个版本中。

编辑:您使用的包之一是APC。 根据这个线程:

https://stackoverflow.com/questions/9611676/is-apc-compatible-with-php-5-4

如果你使用PHP 5.4,可能会有点棘手。