Topics

Funciones del(a) usuario(a)

Contacto

Por servir este blog desde un servidor "casero", con IP dinámica, no he configurado servidor de correo, dado que sería filtrado (blacklisted) por defecto por la autoridad competente como spam. Si deseas establecer contacto conmigo, o incluso si deseas crear una cuenta activa en el blog para generar tu propio contenido, por favor, sírvete enviarme un correo a forestux@openmailbox.org.
No dudes que te contestaré en cuanto pueda.
Quizás algún día contrate una IP estática, o puede que migre el blog a un hosting... Pero eso es otra historia.

Bienvenido(a) a forestux.es viernes, 16 noviembre 2018 , 08:59 CET

LAMP en slackware (I), configuración de Apache

ForestBOFH
  • Autor:
  • Lecturas
    1,633
Cómo configurar Apache en Slackware.

Este tutorial es parte de uno más amplio; si has llegado aquí desde la web, te invito a que leas todo el manual.

Ahora que ya tenemos nuestro sistema instalado, es hora de comenzar a configurar LAMP. Dividiré esta parte del manual en tres apartados, en cada uno de los cuales configuraremos uno de los servicios necesarios para tener nuestro servidor web en marcha: Apache, soporte para PHP y servidor de base de datos (MariaDB).

Por defecto, y si hemos hecho una instalación full, tendremos todos los servicios instalados, por lo que, a priori, no necesitamos instalar nada.

En primer lugar vamos a configurar el servidor web, Apache; Slackware 14.1 viene con la versión 2.4.6 (Unix) de Apache. Quizás más adelante prepare otra entrada en la que actualicemos Apache a la versión más reciente, pero por el momento vamos a configurar la versión instalada por defecto.

Este post es una traducción más o menos libre de éste otro de mrgoblin. Gracias, pues, a mrgoblin, por todo. Con todo, si comparáis un artículo con otro, veréis que yo he ampliado un par de cosillas.

Vamos a ello, no sin antes hacer incapie en algún consejo de seguridad: Nunca abras tu servidor web (puertos 80, o 443/TCP), o tu servidor de base de datos (3306/TCP) a ciegas a la red hasta que no entiendas realmente los riesgos que ello supone. Cuando uno aprende a programar en PHP, es muy fácil cometer errores sencillos que pueden dejar tus aplicaciones expuestas (y por ende todo tu servidor) a ataques maliciosos.

Utiliza tu firewall y tus propias restricciones en el equipo para permitir solamente accesos a equipos de tu confianza hasta que te asegures de que tu código es seguro y robusto.

Se asume, si has seguido todo el manual, que has hecho una instalación full (completa) y que tienes tu red configurada adecuadamente.

Dicho ésto, comencemos con el servidor Apache httpd.

Httpd es el software del servidor web; vamos a asegurarnos de hacerlo funcionar.

Los ficheros de configuración del servidor httpd residen en /etc/httpd/; el fichero de configuración principal es httpd.conf, aunque también hay ficheros en /etc/httpd/extra/.

A su vez, los ficheros del directorio extra son llamados desde el fichero principal httpd.conf mediante las directivas "Include" (extra/ es el equivalente al directorio conf.d/ que puedes encontar en otras distros).

Usando tu editor de textos favorito (yo soy de vi) abre el fichero de configuración. ¡No uses un procesador de textos para editar ficheros de configuración!


vim /etc/httpd/httpd.conf]

Lee atentamente y presta especial atención de los avisos que aparecen en la cabecera del documento.

Toma nota de las siguientes Directivas a medida que leas el fichero:

Listen (La dirección de IP:puerto desde la que escuchará el servidor).

User/Group (El combo usuario/grupo que ejecutará el servidor). Aparte de la traducción del tutorial de mrglobin, y en aras de una pequeña capa más de seguridad, no es mala idea eliminar tanto el usuario y grupo por defecto de Apache (usuario apache y grupo apache) y crear unos nuevos al efecto.

ServerAdmin (Introduce aquí tu dirección de correo electrónico si quieres que aparezca en los mensajes de error).

DocumentRoot (especifica el directorio raíz del servidor web, y dónde se localizarán los ficheros por defecto).

ErrorLog (localización del fichero de logs donde se grabarán los errores).

CustomLog (localización del fichero de log donde se grabarán las salidas normales de log).

Continúa hacia abajo en el fichero hasta que encuentres esta sección:


    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

¿Te has fijado en la directiva "Deny from all"? Conforma la política por defecto, denegando consultas de todo el mundo mientras no se especifique permiso por otra Directiva. Continúa ahora hasta llegar a la Directiva del bloque referida tu DocumentRoot:


  <Directory "/srv/httpd/htdocs"> #Yo prefiero usar /var/www, para gustos colores. 
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Por defecto, vuestro archivo se debiera parecer a ésto. (Los comentarios han sido quitados).

EL "Allow from all" de esta sección sobreescribe la anterior "política de denegación de acceso para este directorio y todo lo que contiene". Si quieres restringir algo más adicionalmente, puedes sustituir el "all" por un dirección de IP/máscara.

Si has hecho todos los cambios al fichero asegúrate ahora de guardarlos (en vi con esc para salir del modo de edición y depués :wq.

Siempre es bueno asegurarse de que la sintaxsis del fichero httpd.conf es correcta con el comando:


apachectl -t
Si recibes un mensaje distinto de "Syntax OK" deberás corregir el fichero de acuerdo al mensaje arrojado.

Para iniciar el servidor httpd y asegurarse de que se inicia en cada inicio del sistema necesitamos hacer ejecutable el script de inicio /etc/rc.d/rc.httpd mediante la siguiente secuencia de comandos:


chmod 0744 /etc/rc.d/rc.httpd
/etc/rc.d/rc.httpd start
Con suerte recibirás un menjase de que el servidor se ha iniciado correctamente. Si es así, abre el navegador y escribe en la barra de búsqueda "http://localhost/" y se mostrará una página en blanco con las esperadas palabras "It Works!".

Si no puedes ver esta página, revisa los
error_log y
access_log, ubicados en
/var/log/httpd (a menos que hayas cambiado la directiva
ErrorLog.

Recuerda que estos dos ficheros son la mejor fuente de información a la hora de solucionar problemas con tu servidor web.

Demos un paso más: Creemos un usuario y un grupo que no sean los que incorpora apache por defecto, para redundar en seguridad:


groupadd group_xioux
useradd -d /var/www -g group_xioux -s /sbin/nologin xioux
passwd -l xioux

Con ésto hemos creado un user que no se podrá loguear en consola (también podríamos haber redirigido la opción -s a /dev/null y bloqueamos la cuenta).

Que no se nos olvide borrar el usuario y grupo por defecto...


groupdel apache
userdel -r apache

Y afinamos propietarios y permisos:


chown xioux:group_xioux /var/www
chmod -R g+s /var/www
chmod -R 755 /var/www

Deberemos editar de nuevo el fichero httpd.conf cambiando las directivas User y Group. Una vez guardados los cambios, procedemos a confirmar la sintaxis del fichero, y a reiniciar el servicio:


apachectl -t
# Recuerda que deberemos recibir el mensaje "Syntax OK"
/etc/rc.d/rc.httpd restart

Una vez estés a gusto con los resultados, continúa en (Pendiente de realizar).

Fuentes:

LAMP on Slackware. (Part 1). Este documento es poco más que una traducción, con algunas aportaciones propias, del fantástico manual que nos brinda mrgoblin.

Versión 2.4 de la documentación del Servidor de HTTP Apache, y todos los manuales que cuelgan de este enlace, algunos en inglés.

Trackback

Trackback URL for this entry:
http://www.forestux.es/trackback.php?id=LAMP.Slackware

Los siguientes comentarios son de la persona que los haya enviado. Este sitio no se hace responsable de las opiniones expresadas por los participantes en los foros y secciones de comentarios, y el hecho de publicar las mismas no significa que esté de acuerdo con ellas.


¿Quién está conectado?

Usuarios invitados: 3

Lo más nuevo

NOTICIAS últimos 24 horas

No hay noticias nuevas

COMENTARIOS últimos 2 días

No hay comentarios nuevos

TRACKBACKS últimos 2 días

No new trackback comments

ENLACES últimos 2 semanas

No hay enlaces recientes