Para instalar el servidor apache simplemente tenemos que instalar el paquete apache2 como sigue:
# apt install apache2
Se instalarán los siguiente paquetes NUEVOS:
apache2 apache2-bin{a} apache2-data{a} apache2-utils{a} libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a}
libaprutil1-ldap{a} liblua5.1-0{a} ssl-cert{a}
0 paquetes actualizados, 10 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 1.941 kB de ficheros. Después de desempaquetar se usarán 6.620 kB.
¿Quiere continuar? [Y/n/?]
Para comprobar que apache funciona correctamente, podemos abrir un navegador en el propio servidor y poner en la url localhost o 127.0.0.1, y debemos obtener la página por defecto que tiene configurada.

También lo podríamos haber hecho a nivel de consola con el navegador lynx (paquete lynx):
# lynx 127.0.0.1

En Debian, en el directorio /var/www, es donde se guardarán los sitios web que se servirán, cada uno en un directorio distinto. En dicha carpeta se encuentra el directorio html, el cual contiene el sitio por defecto que viene configurado para Apache. Cuando anteriormente, como URL pusimos localhost, se sirvió el fichero index.html del sitio por defecto (/var/www/html/index.html).
# tree /var/www
/var/www
└── html
└── index.html
1 directory, 1 file
El manejo del servidor lo haremos fundamentalmente a través de systemd con el comando systemctl, pero también podemos usar un comando propio de Apache denominado apache2ctl:
| Comando | Función |
| apache2ctl start | Inicia el servidor Apache mostrando un mensaje de error si ya se está ejecutando. |
| apache2ctl restart |
Reinicia el servidor Apache o lo inicia si no se estuviera ejecutando. Este comando verifica automáticamente los archivos de configuración a través de la acción configtest antes de comenzar el reinicio para detectar errores, y si los encuentra, el servicio quedará detenido. Con restart todas las peticiones que se estuvieran atendiendo son canceladas. |
| apache2ctl graceful |
Es igual que restart pero con la diferencia de que las conexiones actualmente abiertas no se cancelarán, sino que se terminarán de atender. |
| apache2ctl stop | Detiene el servidor Apache. |
| apache2ctl graceful-stop |
Es equivalente a stop excepto en que las conexiones actualmente abiertas no se cancelan, sino que se terminan de atender. |
| apache2ctl fullstatus |
Muestra un completo informe de estado. |
| apache2ctl status | Muestra un breve informe de estado. Similar a la acción fullstatus, excepto que se omite la lista de solicitudes que se están atendiendo actualmente. |
|
apache2ctl configtest apache2ctl -t |
Comprueba la sintaxis del archivo de configuración. Si no encuentra ningún error, informa con un "Syntax Ok", en caso contrario da alguna información sobre el error de sintaxis particular. Hay que tener en cuenta que configtest no detecta todos los errores. |
| apache2ctl help |
Muestra un breve mensaje de ayuda donde se pueden ver todas las opciones que se pueden utilizar. |
| apache2ctl -M |
Lista todos los módulos de Apache cargados en memoria. |
| apache2ctl -S | Lista los VirtualHost que sirve Apache. |
El comando apache2ctl lo utilizaremos para hacer aquello que no podamos llevar a cabo con el comando systemctl.
| Comando | Equivalente |
| systemctl start apache2 |
apache2ctl start |
| systemctl stop apache2 |
apache2ctl stop |
| systemctl restart apache2 | apache2ctl restart |
| systemctl reload apache2 | apache2ctl graceful |
| systemctl status apache2 | apache2ctl status (No es exactamente igual) |