Como Instalar LEMP Stack no CentOS 7 Minimal

Nginx é um software de servidor web de código aberto e o PHP v7 é a versão mais recente do mecanismo PHP. Neste tutorial, nós vamos usá-lo para criar instalar LEMP (Linux, Enginx, MySQL, PHP). O Nginx substitui o popular pacote Apache, encontrado no LAMP.

O Que Você Vai Precisar

Antes de começar este tutorial, você vai precisar de acesso root a um serviço de hospedagem VPS.

1º Passo  – Como Instalar Nginx no CentOS 7

Já que o Nginx não está mais disponível nos repositórios padrões do CentOs, nós vamos instalar o repositório  EPEL executando este comando:

yum install epel-release -y

Em seguida, vamos instalar o próprio Nginx:

yum install nginx -y

Depois de completar as instalações, ative o Nginx para que comece a inicialização e execute:

systemctl start nginx
systemctl enable nginx

Para verificar se o Nginx está funcionando, você pode visitar o seu endereço de IP pelo navegador. Primeiro, localize o seu IP:

dig +short myip.opendns.com @resolver1.opendns.com

Então, apenas copie e cole o endereço no seu navegador e você deve se deparar com uma página parecida com a exibida abaixo:

Instalar Nginx Padrao

2º Passo – Como Instalar MySQL (MariaDB)

Uma vez que o servidor web está instalado, nós podemos seguir em frente com a instalação no MySQL. MariaDB é uma comunidade do antigo e conhecido serviço MySQL. Já que o MariaDB vem como repositório padrão do CentOS, nós podemos executar Yum para instalar:

yum install mariadb-server mariadb -y

Depois de completar a instalação, vamos ativar e iniciar o serviço:

systemctl start mariadb
systemctl enable mariadb

E por último, execute o script de configuração inicial que removerá algumas das configurações padrão:

mysql_secure_installation

O MariaDB vai solicitar a senha root, porém como se trata de uma instalação inicial, você não terá nenhuma senha, apenas pressione enter. O próximo prompt vai solicitar se você quer configurar uma senha root, entre Y e siga as instruções abaixo:

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: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
 ... Success!

Você pode pressionar ENTER para inserir a senha e aceite as demais configurações padrões para as perguntas seguintes. Assim que completar a instalação, prossiga para instalar o PHP.

3º Passo – Instalar PHP v7.1.0

A primeira coisa que temos que fazer é instalar o repositório adicional CentOS que contém pacotes necessários para o PHP v7.1:

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Habilite o repositório php71 que vem desabilitado por padrão:

yum install yum-utils -y
yum-config-manager --enable remi-php71

Em seguida, instale o pacote PHP:

yum --enablerepo=remi,remi-php71 install php-fpm php-common

Instale os módulos comuns:

yum --enablerepo=remi,remi-php71 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

4º Passo – Configurar Nginx Para Funcionar Com PHP 7

Crie um novo arquivo de configuração Nginx executando o editor de texto nano ou vim:

nano /etc/nginx/conf.d/default.conf

Insira este código:

server {
    listen   80;
    server_name  your_server_ip;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Importante! Substitua your_server_ip pelo IP do seu servidor.

Pressione CTRL + X (CMD + X para usuários Mac) para salvar o arquivo. Reinicie Nginx para que as alterações sejam aplicadas:

systemctl restart nginx

Agora, abra a configuração PHP-FPM:

nano /etc/php-fpm.d/www.conf

Localize e substitua as linhas abaixo:

Onde está escrito “user = apache” substitua por “user = nginx“.

Substitua “group = apache“ por “group = nginx

listen.owner = nobody” deve ficar comolisten.owner = nginx

E “listen.group = nobody deve ser substituído por “listen.group = nginx

Por fim, abaixo de “;listen = 127.0.0.1:9000 adicione a linha:

listen = /var/run/php-fpm/php-fpm.sock

E de novo, clique em CTRL + X para salvar. Por fim, inicie o php-fpm e habilite para inicialização:

systemctl start php-fpm.service
systemctl enable php-fpm.service

Conclusão

Pode ser que para instalar pilha LEMP no CentOS 7 Minimal exija mais configurações do que a conhecida LAMP, mas você pode ter certeza que estará usando a mais recente tecnologia dos dois mundos –  um rápido pacote de processadores PHP-FPM v7 com o moderno serviço web Nginx.

Author
O autor

Ariane G.

A Ariane é SEO Team Leader com experiência em conteúdo, localização e SEO. Seu desafio é levar a Hostinger ao topo dos resultados no Brasil, França e Reino Unido. Eventualmente ela compartilha seu conhecimento no blog e nos tutoriais da Hostinger e no tempo livre ela gosta de explorar lugares novos e viver intencionalmente.