Neste tutorial vamos aprender a instalar um stack LAMP no sistema operativo CentOS 7.

O Que é um Stack LAMP?

Um stack “LAMP” é um conjunto de software open source, tipicamente instalado em conjunto para permitir que um servidor aloje sites dinâmicos e aplicações web.

O acrónimo é relativamente fácil de descodificar. O nome LAMP vem de “Linux”, o sistema operativo, num servidor web Apache, que aloja os dados numa base de dados MySQL, e processa o conteúdo dinâmico em PHP.

Pré-requisitos

Antes de poder começar a seguir este tutorial deve ter uma conta separada, não-root, no servidor.

Instalar Apache

O primeiro passo deste tutorial é instalar o Apache. A popularidade do Apache faz com que seja uma excelente escolha para alojar um site.

É fácil de instalar o Apache com o package manager do CentOS, yum . Um package manager permite-nos instalar a maior parte do software através de um repositório mantido pelo CentOS.

Podemos começar com estes comandos:

sudo yum install httpd

Visto que estamos a utilizar um comando “sudo”, estas operações são executadas com privilégios root. Portanto, vai ser necessário que introduza a sua password.

Quando o servidor web estiver instalado, podemos iniciar o Apache na nossa VPS:

sudo systemctl start httpd.service

É possível verificar se tudo correu bem ao visitar o IP público do nosso servidor no nosso browser. Se ao introduzir o IP do servidor encontrar a página por defeito do CentOS 7 Apache, é porque tudo correu bem.

A página parece-se com isto:

Depois, resta-nos apenas fazer com que o Apache inicie ao fazer boot:

sudo systemctl enable httpd.service

Descobrir o IP Público do Nosso Servidor

Caso não saiba qual é o IP público do seu servidor, existem várias maneiras de o encontrar. Normalmente, é o endereço que utiliza para se ligar ao servidor através de SSH.

A partir da linha de comandos, é possível descobri-lo de várias maneiras.

Podem-se usar as ferramentas iproute2 ao escrever isto:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Este comando vai retornar uma ou duas linhas. São ambas endereços corretos, mas no entanto o seu computador pode só conseguir utilizar um deles. Caso não consiga com um, tente com o outro.

Instalar MySQL (MariaDB)

Agora que temos o nosso servidor a funcionar, está na altura de instalar a base de dados do nosso stack LAMP: a MariaDB.

A MariaDB é um fork comunitário do MySQL e vai organizar e permitir o acesso à base de dados do nosso site.

Mais uma vez, iremos utilizar o yum para instalar o software. Vamos aproveitar e instalar outros pacotes que vão ajudar os nossos componentes a comunicar uns com os outros:

sudo yum install mariadb-server mariadb

Quando a instalação estiver concluída, é preciso iniciar a MariaDB com o comando seguinte:

sudo systemctl start mariadb

Agora que a base de dados MySQL está a funcionar, queremos executar um script de segurança que vai remover algumas das definições predefinidas mais perigosas e fazer a nossa base de dados ligeiramente mais segura:

sudo mysql_secure_installation

O comando anterior vai pedir a password root. No entanto, como acabámos de instalar o MySQL, é provável que ainda não tenhamos uma. Podemos deixar o campo da password em branco e carregar no enter.

Depois disso, vai-nos ser perguntado se queremos criar uma password root. Vamos carregar no “Y” e fazer o seguinte:

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorization.

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

Relativamente às outras questões que vão surgir, vamos ignorá-las, pressionando enter à medida que forem surgindo para aceitar as sugestões predefinidas.

As sugestões predefinidas vão eliminar users e bases de dado de amostras, impedir logins root remotos, e carregar estas novas regras, de modo a que o MySQL respeite as mudanças efetuadas.

A última coisa que precisamos de fazer é garantir que a MariaDB inicia no boot:

sudo systemctl enable mariadb.service

Agora que a base de dados já está pronta, passemos ao PHP.

Instalar PHP

O PHP é o componente do nosso stack LAMP que processa o código para mostrar o conteúdo dinâmico. Pode executar scripts, ligar-se à nossa base de dados MySQL para obter informação, e entregar o conteúdo processado ao nosso servidor web.

Novamente, vamos utilizar o sistema yum para instalar os nossos componentes. Vamos aproveitar e instalar o pacote php-mysql :

sudo yum install php php-mysql

Com este comando, o PHP deverá ser instalado sem quaisquer problemas. Agora é apenas necessário reiniciar o Apache para que consiga funcionar com PHP:

sudo systemctl restart httpd.service

Instalar Módulos PHP

Para aumentar a funcionalidade do PHP, podemos instalar alguns módulos opcionais.

Para que consigamos ver os vários módulos PHP e as diferentes bibliotecas, podemos escrever isto:

yum search php-

O resultado do comando vai ser uma lista de componentes que podemos instalar. Cada componente oferece também uma pequena descrição:

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library

php-cli.x86_64 : Command-line interface for PHP

php-common.x86_64 : Common files for PHP

php-dba.x86_64 : A database abstraction layer module for PHP applications

php-devel.x86_64 : Files needed for building PHP extensions

php-embedded.x86_64 : PHP library for embedding in applications

php-enchant.x86_64 : Enchant spelling extension for PHP applications

php-fpm.x86_64 : PHP FastCGI Process Manager

php-gd.x86_64 : A module for PHP applications for using the gd graphics library

. . .

Para ter mais informação sobre o que cada pacote faz, podemos pesquisar na internet, ou escrever:

yum info

O resultado do comando vai ser bastante extenso. Algures lá no meio vai estar um campo chamado Description , que vai ter uma explicação alargada das funcionalidades do módulo escolhido.

Por exemplo, para descobrirmos o que é que o módulo php-fpm faz, podemos escrever isto:

yum info php-fpm

No meio da informação que vai aparecer, vai estar qualquer coisa como isto:

. . .

Summary : PHP FastCGI Process Manager

URL : http://www.php.net/

License : PHP and Zend and BSD

Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI

: implementation with some additional features useful for sites of

: any size, especially busier sites.

Se depois de pesquisar quiser instalar o módulo, pode o fazer com o “yum”, como temos feito até agora. Para o nosso exemplo, ficaria algo como isto:

sudo yum install php-fpm

É possível instalar mais do que um módulo ao mesmo tempo. Para isso só é preciso que se separe cada um com um espaço depois do comando yum install .

A partir daqui o nosso stack LAMP já está instalado e configurado. No entanto, é aconselhável que testemos o nosso PHP.

Testar o Processamento PHP no Servidor

Para termos a certeza de que o nosso servidor está configurado corretamente no que diz respeito a PHP, podemos fazer um script PHP básico.

Vamos chamar a este script “info.php”. Para que o Apache consiga encontrar o ficheiro, este deve ser salvo num diretório específico, chamado “web root”.

No CentOS 7, o diretório está localizado em /var/www/html/ . Podemos criar o ficheiro nessa localização ao escrever:

sudo vi /var/www/html/info.php

Isto vai abrir um ficheiro em branco. Lá dentro, colocaremos o seguinte código PHP:

<?php phpinfo(); ?>

Depois, basta guardar e fechar o ficheiro.

Caso estejamos a utilizar uma firewall, devemos utilizar os seguintes comandos para permitir tráfego HTTP e HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

Agora podemos testar se o nosso servidor consegue mostrar conteúdo gerado por scripts PHP. Para fazer isto, basta-nos ir até à página do nosso servidor onde está guardado o ficheiro que criámos.

Mais uma vez, vai ser necessário o IP público do nosso servidor.

O endereço que iremos visitar vai ser algo como:

http:// IP_do_nosso_servidor /info.php

A página vai nos dar informação acerca do servidor na perspetiva do PHP. É útil para garantir que todas as definições estão a ser aplicadas corretamente.

Se tiver conseguido ver a página PHP, então o PHP está a funcionar corretamente.

Depois disto é aconselhável que elimine a página que criou. Caso contrário, utilizadores externos podem ter acesso a informações sobre o seu servidor. Para o fazer, basta executar o seguinte comando:

sudo rm /var/www/html/info.php

Caso pretenda ter acesso a esta página no futuro, pode recriá-la seguindo os passos anteriores.

Conclusão

Depois deste tutorial terá instalado com sucesso um stack LAMP em CentOS 7. Agora que instalou uma plataforma onde poderá instalar vários tipos de sites e software, as oportunidades são imensas. A partir daqui é consigo.

Se tiver qualquer dúvida, deixe-nos um comentário.