Quando necessitamos de criar sites/conteúdos Web, temos de possuir um ambiente de desenvolvimento que tenha suporte para as tecnologias nas quais vamos desenvolver os nossos sites.
No Pplware já apresentamos alguns servidores/plataformas Web mas o nosso tutorial de hoje tem como objetivo ensinar a instalar o Nginx com suporte para PHP 7 e MySQL 5.7. Vamos a isso?
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 objetivo ser um servidor estável, simples de configurar e que necessitasse de poucos recursos ao nível de hardware.
Como instalar o Nginx + PHP7 e MySQL5.7 no Ubuntu
Vamos considerar que a máquina onde vamos instalar o servidor web tem o IP: 192.168.1.90
Para começar vamos abrir o terminal e uma vez que vamos necessitar de privilégios de root (várias vezes) vamos executar o seguinte comando:
su
Passo 1 – Instalar o MySQL 5.7
apt-get -y install mysql-server mysql-client
Durante a instalação devem indicar uma password de acesso ao MySQL.
Devem ainda garantir ainda a melhor segurança do serviço. Para tal executem o seguinte comando:
/usr/bin/mysql_secure_installation
Durante a configuração, devem seguir os seguintes passos:
- Enter current password for root (enter for none): # DAR ENTER #
- Set root password? [Y/n] # DAR ENTER #
- New password: # Redefinir Password #
- Re-enter new password: # Redefinir Password #
- Remove anonymous users? [Y/n] Y
- Disallow root login remotely? [Y/n] Y
- Remove test database and access to it? [Y/n] Y
- Reload privilege tables now? [Y/n] Y
Passo 2 – Instalar o Nginx
Primeiro devem desinstalar por completo o apache2
service apache2 stop
update-rc.d -f apache2 remove
apt-get remove apache2
Instalar o Nginx no Ubuntu é muito simples. Para tal basta inserir no terminal o seguinte comando:
apt-get install nginx
Para iniciar o nginx devem executar o seguinte comando:
service nginx start
Nota: No Ubuntu, a directoria por omissão para colocar os sites é/var/www/html.
Passo 3 – Instalar o PHP7
Para que o PHP7 funcione correctamente no Ubuntu é necessário instalar o PHP-FPM (PHP-FPM (FastCGI Process Manager) que é uma alternativa ao PHP FastCGI. Para instalar o php7-fpm basta executar o seguinte comando:
apt-get -y install php7.0-fpm
Configuração
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:
[…]
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don’t use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# 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 recarregá-las executando para isso o comando:
service nginx reload
Devem ainda aceder ao ficheiro /etc/php/7.0/fpm/php.ini e definir cgi.fix_pathinfo=0;
Depois da alterações fazemos reload ao PHP-FPM
service php7.0-fpm reload
Para testar vamor criar um ficheiro info.php
nano /var/www/html/info.php
e colocar o seguinte código:
Em seguida abrimos o browser e inserimos o endereço http://localhost/info.php. O resultado deverá ser idêntico ao que aparece na imagem seguinte:
Passo 4 – Configurar o PHP para suporte com MySQL
Para que o PHP tenho suporte para MySQL devem executar o seguinte comando:
apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext
Para finalizar voltem a fazer reload ao PHP-FPM
service php7.0-fpm reload
Acedendo a http://localhost/info.php já devem ver que agora o servidor nginx já tem suporte para MySQL. E está feito. Como tiveram a oportunidade de 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.