otro cpy paste para keines les guste la weaita solo agrdescan Hola amigos pues bueno Este articulo es para aquellos que quieran tener un Servidor Apache Seguro y atender las peticiones HTTPS por medio de el Manejo de Certificados y Llaves Privadas y publicas. Hago este Articulo por que a mi me paso que no encontraba información de cómo Intalar el Apache 2 con el SSL, había mucha para el apache 1.3.x con el mod_ssl pero no para el apache 2, así que espero que les ayude tanto como me ayudo a mi. La información aquí mostrada es una recopilación de información de Internet que estaba en ingles algunas y otras en español. Paso 1.- Paquetes Bueno el paso 1 es bastante sencillo y es conseguir los paquetes que necesitamos para hacer la instalación: Apache 2 .- lo podemos bajar de : httpd.apache.org/ OpenSSL.- el culo encontramos en : www.openssl.org/source/ Estos archivos los pueden guardar en : /usr/src o donde se les haga mas fácil. Una ves bajados los paquetes pasemos al paso 2. Paso 2.- Instalación y configuración de paquetes. En este paso vamos a configurar e instalar los paquetes que acabamos de bajar empezaremos por el OpenSSL 1. Nos dirigimos a la carpeta en donde guardamos los paquetes /usr/src 2. Ejecutamos el comando : tar xvzf openssl-0.9.8x.x.tar.gz 3. Esto nos creara una carpeta con el nombre del paquete 4. Entramos a esa carpeta: cd openssl-XXX 5. Una vez adentro de la carpeta empezamos con la configuración del mismo y escribimos. 6. ./config prefix=/usr/local/ssl/install openssldir=/usr/local/ssl/install/openssl 7. Nota: los directorios pueden cambiar al gusto de cada quien esto es solo un ejemplo. 8. Despues de terminar las acciones del anterior conamdo escribimos 9. make 10. make install Apache 2 Nos dirigimos a la carpeta en donde guardamos los paquetes /usr/src Ejecutamos el comando : tar xvzf httpd-2.x.x Esto nos creara una carpeta con el nombre del paquete Entramos a esa carpeta: cd httpd-2.x.x Una vez adentro de la carpeta empezamos con la configuración del mismo y escribimos: ./configure --prefix=/etc/apache2/ --enable-ssl with-ssl=/usr/local/ssl/install/openssl Nota: los directorios pueden cambiar al gusto de cada quien esto es solo un ejemplo. make make install Bueno hasta este paso ya tenemos instalado nuestro openssl y nuestro apache 2, falta generar nuestro par de Llaves (KEY) y nuestro certicado (CERT). Paso 3.- Creación del Par de llaves y el certificado Para generar el par de llaves utilizaremos el siguiente comando : ./usr/local/ssl/install/bin/openssl genrsa des3 rand file1:file2:file3 out www.mygnet.com.key 1024 genrsa.- indica a openssl que queremos generar el par de llaves rand.- se utiliza para proveer a openssl con datos aleatorios y así generar llaves que son únicas e impredecibles file1:file:2file3: son sustituidos por archivos relativamente al azar para este propósito. out.- indica donde se guardara el resultado. 1024.- indica el número de bits para la generación de las llaves. al hacer este comando recibiremos una petición como esta: Enter PEM pass phrase: Escribimos la frase secreta para nuestra llave y nos responderá Verifying password Enter PEM pass phrase: Bueno hasta este paso ya tenemos nuestro par de llaves nos falta generar el Certificado Para generar un certificado publico de una Autoridad Certificadora de bemos enviar algo que es llamado: certificate signing request. Para hacer eso usamos el siguiente comendo: ./usr/local/ssl/install/bin/openssl req new key www.mygnet.com.key out www.mygnet.com.csr Entonces nos mostrara algo como esto: Enter PEM pass phrase: Country Name (2 letter code) [AU]:MX State or Province Name (full name) [Some-State]F Locality Name (eg, city) []: DF Organization Name (eg, company) [Internet Widgits Pty Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, YOUR name) []:www.mygnet.com Email Address []:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: enter An optional company name []: enter El certificado esta ahora guardado en www.mygnet.com.csr Bueno ahora vamos a crear un Certificado firmado por si mismo esto significa que podemos ser tanto el destinatario como el usuario del certificado. Aunque esto no es muy usual en las comerciales si nos sefvira para probar nuestra instalación. ./usr/local/ssl/install/bin/openssl x509 req days 30 in www.mygnet.com.csr signkey www.mygnet.com.key out www.mygnet.com.cert Ahora debemos copiar buestro certificado a : /usr/local/ssl/install/openssl/certs/ y tambien debemos copiar nuestra llave .key a: /usr/local/ssl/install/openssl/private/ Paso 4.- configuracion del SSL y Apache bueno ahora vamos a configurar nuestro archivo httpd.conf que debe estar en /etc/apache2/conf/ vi /etc/apache2/conf/httpd.conf una ves dentro del el archivo revisamos la configuración y la adecuamos como sigue: Listen 80 Listen 443 ServerName www.mygnet.com SSLEngine on SSLCertificateFile /usr/local/ssl/install/openssl/certs/www.mygnet.com.cert SSLCertificateKeyFile /usr/loca/ssl/install/openssl/private/www.mygnet.com.key nos salimos del editor: :wq Con al configuración anterior hemos levantado un virtualhost que estará escuchando por el puerto 443 (que es el default para el HTTPS) y hemos habilitado el SSL en el virtualhost con la directiva SSLEngine. Paso 5.- Iniciar el Servidor una vez terminaod todos los pasos anteriores hacemos lo siguiente: /ect/apache2/bin/apachectl start Nos pedira que escribamos nuestra : pass phrase hecho lo anterio ya tenemos nuestro servidor Apache 2 con SSL url Espero que les sea de gran ayuda.