Precisa de um guia de trabalho para instalar o Apache ou Nginx, PHP e MySQL mais recentes para produção

2

Ok, é-me dito que a melhor e mais fácil maneira de instalar o Apache / Nginx, PHP, MySQL para produção atualmente é usar o apt-get ou gerenciador de pacotes similar para sua distro específica. A vantagem disso é que você está usando pacotes construídos de forma confiável e pode atualizá-los facilmente em produção.

Agora estou usando o Ubuntu 12.04 e estou interessado nas versões mais recentes deste software:

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

No entanto, todos os guias que eu vi parecem ter me instalado todas essas coisas, mas depois que eu fiz toda a configuração, ele não funciona e eu não tenho idéia do que deu errado ou como consertá-lo. / p>

Até agora eu criei:

1) Instale os repositórios dotdeb usando estas instruções :

2) Instale o Apache 2.2.22, PHP 5.4.3, MySQL 5.5.24 com:

aptitude install mysql-server apache2 libapache2-mod-php5 php5-mysql php5-apc php5-curl

3) Instale o pacote de mod-rewrite com:

a2enmod rewrite

Agora que funciona e posso obter um phpinfo () em execução e exibindo corretamente e conectando-se ao banco de dados. No entanto, isso só me deixa Apache 2.2.22 (eu preferiria 2.4.x para os aumentos de velocidade mais recentes) e também não consigo trabalhar com mod-rewrite, ele apenas se recusa a redirecionar tudo para index.php para que apenas a página inicial funcione.

Eu tenho o código de htaccess configurado como:

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

Eu não sei, esta é a 5ª instalação do Ubuntu que eu tive que fazer agora para tentar fazer com que isso funcionasse, mas ainda assim na estaca zero e não chegando a lugar nenhum.

Alguém tem um guia ou solução de trabalho para instalar todas essas tecnologias e fazer com que elas interajam bem?

    
por zuallauz 11.05.2012 / 04:13

4 respostas

2

A probabilidade de você poder encontrar pacotes de repositórios para as versões mais recentes do software é altamente improvável. Os pacotes são instalações comprovadas que funcionarão sem problemas e serão instaladas com pouco esforço. Para obter uma versão superior instalada, você terá que instalar a partir da fonte. Isso às vezes pode ser um pouco complicado porque os pacotes lidam com todas as configurações e dependências para você. Se você já tem a função phpinfo () funcionando, copie a configuração ./configure que é mostrada nessa página para ajudá-lo quando você tiver que criá-la. Tudo o que foi dito, depois de ter lutado e conseguido fazê-lo funcionar, a perspectiva de criar um aplicativo a partir da fonte não mais o intimidará.

No que diz respeito às suas regras de reescrita, tente algo como isto

RewriteEngine on 

RewriteCond $1 !^(index\.php)
RewriteRule !^(.*)\.(js|css|ico|txt|gif|jpg|jpeg|png|ttf)$ index.php [L]
    
por 17.05.2012 / 19:12
3

Se o seu objetivo for um sistema de produção seguro e estável, você não deve usar a versão "mais recente" às vezes. E você deve manter as tarefas de manutenção. Então, escolher a distribuição "certa" para sua tarefa é IMHO o caminho a percorrer.

É muito problemático manter-se atualizado manualmente - e algumas distribuições são corrigidas mais rapidamente do que uma versão estável está sendo lançada.

Eu assisti isso por um tempo no CentOS para o apache-httpd. Se você deseja que os patches de segurança sejam ainda mais rápidos, é necessário levar o RedHat Enterprise (ou qualquer outra distribuição que forneça patches rápidos e estáveis).

    
por 18.05.2012 / 22:18
2

Você pode usar este guia para instalar o Apache 2.4 a partir do código-fonte use o dotdeb para as versões mais recentes do PHP, Nginx e MySQL.

Seria muito mais fácil usar o Nginx com o php5-fpm.

Eu escrevi este guia cerca de um ano atrás para configurar e configurar o Nginx com o Php -fpm e MySQL do dotdeb.

E outro, mas artigo mais antigo sobre o Nginx - o proxy reverso do Apache configurado .

    
por 11.05.2012 / 04:56
1

Até mesmo a Canonical recomenda que você espere até a primeira liberação pontual (por exemplo, 12.04.1) antes de lançar as caixas de produção. Tendo dito isso, estou apenas fazendo instalações limpas de 12.04 LTS em um cluster de servidores que está executando 8.04 LTS nos últimos dois anos, então nem todos seguem bons conselhos!

Se você está preparado para se contentar com o Apache 2.2 e PHP 5.3, esta é a maneira mais rápida no Ubuntu:

sudo tasksel install lamp-server
sudo a2enmod rewrite
sudo /etc/init.d/apache2 restart

Isso instalará o Apache 2.2, o PHP 5.3, o MySQL 5.5 e o mod_rewrite com todas as dependências e configurações de estoque.

Se você realmente precisa do Apache 2.4 e PHP 5.4, meu conselho seria esperar até que eles apareçam em uma versão do Ubuntu Server.

Editar: Um dos pacotes que você está usando é o APC. De acordo com este tópico:

link

pode ser um pouco complicado se você usar o PHP 5.4.

    
por 20.05.2012 / 20:21