jueves, 16 de febrero de 2012

CHerokee, autentificación digest



    Terminando con cherokee, os traigo autenticación digest. Esta autenticación es igual que la utilizada en Apache, es más, necesitamos instalar las apache2-utils.
# aptitude install apache2-utils

    Una vez tenemos instalada estas herramientas, pasamos a crear el archivo donde se encuentran los reinos, usuarios y claves de usuarios.
# mkdir /claves
# htdigest -c /claves/digest.txt cherokee juanlu
Adding password for juanlu in realm cherokee.
New password:
# chown -R www-data.www-data /claves

    Con esto ya tenemos nuestro archivo creado con un reino, usuario y una clave. Si queremos añadir otro usuario, al igual que en apache, el comando va sin la opción -c, la cual se utiliza la primera vez para crear un usuario.

    La contraseña se la aplicaremos a un virtualhost, el cual he hecho anteriormente. Así que para configurar la contraseña nos vamos a el administrador web de cherokee y nos vamos a la pestaña vServers. En esta pestaña picamos sobre el virtualhost que queramos, nos vamos a la pestaña Comportamiento y le damos a Rule Management. Esta es la ventana que manejamos para añadir el php.

 
    Ahora tenemos que seleccionar la regla por defecto e irnos a la pestaña Seguridad. En esta pestaña seleccionamos el método de autenticación, Fichero Htdigest, y el metodo, digest. También tenemos que poner donde se encuentra el fichero con la contraseña, /claves/digest.txt y el reino, cherokee. Por ultimo le damos a guardar y reiniciamos cherokee.

 

   Ahora si intentamos entrar en el virtualhost, nos pide usuario y contraseña.
 

lunes, 6 de febrero de 2012

Cherokee, ejecución de scripts PHP.


   Para ejecutar PHP en cherokee, lo primero sera instalar phpcgi, no puede ser php normal ya que cherokee es multi hilos por defecto, en verdad es una mezcla, por lo que no se puede utilizar php normal.
# apt-get install php5-cgi


   Tras esto tenemos que modificar el fichero /etc/php5/cgi/php.ini y tenemos que descomentar la linea que dice:
# cgi.fix_pathinfo=1


    Tras esto nos metemos en el virtual host que queramos y nos vamos a el apartado de Comportamiento. Una vez en este apartado le damos a “Rule Management”.


    Ahora para que nuestro sitio pueda interpretar php, tenemos que darle primero a Nuevo.

    Esto nos abrirá una ventana, donde en el lateral izquierdo tenemos varias opciones, pues nos vamos a el apartado Lenguajes y seleccionamos PHP. Tras esto le damos a Añadir.

    Y nos saldrá otra ventana a la que le daremos a crear.

    Tras esto se nos añade en el panel de la izquierda una nueva opción. En esta opción si nos vamos a la pestaña Gestor, podemos elegir que tipo de gestor queremos (FastCGI, CGI...) yo puse FastCGI, que es el mas rápido.

   Tras estos pasos le damos a Guardar y reinicio Forzado.

    A mi a lo primero me saltaba error en los permisos, así que me fui a la pestaña Seguridad y en la opción de Permitir desde, puse 0.0.0.0/0.0.0.0. Tras esto, guarde y reinicie.

 
    Para comprobar, que todo funciona bien me cree el siguiente archivo:
# cat /var/www/info.php
<?php phpinfo(); ?>

    Y aquí esta el resultado.

martes, 24 de enero de 2012

Creación de un repositorio, approx


   Pues bueno, esta vez, vamos a crear un repositorio con approx. Esto lo que hace es crearnos una replica en nuestro disco, pero no crea una replica completa, simplemente funciona como un proxi.
   Su funcionamiento es el siguiente, un cliente le pide un paquete, mira en el repositorio local y lo compara con el del repositorio que le pongamos, por ejemplo http://ftp.es.debian.org ¿es el mismo paquete? Si es el mismo paquete, se le envía a el cliente, si no lo tiene o el que tiene no esta actualizado, se lo descarga y se lo envía a el cliente. Esto en una empresa en la que encontremos maquinas linux, nos ahorra mucho ancho de banda y las descargas serían mas rapidas.
   Su instalación y configuración es muy sencilla. Para instalarlo simplemente:
# aptitude install approx

   Para el almacenamiento de nuestro repositorio, yo voy a crear un nuevo volumen lógico, y lo voy a montar. Primero vamos a crear el volumen y vamos a darle formato ext4:
# lvcreate -n repositorios --size 20GB vg
# mkfs.ext4 /dev/mapper/vg-repositorios

   Ahora vamos a crear una carpeta y vamos a añadir una linea a el archivo /etc/fstab que nos monte el volumen, cada vez que iniciemos el sistema.
# mkdir /srv/repositorios
# echo '/dev/mapper/vg-repositorios /srv/repositorios ext4 rw 0 0 '>>/etc/fstab
# mount -a
# chown approx.approx /srv/repositorios/ -R
   Con mount -a montamos lo que esta en el archivo fstab y por últimos hacemos que usuario approx sea el usuario de la carpeta repositorios.

   Su archivo de configuración se encuentra en la ruta /etc/approx/approx.conf .De primera se encuentra todo comentado. En este caso solo tenemos que añadir los repositorios y modificar la opción que nos indica la ruta donde se guardan los paquetes. La lineas a añadir son:
debian http://ftp.debian.org/debian → Esta linea se refiere a los repositorios. La primera palabra, es el directorio donde se guarda y que luego tendremos que especificar en el cliente. Después ponemos la url.
$cache /srv/repositorios/ → En esta definimos donde vamos a crear el repositorio.
   Mi archivo de configuración se queda así.

# cat /etc/approx/approx.conf

debian http://ftp.debian.org/debian
debian-backports http://backports.debian.org/debian-backports
security http://security.debian.org/debian-security
volatile http://volatile.debian.org/debian-volatile

$cache /srv/repositorios/
#$max_rate unlimited
#$max_redirects 5
#$user approx
#$group approx
#$syslog daemon
#$pdiffs true
#$offline false
#$max_wait 10
#$verbose false
#$debug false

   Para que nos coja los cambios que hemos hecho en el archivo de configuración de approx, tenemos que reiniciar el servicio.
# /etc/init.d/openbsd-inetd restart

   Para configurar los clientes, imaginemos que el servidor esta en la dirección 10.0.0.10. En este caso el archivo /etc/apt/sourcer.list tiene que quedar de la siguiente manera:
# cat /etc/apt/sources.list


deb http://10.0.0.10:9999/debian-backports/ squeeze-backports main

deb http://10.0.0.10:9999/debian/ squeeze main
deb-src http://10.0.0.10:9999/debian/ squeeze main 

deb http://localhost:9999/security squeeze/updates main
deb-src http://localhost:9999/security squeeze/updates main

   Con esto, ya tenemos instalado y configurado nuestro repositorio local.

miércoles, 11 de enero de 2012

Cherokee, creación de un virtualhost


   Para crear un host virtual, nos vamos a la pestaña vServers. En este menú, le damos a Nuevo, para crear uno.
 
   Nos saldrá una ventana, donde pondremos el directorio de la pagina, y el nombre. El directorio tiene que estar previamente creado en el servidor. Una vez introducidos los datos le damos a Añadir.
    
   Tras esto, le damos a guardar y le damos a reinicio forzado.

   A este virtual host, le podemos poner algunas opciones independiente de otras paginas. En cada pestaña tenemos unas opciones. En la Básica, tenemos la posibilidad de cambiarle el nombre a el host, en la opción “Nombre del servidor virtual”. Otras opciones que podemos cambiar son la del directorio donde tenemos nuestra pagina web o el archivo que carga por defecto “Raíz de documentos” o “Índices de directorio”. Por ultimo tenemos la opción, keep-alive, la cual nos permite navegar por el directorio, por lo que no cojera el archivo que definamos antes por defecto.

    Otra pestaña interesante es la de Comportamientos, en esta pestaña, se pueden hacer muchas cosas, como añadir PHP y poner contraseñas, cosas que veremos en otro momento. 

    Las otras tres pestañas que nos quedan son:
  • Errores: muestra las pagina de errores que dará el servidor.
  • Registro: como se guarda la información del servidor.
  • Seguridad: sirve para los certificados.


Mas sobre cherokee:

Cherokee, instalación y acceso a la configuración en debian squeeze

Cherokee, creación de un virtualhost

Cherokee, ejecución de scripts PHP.

CHerokee, autentificación digest