Si, Apache2 en 2019, y no es troleo. Teniendo una empresa en la que se requiere usar Apache pues el hosting donde está su sitio no les permite usar otro servidor HTTP, me dí a la tarea de estudiarme la configuración este muchachón, que desde 2012, no lo uso, en favor de Nginx.
Aquí vamos!
Se debía montar un sitio web en Apache2 con TLS 1.2[certificado autofirmado, pues no tienen acceso a Let’s Encrypt] o superior, habilitarle el HTTP2 y el cifrado de datos mediante parámetros DH.
Arranqué con una configuración de Apache 2.2, que como todo lo de Apache cuando cambia de versión, no funciona. Modificando y editando como todo un campeón, llegué a esto:
nano /etc/apache2/sites-available/web.conf <VirtualHost *:80> ServerName web.inutil.cu Redirect / https://web.inutil.cu/ </VirtualHost> <VirtualHost *:443> ServerName web.inutil.cu ServerAlias web.inutil.cu DocumentRoot /srv/web-inutil.cu <Directory /srv/web-inutil.cu> DirectoryIndex index.php index.html AllowOverride All Options Indexes FollowSymLinks Includes ExecCGI Require all granted </Directory> SSLEngine on SSLOpenSSLConfCmd DHParameters /etc/apache2/ssl/dhparam.pem SSLCertificateFile /etc/apache2/ssl/inutil.crt SSLCertificateKeyFile /etc/apache2/ssl/inutil.key SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff SSLCompression off SSLSessionTickets Off SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH Protocols h2 h2c http/1.1 ProtocolsHonorOrder Off SSLHonorCipherOrder on ErrorLog /var/log/apache2/inutil-error.log LogLevel warn CustomLog /var/log/apache2/inutil-access.log combined </VirtualHost>
Ahora bien. Creamos los certificados en /etc/apache2/ssl:
mkdir /etc/apache2/ssl openssl dhparam 2048 -out > /etc/apache2/ssl/dhparam.pem openssl genrsa -out /etc/apache2/ssl/inutil.key 4096 openssl req -out /etc/apache2/ssl/inutil.csr -key /etc/apache2/ssl/inutil.key -new -sha256 openssl x509 -req -days 3650 -in /etc/apache2/ssl/inutil.csr -signkey /etc/apache2/ssl/cmsimple.key -out /etc/apache2/ssl/inutil.crt -sha512
Habilitamos los módulos necesarios:
a2enmod ssl a2enmod http2 a2enmod headers a2enmod rewrite
Habilitamos el sitio:
a2ensite web.conf
Y reiniciamos Apache2:
/etc/init.d/apache2 restart
Por el momento eso es todo y funciona muy bien, me queda estudiar como darle un tilín más de seguridad, pero eso es para otro día, no muy lejano. Como siempre sigo, espero les sirva, y un saludo a los que nos leen.
Genial…
También llevo un tiempo sin usarlo, aunque siempre fui fan del muchachon… Nginx hoy día cumple esta tarea a las mil maravillas…
Es que hoy dia nginx es nginx y sin nginx no hay nginx, ya lo decia el filosofo
Jajajajajaaj
Asi mismo
Poco a poco Apache a ido decreciendo en su utilización. Si bien, en un principio Nginx era utilizado por cuestiones de rendimiento, hoy día ya no quedan muchos apartados dónde Apache lo supere. Yo suelo utilizar Apache por cuestiones practicas (configuración) más que nada.
Saludos.