Nota:
- En este tutorial se necesita acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la capa gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por valores específicos de su entorno en la nube.
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
- Cualquier sistema con Oracle Linux 8 instalado
Objetivos
Al final de este tutorial, debe poder hacer lo siguiente:
- Instalar y configurar el paquete de Apache
- Configurar el firewall
- Aplicación de configuraciones de Apache
- Proteger servicios web
Instalación y configuración del paquete del servidor web
-
Instale el paquete
httpd
y sus dependencias.sudo dnf install httpd
-
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
-
(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
-
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.
-
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.comDocumentRoot /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.
-
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/
-
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.
- 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.
-
Instale el complemento HTTPS para Apache.
sudo dnf install mod_ssl sudo systemctl restart httpd
-
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.comSSLEngine en SSLCertificateFile /etc/pki/tls/private/certificate.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.keyDocumentRoot /var/www/example.com/html/
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log combinado</VirtualHost>
-
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.comRedirigir "/" "https://example.com/"
</VirtualHost>
-
Reinicie el servicio Apache para cargar la nueva configuración.
sudo systemctl restart httpd
-
(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.