Reemplazar Apache por Cherokee


En los topics anteriores, referentes a: Montar un Servidor Web en PC-BSD 7 he optado  por instalar Apache.

En esta ocasión, explicaré como sustituir Apache por Cherokee, un servidor web libre (licenciado con GPL), moderno, muy rápido, flexible,eficiente, ligero, estable, fácil de configurar,multiplataforma, etc, etc, etc. (visite: Cherokee-project).

Con lo mencionado anteriormente, no trato de desmerecer las bondades que nos brinda el buen y viejo Apache!!, pero creo también, que es el momento de darle un lugar a proyectos nuevos como lo es Cherokee, creado por Alvaro Lopez Ortega y actualmente mantenido por una comunidad de desarrolladores de software libre.

Instalación y configuración de Cherokee en PC-BSD 7

Basado en Normas de FreeBSD

1) Observa si se está ejecutando el servicio apache, si es así: detenerlo.

Si lo has inicializado en el fichero /etc/rc.conf como señalamos en el post Instalación de Apache en PC-BSD 7 es probable que esté en ejecución, o si ya lo tenias configurado en tu sistema FreeBSD u otro derivado de él puedes confirmarlo:

# netstat -a|grep ‘.http’
tcp46      0      0 *.http                 *.*                    LISTEN

La línea anterior significa que el servicio web está en ejecución, por lo tanto habrá que detenerlo:

# /usr/local/etc/rc.d/apache22 stop

ó

#apachectl stop

Seguidamente, volver a verificar si el servicio verdaderamente está detenido:

# netstat -a|grep ‘.http’

Si no hay una respuesta como la mostrada anteriormente, entonces el servicio quedó detenido satisfactoriamente.

2) Descargaremos e Instalaremos Cherokee via ports: (Esto tomará su tiempo)

# cd /usr/ports/www/cherokee/ && make install clean
===>  Cleaning for GeoIP-1.4.4_1
===>  Cleaning for cherokee-0.9.2

Cuando termine, limpiará el directorio de compilación, en este caso, los dos señalados lineas arriba.

3) ¿Dónde está ubicado Cherokee?

Pueden ver que se creó un directorio en: /usr/local/www/cherokee/

Y los ficheros de configuración están en: /usr/local/etc/cherokee/

4) Probaremos si el servicio quedó habilitado. Puedes hacerlo con netstat o desde un navegador web:

Aprovechamos probarlo desde un navegador web, y de paso limpiamos las cookies:

En Firefox:

Control + shift + Supr –> Seleccionar ‘Cookies’ —> Clear Private Data Now

En Opera:

Tools—> Delete Private Data—>Detailed Options —> Seleccionar ‘Delete all Cookies’ –>Delete

El objetivo de limpiar las cookies es para prevenir que al momento de lanzar el localhost, continúe mostrando el It works! (página de prueba de apache…) guardado en la caché del navegador, a pesar de haber detenido el servicio de Apache.

Luego de ello, cargar:

http://127.0.0.1/

No se preocupe si no carga el localhost, aún hay cosillas que hacer…

5) Es momento de Iniciar cherokee-admin

Desde un terminal, (Queda sobre-entendido: en modo superusuario) , lanzar la instrucción:

# cherokee-admin &
Cherokee Web Server 0.9.2 (Oct 18 2008): Listening on port 9090, TLS disabled,
IPv6 disabled, using poll, 10778 fds system limit, max. 5382 connections,
single thread

(Enter)

El servicio cherokee-admin queda en segundo plano.

6) Regresar al navegador web y cargar:

http://127.0.0.1:9090/

Ésta es la página que debería mostrarles si todo lo hicieron correctamente (Server is not running).

7) Como se darán cuenta, el servicio está detenido, por lo tanto procedan a iniciarlo: ‘Launch’

Ésta es la página que debería mostrar luego de iniciar el servicio (Server is running).

8.) En una nueva pestaña, volver a lanzar:

http://127.0.0.1/

Es probable que aún no inicie la página principal de cherokee, que se supone que es la que debería mostrarnos, aunque #netstat -a|grep ‘.http’ nos indique de que ya se inició el servicio.

Por lo tanto regresamos a la página de configuración: http://127.0.0.1:9090/ y pasamos a configurar algunos valores del cherokee-admin:

>> Ingresamos a la opción ‘General’:

>>Por el momento solo editaremos el rubro ‘Listen’: ingresemos 127.0.0.1

>>Guardemos el cambio (save), y volvamos a lanzar http://127.0.0.1/

9) En este punto se espera que la configuración haya terminado satisfactoriamente, y nos muestre la página de prueba de Cheroke:

10) Ahora verificamos que la integración con php esté habilitada:

Para ello creamos un directorio nuevo y un fichero index.php con un pequeño código php:

#cd /usr/local/www/cherokee
#mkdir phptest && cd phptest
#edit index.php

<?php

echo ‘Cherokee y php Funcionando!!!’;

?>
Control + c
command:exit
.
Si has seguido la guia Instalación y configuración de Joomla en PC-BSD 7, en lugar de crear un fichero php, podrías copiar el directorio de joomla ya configurado del DocumentRoot de Apache al  DocumentRoot de Cherokee:

#cp -rf /usr/local/www/apache22/data/joomla15  /usr/local/www/cherokee/

11) Cargamos la página de prueba creada:

http://127.0.0.1/phptest/

Si en pantalla nos muestra; Cherokee y php Funcionando!!! , todo habrá terminado bien, caso contrario, habrá que realizar una modificación más en el cherokee-admin:

http://127.0.0.1:9090/

(Si en lugar de crear el fichero php copiaste el directorio de joomla, lanzar: http://127.0.0.1/joomla15/ )

12) Si la página php aún no carga, ir a: Info Source de cherokee-admin.

Hacer clic en el nick por defecto: ‘php’ para expandir todas las opciones;

Inicialmente, cuando realicé la instalación de cherokee, el Connection ‘/tmp/cherokee-php.sock‘ no era ubicado por el servidor, por lo tanto las páginas php no se lograban cargar. Si a ud. le pasa lo mismo, edite la opción Interpreter, que inicialmente podría ser:

%phpcgi% -b /tmp/cherokee-php.sock

y sustituyalo por:

/usr/local/bin/php-cgi -b /tmp/cherokee-php.sock

Por último, guarda el cambio (save).

Si el proceso se hizo como lo explicado hasta aquí, la configuración debería ser correcta y el servidor debería estar perfectamente integrado con php. En caso contrario, es posible de que al no poder cargar alguna página php, le muestre una advertencia como esta:

503 Service Unavailable
Cherokee web server 0.9.2 (UNIX), Port 80

13) No olvide que dejamos ejecutándose en background a cherokee-admin.

a) Ver el proceso:

#jobs

[1]  + Running                       cherokee-admin

b) Matar al proceso:

#kill %1

ó

# killall cherokee-admin

Si actualizamos (F5) o volvemos a iniciar cherokee-admin ( http://127.0.0.1:9090/ ), ya no tendremos acceso al servicio de configuración (Para un posterior acceso, ejecutar cherokee-admin &).

14) Editar el fichero: /etc/rc.conf

Para hacer que cherokee se cargue al iniciar el sistema. añadir:

cherokee_enable=”YES”

Y dejar comentado la referencia a Apache para desabilitar su ejecución al inicio:

#apache22_enable=”YES”

Todo lo mostrado anteriormente es la formá básica de configurar cherokee, no tuvimos que meter dedo a los ficheros de configuración gracias a cherokee-admin. Si desea realizar una configuración avanzada con las medidas de seguridad necesaria puede visitar cherokee-project-doc.sa, o también poseen la documentación en el directorio: /usr/local/share/doc/cherokee.

Ir a: Montar un Servidor Web en PC-BSD 7

Instalación y configuración de Joomla en PC-BSD 7


Luego de tener listo nuestros servicios de Apache , PHP y MySQL, es hora de finalizar el proceso de construcción de un sitio Web.

He optado por instalar joomla. Joomla es un Sistema de Gestión de Contenidos (CMS) de codigo Abierto, usado para gestionar sitios web y contenidos web.

Visite el manual de usuario de Joomla para más información.

1) Métodos de  instalación:

Un método sería descargar el paquete, con la version más reciente de Joomla, descomprimirlo y copiarlo al DocumentRoot establecido en la Instalación de Apache en PC-BSD 7: (/usr/local/www/apache22/data)

Pero en este caso, aprovechando que contamos con la version estable y actualizada en los ports, procederemos a instalarlo desde allí.

#cd /usr/ports/www/joomla15/ && make install clean
===>   Registering installation for joomla15-1.5.7
Al instalar Joomla, también se instalaron algunas extensiones de php y complementos que hacían falta.

2) ¿Donde se instalo Joomla?

Pueden ver que Joomla se copió automaticamnte en el directorio /usr/local/www/:

#ls /usr/local/www

Seguramente verán un nuevo directorio, en este caso, joomla15/

3) Copiar el Directorio de Joomla al DocumentRoot de Apache:

#cp -rf /usr/local/www/joomla15 /usr/local/www/apache22/data

4) Si aun no está arrancado el servidor apache o mysql lo iniciaremos:
#/usr/local/etc/rc.d/apache22 start
#/usr/local/etc/rc.d/mysql-server start

5) Abrir un navegador web e iniciar la instalación:

http://127.0.0.1/joomla15/
o
http://localhost/joomla15/

Si todo lo hemos hecho correctamente se iniciará el gestor de instalación de joomla.

6) Instalación

a) Idioma:

Elejimos el idioma para el proceso de instalación (Spanish).

b) Comprobación previa:

– Versión de PHP >= 4.3.10        Sí
– Soporte para compresión zllib     Sí
– Soporte para XML     Sí
– Soporte MySQL     Sí
– configuration.php Escribible     No —>(No es necesario que esta opcion nos muestre ‘Sí’, lo configuraremos al final).

c) LIcencia:

Solo nos muestra la licencia de Joomla. Continuamos con la siguiente fase.

d) Base de datos

Tipo de base de datos : mysql
Nombre del servidor: localhost
Nombre de usuario: root
Contraseña:

Escribe la contraseña que asignamos al usuario root de mysql en el paso 6 de: IV. Instalación y configuración de MySQL

Nombre de la base de datos: joomla_db (Puede ser cualquier otro nombre).

Solo si los datos ingresados son los correctos te dejará pasar a la siguiente fase.

e) Configuracion del FTP
Como no hemos instalado aún un servidor ftp, dejamos pasar esta opción sin llenar nada.

f) Configuración de Administración Joomla:

Nombre del sitio web: De tu elección
Correo electrónico: De tu elección
Contraseña del usuario admin: De tu elección
Confirmar la contraseña del usuario admin: Igual al anterior

Es opcional hacer click en: ‘Instalar datos de ejemplo predeterminado’.

Mensaje 1:

Para continuar debe eliminar completamente el directorio de instalación.
Por motivos de seguridad, no podrá avanzar más allá de esta pantalla hasta que el directorio “installation” sea removido completamente. Esta es una característica de seguridad de Joomla!.

Solución:

rm -rf /usr/local/www/apache22/data/joomla15/installation

Mensaje 2:

Su archivo o directorio de configuración no tiene permisos de escritura, o hubo un problema al crear el archivo de configuración. Deberá subir el siguiente código manualmente. Seleccione el área de texto para resaltar todo el código.

Solución:

– Copiar y pegar en un editor de texto el codigo mostrado en la parte inferior del mensaje y guardarlo con el nombre: configuration.php en el directorio /tmp

– Copiar el fichero configuration.php en el directorio de joomla:

#cp /tmp/configuration.php  /usr/local/www/apache22/data/joomla15/

7) Repetir el paso 5)

La cuenta del usuario es: admin

La contraseña fue establecida en el paso 6) – f)

Solo te hace falta personalizar su sitio web, para ello guiate del manual de usuario de Joomla.

Con ello queda demostrado que PC-BSD no tiene problemas para funcionar excelentemente como  un Servidor Web.

Ir a: Montar un Servidor Web en PC-BSD 7

Instalación y Configuración de PHP en PC-BSD 7


El siguiente paso, luego de la instalación de apache, será instalar y configurar php.

Basado en normas de FreeBSD

 

1) Procedemos a instalar php desde los ports:

#cd /usr/ports/lang/php5/ && make install clean

#cd /usr/ports/lang/php5-extensions/ && make install clean

2) Una vez terminada la instalación, verificamos que ‘index.php’ esté incluido en el DirectoryIndex de httpd.conf, si no está lo agregamos:

#edit /usr/local/etc/apache22/httpd.conf

DirectoryIndex index.php index.html index.htm

3) Ahora estableceremos el vínculo entre apache y php, para ello agregar al final de httpd.conf (ya lo tienen abierto) las siguientes lineas:

ScriptAlias /php-cgi “/usr/local/bin/php-cgi”
AddHandler php-handler .php
Action php-handler /php-cgi
<Location “/php-cgi”>
Options None
Order allow,deny
Allow from all
</Location>
*Salimos de edit:
Control + c
command: exit
4) Probamos si todo está OK, para ello crear un fichero index.php
#cd /usr/local/www/apache22/data/
#mkdir indextest && cd indextest
#edit index.php
<?php
echo “Hola Mundo”;
?> 

Control + c
command:exit

5) Ingresar en un el navegador web: http://localhost/indextest/
Si nos muestra solo Hola Mundo, significa que todo marcha bien.
*Si por alguna razón apache está deshabilitado y por lo tant no hay acceso al http://localhost/, iniciar apache con:
#apachectl start
.
Ir a: Montar un Servidor Web en PC-BSD 7

Instalación de Apache en PC-BSD 7


 

Como primer paso realizaremos la instalación y una configuración mínima (por no decir nada) de Apache.

Basado en normas de FreeBSD.

1) Pueden percatarse de que el puerto 80 no escucha nada:

#netstat -a|grep ‘*.http’

Si no hay ninguna respuesta quiere decir que no hemos realizado con anterioridad alguna instalación de ningún servidor web.

2) Procedemos a instalar apache via ports:

#cd /usr/ports/www/apache22/ && make install clean

La descarga y compilación tomará su tiempo…

3) Agregaremos una linea al fichero rc.conf para que inicie apache al arrancar el sistema.

#edit /etc/rc.conf

Añadir al inicio: apache22_enable=”YES”

Control + c

command: exit

4) Iniciar apache:

#apachectl start

5) Volvemos a revisar si http está ejecutándose:

#netstat -a|grep ‘*.http’
tcp4 0 0 *.http *.* LISTEN

La linea anterior se mostraría si el servicio está en ejecución.

6) Para terminar:

*Ingrese en un navegador web:

127.0.0.1

ó

localhost

Si le muestra el mensaje It works! , todo marcha bien.

*La ruta del fichero de configuración de apache es:

/usr/local/etc/apache22/httpd.conf

*El DocumentRoot por defecto estará ubicado en: /usr/local/www/apache22/data/

Ir a: Montar un Servidor Web en PC-BSD 7

Montar un Servidor Web en PC-BSD 7


En los siguientes post’s, explicaré como levantar un servidor web en PC-BSD 7 Fibonacci Edition, basándome en parte de la metodología de FreeBSD. Para ello he enlazado algunos links de referencia que creo son entendibles, como también, he explicado detalladamente donde creí que era necesario hacerlo. Esto servirá para finalmente lograr montar nuestra web sobre PC-BSD.

 

I. Instalación y Post Instalación de PC-BSD 7

II. Instalación y configuración de Apache

III. Instalación y configuración de PHP

IV. Instalación y configuración de MySQL

V. Instalación y configuración de Joomla

VI. Reemplazar Apache por Cherokee (último)