Verificar la configuración de Apache

Si hemos modificado la configuración de Apache y a partir de ese momento no inicia normalmente, es posible que hayamos cometido un error en alguna línea de algunos de los archivos correspondientes.

Para detectar donde está el inconveniente lo recomendable es probar la configuración. A continuación detallo la tarea en Windows:

  • Abrir el menú Inicio
  • Buscar la carpeta de Apache
  • Elegir el acceso directo Test Configuration

Si existe un error entonces se mostrará en una ventana de la línea de comandos. De lo contrario, se cerrará automáticamente.

Podemos ejecutarlo por línea de comandos conociendo la ubicación donde se encuentra instalado Apache (de manera similar se puede hacer en Linux).

Si todo funciona correctamente podremos ver algunos warnings y al final el texto:

Syntax OK

Ejemplo:

“C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\httpd.exe” -w -t -f  “C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf” -d “C:\Program Files (x86)\Apache Software Foundation\Apache2.2.”

donde se utilizan los siguientes parámetros:

  • -d <DIRECTORIO>: indica un ServerRoot alternativo
  • -f <ARCHIVO>: indica un archivo de configuración alternativo
  • -w: mantener abierta la ventana de la consola ante un error
  • -t: verificar la sintaxis de los archivos de configuración
Anuncios

Cuando Apache no inicia porque Skype se ejecuta primero

Cuando en la misma computadora conviven Skype y Apache podemos llegar a tener inconvenientes porque ambos utilizan el puerto 80 para sus conexiones. El puerto 80 es el puerto en el que por defecto Apache escucha las conexiones mientras que Skype lo utiliza como un puerto adicional o de respaldo. Contemplar que no sea un error de configuración de Apache el que no permite iniciarlo!

El problema se produce si:

  • Apache está configurado para escuchar en el puerto 80
  • Skype se inicia antes que Apache, por lo que se le asigna el puerto
  • Apache no puede iniciar

Cuando intentamos iniciar Apache desde la línea de comandos de Windows veremos el siguiente error:

net start apache2.2
El servicio de Apache2.2 está iniciándose.
El servicio de Apache2.2 no ha podido iniciarse.
Error específico del servicio: 1.
Puede obtener más ayuda con el comando NET HELPMSG 3547.

Para solucionarlo tenemos 3 alternativas:

1. Cambiar configuración de Skype

Dado que Skype utiliza el puerto 80 como un adicional, esta es la solución recomendada por mí. Para ello:

  1. Iniciar sesión en Skype
  2. Acceder al menú Herramientas > Opciones
    • o bien, presionar Ctrl + ,
  3. Abrir la opción Avanzada > Conexión
  4. Desmarcar la opción “Usar los puertos 80 y 443 para conexiones entrantes adicionales”
  5. Confirmar con Guardar

Si vemos que Skype permite las comunicaciones correctamente, y podemos iniciar el servicio de Apache, entonces damos por solucionado el problema.

Es posible que en ciertos entornos no sea una solución aplicable por políticas de seguridad de la red interna que no permitan conexiones en el puerto configurado de Skype, pero sí en alguno de los adicionales (80 o 443).

2. Cambiar el puerto de Apache

Si es posible utilizar un puerto alternativo para Apache, y nuestra aplicación web lo soporta, entonces podemos optar por esta solución. De lo contrario paramos a la última opción.

  1. Abrir con un editor de textos el archivo: conf\httpd.conf en la ubicación donde instalamos Apache
  2. Modificar en la línea que indica “Listen 80” el 80 por otro número de puerto, por ejemplo el 8080
  3. Cambiar el puerto en cada uno de los VirtualHost definidos, si es que los tenemos
  4. Reiniciar el servicio de Apache para que tome la nueva configuración.

Recordar que puede ser necesario desbloquear acceso el web a nuestro equipo, permitiendo el acceso a través del nuevo puerto en el Firewall de Windows.

3. Asegurarse que Apache inicie antes que Skype

Si el problema se debe a que ambas aplicaciones inician automáticamente con Windows, hasta el momento no conozco una forma de lograr (y asegurar) que Apache lo haga ANTES que Skype. Es por eso que en este caso extremo habrá que configurar que Skype no se inicie automáticamente con Windows y dejar que Apache sí lo haga.

Para cambiar esta configuración de Skype:

  1. Iniciar sesión en Skype
  2. Acceder al menú Herramientas > Opciones
    • o bien, presionar Ctrl + ,
  3. Abrir la opción General > Configuración General
  4. Desmarcar la opción “Ejecutar Skype al encender el equipo”
  5. Confirmar con Guardar y reiniciar el equipo

De esta manera Apache adquiere el puerto 80 y luego Skype no puede utilizarlo, pero sí podría utilizar el 443 si mantuvimos la configuración inicial.

Basado en:

http://www.ehow.com/info_12216304_apache-conflict-skype.html

Cambiar la aplicación para hacer diff y merge en TortoiseCVS

Teniendo el cliente TortoiseCVS instalado para trabajar con repositorios CVS, podemos cambiar la aplicación para determinar las diferencias (diff) y para combinar (merge) diferentes revisiones del código. Para ello debemos modificar la configuración de la siguiente manera:

  1. Abrir un explorador de windows
  2. Click derecho sobre un lugar vacío
  3. Elegir la opción CVS > Preferences…
  4. Abrir la pestaña Tools
  5. Asociar el ejecutable asociado a Diff application
    • Ajustar el formato de Two-way diff parameters
  6. Asociar el ejecutable asociado a Merge application
    • Ajustar el formato de Two-way merge parameters
  7. Confirmar con OK

Ejemplo:

Si deseamos usar Winmerge para ambas tareas, lo más probable es que configuremos:

C:\Program Files (x86)\WinMerge\WinMergeU.exe

La forma en que vienen especificados los parámetros por defecto es la que utiliza Winmerge, por lo que no es necesario hacer cambios.

Configurar el juego de caracteres de una conexión en Putty

Si al conectarnos a la consola de un equipo Linux mediante Putty notamos que el juego de caracteres no es el apropiado podemos indicar cual deseamos. Lo que casi siempre me sucede es que veo caracteres raros en los contornos de los paneles del mc. Para hacer la modificación vamos a:

  1. Abrir la aplicación Putty
  2. Seleccionar la sesión guardada
  3. Presionar Load
  4. Elegir Window > Translation del menú de categorías de la izquierda
  5. Establecer el juego de caracteres deseado en el combo “Remote character set”
    1. Casi siempre elijo UTF-8
  6. Volver a la categoría Session
  7. Presionar Save para guardar los cambios

Desde ahora, cada vez que utilicemos esa sesión entrará en uso el juego de caracteres configurado

Activar interfaz web para uTorrent

Si tenemos un equipo en la red local desde el cual realizamos las descargas con uTorrent, probablemente tengamos la necesidad de conocer el estado actual de cada una, hacer ajustes, agregar nuevos torrents, etc. desde otros dispositivos de la LAN.

Para ello, podemos activar la interfaz web (Web UI) de esta aplicación siguiendo estos pasos:

  1. Abrir uTorrent
  2. Abrir el menú Options y seleccionar Preferences
  3. Elegir Advanced > Web UI en el listado de la izquierda
  4. Marcar la opción “Enable Web UI”
  5. Definir un puerto alternativo
    1. Marcar la opción “Alternative listening port”
    2. Indicar el número de puerto deseado asegurándose de que no está en uso y el firewall lo habilita.
  6. Definir un usuario y contraseña para acceder de manera segura, y que no cualquiera pueda hacerlo
  7. Desmarcar la opción “Enable Guest account with username” para que no exista acceso de invitado
  8. Confirmar presionando OK

A partir de este momento podemos acceder desde un navegador indicando:

http://<IP_EQUIPO&gt;:<PUERTO_CONFIGURADO>

e ingresando usuario y contraseña configurados cuando lo solicite.

En Windows, si esto no funcionara podría deberse a que el Firewall está bloqueando las conexiones a ese puerto. Para permitirlas debemos hacer un trabajo similar a desbloquear acceso web, pero eligiendo el puerto correspondiente.

Reiniciar la conexión a Internet desde jDownloader

Si bien prefiero las descargas por Torrent o MagnetLink, hay contados casos donde tengo que utilizar jDownloader para organizar las descargas directas. Resulta útil poder configurarlo para que genere una reconexión automática, la cual nos brinde una IP diferente de nuestro proveedor de Internet y así poder continuar con la siguiente descarga desde el mismo servicio (sin esperas eternas).

  • Abrir jDownloader
  • Elegir la solapa Settings
  • Abrir el menú de la izquierda Modules -> Reconnection
  • Presionar el botón Select Router
    • Elegir el de marca y modelo más similar al nuestro. Se presenta el script asociado.
    • Si no existe ninguno, presionar Create Reconnection Script
      • Seguir los pasos para generar una reconexión en el router. La aplicación los irá registrando para así generar un script a medida.
  • Presionar el botón Fetch Router IP
    • Se completa el campo “Router’s IP”
    • Si no sucede, completar el campo manualmente.
  • Completar los campos User y Password con las credenciales para acceder a la administración web del router
  • Presionar el botón Change IP

Si todo funciona correctamente veremos que nos presenta la nueva IP y se ilumina la carita feliz.

En mi caso, poseo un módem router adsl TP-Link modelo TD-W8961ND y el script es el siguiente:

[[[HSRC]]]

  [[[STEP]]]
    [[[REQUEST]]]
    GET /Forms/tools_system_1 HTTP/1.1
    Host: %%%routerip%%%
    Authorization: Basic %%%basicauth%%%
    [[[/REQUEST]]]
  [[[/STEP]]]
  [[[STEP]]]
    [[[REQUEST]]]
    GET /progress.htm HTTP/1.1
    Host: %%%routerip%%%
    Authorization: Basic %%%basicauth%%%
    [[[/REQUEST]]]
  [[[/STEP]]]
[[[/HSRC]]]

Exportar todo el contenido de una MediaWiki en HTML

Necesitaba poder tener todas las páginas de una MediaWiki en formato HTML en un directorio, con sus imágenes, para poder usarlo como un respaldo navegable del estado actual de esa wiki. Encontré la extensión DumpHTML y la implementé tal como se indica:

  1. Descargar el archivo tar.gz de la extensión para la versión de MediaWiki instalada
  2. Descomprimir su contenido en el directorio extensions

Exportar el contenido

La acción se realiza desde la línea de comandos, ejecutando:

php <MEDIAWIKI_PATH>/extensions/DumpHTML/dumpHTML.php -d <DESTINATION_DIR> --image-snapshot

lo que dejará en el directorio DESTINATION_DIR todo el contenido listo para ser navegado.

  • El parámetro –image-snapshot, asegura la copia de las imágenes subidas

Configuraciones

Se pueden indicar otros parámetros para

  • -k <SKIN>: utilizar un skin en particular. El contenido respaldado apunta dicho skin en la wiki , por lo que requiere que esté en funcionamiento y sea accesible para que el skin sea visualizado correctamente.
    • Si no se especifica o bien si se indica el skin “offline”, se utiliza un skin básico disponible dentro del contenido respaldado.
  • –munge-title <ALGORITHM>: utilizar un algoritmo para transformar los nombres de páginas y archivos cuando contienen caracteres no soportados por el entorno desde el que se accederá al contenido.
    • md5: se transforman los nombres a partir de aplicarles MD5 (útil si existen caracteres UTF8)
    • windows: se quitan los caracteres no soportados en nombres de archivos en Windows ( /\*?”<>| )

Inconvenientes

No pude hacer que se exporte el thumbnail de cada imagen, que se visualizan en la página de la imagen.

En la versión 1.19 de MediaWiki me sucedieron 2 cosas:

En la primer ejecución, obtuve el error "Default users are not allowed to read, please specify (--group=sysop)". Pude solucionarlo agregando a la invocación

--group=user

Había realizado la exportación indicando el skin monobook, pero no se visualizaba correctamente y pude observar que se intentaban obtener los estilos desde "http://localhost/load.php?...". Pude solucionarlo estableciendo la url de la wiki en una variable de configuración de LocalSettings.php:

$wgServer = 'http://www.dominio-wiki.com';

y volviendo a exportar para que se apuntara correctamente al skin.