Introducción
El servidor HTTP Apache es el servidor web más popular del mundo. Es un servidor HTTP multiplataforma, de código abierto y gratuito que ofrece potentes funciones que pueden ampliarse mediante una amplia variedad de módulos. Las siguientes instrucciones describen cómo instalar y administrar el servidor web Apache en una computadora CentOS 8.
Prerrequisitos
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Si desea instalar Apache en un servidor remoto, continúe leyendo, de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar Apache
Apache está disponible en los repositorios CentOS predeterminados y la instalación es bastante sencilla.
En CentOS y RHEL, se llama al httpd
Para instalar el paquete, ejecute el siguiente comando:
sudo dnf install httpd
Una vez que se complete la instalación, habilite e inicie el servicio Apache:
sudo systemctl enable httpd
sudo systemctl start httpd
Ajustar el firewall
Si su servidor está detrás de un firewall, debe abrir los puertos HTTP y HTTPS 80
y 443
. Utilice los siguientes comandos para abrir los puertos necesarios:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Verificar la instalación de Apache
Ahora que Apache está instalado y ejecutándose en nuestro servidor CentOS 8, podemos verificar el estado y la versión del servicio Apache, con:
sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-01-15 23:44:50 CET; 1min 49s ago
Docs: man:httpd.service(8)
Main PID: 11064 (httpd)
Status: "Total requests: 12; Idle/Busy workers 100/0;Requests/sec: 0.11; Bytes served/sec: 5.8KB/sec"
Tasks: 213 (limit: 12251)
Memory: 25.8M
CGroup: /system.slice/httpd.service
├─11064 /usr/sbin/httpd -DFOREGROUND
├─11065 /usr/sbin/httpd -DFOREGROUND
├─11066 /usr/sbin/httpd -DFOREGROUND
├─11067 /usr/sbin/httpd -DFOREGROUND
└─11068 /usr/sbin/httpd -DFOREGROUND
sudo httpd -v
Server version: Apache/2.4.37 (centos)
Server built: Dec 23 2019 20:45:34
Finalmente, para verificar si todo está funcionando correctamente, abra la dirección IP o el nombre de dominio de su http://YOUR_IP
en el navegador de su elección y verá la página de bienvenida predeterminada de Apache CentOS 8 como se muestra a continuación:
Gestión de servicios Apache
Puede administrar el servicio Apache de la misma manera que cualquier otra unidad del sistema.
Para detener el servicio Apache, ejecute:
sudo systemctl stop httpd
Para comenzar de nuevo, escriba:
sudo systemctl start httpd
Para reiniciar el servicio Apache:
sudo systemctl restart httpd
Para volver a cargar el servicio Apache después de realizar algunos cambios de configuración:
sudo systemctl reload httpd
Si desea deshabilitar el servicio Apache para que no se inicie en el inicio:
sudo systemctl disable httpd
Y para reactivarlo de nuevo:
sudo systemctl enable httpd
Estructura de archivos de configuración de Apache y mejores prácticas
- Todos los archivos de configuración de Apache se encuentran en el
/etc/httpd
. - El archivo de configuración principal de Apache es
/etc/httpd/conf/httpd.conf
. - Todos los archivos de configuración que terminan en
.conf
y se encuentran en el/etc/httpd/conf.d
se incluyen en el archivo de configuración principal de Apache. - Los archivos de configuración responsables de cargar varios módulos de Apache se encuentran en el directorio
/etc/httpd/conf.modules.d
- Para un mejor mantenimiento, se recomienda que cree un archivo de configuración separado (vhost) para cada dominio.
- Los nuevos archivos vhost de Apache deben terminar con
.conf
y almacenarse en el directorio/etc/httpd/conf.d
Puede tener todos los hosts que necesite. - Es una buena idea seguir una convención de nomenclatura estándar, por ejemplo, si su nombre de dominio es
mydomain.com
el nombre del archivo de configuración debe ser/etc/httpd/conf.d/mydomain.com.conf
- Los archivos de registro de Apache (
access_log
yerror_log
) se encuentran en el/var/log/httpd/
. Se recomienda tener diferentes archivos de registro deerror
yaccess
- Puede establecer la raíz del documento de dominio en cualquier ubicación que desee. Las ubicaciones más comunes para webroots incluyen:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
Conclusión
Apache se ha instalado con éxito en el servidor CentOS 8. Ahora está listo para comenzar a distribuir sus aplicaciones y utilizar Apache como servidor web o proxy.