domingo, 31 de marzo de 2013

Webmin + Apache2 + URLs amigables

En este enlace explicamos como configurar el servidor apache2 para que las URLs amigables funcionen sin problemas. Enlace aquí:

En este manual vamos a realizar el mismo proceso pero desde la interfaz webmin, es decir todo en entorno gráfico.

Empezamos conectándonos a nuestro servidor a través de webminen la direccion IP: https://localhost:10000 nos dirigimos al menú: Servidores > Servidor Web Apache y nos dirigimos a la pestaña Global Configuration



En la siguiente ventana hacemos clic en Configure Apache Modules
 


Nos aparece la lista de todos los módulos que tenemos instalados, los activos y los desactivados



De entre todos los modulo que aparecen listados, buscamos el modulo que nos interesa, en este manual necesitamos el modulo rewrite.



como hemos podido observar el modulo se encuentra desactivado, para ello marcamos el o los módulos que necesitemos. A continuación en Enable Selected Modules, y por ultimo pulsamos en Regresar a global configuration




En la siguiente ventana pulsamos en Existing virtual hosts




En este paso hacemos clic en el Servidor Virtual que vayamos a configurar.

NOTA: el Servidor por Defecto lo mejor es dejarlo tal cual (si cambiarle la configuración)




Nos encontramos en las Opciones del Servidor Virtual, hacemos clic en Editar Directivas




En este paso vamos a editar el archivo: /etc/apache2/sites-available/default y vamos a cambiar las líneas que indican AllowOverride None por AllowOverride All, como podemos observar son tres las líneas que tenemos que cambiar. Para guardar los cambios pulsamos en Salvar.




Así es como queda una vez modificado.


 Al pulsar en aceptar regresamos a la ventana anterior. Con esto ya la configuración ya la hemos realizado. Pero necesitamos reiniciar el servidor Apache para que los cambios surtan efectos, para ello Pulsamos en Aplicar Cambios.



 Ya hemos finalizado, A partir de ahora nuestro servidor web ya puede usar las urls amigables.


========================================================================



Vamos a usar otro método para realizar los mismo, con la ventaja de poder personalizar la línea AllowOverride

Aunque nosotros en este proceso también vamos a seleccionar todas las opciones (All).
Llegados a esta ventana nosotros seleccionamos en el método rápido Editar Directivas.
Ahora vamos a usar las Opciones de Por-Directorio. Como podemos observar tenemos que configurar los tres directorios que aparecen, vamos a explicar el directorio raiz (/) que le hemos llamado numero 1, y las carpetas numero 2 y 3 solo enseñamos las capturas de pantallas ya que el proceso es el mismo.


Empezamos haciendo clic en el Directorio /




En la siguiente ventana tenemos dos opciones, vamos a explicar las dos.

1- Editar Directivas
2- Opciones del Documento




1- Editar Directivas.

Hacemos clic en Editar Directivas, y pasamos a editar el fichero, es tan fácil como cambiar la línea AllowOverride None por AllowOverride All. Y para finalizar pulsamos en Salvar para guardar los cambios.




2- Opciones del Documento 

Hacemos clic en Opciones de Documentos, y pasamos a editar la configuración.


Aquí la configuración la hacemos seleccionado las opciones con el ratón en lugar de tener que cambiar algún texto. Todo aquello que tenemos que seleccionar lo tenemos encuadrado en rojo en la captura de pantalla inferior. Por ultimo en esta pantalla pulsamos en Salvar para guardar los cambios.

 
En esta imagen observamos como queda, una vez configurada dichas opciones.



Al pulsar en aceptar regresamos a la ventana anterior, aquí ya no tenemos que hacer mas configuraciones, por tanto pulsamos en Regresar a índice de servidor



Y ahora como comentamos antes vamos a repetir el mismo proceso para la carpeta 2 Directory /usr/www




En la siguiente ventana tenemos dos opciones, vamos a explicar las dos.

1- Editar Directivas
2- Opciones del Documento



1- Editar Directivas.

Hacemos clic en Editar Directivas, y pasamos a editar el fichero, es tan fácil como cambiar la línea AllowOverride None por AllowOverride All. Y para finalizar pulsamos en Salvar para guardar los cambios.




2- Opciones del Documento 

Hacemos clic en Opciones de Documentos, y pasamos a editar la configuración.



Aquí la configuración la hacemos seleccionado las opciones con el ratón en lugar de tener que cambiar algún texto. Todo aquello que tenemos que seleccionar lo tenemos encuadrado en rojo en la captura de pantalla inferior. Por ultimo en esta pantalla pulsamos en Salvar para guardar los cambios.




En esta imagen observamos como queda, una vez configurada dichas opciones.



Al pulsar en aceptar regresamos a la ventana anterior, aquí ya no tenemos que hacer mas configuraciones, por tanto pulsamos en Regresar a índice de servidor






Y ahora por ultimo repetimos el proceso para la carpeta 3 llamada Directory /usr/lib/cgi-bin


En la siguiente ventana tenemos dos opciones, vamos a explicar las dos.

1- Editar Directivas
2- Opciones del Documento






1- Editar Directivas.

Hacemos clic en Editar Directivas, y pasamos a editar el fichero, es tan fácil como cambiar la línea AllowOverride None por AllowOverride All. Y para finalizar pulsamos en Salvar para guardar los cambios.







2- Opciones del Documento 

Hacemos clic en Opciones de Documentos, y pasamos a editar la configuración.



Aquí la configuración la hacemos seleccionado las opciones con el ratón en lugar de tener que cambiar algún texto. Todo aquello que tenemos que seleccionar lo tenemos encuadrado en rojo en la captura de pantalla inferior. Por ultimo en esta pantalla pulsamos en Salvar para guardar los cambios.




En esta imagen observamos como queda, una vez configurada dichas opciones.





Al pulsar en aceptar regresamos a la ventana anterior, aquí ya no tenemos que hacer mas configuraciones.

En esta ventana ahora en vez de pulsar en Regresar a índice de servidor, como ya hemos finalizado y acabado la configuración que necesitamos, pulsamos en Aplicar Cambios.





con esto ya tenemos nuestro servidor web apache bien configurado para mostrar las urls amigables




¿Que significa reescribir las URLs? 
Las URLs semánticas o URLs amigables son aquellas URLs entendibles para el usuario. Lejos de las clásicas URLs llenas de variables y números difíciles de recordar, las URLs semánticas o URLs amigable están formadas con palabras relacionadas con el contenido de la página y fáciles de recordar.  

Por Ejemplo:
- URL normal: http://localhost/USUARIODEBIAN/index.php?option=com_content&view=article&id=6&Itemid=147 
- URL amigable: http://localhost/USUARIODEBIAN/mapa-sitio.html






















.










Apache2 y URLs amigables (mod_rewrite)

Apache2 incluye un modulo llamado rewrite (mod_rewrite) que sirve para reescribir las direcciones URL (Uniform Resource Locator, es decir, Localizador Uniforme de Recurso y se refiere a la dirección única que identifica a una página web en Internet)

¿Que significa reescribir las URLs? 
Las URLs semánticas o URLs amigables son aquellas URLs entendibles para el usuario. Lejos de las clásicas URLs llenas de variables y números difíciles de recordar, las URLs semánticas o URLs amigable están formadas con palabras relacionadas con el contenido de la página y fáciles de recordar.  

Por Ejemplo:
- URL normal: http://localhost/USUARIODEBIAN/index.php?option=com_content&view=article&id=6&Itemid=147 
- URL amigable: http://localhost/USUARIODEBIAN/mapa-sitio.html


Servidor Apache2
Todos los sitios webs creados en el servidor Apache2 se encuentran en un directorio llamado sites-available (sitios-disponibles), en la ruta /etc/apache2.



El directorio sites-enabled (sitios habilitados) su contenido son enlaces al contenido de la carpeta sites-available






Como hemos mencionado anteriormente cuando creamos un nuevo sitio web en el servidor Apache2, lo hacemos en /etc/apache2/sites-available. Es aquí donde debemos hacer los cambios en la configuración de los sitios.

El directorio sites-enabled es un enlace que apuntan a los archivos de configuración de los sitios web en el directorio sites-available.



  Activar y Desactivar sitios web en Apache2 desde la consola: a2ensite y a2dissite 

Para activar y desactivar sitios web, usamos las instrucciones a2ensite y a2dissite 

- a2ensite ("Apache2 enable site" o "Apache2 habilitar sitio")
- a2dissite ( "Apache 2 disable site" o "Apache 2 desactivar sitio").

Ejemplos:  a2ensite usuariodebian    -     a2dissite usuariodebian

Para que la activación o desactivación surtan efecto, debemos recargar Apache2 con el siguiente comando (como usuario administrador): /etc/init.d/apache2 restart



  Activar y Desactivar módulos de Apache2 desde la consola: a2enmod y a2dismod 

Al igual que los sitios web, los módulos en apache2 se pueden activar o desactivar usando los siguientes comando:

- a2enmod nombre-de-módulo  (activar módulo)
- a2dismod nombre-de-módulo (desactivar módulo)

Para que la activación o desactivación surtan efecto, debemos recargar Apache2 con el siguiente comando: /etc/init.d/apache2 restart

Vamos a cargar el módulo de reescritura de URLs con el siguiente comando (como administrador):

 a2enmod rewrite 



El comando introducido nos informa que el modulo rewrite ya esta activado, y que tenemos que reiniciar el servidor apache2 para que los cambios surtan efectos.



Usamos el siguiente comando para reiniciar el servidor apache2: /etc/init.d/apache2 restart



Ya tenemos activado el modulo rewrite, para las urls amigable, ahora vamos a configurarlo para que acepten las urls amigables.




Configurar la activación del módulo rewrite.

Para ello nos dirigimos al directorio /etc/apache2/sites-available 


aquí encontramos un archivo llamado default,



editamos con nuestro editor de textos preferidos, y buscamos todas las líneas que ponga: AllowOverride None y las cambiamos por: AllowOverride All



Guardamos los cambios que hemos realizado en el editor de texto.
Por último tenemos que reiniciar Apache2, para que los cambios surtan efectos.

/etc/init.d/apache2 restart





.htaccess 

El fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor Apache2 que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache.

El fichero .htaccess ofrece un universo de posibilidades, detallamos a continuación los usos más frecuentes. 

- Autorización, Autenticación. Los ficheros .htaccess son usados frecuentemente para especificar restricciones de seguridad para un directorio en particular, de aquí el sufijo "access". 
- El fichero .htaccess se acompaña frecuentemente de otro fichero .htpasswd que guarda usuarios válidos y sus contraseñas.
- Creación de URLs Amigables (semánticas). 
- Los servidores suelen usar el .htaccess para reescribir URLs largas y complejas, en otras más simples y fácilmente recordables.
- Restringir el acceso, Permite bloquear (usando allow/deny) usuarios por su dirección IP y/o dominio e ISPs. También permite bloquear bots y arañas web. 
- SSI Permite el conjunto de directivas SSI. Controlar el comportamiento por defecto del servidor cuando no se especifica ninguna página web.
- Crear redirecciones estáticas Respuestas de error personalizadas
- Cambiar la página que se muestra cuando un error de la parte del servidor ocurre, por ejemplo: HTTP 404 Not Found. MIME types Controlar como el servidor maneja diferentes tipos de archivos.
- Control de Caché. Los ficheros .htaccess permiten a un servidor controlar la caching por medio de los navegadores web y proxies para reducir el uso del ancho de banda , la carga del servidor , y el lag percibido


 Configuración que tenemos que añadir a nuestro fichero .htaccess 
(la gran mayoría de servicios web ya integran y generan el fichero ,htaccess por nosotros)

.






















































sábado, 23 de marzo de 2013

Drupal 7, instalar en español

Drupal (es un sistema de gestión de contenido modular muy configurable que permite publicar artículos, imágenes, u otros archivos y servicios añadidos como foros, encuestas, votaciones, blogs y administración de usuarios y permisos. Drupal es un sistema dinámico: en lugar de almacenar sus contenidos en archivos estáticos en el sistema de ficheros del servidor de forma fija, el contenido textual de las páginas y otras configuraciones son almacenados en una base de datos y se editan utilizando un entorno Web.

Es un programa libre, con licencia GNU/GPL, escrito en PHP, desarrollado y mantenido por una activa comunidad de usuarios. Destaca por la calidad de su código y de las páginas generadas, el respeto de los estándares de la web, y un énfasis especial en la usabilidad y consistencia de todo el sistema.

El diseño de Drupal es especialmente idóneo para construir y gestionar comunidades en Internet. No obstante, su flexibilidad y adaptabilidad, así como la gran cantidad de módulos adicionales disponibles, hace que sea adecuado para realizar muchos tipos diferentes de sitio web

 

Instalación y Configuración de Drupal 7

Lo primero que hay que tener en cuenta para instalar Drupal 7, son los requisitos que exige la aplicación, los cuales se listan a continuación:
  1. PHP 5.2.5 o superior (5.3 recomendado)
  2. MySQL 5.0.15 o superior PostgreSQL 8.3 o superior, SQLite 3.3.7 o superior
  3. Apache 
  4. Espacio en disco 60 Mb minimo
En caso de no tener instalado dichos programas, lo mejor es instalarlo con la ayuda de synaptic.

NOTA: en el siguiente enlace explico como se instala y configura los programas: php, mysql y apache2


Una vez instaladas y configuradas las aplicaciones (php, mysql y apache2) podemos descargar Drupal desde su pagina web oficial en ingles  http://www.drupal.org y tambien vamos a descargar el idioma español http://localize.drupal.org/translate/languages/es
Estos paquetes se deben descomprimir en el directorio público del servidor web, es decir de la empresa que nos de el hospedaje web. (ya sea gratis o de pago). Si por el contrario hemos creado nuestro propio servidor web debemos descomprimirlo en la carpeta /var/www de nuestro servidor,  que responderá a la dirección local: http://localhost
A continuación indicamos los pasos de instalación y configuración, desde nuestro propio servidor web. la versión de Drupal que estamos instalando es la 7.21. En este manual nuestra web se llama Drupal.por tanto la dirección local será: http://localhost/drupal

Descargamos el programa desde la pagina oficial de Drupal http://drupal.org/project/drupal





Descomprimimos el archivo descargado en /var/www (recordemos que estamos en un servidor propio), para una mayor facilidad renombramos la carpeta descomprimida con nombre: Drupal-7.21 al nombre de nuestra web, este caso es: drupal.


Descargamos el idioma spanish para realizar la instalación de Drupal en español . Lo descargamos desde este enlace  http://localize.drupal.org/translate/languages/es,  Recuerda que el archivo tiene que tener extensión .po Tal como muestra la siguiente captura de pantalla.



Tenemos que guarda el archivo descargado (drupal-7.21.es.po) de traducción de drupal a español en la carpeta  /var/www/drupal/profiles/standard/translations 

========================================================================
Importante: Si vas a realizar una instalación minimal o vamos a instalar otro profile, debemos guardar el archivo de traducción en la carpeta correspondiente
======================================================================== 



Crear la base de datos. 
Tenemos que crear una base de datos, nosotros los haremos desde phpmyAdmin. el nombre de la base de datos que vamos a usar en drupal.




  Empezando la instalación desde el servidor local 

Abrimos el navegador web iceweasel y apuntamos a la dirección local http://localhost/Drupal, seleccionamos el tipo de instalación que vamos a usar, usaremos la opción por defecto Standard. Pulsamos en guardar y continuar (Save and continue)



Ahora seleccionamos el idioma Spanish, ya que anteriormente agregamos el paquete de idioma español, seleccionamos Spanish (Español), guardar y continuar



En esta ventana nos informa que tenemos que copiar el archivo de configuración default.settings.php que se encuentra en la siguiente ruta: /var/www/drupal/sites/default  en la misma carpeta pero cambiándole el nombre a settings.php



Ahora rellenamos los datos necesarios para conectarnos a la base de datos:

- Tipo de base de datos: MySQL
- Nombre de la base de datos: drupal
- Nombre de usuario de la base de datos: admin
- Contraseña: clave de acceso a MySQL
- De momento no tocaremos ahora las opciones avanzadas

Pulsamos en guardar y continuar



Se iniciará el proceso de conexión y creación de la base de datos y se agregarán las tablas necesarias para la gestión del sitio






Ahora nos informa que ya podemos cambiarles los permisos a la carpeta settings.php que copiamos anteriormente, tenemos que quitarle el permiso de escritura.




En pantalla anterior también nos solicita los datos necesarios para el sitio y su mantenimiento, estos mismos  datos posteriormente podremos cambiarlos en caso que  deseemos cambiar el nombre a nuetra web.

- Nombre del sitio web: Usuario Debian
- Correo electrónico del sitio: usuariodebian@usuariodebian.com (para enviar mensajes, notificaciones, etc.)
- Nombre de usuario: admin (nombre con que ingresarás al sistema)
- Dirección de correo electrónico: dirección para contactar con nosotros
- Contraseña: que usarás para ingresar al sistema, tendrás que ponerla dos veces.
 - País: España.
- Zona horaria predefinida: Europe/Madrid.

Pulsamos en guardar y continuar.



Esperamos a que finalice la configuración del sitio Se nos informará una vez finalizada la operación, el enlace Visite su nuevo sitio nos invita a ingresar a nuestra web, la página de inicio de nuestro sitio

Este es nuestro nuevo sitio:


¡Listo! Ya podemos comenzar a usar drupal 7 y personalizar nuestro sitio agregando contenidos.


VIDEOTUTORIALES







Nota: Los vídeotutoriales son totalmente ajenos a este blog, son enlaces correspondientes a youtube, screencast, vimeo, etc...