Como instalar um LEMP no Ubuntu Precise 12.04
No Pplware já disponibilizamos vários artigos que ensinam a transformar uma máquina Linux num servidor LAMP (Linux + Apache + MySQL + PHP). Basicamente um LAMP é um conjunto de serviços sobre Linux, que nos permitem criar um verdadeiro servidor Web (Apache2 – para colocar conteúdos online como por exemplo sites, plataformas como wordpress, Joomla, wikis, etc) com suporte para a linguagem de programação PHP e para o serviço de base de dados MySQL.
Semelhante ao um LAMP podemos transformar a nossa máquina linux num LEMP (Linux + Enginx + MySql + PHP (ou Perl/Python), sendo que a única diferença é a substituição do Apache pelo Enginx (vulgarmente conhecido com Nginx.
Nginx
O Nginx é um servidor HTTP (Web) gratuito, open-source e com alta performance. O Nginx foi desenvolvido pelo programador russo Igor Sysoev em 2005, e tinha como principal objectivo ser um servidor estável, simples de configurar e que necessitasse de poucos recursos ao nível de hardware.
Como instalar um LEMP no Ubuntu Precise 12.04?
Para começarmos a instalar um LEMP no Ubuntu Precise 12.04 vamos começar por instalar nginx. Para isso abrimos a terminal e inserimos os seguintes comandos:
1 2 3 | sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx |
Em seguida, podemos iniciar o nginx usando o comando
4 | sudo service nginx start |
Para verificarmos que o nginx está a funcionar, abrimos um browser e inserimos ou o endereço da máquina ou http://localhost
Instalar e configurar o PHP
Para que o PHP5 funcione correctamente no PHP5 é necessário instalar o PHP-FPM (PHP-FPM (FastCGI Process Manager) que é uma alternativa ao PHP FastCGI. Além disso vamos também instalar o CLI do PHP e o modulo para inteiração com o MySQL. Para instalar o PHP e os módulos referidos, vamos abrir o terminal e inserir o seguinte comando:
5 | sudo apt-get install php5-cli php5-fpm php5-mysql |
Configurar o NGinx para funcionar com o PHP
Vamos agora proceder a algumas configurações a nível de vlhosts. Para isso vamos abrir o vhost por omissão que se encontra em /etc/nginx/sites-available/default e definir as seguintes alterações
6 | sudo nano /etc/nginx/sites-available/default |
[...] server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default ipv6only=on; ## listen for ipv6 root /usr/share/nginx/www; index index.php index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex off; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } } [...]
Depois de realizadas as configurações devemos recarregar as novas configurações, executando para isso o comando:
7 | /etc/init.d/nginx reload |
Para testar o PHP5 vamos criar um simples ficheiro na document root do nginx. para isso criamos o ficheiro phpinfo.php usando o seguinte comando.
8 | nano –w /usr/share/nginx/www/info.php |
e lá dentro colocamos
9 10 11 | <?php phpinfo(); ?> |
Para testar o script criado, abrimos o browser e colocamos http://localhost
Instalar o MySQL
Para instalar o MySQL devem executar o seguinte comando:
12 | sudo apt-get install mysql-server |
Será aberta uma janela, onde devem indicar a password de acesso ao MySQL.
E assim temos o LEMP pronto a funcionar. Como puderam ver a instalação/configuração do servidor Nginx requer algum trabalho (assim como outros servidores Web), mas no final o trabalho vale bem a pena já que o Nginx demonstrou uma boa performance e estabilidade. Ficamos a aguardar o vosso feedback.
Este artigo tem mais de um ano
Tenho um problema, a pagina que tenho hospedada no meu pc (lampp) só abre ok no proprio pc onde está a correr o serviço, noutra máquina da rede ou externa (wan) a pagina abre mas toda desformatada e sem imagens. Algumas sugestões para este problema?
Poderão ser os caminhos relativos para essa imagem que estejam indicados de forma incorrecta.
Bom artigo e bom tutorial 🙂
Só tenho uma coisa a apontar, o pplware cobre demasiado o Ubuntu e aparenta esquecer-se de todas as outras distribuições que andam por aí “à solta”, é claro que eu nunca pediria para cobrirem todas as versoes mas talvez abragerem também o Fedora ou o openSUSE ou então talvez incluirem nos tutoriais como instalar as mesmas aplicações com o wget 🙂
Por acaso até existe mais know how de CentOS e afins. No entanto, o Ubuntu (se calhar o Mint) é actualmente as distros mais populares. Agora também temos o Caixa Magica 18…uma excelente distro.
O titulo tem um erro lemp -> lamp 🙂
Bom artigo 🙂
Peço desculpa, engano meu… está correcto.
eh eh eh, eu sabia que alguem ia cair 🙂
Embora LIMP …. bizkit também não seja mauzinho 😀
Gerardo sempre atento .
Abraço
Serva
Ensinarem a instalar um “LAPP” é que era de valor… 😉 “Linux Apache Postgresql Php”…
Fica o registo, esse também é facil 🙂
Já uso estes pack de alojamento open source para realizar testes a bastante tempo. No entanto não uso para alojar o meu site pois preciso de enviar e-mails. Alguém consegue configurar um mail server de forma gratuita?
Já não faço isso a uns tempos, mas tenho uma maquina de monitorização que envia emails de alerta com o auxilio do postfix, googla e vais ver que é bastante fácil.
Bom artigo, como outros aqui disponibilizados 🙂
Em relação ao que foi referido, poder servir de servidor para a internet, é tão seguro como os servidores das empresas de alojamento (falos das profissionais 🙂 )?
se mais de 90% dos servidores são linux, profissionais deve ter muitos
Excelente artigo (como sempre)!
Pelo que entendi, estes passos servem para configurar o servidor apenas para uso na rede interna.
Para poder ter o servidor com acesso do exterior, terá que recorrer-se a algo como o no-ip.
Tentei instalar o no-ip no 12.04, mas não tive muito sucesso 🙁
sudo cd ~
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xzf noip-duc-linux.tar.gz
cd no-ip-2.1.9
sudo apt-get install gcc
sudo make
sudo make install
sudo /usr/local/bin/noip2
sudo nano /etc/init.d/noip2
– Escrever o seguinte dentro do ficheiro de texto:
#! /bin/sh
sudo /usr/local/bin/noip2
Reeniciar e confirmar
Já tinha experimentado essa informação, e sem sucesso. Faz tudo OK, mas o serviço não fica a funcionar depois de reiniciar 🙁
E claro criar uma conta no no-ip. Não te esqueças de configurar o teu router para permitir que seja visto do exterior, provavelmente é o que te falta. Foi onde tive mais dificuldade na altura. Agora uso um servidor externo…
Sim… convém já ter conta no-ip criada. É o meu caso
PS: Router configurado.
Sempre funcionou bem nas versões anteriores. Neste momento tive que me manter no 10.04 (a única distribuição Ubuntu que não me deu problemas e tenho tudo a funcionar)
Excelente artigo.
Costumo utilizar o xampp ou easyphp em ambiente windows mas apenas em modo local, isto é, na própria máquina.
Gostava de sabe se posso, sem ter um IP fixo atribuido, criar um servidor com este sistema utilizando o ip que recebo do ISP (neste caso do meo)…
Alguém pode ajudar ou indicar um tutorial?
Obrigado e bom fim de semana (se possível a rock in rio rolar)
Sim, apenas tens de fazer port forwarding no teu router. Tens tudo aqui:
https://pplware.sapo.pt/networking/port-forwarding-no-router-da-meo-thomson-tg787/
Nesses casos convém “cortar” o acesso ao MySqlAdmin ou garantir que a password de administração da base de dados é segura. Da primeira vez que o tive acessível do exterior dera-me cabo da base de dados…
Excelente artigo , ando já a algum tempo com maquinas que me vão sobrando a pensar instalar um servidor , vou este fim de semana preparar a maquina e vou iniciar-me nesta nova aventura , os meus agradecimentos pela contribuição de alguns dos nossos leitores que deram umas dicas importantes de forma a pudermos controlar o servidor fora da nossa rede .
Cumprimentos
Serva
Há e outra coisa preparem-se porque provavelmente vou ter dúvidas e vou melgar já percebi que existe aqui muito conhecimento a este nível .
Cumprimentos
Serva
Já bomba , foi fácil , obrigado Pedro Pinto
Bom Domingo
Serva
Não falta um ” } ” relativo a:
” location / { ”
?
Cumps
alguem poderia me ajudar, gostaria de instalar codeigniter no meu servidor web, mais nao estou conseguindo executar links por site.com.br/home e site.com.br/noticia/mundo alguem podeia me ajudar, desta ja muito obrigado
Bom dia amigos, fiz a instalação exatamente como esta acima, mas a pagina do PHP não abriu, preciso de ajuda.
Obrigado.
Olá a todos preciso de ajuda, segui rigorosamente as instruções acima o servidor ngix (funcionou) mas a pagina onde o php tinha que abrir não funcionou, oque significa que o servidor web não esta se conectando ao php quando é dado o comando http://localhost, alguém pode me ajudar por favor.