Introducción
Apache es el servidor web más popular desarrollado por Apache Foundation en 1995. Viene con Apache License 2.0. Es una aplicación multiplataforma disponible para la mayoría de los sistemas operativos más antiguos, como Linux, Windows y macOS. Con una participación de mercado del 45%, Apache ofrece servicios a casi uno de cada dos sitios web en Internet.
En este tutorial, discutiremos algunos comandos de uso común para administrar servidores Apache en sistemas basados en Ubuntu y Debian. Esto incluye cómo habilitar / deshabilitar un host virtual, módulo o archivo de configuración en el servidor Apache.
Verifique la versión de Apache
Use la opción de -v
línea de comando para verificar la versión de Apache que se ejecuta en Ubuntu y otros sistemas basados en Debina:
apache2 -v
Para ver información detallada, use la letra mayúscula -V
con el comando apache2:
apache2 -V
Prueba la configuración de Apache
Después de realizar cambios en los archivos de configuración de Apache, debe ejecutar una verificación de sintaxis. Utilice el siguiente comando para verificar la sintaxis de todos los archivos de configuración de Apache2:
sudo apachectl -t
Si todos los archivos de configuración son correctos, verá "Syntax Ok" en los resultados:
Syntax OK
Habilitar y deshabilitar hosts virtuales
Los archivos de configuración del sitio web almacenan información sobre los hosts virtuales de Apache. En el caso de los sistemas basados en Debian, el archivo real se crea en el directorio /etc/apache2/sites-available
.
Luego, habilitemos el uso del sitio web a2ensite
, que simplemente crea un enlace simbólico de ese archivo a /etc/apache2/sites-enabled
. Apache carga todos los archivos de este directorio en el entorno.
Por ejemplo, si ha creado un archivo con nombre example.com.conf
, puede usar el siguiente comando:
sudo a2ensite example.com
De manera similar, use el siguiente comando a2dissite
para deshabilitar sitios:
sudo a2dissite example.com
Habilitar y deshabilitar configuraciones
Los archivos de configuración originales se almacenan en el directorio /etc/apache2/sites-available/
. Apache lee los archivos de configuración del directorio /etc/apache2/sites-enabled/
, por lo que debe crear un enlace simbólico de los archivos al directorio habilitado para el sitio.
El comando a2enconf crea un enlace simbólico para el archivo de configuración y a2disconf elimina el enlace simbólico. Por ejemplo, para crear un enlace simbólico para ejecutar el archivo de configuración phpmyadmin.conf
:
sudo a2enconf phpmyadmin
Para deshabilitar la configuración, simplemente deshabilítela con el comando a2disconf como:
sudo a2disconf phpmyadmin
Habilitar y deshabilitar módulos
Todos los archivos del módulo de Apache se almacenan en el directorio /etc/apache2/mods-available/
. Todos los módulos activos están vinculados simbólicamente al directorio /etc/apache2/mods-enabled/
.
Utilice el comando a2enmod para habilitar un módulo en el servidor Apache y a2dismod para deshabilitar el módulo. Por ejemplo, para habilitar el módulo de reescritura, escriba:
sudo a2enmod rewrite
Para deshabilitar el módulo de reescritura, ejecute:
sudo a2dismod rewrite
Administrar el servicio Apache2
Los últimos sistemas operativos se han decantado por el sistema de gestión de servicios. Puede utilizar la utilidad de línea de comandos systemctl para administrar el servicio Apache en su sistema.
Los siguientes comandos detendrán, iniciarán y reiniciarán el servicio apache2 en su sistema:
sudo systemctl stop apache2
sudo systemctl start apache2
sudo systemctl restart apache2
Los cambios en los archivos de configuración se pueden volver a cargar en el entorno de ejecución con la opción de recarga . Esto no reiniciará el servicio Apache:
sudo systemctl reload apache2
Utilice el siguiente comando para habilitar o deshabilitar el servicio apcahe2:
sudo systemctl enable apache2
sudo systemctl disable apache2
Mostrar ayuda para el comando Apache
Para obtener más ayuda, use las opciones de la -h
línea de comandos .
sudo apache2 -h
Usage: apache2 [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
-D name : define a name for use in directives
-d directory : specify an alternate initial ServerRoot
-f file : specify an alternate ServerConfigFile
-C "directive" : process directive before reading config files
-c "directive" : process directive after reading config files
-e level : show startup errors of level (see LogLevel)
-E file : log startup errors to file
-v : show version number
-V : show compile settings
-h : list available command line options (this page)
-l : list compiled in modules
-L : list available configuration directives
-t -D DUMP_VHOSTS : show parsed vhost settings
-t -D DUMP_RUN_CFG : show parsed run settings
-S : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
-t -D DUMP_MODULES : show all loaded modules
-M : a synonym for -t -D DUMP_MODULES
-t -D DUMP_INCLUDES: show all included configuration files
-t : run syntax check for config files
-T : start without DocumentRoot(s) check
-X : debug mode (only one worker, do not detach)
Conclusión
En esta guía para principiantes, ha aprendido los comandos básicos para administrar el servidor Apache a través de la línea de comandos.