1) Criar um arquivo com o nome do VirtualHost em /etc/apache2/sites-available/
(Debian) ou /etc/httpd/conf.d
(CentOS, deve ter a extensão .conf):
2) Editar o arquivo com o conteúdo:
<VirtualHost *:80> ServerName dominio.ufrj.br DocumentRoot /var/www/dominio </VirtualHost>
Para ativar o SSL (https) é necessário os comandos:
Debian:
# a2enmod ssl # service apache2 restart
CentOS:
# yum install mod_ssl # service httpd restart
<VirtualHost *.443> ServerName dominio.ufrj.br DocumentRoot /var/www/dominio SSLEngine on SSLCertificateFile /etc/pki/tls/certs/dominio.ufrj.br.crt SSLCertificateKeyFile /etc/pki/tls/private/dominio.ufrj.br.key SSLCertificateChainFile /etc/pki/tls/certs/dominio.ufrj.br.ca-bundle SSLHonorCipherOrder on SSLProtocol All -SSLv2 -SSLv3 SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!SSLv3:!SSLv2 Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; " Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff </VirtualHost>
Para redirecionar o do http
para o https
pode-se usar:
<VirtualHost *:80> [...] Redirect 302 / https://dominio.ufrj.br/ </VirtualHost>
3) Após salvar o arquivo executar o comando para habilitar o sítio e recarregar o Apache:
Debian:
# a2ensite site1 # service apache2 reload
CentOS:
# service httpd restart
<VirtualHost *:80> ServerName exemplo.ufrj.br DocumentRoot /var/www/html/exemplo/public ErrorLog "/var/log/httpd/error.exemplo.log" <Directory /var/www/html/exemplo/public> AllowOverride All Require all granted </Directory> <FilesMatch \.php$> SetHandler "proxy:unix:/run/php-fpm/exemplo.ufrj.br.php-fpm.sock|fcgi://localhost/" </FilesMatch> </VirtualHost>