Nota:

Instalar el servidor web Apache

Introducción

Apache ha estado en desarrollo activo desde 1993 y con el tiempo se ha convertido en uno de los servidores web más populares del mundo. El servidor web Apache es un componente clave de la pila de software LAMP (Linux, Apache, Oracle MySQL y Perl/PHP) y se sigue utilizando ampliamente hoy en día.

El servidor web Apache está disponible directamente desde el repositorio de flujos de aplicaciones en Oracle Linux 8 o posterior y es fácil de desplegar y configurar.

Requisitos

Objetivos

Al final de este tutorial, debe poder hacer lo siguiente:

Instalación y configuración del paquete del servidor web

  1. Instale el paquete httpd y sus dependencias.

    sudo dnf install httpd
    
  2. Active e inicie el servicio httpd.

    Este comando activa e inicia el servicio httpd para uso inmediato y también inicia el servicio automáticamente después de un reinicio del sistema:

    sudo systemctl enable --now httpd.service
    

    Para comprobar el estado del servicio, escriba:

    sudo systemctl status httpd
    
  3. (Opcional) Si utiliza un perfil de firewall personalizado o una instancia de Oracle Cloud Infrastructure, abra el puerto de firewall para el servicio web Apache (80).

    Estos comandos activan el puerto de firewall para el servicio web Apache y vuelven a cargar el servicio de firewall por defecto:

    sudo firewall-cmd --add-service=http --permanent
    sudo firewall-cmd --reload
    
  4. Pruebe el despliegue.

    Con el explorador web, vaya al nombre de dominio o la dirección IP del sistema, por ejemplo, http://myserver.example.com. El servidor web Apache abre la página de prueba por defecto.

Configuración de Apache

Para cambiar la ruta raíz del servidor web, no edite el archivo /etc/httpd/conf/httpd.conf directamente. En su lugar, como método preferido, cree un archivo de configuración específico del sitio en el directorio /etc/httpd/conf.d.

En el siguiente ejemplo, el archivo /etc/httpd/conf.d/example.com.conf se crea para contener configuraciones para hosts virtuales.

  1. Cree hosts virtuales agregando la siguiente información en /etc/httpd/conf.d/example.com.conf:

    Escuchar *:80

    <VirtualHost *:80>

    ServerName ejemplo.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com/html/

    ErrorLog /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_access.log combinado

    </VirtualHost>

    ServerName y ServerAlias pueden ser nombres de host, nombres de dominio o direcciones IP que se pueden utilizar para acceder al servicio.

  2. Cree la carpeta raíz del documento.

    La carpeta raíz aloja las páginas web que Apache proporcionaría a los exploradores.

    sudo mkdir -p /var/www/example.com/html
    sudo echo "example.com" > /var/www/example.com/html/index.html
    sudo chown -R apache:apache /var/www/example.com/html
    

    En los sistemas en los que SELinux está activado en modo de aplicación y las páginas no se sirven desde /var/www directory, debe aplicar el contexto de seguridad correcto al directorio DocumentRoot. Por ejemplo, para servir páginas web desde el directorio /mnt/example.com, escriba:

    sudo semanage fcontext -a -t httpd_sys_content_t "/mnt/example.com(/.*)?"
    sudo restorecon -Rv /mnt/example.com/
    
  3. Aplique la configuración.

    sudo systemctl restart httpd
    

Protección del servicio web

Como mejor práctica, proteja todas las comunicaciones entre un explorador web y su servidor Apache mediante HTTPS. Para una configuración segura, se requiere un certificado TLS.

  1. Configure los certificados TLS/SSL.

Nota:
Oracle recomienda utilizar un certificado TLS firmado por una autoridad de certificación (CA) externa. Consulte Oracle Linux: Gestión de certificados e infraestructura de claves públicas para obtener más información.

  1. Instale el complemento HTTPS para Apache.

    sudo dnf install mod_ssl
    sudo systemctl restart httpd
    
  2. Actualice la configuración de Apache. Por ejemplo, en /etc/httpd/conf.d/example.com.conf, agregue la siguiente configuración:

    Escuchar *:443

    <VirtualHost *:443>

    ServerName ejemplo.com
    ServerAlias www.example.com

    SSLEngine en SSLCertificateFile /etc/pki/tls/private/certificate.crt
    SSLCertificateKeyFile /etc/pki/tls/private/private.key

    DocumentRoot /var/www/example.com/html/

    ErrorLog /var/log/httpd/example.com_error.log
    CustomLog /var/log/httpd/example.com_access.log combinado

    </VirtualHost>

  3. Redirigir solicitudes HTTP a HTTPS.

    Sustituya la configuración HTTP VirtualHost existente por un redireccionamiento, de la siguiente manera:

    <VirtualHost *:80>

    ServerName ejemplo.com
    ServerAlias www.example.com

    Redirigir "/" "https://example.com/"

    </VirtualHost>

  4. Reinicie el servicio Apache para cargar la nueva configuración.

    sudo systemctl restart httpd
    
  5. (Opcional) Configure el firewall.

    Estos comandos activan el puerto de firewall 443 para el servicio HTTPS de Apache y vuelven a cargar el servicio de firewall por defecto:

    sudo firewall-cmd --add-service=https --permanent
    sudo firewall-cmd --reload
    

Más recursos de aprendizaje

Explore otras prácticas en docs.oracle.com/learn o acceda a contenido de aprendizaje más gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de formación de Oracle.

Para obtener documentación sobre los productos, visite Oracle Help Center.