Como instalar Linux, Apache, MySQL, PHP (LAMP) no Ubuntu 12.04

LAMP no Ubuntu 12.04

No post em que fiz um review sobre o DigitalOcean, servidor VPS (cloud server), prometi que criaria um tutorial sobre como instalar um servidor para hospedagem de sites. Então como prometido, vamos lá!

O que é LAMP?

LAMP é uma abreviação para cada uns dos serviços que iremos instalar em nosso servidor, são eles:

Linux: O sistema operacional que usaremos nesse tutorial será o Ubuntu 12.04 x64.

Apache: Servidor web que irá interpretar os códigos de seu site e retorna-lo através do protocolo http.

MySQL: Servidor de banco de dados.

PHP: Linguagem de scripts web para criar sistemas e sites dinâmicos. No caso, estamos instalando em nosso server um interpretador para essa linguagem.

LAMPInstalando o Ubuntu 12.04 x64

Antes de começar a instalar o LAMP, precisamos é claro de um servidor. Apesar do foco desse tutorial não ser a divulgação do DigitalOcean, utilizarei eles como exemplo, pois é o servidor que utilizo no momento e estou bastante satisfeito com a qualidade. Mas nada te impede de usar um outro servidor, o tutorial irá funcionar de qualquer forma (ou quase rs).

Primeiro passo é dar um nome para seu Droplet, sugiro que seja um nome curto, para não ocupar muito espaço no terminal (Putty).

Em seguida escolher qual o tamanho e especificações você precisa que seu server possua. Essa parte vai muito de sua necessidade, não há uma regra para isso.

DigitalOcean Droplet create

Após isso, haverá uma outra opção para escolha da localização do servidor, atualmente está disponível no DigitalOcean: 3 servers em New York, 3 em Amsterdam, 1 em San Francisco, 1 no Cingapura e 1 em Londres.

O próximo passo será a escolha da distribuição do Linux, no caso iremos utilizar nesse tutorial o Ubuntu 12.04 x64.

DigitalOcean Ubuntu 12.04 x64

Então é só clicar no botão verde Create Droplet e aguardar a instalação. Irá chegar para você um email com o IP, login e senha de seu novo servidor na DigitalOcean.

Para se logar, abra o Terminal e digite:

ssh [email protected]

Troque 123.123.123.123 pelo IP do seu servidor.

Para saber qual o IP do server digite isso no terminal:

ifconfig eth0 | grep inet | awk '{ print $2 }'

Será solicitada uma confirmação para você aceitar o registro de uma chave em seu computador, digite yes e dê enter.

Em seguida será solicitada a senha e pronto, você está logado em seu novo servidor.

Realizando o primeiro login no servidor

Servidor instalado e rodando, vamos então finalmente instalar o LAMP. O tutorial a seguir será baseado (não traduzido) no mesmo que está postado no site da DigitalOcean.

Primeiro passo – Instalar o Apache

A primeira coisa que iremos instalar é o Apache, o servidor web mais utilizado do mundo. Para isso utilizaremos o comando do gerenciador de pacotes do Ubuntu: apt.

sudo apt-get update
sudo apt-get install apache2

Uma confirmação será exigida para continuar, digite y (yes) e dê enter.

Após o processo terminar, abra seu navegador e digite o IP de seu servidor para testar se o Apache está funcionando. Se tudo ocorrer bem, você visualizará uma tela como essa abaixo:

Apache funcionando

Segundo passo – Instalar o MySQL

Para instalar o servidor do MySQL entre com o seguinte comando no terminal:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Note que estamos instalando mais de uma coisa ao mesmo tempo, além do MySQL, duas bibliotecas que farão a comunicação do Apache e do PHP com o MySQL.

Durante a instalação será solicitada uma nova senha para o usuário root (principal):

Senha MySQL

Após instalado o MySQL, iremos agora ativar o server com esse comando:

sudo mysql_install_db

Próxima etapa é rodar o script de configuração do MySQL:

sudo /usr/bin/mysql_secure_installation

O terminal irá solicitar novamente a senha de root:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Então o terminal irá perguntar se deseja alterar a senha de root, digite N e continue.

Outras perguntas que aparecerão no terminal, para facilitar, digite Y para todas e aguarde para finalizar a configuração.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

Terceiro passo – Instalar o PHP

Para instalar o PHP digite o seguinte comando em seu terminal:

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Agora precisamos adicionar a extensão do PHP no diretório do Apache e para isso iremos abrir no Nano (editor de arquivos do Terminal) o arquivo de index do Apache:

sudo nano /etc/apache2/mods-enabled/dir.conf

Basta digitar index.php logo após DirectoryIndex e antes de index.html, como no exemplo:

<IfModule mod_dir.c>

          DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm

</IfModule>

Nano Terminal

Para salvar e sair, aperte control + X (no OSX), digite Y e dê enter.

Módulos PHP

Vamos agora instalar alguns módulos do PHP que podem ser necessários de acordo com o a finalidade de nosso servidor.

Para saber quais os módulos disponíveis para instalação, entre com o comando:

apt-cache search php5-

Aparecerá uma lista com todos os módulos e suas descrições.

Para instalar qualquer um deles, entre com o comando:

sudo apt-get install nome_do_modulo

Troque nome_do_modulo pelo módulo que deseja instalar. Lembrando que é possível instalar mais de um ao mesmo tempo, basta adicionar na mesma linha o nome de todos que quiser.

Se você assim como eu utiliza o WordPress em seus sites e blogs, recomendo instalar o módulo CURL, necessário para muitas coisas dentro do WordPress, como por exemplo instalar plugins direto pelo Admin.

sudo apt-get install php5-curl

Quarto passo – Testar a bagaça!

E por fim iremos então testar nosso servidor rodando um arquivo em PHP. Para isso vamos subir um arquivo de teste na pasta /var/www/, onde nós iremos subir todos arquivos para o servidor daqui pra frente.

Existem duas formas de subir um arquivo phpinfo de teste, uma é criando o arquivo em si diretamente em sua máquina e depois fazer o upload através de um programa de FTP (lembrando de logar nele como SFTP) e a outra forma é criar esse arquivo pelo próprio terminal usando o Nano, como foi já falado anteriormente. Para facilitar o exemplo nesse tutorial, vamos criar o arquivo pelo Nano:

sudo nano /var/www/info.php

Com o Nano aberto, digite esse código PHP:

<?php
phpinfo();
?>

Salve e feche o Nano. Em seguida digite o seguinte comando para reiniciar o servidor Apache para que todas nossas alterações tenham efeito:

sudo service apache2 restart

Tudo finalizado, é hora do veredito.

Em seu navegador acesse o endereço de IP do servidor barra “/” info.php:

123.123.123.123/info.php

E se tudo ocorreu conforme o esperado, você irá visualizar uma tela como essa:

PHP rodando no servidor

Fim =)

Então é isso amigos. Instalar o LAMP em um servidor com Ubuntu pode até parecer difícil de primeira vista, mas quando você botar as mãos na massa verá que não é bem assim um bicho de sete cabeças.

Eu não sou nenhum especialista em servidores Linux ou coisa do gênero, tudo que sei foi aprendido pela necessidade do uso. Caso você tenha alguma dúvida em relação ao que foi explicado aqui, deixe nos comentários e se eu puder ajudar, farei com o maior prazer.

                           

8 ComentáriosComente

Deixe uma resposta

Seu email não será publicado. Campos marcados com * são obrigatórios.

This site uses Akismet to reduce spam. Learn how your comment data is processed.