Configurando LAMP no CentOS 6 - ultrav
Configurando LAMP no CentOS 6
sáb 28 janeiro 2012 Vinícius Figueiredo
dicas, tutorial, centos, vps, lamp, apache, php, mysql
Esse artigo é um guia rápido para configurar um ambiente LAMP (Linux, Apache, MySQL e PHP) no CentOS 6. Ele foi compilado enquanto eu fazia a instalação do servidor que uso para hospedar esse e outros sites.
O texto não cobre a instalação do CentOS, eu utilizo servidores virtuais da Linode e o guia inicia logo após o deploy da imagem mínima do CentOS disponibilizada por esse provedor. Se você utiliza outros serviços de hospedagem, oriente-se com o suporte sobre o deploy da imagem.
Caso você precise instalar o CentOS a partir de mídia, pode procurar ajuda na documentação oficial. Até o momento da escrita desse artigo, os manuais para versão 6 ainda não estavam disponíveis. De qualquer maneira o guia de instalação da versão 5 pode ser utilizado. Também é possível obter ajuda no guia de instalação do RHEL 6 e em diversos guias pela internet.
Criação de usuário e atualização do sistema
Após a instalação, realize o reboot do servidor e conecte-se como root. Vamos criar um usuário administrativo para evitar o uso direto do root. O usuário deve fazer parte do grupo wheel e terá permissão administrativa através de sudo.
Para criar o usuário foobar e adiciona-lo ao grupo wheel:
[root@centos ~]# useradd -G wheel foobar
[root@centos ~]# passwd foobar
Agora vamos atualizar o sudo e configurar permissão para todos usuários do grupo wheel:
[root@centos ~]# yum install sudo
[root@centos ~]# visudo
Basta alterar a linha baixo removendo o '#' inicial dela, salvar e sair.
Com isso podemos passar a usar o novo usuário que terá direitos administrativos através do sudo. Efetue logout como root e conecte-se agora com o novo usuário.
Vamos atualizar o servidor. Antes de fazer isso costumo configurar os repositórios EPEL. Esses repositórios contém pacotes diversos para distribuições como RHEL, CentOS e Scientific Linux. Para habilitar basta baixar o pacote RPM e instala-lo:
[foobar@centos ~]$ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
[foobar@centos ~]$ sudo rpm -ivh epel-release-6.5.noarch.rpm
Agora fazemos a atualização do sistema:
[foobar@centos ~]$ sudo yum check-update
[foobar@centos ~]$ sudo yum upgrade
Com o Linux instalado, já temos o L do LAMP, agora vamos instalar o Apache e configura-lo para subir junto com o boot do servidor. Para isso basta executar os comandos:
[foobar@centos ~]$ sudo yum install httpd httpd-manual
[foobar@centos ~]$ sudo chkconfig httpd on
É necessário editar o arquivo /etc/httpd/conf/httpd.conf para fazer a configuração inicial do Apache. Não é preciso modificar muita coisa do padrão, basta alterar os trechos indicados abaixo.
Abra o arquivo no seu editor de textos favorito, procure o trecho abaixo:
E altere-o para:
Mais uma modificação, procure o trecho abaixo:
Por fim, alterar o trecho abaixo de:
Salve o arquivo, saia e em seguida reinicie o Apache com o comando:
[foobar@centos ~]$ sudo service httpd restart
Para testar a configuração basta acessar através de qualquer navegador o o endereço IP do seu servidor. Antes precisamos apenas criar uma regra no firewall permitindo conexão na porta 80 que é bloqueada por padrão no CentOS:
[foobar@centos ~]$ sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Após é interessante salvar a regra para que seja aplicada toda vez que o iptables for carregado:
[foobar@centos ~]$ sudo service iptables save
Me dê um M: Instalando MySQL Server
Com o Apache testado e funcionando, podemos instalar o MySQL Server:
[foobar@centos ~]$ sudo yum install mysql-server mysql
Após a instalação é importante Fazer a configuração inicial de segurança do MySQL Server rodando o script abaixo:
[foobar@centos ~]$ sudo /usr/bin/mysql_secure_installation
P de PHP
Para finalizar o ambiente LAMP só falta o PHP. Basta instalar os pacotes abaixo:
[foobar@centos ~]$ sudo yum install php php-mysql php-pear
Configurando o primeiro site
Nesse momento já temos o ambiente LAMP configurado, é possível fazer a instalação de alguma aplicação PHP como por exemplo o Wordpress. Abaixo um exemplo de configuração de virtual host para prover o site www.dominio.com.br nesse servidor recém instalado.
Primeiro vamos criar o diretório onde o site será hospedado:
[foobar@centos ~]$ sudo mkdir /var/www/dominio.com.br/
Agora vamos criar a configuração de virtual host no Apache, basta criar o arquivo /etc/httpd/conf.d/dominio-com-br.conf com o conteudo:
DocumentRoot /var/www/dominio.com.br
ErrorLog /var/log/httpd/dominio.com.br-error.log
CustomLog /var/log/httpd/dominio.com.br-access.log combined
Basta popular o diretório /var/www/dominio.com.br com o seu site e reiniciar o Apache:
[foobar@centos ~]$ service httpd restart
Com essa configuração o seu servidor já pode responder por esse site. Claro que para o site se torne acessível ao público, o DNS desse domínio deve ser configurado para apontar pro seu servidor. Essa configuração foge do escopo desse rápido guia.
LAMP no CentOS é simples, rápido e fácil. Em alguns minutos você já tem a configuração inicial de um servidor web. Evidentemente ainda faltam algumas várias configurações importantes antes de colocar esse servidor em produção. É importante atentar a segurança, também fazer algum tunning no que foi instalado.
Como esse é apenas um guia rápido, não vou abordar essas configurações. Em textos futuros pretendo relatar algumas delas, sempre me baseando nas configurações reais que usei quando montei o servidor que roda esse site.