Apache #PHP y #OpenSSL

post

Durante el restablecimiento del blog, perdí la entrada de Apache, PHP y SSL acá la vuelvo a colocar, la receta es la siguiente:

Obtenemos los paquetes fuente desde las paginas web de los proyectos, pueden usar Lynx desde el mismo servidor o bajarlos a su PC local y luego usando SCP los mueven al servidor descomprimen, y compilan:

Apache

./configure –prefix=/usr/local/apache2 –with-ssl=/opt/ssl –enable-ssl –enable-so –enable-mods-shared=all –enable-http –enable-deflate –enable-expires –enable-slotmem-shm –enable-headers –enable-rewrite –enable-proxy –enable-proxy-balancer –enable-proxy-http –enable-proxy-fcgi –enable-mime-magic –enable-log-debug –with-mpm=event

PHP

./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql –with-pgsql –with-openssl=/opt/ssl –with-curl=/usr/lib

SSL

./config –prefix=/opt/ssl –openssldir=/opt/ssl shared zlib-dynamic

No se paren por temas de dependencias si están en sistemas Debian o basados en Debian apóyense con el comando “apt-get build-dep paquete”, continuamos con la configuración del VirtualHost del Apache :

<virtualhost *:443>
ServerAdmin webmaster@localhost
ServerName dominio.com

DocumentRoot /home/usuario
<Directory />
DirectoryIndex index.html index.php
Options Indexes
AllowOverride None
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

SSLEngine on
ServerSignature On
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
SSLCertificateFile /usr/local/apache2/ssl.crt/ARCHIVO.crt
SSLCertificateKeyFile /usr/local/apache2/ssl.key/ARCHIVO.key
SSLCertificateChainFile /usr/local/apache2/ssl.crt/COMPANIA-ASEGURADORA.crt
# SSLVerifyClient require
# SSLVerifyDepth 10
<FilesMatch “\.(cgi|shtml|phtml|php)$”>
SSLOptions +StdEnvVars
SetHandler application/x-httpd-php
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>

Agreguen el archivo de phpinfo.php para validar la unión de los componentes en su directorio web, se anexa código:

<?php

// Show all information, defaults to INFO_ALL
phpinfo();

// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);

?>

Reinicien el servicio de Apache y realicen las validaciones pertinentes con los siguientes comandos:

Verificación de conexiones

netstat -putan | grep httpd

Verificación de Apache2

ps aux | grep httpd

Chequeo de certificado

openssl s_client -showcerts -connect dominio.com:443

Eso es todo de surgir detalles, favor comentar nos vemos, un saludo.

1 thought on “Apache #PHP y #OpenSSL”

Leave a Comment