Como Instalar Apache e Hospedar sites no Servidor

O servidor Web Apache é uma ferramenta multiplataforma para disponibilizar páginas de um ou mais sites quando solicitados pelo usuário em um navegador.

Ele pode ser instalado na máquina local, na rede, no Docker, no VPS, etc..

No meu caso específico, estou utilizando um servidor Ubuntu na rede, via SSH, com um ip estático.

Ao servir as páginas HTML, o Apache contempla o CSS, PHP, MySQL, JavaScript, etc..

O Apache é muito eficiente em hospedagens compartilhadas de provedores de internet, pelo uso do arquivo htaccess, para servir muitos sites simultâneos no mesmo servidor.

As principais alternativas ao Apache são o Ngnix, Litesped, Caddy, etc..

Neste post, os procedimentos de instalação e configuração serão válidos para a instalação Linux, no Debian ou nas distribuições derivadas deste,  em especial a distro Ubuntu. Para o sistema Windows ver outra postagem, onde os procedimentos são ligeiramente diferentes.

Passos para Instalar o Apache:

1 – Abra o terminal e instale o Apache no servidor ou máquina local.

  • $ sudo apt update
  • $ sudo upgrade
  • $ sudo apt install Apache2

2- Verificar a versão e status do Servidor:

  • $ apache2 -v
  • $ sudo systemctl status apache2

3- Habilitar apache no boot.

           $ sudo systemctl enable apache2

4- Ajustar firewall para permitir conexões do Apache nas portas 80 e 443.

            $ sudo ufw allow in “Apache Full”

5- Verificar os IPs do Servidor localhost para entrar no navegador:

     $ hostname -I

     Como resposta teremos:  IP 192.168.1.201

6-  Alterar a ordem de precedência, para o Apache ler primeiro o arquivo index.php antes de index.html.

 $ sudo nano /etc/apache2/mods-enabled/dir.conf   

fig074-Confgurando o Apache-PHP primeiro

 

Passos para Hospedar os Sites no Servidor

Como ilustração, vamos criar dois dominios de sites, virtual host, sendo um com domínio para uma padaria.com e outro para uma livraria.com. Nesses sites, os arquivos e documentos ficarão por padrão num pasta de acesso publico com nome public_html. Ver sequência abaixo.

1 – Criar Diretórios:

  • $ sudo mkdir -p  /var/www/padaria.com/public_html
  • $ sudo mkdir -p  /var/www/livraria.com/public_html

 

2- Definir os usuários logados como sendo proprietários dos diretórios e dos subdiretórios em seus respectivos domínios:

  • $ sudo chown -R $USER:$USER  /var/www/padaria.com/public_html
  • $ sudo chown -R $USER:$USER  /var/www/livraria.com./public.html

 

3- Definir as permissões de acesso para leitura, escrita e execução para os usuários em suas repectivas categorias, para os diretórios e arquivos:

$ sudo chmod -R 775  /var/www

 

4- Criar os aquivos de configuração de cada site no diretório sites-available:

  $ sudo nano /etc/apache2/sites-available/padaria.com.conf

          ServerAdmin joaodapadaria@gmail.com
          ServerName padaria.com
          ServerAlias www.padaria.com
          DocumentRoot  /var/www/padaria.com/public_html
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined     

            Teclar Ctrl o; Enter; Ctrl x para salvar e sair.

 $ sudo nano /etc/apache2/sites-available/livraria.com.conf

          ServerAdmin joaodalivraria@gmail.com
          ServerName livraria.com
          ServerAlias www.livraria.com
          DocumentRoot  /var/www/livraria.com/public_html
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined     

            Teclar Ctrl o; Enter; Ctrl x para salvar e sair.

 

5- Habilitar os arquivos de configuração dos domínios dos sites, i.e, dos hosts virtuais:

   $ sudo a2ensite padaria.com.conf
   $ sudo a2ensite livraria.com.conf


6- Desabilitar o site padrão localhost

   $ sudo a2dissite 000-default.conf

7-Verificar se tudo foi digitado de forma correta nas configurações do Apache

  $ apache2ctl configtest 

8-  Apontar IP do Servidor onde estão hospedados os Domínios

Na máquina cliente informar o endereço IP onde estão armazenados os  domínios dos sites, virtual host, para ver as páginas dos mesmos pelo navegador. (192.168.1.201)
Editar o arquivo hosts que se localiza em /etc.

  $ sudo nano /etc/hosts

fig073-arquivo hosts-ip servidor

9- Criar uma página de internet no Servidor – index.html

 9.1 – Site da Padaria

     A página ficará hospedada em /var/www/padaria.com/public_html.

$ sudo nano /var/www/padaria.com/public_html/index.html 

fig016-Pagina Site Padaria.com

9.2 – Site da Livraria

     A página vai ficar hospedada em /var/www/livraria.com/public_html.

$ sudo nano /var/www/livraria.com/public_html/index.html

fig017-Pagina Site Livraria

10- Recarregar o Apache para as configurações e alterações sejam estabelecidas.

        $ sudo systemctl reload apache2

 

11- Verificando as páginas publicadas dos sites: 

Em sua rede WEB, externa ou interna, abra o navegador Chrome, Firefox ou qualquer outro e digite o nome do dominio, no caso padaria.com ou livraria.com.
Como resultado aparecerá a pagina html hospedada no servidor web apontado pelo endereço ip no qual ela foi armazeda. 
Os endereços ip estáticos, no qual está instalado e configurado o Apache podem ser o localhost de uma máquina, um VPS contratado de um provedor, ou um site compartilhado de baixo custo, ou de um servidor interno de uma estação de trabalho.

Abaixo, mostrando a página do site, após ser digitada e armazenada; vide acima no ítem 9.1: /var/www/padaria.com/public_html/index.html

Abaixo, amostra de como ficou a página no navegador após ser digitada acima no ítem 9.2: /var/www/livraria.com/public_html/index.html

Os dois sites acima, a título de exemplo, foram armazenados no servidor da rede, sendo acessados via SSH,  na máquina virtual, cujo endereço do ip estático foi definido como 192.168.1.201.