Apache
Instalar o apache
Atualize os repositórios e o sistema.
apt update ; apt upgrade -y
Instala o apache
apt install apache2 apache2-data apache2-doc apache2-utils apachetop http-icons -y
Permissões para o usuario.
adduser $USER www-data adduser $USER sudo adduser $USER root
Setando permissões na pasta host.
chmod -R 775 /var/www/*
Criar a pasta que vai abrigar os arquivos do site.
mkdir /var/www/seusite.com.br mkdir /var/www/seusite.com.br/public_html
Copie o arquivo index para a pasta criada
cp -rv /var/www/html/index.html /var/www/seusite.com.br/public_html/
Host Virtual
Acesse a pasta das configurações do apache server.
cd /etc/apache2/sites-available/
Copie o arquivo padrão 000-default.conf com o nome do seu site e a extensão .conf.
cp -rv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/seusite.com.br.conf
Edite o arquivo /etc/apache2/sites-available/seusite.com.br.conf.
vim /etc/apache2/sites-available/seusite.com.br.conf
O arquivo vai estar com a configuração default. Edite-o para que ele redirecione ao endereço do site, conforme as instruções abaixo.
<VirtualHost *:80> ServerAdmin [email protected] ServerName seusite.com.br DocumentRoot /var/www/seusite.com.br/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Após editar o arquivo, habilite o site.
a2ensite seusite.com.br.conf
Desabilite o site padrão.
a2dissite 000-default.conf
Restart no apache
systemctl reload apache2 ; systemctl restart apache2 ; systemctl status apache2
Certificado SSL
Para habilitar o mod de SSL.
a2enmod ssl
Agora chegou a hora de gerar o certificado.
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
O comando acima cria a chave /etc/ssl/private/apache-selfsigned.key e o certificado /etc/ssl/certs/apache-selfsigned.crt. Esses dois arquivos serão inseridos nas configurações do apache em /etc/apache2/sites-available/robison.ddns.net.conf.
Você pode coferí-los listando a pasta.
ls -lha /etc/ssl/certs/
Ou dando um cat neles.
cat /etc/ssl/certs/apache-selfsigned.crt cat /etc/ssl/private/apache-selfsigned.key
Para configurar a chave e o certificado, edite o arquivo .conf correto.
vim /etc/apache2/sites-available/seusite.com.br.conf
A configuração deve ser similar a essa:
<VirtualHost *:443> ServerAdmin [email protected] ServerName seusite.com.br DocumentRoot /var/www/seusite.com.br/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on # Aqui você insere o caminho absoluto do certificado. SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt # Aqui você insere a chave. SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key <FilesMatch "\.(?:cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost>
Reinicie o sistema
reboot