* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Como instalar servidor Apache, PHP y SSL

...que explica como instalar Apache con soporte para PHP y conexiones encriptadas SSL con un certificado firmado por nosotros mismos.

Apache + PHP + SSL HowTo

Lo primero que tendremos que hacer será instalar el apache y sus correspondientes módulos, además de sus dependencias. En concreto los archivos que tendremos que instalar serán estos:

apache2 - El servidor web más usado en Internet.

apache2-common - Archivos comunes de la instalación de Apache.

apache2-mod_php - El modulo PHP para Apache. Para poder usar este potente lenguaje de servidor.

apache2-mod_ssl - El modulo SSL para Apache. Para poder usar ciptografia SSL y TSL.

apache2-modules - Módulos estándar para Apache.

apache-conf - Ficheros de configuración para Apache.

NOTA1: Antes de instalar todo esto verifica que no tengas un directorio llamado /etc/httpd/. Si lo tienes cambiale el nombre para que no haya conflictos con la nueva instalación de Apache.

NOTA2: Si pensáis usar PHP5 tendréis que instalar el paquete apache2-mod_php5, el cual es incompatible con el anterior.

Lanzamos Apache con la orden: /etc/init.d/httpd start.

Ahora vamos a probar si nuestro Apache funciona. Abrimos un navegador y ponemos la dirección IP de la máquina donde esté ejecutandose Apache. Si es la misma máquina en la que hemos abierto el navegador bastará con poner la "loop-IP": 127.0.0.1, o localhost.

Si todo ha ido bien debería verse la página por defecto del servidor Apache de Mandrakelinux.

Lo que viene a continuación es para los que no piensan usar SSL

Por defecto el Apache se pone a la escucha en el puerto 80. Pero, ¿y si nuestro ISP nos filtra ese puerto?
Para salir de dudas tendremos que pedirle a alguien que conecte a nuestro servidor.

Si no logra conectar puede ser debido a tres cosas:

1 - El puerto 80 no está mapeado a la IP donde se encuentra el servidor Apache. Comprobar esto en vuestro router.

2 - Tenemos un firewall/cortafuegos que esta impidiendo el acceso desde fuera al puerto 80. Comprobar esto en la configuración de vuestro firewall/cortafuegos.

En Mandrakelinux tenéis que ir al Centro de control de Mandrakelinux, Seguridad, Cortafuegos.

3 - Si no es ninguna de las anteriores, entonces lo que ocurre es que nuestro ISP está filtrando el puerto 80. La solución pasa por "decirle" a Apache que se ponga a la escucha en otro puerto, por ejemplo el 8080.

Cambiando el puerto de escucha por defecto al 8080

Tendremos que editar el fichero /etc/httpd/conf/httpd2.conf, y buscar las lienas:

<IfDefine APACHEPROXIED>

Listen 8080

</IfDefine>

<IfDefine !APACHEPROXIED>

Listen 80

</IfDefine>

Cambiamos el 80 por 8080. Es decir, tiene que poner 8080 en los dos sitios.

Bien, ya nos hemos asegurado que el servidor funciona perfectamente. Ahora vamos a crear nuestro certificado SSL y a firmarlo nosotros mismos.

Si queremos que nos lo firme una empresa certificador tendríamos que pagar. Eso ya es cuestión de cada uno.

Antes que nada tendremos que decirle a Apache que cargue el módulo SSL. Abrimos el su fichero de configuración y añadimos la siguiente linea, debajo de la sección donde se cargan los módulos:

LoadModule actions_module       modules/mod_actions.so

##LoadModule speling_module     modules/mod_speling.so

LoadModule userdir_module       modules/mod_userdir.so

LoadModule alias_module         modules/mod_alias.so

LoadModule rewrite_module       modules/mod_rewrite.so

LoadModule ssl_module           extramodules/mod_ssl.so #esta es la linea que tenemos que añadir



###

### Global Configuration

###

Creando un certificado SSL firmado por nosotros mismos

Lo primero que necesitamos es tener instalado el paquete OpenSSL. Ya sabéis, urpmi openssl.

Ahora ejecutamos estas ordenes para crear nuestro certificado:

Creamos la clave del servidor

openssl genrsa -out server.key 1024

Creamos el certificado

openssl req -new -key server.key -out server.csr

Después de esto nos saldrá un formulario que deberemos cumplimentar.

Firmamos el certificado

openssl x509 -req -days 365 -set_serial N -in server.csr -signkey server.key -out server.crt

NOTA1: N es un numero entero a nuestra elección, por ejemplo 1234. Si queremos generar más certificados firmados lo podremos hacer de la misma forma, pero tendremos que cambiar el valor de N.

NOTA2: Un certificado sirve para una sola IP, y una IP solo puede tener un certificado. Es decir, que si tenemos dos dominios que apuntan a una misma IP y creamos un certificado para cada dominio, no nos sirve. Solo valdría el primer certificado. El segundo se ignoraría. Para tener un certificado en cada dominio, deben apuntar a IP's diferentes.

Combinamos el certificado y la clave en un solo archivo .pem

cat server.key server.crt > combined.pem

Si queréis ver los detalles de vuestro certificado podéis ejecutar esta orden:

openssl x509 -in combined.pem -noout -text

Copiamos los ficheros al directorio correspondiente

Deberemos copiar los ficheros server.csr, server.crt, server.key y combined.pem al directorio /etc/ssl/apache2/.

Seguramente ya existirian unos ficheros creados durante la instalación. Los sustituimos sin pensarlo.

Una vez hecho esto tenemos que añadir una linea en el fichero de configuración de nuestro Apache. Para ello basta con ejecutar la siguiente orden:

echo SSLCertificateFile /etc/ssl/apache2/combined.pem >> /etc/httpd/conf/httpd2.conf

A continuación reiniciamos Apache con la orden /etc/init.d/httpd restart.

Entramos en el servidor mediante un navegador web, pero esta vez no usaremos http, sino https. Con una 's' al final. Por ejemplo: https://127.0.0.1

Si todo ha ido bien nos informar&aacute de que el certificado ha fallado. Esto es normal, ya que lo hemos firmado nosotros mismos y no una autoridad certificadora. Aceptamos el certificado y nos fijamos en la parte inferior del navegador. Deberíamos ver un candado. Si pinchamos en él podremos ver la información del certificado.

Ahora que usamos la conexión por SSL, que funciona por el puerto 443, ya no necesitamos tener el Apache a la escucha en el puerto 80 o 8080. Y en vez de mapear el puerto 80 o 8080 en nuestro router, mapearemos el 443.

Si nos aptece podemos cambiar el puerto a la escucha para SSL y poner otro, en vez del 443. Lo podéis hacer modificando el fichero /etc/httpd/conf.d/40_mod_ssl.conf y cambiar en la linea que dice Listen 443 el 443 por el puerto que vosotros queráis.

Recordar después mapear ese puerto en vuestro router y permitir el acceso desde el exterior configurando vuestro firewall/cortafuegos.

Hacer que nuestro Apache no escuche en el puerto 80 o 8080

Para hacer esto lo que tenemos que hacer es comentar las siguientes lineas (las cuales ya hemos visto antes):

<IfDefine APACHEPROXIED>

Listen 8080

</IfDefine>

<IfDefine !APACHEPROXIED>

Listen 80

</IfDefine>

Para comentarlas le ponemos una almohadilla (Alt-Gr + 3) delante de cada linea. Y se acabó. Ahora nuestro Apache solo escucha por el puerto de las conexiones SSL.

Probando el PHP en nuestro Apache

Para comprobar que realmente podemos usar PHP en nuestro servidor Apache lo que haremos será crear un fichero index.php y acceder al servidor web.

Con nuestro editor de texto favorito creamos un fichero con las siguientes lineas:

<?

 phpinfo()

?>

Lo guardamos con el nombre de index.php y lo colocamos en el directorio /var/www/html/ que es donde van los ficheros de nuestra web.

En ese mismo directorio existe un fichero llamado index.html que es el que viene por defecto cuando instalamos Apache. Lo borramos o lo cambiamos de nombre. Y ahora, volvemos a abrir el navegador y entramos en nuestro servidor.

Si todo ha ido bien deberia aparecer una página mostrando la versión de Apache y algo más de información.

Espero que os haya gustado el HowTo

P.D.: Agradecimientos a Sbenejam la información que me pasó sobre la creación de certificados SSL

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de SinnerBOFH

# 5535 service

Hola,

Muy buen HOWTO.

Solo un detalle.

En Mandrake (y RedHat y CentOS y Fedora), para iniciar servicios, se usa lo siguiente:

[root@mandrake ]# service httpd start

Salut,
Sinner

Salut,
Sinner


Linux User # 89976 - Blog de SinnerBOFH

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.