Servidor FAMP

Nesta postagem vou ensiná-los a fazer uma configuração básica e eficiente para ter um servidor FAMP (FreeBSD + Apache + MySQL + PHP) operando para hospedagem de sites, bancos de dados e servidores de arquivos.


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


Se estiver interessado em configurar um servidor LAMP (Linux, Apache, MySQL e PHP) pode checar esta publicação!

Introdução

Uma pilha FAMP, que é semelhante a uma pilha de rede LAMP no Linux, é um grupo de software de código aberto que é normalmente instalado em conjunto para permitir que um servidor FreeBSD hospede sites dinâmicos e aplicativos da web. FAMP é um acrônimo que significa F de FreeBSD (o sistema operacional), A para Apache (servidor web), M para MySQL (servidor de banco de dados) e P de PHP (para processar conteúdo dinâmico em formato PHP).

Pré-requisitos

Antes de começar este guia, você precisará do seguinte:

  • FreeBSD instalado, na versão que desejar, apesar que este tutorial se baseou no 12.0.
  • Usuário com privilégios de root (ou com permissões de sudo) para fazer alterações na configuração.
  • Um firewall configurado, com as portas 443 e 80 liberadas.
  • Familiaridade com o CLI.

0. FreeBSD

O tutorial é voltado a aplicar um servidor em uma instalação pronta do FreeBSD, na versão de sua preferência, porém lembrando que este tutorial foi feito sob o 12. Caso você ainda não saiba como fazer uma instalação do BSD, será explicado em outra publicação. Dentre aqueles que já possuem uma instalação FreeBSD, prossigam com o tutorial!

1. Instalando o Apache

O servidor web Apache é atualmente o servidor web mais popular do mundo, o que o torna uma ótima opção para hospedar um site.

Você pode instalar o Apache usando o gerenciador de pacotes do FreeBSD, o pkg.
Para instalar o Apache 2.4 usando pkg, use este comando:

$ sudo pkg install apache24

Digite y no prompt de confirmação para instalar o Apache e suas dependências.

Para habilitar o Apache como um serviço, adicione apache24_enable=”YES” ao arquivo /etc/rc.conf. Isso pode ser facilmente feito com o seguinte comando:

$ sudo sysrc apache24_enable="YES"

Agora inicie o Apache:

$ sudo service apache24 start

Para verificar se o Apache foi iniciado, você pode executar o seguinte comando:

$ sudo service apache24 status

Como resultado, você verá algo semelhante a:

Output
apache24 is running as pid 20815.

A essa altura você deve ter o servidor rodando sem problemas!
Abra no navegador: http://ip-LAN-do-seu-servidor
Por exemplo: http://192.168.0.27
Esse IP você encontra com o comando:

$ ifconfig

Se tudo correu bem você verá a tela de demonstração de configuração do Apache no seu navegador.

Se você abriu corretamente as portas do seu modem, também terá acesso também via WAN a partir de agora. Nas configurações do seu Modem, procure por “DMZ” (Demilitarized Zone) e adicione o IP local do seu servidor a ele, assim o modem vai mandar qualquer acesso externo direto para seu servidor.

Para ver seu IP WAN: www.ipleak.net

Caso você acesse seu site pela rede LAN, usando o endereço de IP externo, terá um falso positivo. O site vai abrir mas você não tem garantias de que ele está disponível na web globalmente.
Então a dica que dou é você abrir esse seu IP WAN num celular conectado ao 3G, e, caso você veja a página padrão do Apache, meus parabéns, seu servidor está 100% operante inclusive para a web e qualquer um poderá acessá-lo! Os próximos passos vão afina-lo para ter melhor suporte a sites, customizações e configurações.

2. Instalando o MySQL

O M da sigla representa o MySQL, mas poderia ser o MariaDB: o ponto é que seja um gestor de bancos de dados, vital para gerenciamento de conteúdo de sites, e servidores de arquivos que utilizem recursos visuais com suporte cloud. OwnCloud por exemplo faz uso disso.

Para instalar o MySQL 8.0 usando pkg, use este comando:

$ sudo pkg install mysql80-server

Para habilitar o Apache como um serviço, adicione mysql_enable=”YES” ao arquivo /etc/rc.conf. Isso pode ser facilmente feito com o seguinte comando:

$ sudo sysrc mysql_enable="YES"

Agora inicie o servidor MySQL com o seguinte comando:

$ sudo service mysql-server start

Você pode verificar se o serviço está funcionando com este comando:

$ sudo service mysql-server status

Você vai ler algo semelhante ao seguinte:

Output
mysql is running as pid 21587.

Agora que seu banco de dados MySQL está em execução, você desejará executar um script de segurança simples que removerá alguns padrões perigosos e restringirá um pouco o acesso ao seu sistema de banco de dados. Inicie o script interativo executando este comando (é o mesmo do Linux!):

$ sudo mysql_secure_installation

Durante a execução deste comando, você será solicitado a usar o plugin de criação de senha segura. É recomendado negar (N) para não gerar conflitos caso você use uma senha fraca que não entre de acordo com as normas desse plugin.

Aqui você vai acabar de configurar a segurança do MySQL.
Será pedido para criar outra senha, dessa vez do usuário root do banco de dados (pode ser a mesma da anterior) alem de finalizar a correta instalação do MySQL e definição do novo banco de dados que será aplicado depois.

Terminou? terminado!

3. Instalando o PHP

A letra P representa a linguagem PHP que é amplamente utilizada para gerenciar servidores web e no caso desses pacotes, eles adicionam plugins e recursos extras aos sites, com muitos elementos visuais para serem aplicados e enriquecer a experiência de usuário. Uma opção é o Python mas aqui, no nosso exemplo, utilizei o PHP.

Para instalar o PHP 7.3 com pkg, execute este comando:

$ sudo pkg install php73 php73-mysqli mod_php73

Agora copie o arquivo de configuração de demonstração do PHP no lugar com este comando:

$ sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Agora, execute o comando rehash para gerar novamente as informações armazenadas em cache do sistema sobre os arquivos executáveis ​​instalados:

$ rehash

Antes de usar o PHP, você deve configurá-lo para trabalhar com o Apache!

3.1 Instalando Módulos PHP

Para melhorar a funcionalidade do PHP, você pode opcionalmente instalar alguns módulos adicionais.

Para ver as opções disponíveis para módulos e bibliotecas do PHP 7.3 , você pode digitar isto:

$ pkg search php73

Os resultados serão os principais módulos do PHP 7.3 que você pode instalar:

Output
php73-7.3.5 PHP Scripting Language
php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP
php73-aphpunit-1.8 Testing framework for unit tests
php73-bcmath-7.3.5 The bcmath shared extension for php
php73-brotli-0.6.2 Brotli extension for PHP
php73-bsdconv-11.5.0 PHP wrapper for bsdconv
php73-bz2-7.3.5 The bz2 shared extension for php
php73-calendar-7.3.5 The calendar shared extension for php
php73-composer-1.8.4 Dependency Manager for PHP
php73-ctype-7.3.5 The ctype shared extension for php
php73-curl-7.3.5 The curl shared extension for php
php73-dba-7.3.5 The dba shared extension for php
php73-deployer-6.4.3 Deployment tool for PHP
php73-dom-7.3.5 The dom shared extension for php

Para obter mais informações sobre o que cada módulo faz, você pode pesquisar na Internet ou pode consultar a descrição longa do pacote digitando:

$ pkg search -f nome-do-pacote

Haverá muita saída, com um campo chamado Comment, que terá uma explicação da funcionalidade que o módulo fornece.

Por exemplo, para descobrir o que o php73-calendar faz, você pode digitar isto:

$ pkg search -f php73-calendar

Juntamente com uma grande quantidade de outras informações, você encontrará algo parecido com isto:

Output
php73-calendar-7.3.5
Name : php73-calendar
Version : 7.3.5
Comment : The calendar shared extension for php

Se, depois de pesquisar, você decidir que gostaria de instalar um pacote, poderá fazê-lo usando o comando pkg install.

Por exemplo, se você decidir que php73-calendar é importante, você pode digitar:

$ sudo pkg install php73-calendar

Se você quiser instalar mais de um módulo de cada vez, você pode fazer isso listando cada um deles, separados por um espaço, seguindo o comando, assim:

$ sudo pkg install pacote1 pacote2

3.2 Configurando o Apache para usar o módulo PHP

O Apache HTTP possui um diretório dedicado para gravar arquivos de configuração para módulos específicos. Você vai escrever um desses arquivos de configuração para o Apache HTTP para “falar” com o PHP.

$ sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.conf

Adicione as seguintes linhas ao arquivo:

<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch “\.php$”>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch “\.phps$”>
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>

Agora verifique se a configuração HTTP do Apache está em boas condições:

$ sudo apachectl configtest

Você verá a seguinte saída:

Output
Performing sanity check on apache24 configuration:
Syntax OK

Como você fez alterações de configuração no Apache, é necessário reiniciar o serviço para que elas sejam aplicadas. Caso contrário, o Apache ainda funcionará com a configuração anterior.

$ sudo apachectl restart

Agora você pode testar o PHP no seu sistema.

3.3 Testando o Processamento PHP

Para testar se o seu sistema está configurado corretamente para o PHP, você pode criar um script PHP muito básico.

Você vai chamar esse script de info.php. Para que o Apache localize o arquivo e o sirva corretamente, ele deve ser salvo em um diretório específico chamado DocumentRoot, que é onde o Apache irá procurar por arquivos quando um usuário acessa o servidor web. A localização de DocumentRoot é especificada no arquivo de configuração do Apache que você modificou anteriormente (/usr/local/etc/apache24/httpd.conf).

Por padrão, o DocumentRooté definido como /usr/local/www/apache24/data. Você pode criar o info.php sob esse local digitando:

$ sudo vi /usr/local/www/apache24/data/info.php

Isto irá abrir um arquivo em branco. Insira este código PHP no arquivo:

<?php 
phpinfo(); 
?>

Salvar e sair.

Acesse do seu PC local:
http://SEU-IP-LOCAL/info.php

Se você tentar acessar via IP WAN, deverá também conseguir ver a nova página com informações do site demo em PHP.  Se chegou até aqui, parabéns! Servidor FAMP executando 100%.

Você deve remover esse arquivo após esse teste, pois ele pode fornecer informações sobre o servidor para usuários não autorizados. Para fazer isso, você pode digitar isto:

$ sudo rm /usr/local/www/apache24/data/info.php

Você pode recriar essa página sempre que precisar acessar as informações novamente.

Conclusão

Agora que você tem uma pilha FAMP instalada, você tem muitas opções para o que fazer a seguir. Você instalou uma plataforma que permitirá que você instale a maioria dos tipos de sites e software da web em seu servidor. O método *AMP é o método usado para hospedagem de 90% dos sites da internet! Existem variantes do FAMP como o MAMP (macOS) e o WAMP (Windows), mas a configuração e utilização deles é uma questão de preferência do sysadmin que estiver configurando e gerenciando o servidor

#UrbanCompassPony

Fonte:
digitalocean.com

Deixe um comentário