Enviado por juanonlab el Mié, 29/08/2018 - 20:00
Apache 2

Apache2 es un servidor web ligero que se utiliza para servir contenido estático y también se suele utilizar para servir páginas php. En mi hosting se encuentra "detrás" del servidor nginx y sirve las páginas de este blog.

 En esta entrada voy a poner a modo de chuletilla los comandos más comunes que utilizo así como donde se localizan sus ficheros de configuración principales. 

He probado todos estos comandos en una distro ubuntu 18.04 LTS.

Comandos básicos para Iniciar/Reiniciar/Parar apache

Start Iniciar servidor

service apache2 start

Restart Reinciar servidor

service apache2 restart

Start Parar servidor

service apache2 stop

Fichero principal de configuración de Apache2

El fichero principal de configuración de nginx es el fichero apache2.conf. Se localiza en:

/etc/apache2/

En la misma carpeta se encuentra el fichero ports.conf donde se indican los puertos que voy a utlizar en los virtualHost.

 

Localización archivos .conf que contienen los virtual host de los sites

 

Ruta donde localizar los virtualhost disponibles para instalarlos en el servidor

/etc/apache2/sites-available/

 

Ruta donde localizar los virtualhost que ya están corriendo en el servidor

/etc/apache2/sites-enabled/

 

Habilitar/deshabilitar sites

En apache habilitar un site es mucho más sencillo. Dejo los comandos básicos.

Por ejemplo, para habilitar un site cuyo archivo de configuración se llama blog.conf

sudo a2ensite blog.conf
service apache2 reload

Esto creará un enlace simbólico en la carpeta sites-enabled y reiniciará el servidor para dejar el site blog habilitado.

¿Y si quiero eliminar algún site? Bastará con deshabilitarlo y reiniciar apache2 con los comandos:

sudo a2dissite blog.conf
service apache2 reload

 

Actualizando permisos y/o propietarios del site

Después de actualizar algún fichero en tu site es posible que hayas perdido los permisos o que el usuario del fichero haya cambiado. Tanto para apache como para nginx se suele utilizar mucho estos 2 comandos: 

Dar como propietario www-data a la carpeta apache2 y a todos sus ficheros/carpetas hijas.

sudo chown -R www-data:www-data /var/www/html/apache

Cambiar los permisos a la carpeta apache y a todos sus ficheros/carpetas hijas

sudo chmod -R 775 /var/www/html/apache

r=read, w=write, x=execute

Owner: 7=rwx, Group: 5=r-x, Other: 5=r-x

Modulos Apache2

Otros comandos muy útiles son aquellos que te permiten cargar módulos o listar los disponibles. Por ejemplo para instalar php en apache2 vas a necesitar cargar un módulo concreto. En mi caso para la versión 7.2 yo tengo php7_module.

Para los modulos de configuración de apache

Habilitar módulo conf

a2enconf php7.2-fpm 

Deshabilitar módulo conf

a2disconf php7.2-fpm 

Para los modulos generales de apache

Habilitar módulo proxy fcgi

a2enmod proxy_fcgi 

Deshabilitar módulo proxy fcgi

a2dismod proxy_fcgi 

 

Después de estas instrucciones hay que reiniciar apache.

Listar módulos disponibles:

foouser@fooserver:~# apache2ctl -t -D DUMP_MODULES
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
...
...
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php7_module (shared)
 proxy_module (shared)
 proxy_fcgi_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 status_module (shared)

Puedes ir a las carpetas

/etc/apache2/conf-enabled
/etc/apache2/conf-available

Para comprobar los módulos tipo conf habilitados/disponibles.

El resto de módulos se encuentran en:

/usr/lib/apache2/modules/

Por ejemplo para ver los módulos conf habilitados:

foouser@fooserver:/etc/apache2/conf-enabled# ls 
charset.conf 
other-vhosts-access-log.conf 
security.conf 
localized-error-pages.conf 
php7.2-fpm.conf  
serve-cgi-bin.conf

Estos directorios son útiles para investigar problemas relacionados con la carga de módulos. Por ejemplo el módulo existe pero no lo tienes habilitado.

 

La instalación de apache consume tiempo y es normal encontrar algunos problemas con los módulos (sobre todo cuando cambias de versión de PHP o subes de versión del S.O). Hay mucha documentación en internet para resolver estos problemas.

Comentario

una consulta para utilizar esos comandos para apache por delante se coloca alguna orden? es decir, ls, cd, sudo nano, etc con que orden se antepone a esos comandos para hacer las configuraciones. No tengo mucho conocimiento.

Comentario

Hola,

No es necesario indicar nada más. Si la instalación de Apache2 es correcta simplemente debes lanzar el comando tal cual lo indico. Por ejemplo para arrancar apache2 debes ejecutar: service apache2 start no hay que introducir nada más.

 Si te sale algún error lo podemos mirar. 

Añadir nuevo comentario

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.