Instale Nginx, MariaDB e PHP no FreeBSD 10.2
Em nosso tutorial anterior, descrevemos como configurar a pilha FAMP no FreeBSD.
- Instale a pilha Apache, MariaDB e PHP (FAMP) no FreeBSD 10.2
Agora, mostraremos como instalar a pilha Nginx, MariaDB e PHP (FEMP) no servidor FreeBSD 10.2.
Como você provavelmente sabe, FEMP é o acrônimo de FreeBSD, Nginx (engine x), MariaDB/MySQL e PHP.
Para os fins deste tutorial, usarei a seguinte máquina de teste.
- Sistema operacional: sistema FreeBSD 10.2 de 64 bits
- Nome do host: freebsd.ostechnix.local
- Endereço IP: 192.168.1.103/24
Bem, agora vamos começar a implantar a pilha FAMP no FreeBSD 10.2.
1. Atualize seu FreeBSD
Como qualquer outro sistema operacional, devemos atualizar o FreeBSD antes de instalar qualquer software. Para fazer isso, mude para usuário root:
su
E execute os seguintes comandos um por um para atualizar seu servidor FreeBSD:
freebsd-update fetch install
2. Instale o Nginx
Instale o servidor web Nginx usando o comando:
# pkg install nginx
Configurar o Nginx
O arquivo de configuração padrão do Nginx é /usr/local/etc/nginx/nginx.conf.
Vamos fazer backup do arquivo de configuração primeiro, caso algo dê errado, podemos restaurar facilmente a partir do backup.
Para fazer isso, execute:
mv /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.bak
A seguir, crie um novo arquivo de configuração Nginx:
nano /usr/local/etc/nginx/nginx.conf
Adicione as seguintes linhas:
user www;
worker_processes 1;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name ostechnix.local www.ostechnix.local;
root /usr/local/www/nginx;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
}
Substitua a diretiva server_name (ostechnix.local) pela sua própria. Salve e feche o arquivo.
Em seguida, crie os arquivos de log necessários. Esses arquivos de log serão úteis para qualquer solução de problemas e análise de erros no futuro.
mkdir -p /var/log/nginx
touch /var/log/nginx/access.log
touch /var/log/nginx/error.log
Em seguida, precisamos configurar o diretório raiz da web correto. Por padrão, o diretório raiz da web é /usr/local/www/nginx, mas é apenas um link simbólico para o diretório “nginx-dist ”.
Devemos remover esse link e apontá-lo para o local correto.
Então, vamos remover o diretório raiz da web com o comando:
rm -rf /usr/local/www/nginx
Em seguida, recrie o diretório raiz da web com o comando:
mkdir /usr/local/www/nginx
Em seguida, devemos copiar o arquivo index.html para o diretório raiz da web, porque ele foi excluído enquanto removíamos o diretório raiz da web na etapa anterior.
cp /usr/local/www/nginx-dist/index.html /usr/local/www/nginx
Teste se o arquivo de configuração nginx está correto com o comando:
nginx -t
Exemplo de resultado:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Finalmente, precisamos habilitar e iniciar o serviço Nginx. Para fazer isso, execute:
sysrc nginx_enable=yes
service nginx start
Teste Nginx
Abra seu navegador e navegue até: http://endereço IP/ ou http://localhost. Você verá a seguinte página de teste do Nginx.
Parabéns! A instalação do servidor web Nginx foi bem-sucedida e está funcionando bem.
Em seguida, precisamos instalar o MariaDB.
3. Instale MariaDB
MariaDB é um substituto imediato do MySQL. Para instalar o MariaDB, execute:
pkg install mariadb100-server
Em seguida, copie o arquivo de configuração do MariaDB do diretório '/usr/local/share/mysql/' para '/usr/local/etc/' conforme mostrado abaixo.
cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnf
Em seguida, habilite e inicie o serviço MariaDB usando comandos:
sysrc mysql_enable=yes
service mysql-server start
Configurar a senha do usuário root do MariaDB
Como você provavelmente sabe, o usuário root do MariaDB está vazio, o que não é recomendado, no momento da instalação. Portanto, para proteger o usuário root do MariaDB, é obrigatório configurar uma senha forte para o usuário root. Para fazer isso, execute:
# mysql_secure_installation
Quando solicitado “Digite a senha atual para root ”, basta pressionar a tecla ENTER e definir a senha duas vezes. Em seguida, basta pressionar Y para aceitar os valores padrão.
Exemplo de resultado:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): ## Press Enter
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] ## Press Enter
New password: ## Enter password
Re-enter new password: ## Re-enter password
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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] ## Press Enter
... 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] ## Press Enter
... Success!
By default, MariaDB 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] ## Press Enter
- 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] ## Press Enter
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
É isso. MariaDB está instalado e protegido agora. Vamos prosseguir e instalar o PHP.
4. Instale PHP
Para instalar o PHP, execute:
pkg install php56-mysql php56-mysqli
Depois de instalar o PHP, copie o arquivo de configuração PHP de amostra /usr/local/etc/php.ini-production para o diretório /usr/local/etc/ conforme mostrado abaixo.
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Se você fizer alguma alteração, deverá atualizá-la usando o comando:
rehash
Agora, precisamos configurar o PHP com o servidor web Nginx.
Configurar PHP com servidor web Nginx
Edite o arquivo /usr/local/etc/php-fpm.conf:
nano /usr/local/etc/php-fpm.conf
Encontre a seguinte linha:
listen = 127.0.0.1:9000
E substitua por:
listen = /var/run/php-fpm.sock
Em seguida, encontre as seguintes linhas e descomente-as.
listen.owner = www
listen.group = www
listen.mode = 0660
Salve e feche o arquivo.
Testar PHP
Crie um arquivo PHP de amostra no diretório raiz da web:
nano /usr/local/www/nginx/test.php
Adicione a seguinte linha:
<?php phpinfo(); ?>
Salve e feche o arquivo.
Em seguida, ative e inicie o serviço PHP-FPM com os seguintes comandos:
sysrc php_fpm_enable=yes
service php-fpm start
Finalmente, reinicie o serviço nginx usando o comando:
service nginx restart
Agora, abra seu navegador e navegue até: http://IP-Address/info.php
Você deverá ver a seguinte página de teste PHP.
Instale módulos PHP
Precisamos instalar módulos PHP (extensões) para aprimorar a funcionalidade do PHP. Isso é opcional, você pode ignorá-lo se não precisar instalar nenhuma extensão.
Para visualizar a lista de módulos disponíveis, basta executar:
pkg search php56
Você pode verificar o que cada módulo faz na seção de comentários na saída acima ou apenas executar o seguinte comando
pkg search -f php56-curl
Exemplo de resultado:
php56-curl-5.6.18
Name : php56-curl
Version : 5.6.18
Origin : ftp/php56-curl
Architecture : freebsd:10:x86:64
Prefix : /usr/local
Repository : FreeBSD [pkg+http://pkg.FreeBSD.org/FreeBSD:10:amd64/quarterly]
Categories : ftp
Licenses : PHP301
Maintainer : ale@FreeBSD.org
WWW : http://www.php.net/
Comment : The curl shared extension for php
[...]
Para instalar uma extensão PHP, por exemplo php56-curl-5.6.18, execute:
pkg install php56-curl
Parabéns! Nesta fase, a pilha FEMP está pronta para hospedar seus sites ou qualquer aplicativo baseado na web.
É tudo por agora. Obrigado por ler este tutorial. Se você tiver alguma dúvida, sinta-se à vontade para perguntar na seção de comentários abaixo. Nós resolveremos isso o mais rápido possível.
Se você achar este tutorial útil, compartilhe-o em suas redes sociais e apoie a OSTechNix.
Saúde!