viernes, 19 de septiembre de 2014

Mi nuevo apache 2.4 no me carga!

Hoy, al hacer una instalación de Apache desde el repositorio de Ubuntu, me ha instalado la versión 2.4. Eso significa que la a partir de ahora todas las actualizaciones lo irán instalando (al menos en la release 14.04). El caso es que he tenido un problema porque la configuración he visto que ha cambiado un poco.

Mi virtualhost por defecto ha funcionado bien (la página de Apache 'It Works!' ha cambiado también), pero al poner un DocumentRoot concreto, no cargaba. Primero he comprobado que no hubiera un .htaccess o algo que me estuviera fastidiando (era una aplicación que ya estaba montada y funcionando en otro host), pero al final he visto que el problema era la configuración del VH. El error que tenía era

AH01630: client denied by server configuration:

Básicamente me faltaba añadir lo siguiente: 

                  
Después reinicia tu nuevo Apache y comprueba tu URL; en mi caso ha empezado a funcionar.

Si quieres más información sobre las nuevas directrices de Apache 2.4 respecto a las antiguas (2.2) las puedes consultar aquí (en inglés).

miércoles, 20 de agosto de 2014

Píldora: Sacar un listado de los sites configurados en IIS (6.0 y 7.x)

Estoy en plena migración de unos sites alojados en IIS 6.0 y 7.0, y necesito tener toda la información disponible: URLs configuradas, sobre qué IPs responden, etc.  En lugar de tener que ir entrando en las configuraciones de cada site, lo que hago es una exportación de esos datos desde el CLI (sí, un 'defecto' de los linuxeros, qué le vamos a hacer).

Aquí va mi receta:

Para IIS 6.0:

> CScript.Exe C:\WINDOWS\system32\IIsWeb.vbs /query
o

> CScript.Exe %windir%\system32\IIsWeb.vbs /query


Para IIS 7.x: 

> C:\WINDOWS\system32\inetsrv\appcmd list site
o
> %windir%\system32\inetsrv\appcmd list site

En el caso de que lo que queráis sea traspasar los datos desde un IIS 6.0 a otro servidor Windows con IIS 6.0 (no sé si funcionará con otras versiones, lo siento), te recomiendo que te centres en el comando

C:\WINDOWS\system32\IIsCnfg.vbs

con el que podrás hacer la exportación y la importación directamente. Tienes más información en

http://msdn.microsoft.com/en-us/library/ms525006.aspx

lunes, 18 de agosto de 2014

Qué puertos tengo abiertos y escuchando?


Habéis necesitado alguna vez saber qué puertos y qué servicios están escuchando en esos puertos? Es normal que al menos utilices una de estas formas, pero si sabes que hay más, es posible te resulte más fácil hacer estas averiguaciones la próxima vez (sin necesidad de instalar el software si es necesario)


Nmap

Para mí, es la más antigua en uso; desde que la conocí, es un comando obligado en cada sistema que monto, pero también he aprendido que no siempre está disponible, así que me he tenido que buscar un poco la vida...


esther@Celacanto:~$ nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2014-08-18 12:43 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00056s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
3306/tcp open  mysql
3689/tcp open  rendezvous

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
esther@Celacanto:~$


Lsof

Lsoft te muestra, además de los puertos abiertos,  las conexiones que tienes establecidas en este momento,


esther@Celacanto:~$ lsof -i
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
firefox   2857 esther   55u  IPv4 105538      0t0  TCP Celacanto.local:50484->mad01s08-in-f7.1e100.net:https
(ESTABLISHED)
firefox   2857 esther   56u  IPv4  99754      0t0  TCP Celacanto.local:52932->199.16.156.52:https
 (ESTABLISHED)
firefox   2857 esther   57u  IPv4 104799      0t0  TCP Celacanto.local:51760->mad01s09-in-f3.1e100.net:http
 (ESTABLISHED)
firefox   2857 esther   61u  IPv4 106927      0t0  TCP Celacanto.local:38367->ticketing.conzentra.com:http-alt
 (ESTABLISHED)
firefox   2857 esther   93u  IPv4 102390      0t0  TCP Celacanto.local:35392->we-in-f191.1e100.net:https
 (ESTABLISHED)
firefox   2857 esther  113u  IPv4 103466      0t0  TCP Celacanto.local:35566->vc-in-f94.1e100.net:https
 (ESTABLISHED)
firefox   2857 esther  118u  IPv4 103460      0t0  TCP Celacanto.local:37161->mad01s14-in-f8.1e100.net:https
(ESTABLISHED)
skype     4177 esther   15u  IPv4  25938      0t0  UDP localhost:35709
skype     4177 esther   50u  IPv4  28241      0t0  TCP
Celacanto.local:35904->db3msgr5010720.gateway.messenger.live.com:https (ESTABLISHED)
skype     4177 esther   51u  IPv4  26862      0t0  TCP Celacanto.local:38060->157.56.116.205:12350
 (ESTABLISHED)
skype     4177 esther   52u  IPv4  26208      0t0  TCP *:63916 (LISTEN)
skype     4177 esther   53u  IPv4  26209      0t0  UDP *:63916
skype     4177 esther   55u  IPv4 105773      0t0  TCP Celacanto.local:33011->snt404-m.hotmail.com:https
 (ESTABLISHED)
skype     4177 esther   60u  IPv4  28208      0t0  TCP Celacanto.local:47544->111.221.74.42:40011
 (ESTABLISHED)
rhythmbox 4743 esther   18u  IPv6  56747      0t0  TCP *:daap (LISTEN)
ssh       6136 esther    3u  IPv4  98422      0t0  TCP Celacanto.local:33097->nemesys:ssh (ESTABLISHED)


Netstat
netstat es un comando potente, pero ten en mente estas combinaciones  de opciones, que te pueden sacar de un aprieto y dar mucha información si lo necesitas

esther@Celacanto:~$ netstat -ltpun | grep ESC
Proto  Recib Enviad Dirección local         Dirección remota       Estado       PID/Program name


tcp        0      0 127.0.0.1:3306          0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:139             0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:63916           0.0.0.0:*               ESCUCHAR    4177/skype    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 192.168.122.1:53        0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 192.168.1.64:53         0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 127.0.0.1:53            0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:22              0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 127.0.0.1:631           0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 127.0.0.1:953           0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:445             0.0.0.0:*               ESCUCHAR    -             
tcp6       0      0 :::3689                 :::*                    ESCUCHAR    4743/rhythmbox
tcp6       0      0 :::139                  :::*                    ESCUCHAR    -             
tcp6       0      0 :::53                   :::*                    ESCUCHAR    -             
tcp6       0      0 :::22                   :::*                    ESCUCHAR    -             
tcp6       0      0 ::1:631                 :::*                    ESCUCHAR    -             
tcp6       0      0 ::1:953                 :::*                    ESCUCHAR    -             
tcp6       0      0 :::445                  :::*                    ESCUCHAR    -

esther@Celacanto:~$ netstat -ltp | grep ESC
Proto  Recib Enviad Dirección local         Dirección remota       Estado       PID/Program name
tcp        0      0 localhost:mysql         *:*                     ESCUCHAR    -              
tcp        0      0 *:netbios-ssn           *:*                     ESCUCHAR    -              
tcp        0      0 *:63916                 *:*                     ESCUCHAR    4177/skype     
tcp        0      0 *:http                  *:*                     ESCUCHAR    -              
tcp        0      0 Celacanto.local:domain  *:*                     ESCUCHAR    -              
tcp        0      0 Celacanto.local:domain  *:*                     ESCUCHAR    -              
tcp        0      0 localhost:domain        *:*                     ESCUCHAR    -              
tcp        0      0 *:ssh                   *:*                     ESCUCHAR    -              
tcp        0      0 localhost:ipp           *:*                     ESCUCHAR    -              
tcp        0      0 localhost:953           *:*                     ESCUCHAR    -              
tcp        0      0 *:microsoft-ds          *:*                     ESCUCHAR    -  

 * Nota: en mi caso, hago un grep de 'ESC', pero en cualquier sistema con base en inglés, deberá cambiarse por 'LIS' o 'LISTEN'

jueves, 10 de abril de 2014

Cómo montar y acceder a los archivos de UNA LUN iSCSI COMPARTIDA y formateada en VMFS


Dicho así, la verdad es que parece muy complicado... de entender...
En la oficina tenemos un Openfiler que sirve como cabina a la infrastructura vmware, y a raiz de una incidencia he tenido que acceder a los archivos alojados en los volume groups que, para rizar el rizo, están formateados en WMFS.

Todo este montaje lo hago desde Linux; desconozco cómo hacerlo desde Windows y si es posible (supongo que sí, pero vamos, ni idea de cómo hacerlo). Lo he probado tanto con Ubuntu 12.04 como con Debian 6.0.1, y en los dos casos no he tenido problemas. Allá vamos

1) Instala los siguientes paquetes para poder montar la LUN iSCSI en tu ordenador

sudo apt-get install open-iscsi

y levanta el servicio

/etc/init.d/open-iscsi restart


2) Yo lo que he hecho ha sido decirle al iscsi que busque las unidades que tengo en mi Openfiler, vamos a ver qué ve:


iscsiadm -m discovery -t sendtargets -p 192.168.1.2



y nos devuelve


192.168.1.2:3260,1 iqn.2006-01.com.openfiler:tsn.181174d83e49



3)  Una vez ya tenemos la dirección del volumen, nos logamos:


iscsiadm --mode node --targetname NOMBRE_ISCSI --portal IP:3260 --login


que en mi caso quedaría

iscsiadm --mode node --targetname iqn.2006-01.com.openfiler:tsn.181174d83e49 --portal 192.168.1.2:3260 --login



Tu sistema ahora reconocerá los discos iSCSI, y sólo te quedará montarlos. Para comprobarlo, puedes hacer un

dmesg


y al final verás que ha descubierto uno o más discos SCSI; en mi caso, el mensaje es

Attached SCSI disk



4) Ahora vamos a instalar el paquete necesario para poder montar los discos VMFS

apt-get install vmfs-tools fuse-utils



Este paquete incluye varias herramientas interesantes, como el debugvmfs, con el quepuedes ejecutar algún comando sobre el datastore en VMFS sin la necesidad de montarlo, por ejemplo:

root:/etc/iscsi# debugvmfs /dev/sde1 df -h
VMFS: Warning: Lun ID mismatch on /dev/sde1
Block size       : 2097152 bytes
Total blocks     : 285312
Total size       : 570624 Mb
Allocated blocks : 262426
Allocated space  : 524852 Mb
Free blocks      : 22886
Free size        : 45772 Mb


5) Vamos a montar el disco que queramos; para montarlo sobre /mnt ejecutamos:


vmfs-fuse /dev/sdf1 /mnt


Y ya podemos acceder a los datos  que hubiera en ese volumen


Esta ha sido mi experiencia; me ha servido y la verdad es que me salvó la vida en su momento, pero si queréis más info (hay más pasos que puede ser que vosotros lleguéis a necesitar), os dejo dos enlaces que he encontrado y que contienen prácticamente todo lo que he posteado aquí.



montar iscsi:  http://www.cyberciti.biz/faq/howto-setup-debian-ubuntu-linux-iscsi-initiator/
acceso vmfs: http://planetvm.net/blog/?p=1592

jueves, 20 de marzo de 2014

Cambio de la URL de Magento

Esta es otra de esas entradas autodirigida a mí, para acordarme la próxima vez que clone/mueva un Magento y tenga que cambiar la URL. También está dirigida a vosotros, si lo que buscáis es cómo modificar la {base_url} de un Magento dado.

Yo lo suelo hacer a las bravas, sabiendo que hay una manera de hacerlo a través del panel de administración, pero como nunca tenemos el acceso al panel, ni me molesto. Prefiero modificar el parámetro en el MySQL correspondiente; el campo que tengo que modificar es el 'path' de la tabla 'core_config_data', de la manera siguiente:

update core_config_data set value='http://nueva_url/' where path like '%base_url';

donde la nueva URL tiene que tener el formato

http://xxx.dominio.tld/

La barra final es muy importante, no la olvides.
Si ves que de esta manera, aún te redirige a la URL antigua, limpia la caché de tu navegador y de Magento [en var/cache] , y purga los logs [en var/log]  de la aplicación.

miércoles, 26 de febrero de 2014

Alta de usuarios en MySQL (II)

Hola de nuevo!

Esta entrada está dirigida, principalmente, a mí. Esta es mi chuleta desde hace tiempo para dar de alta bases de datos MySQL y usuarios con permisos sobre esa base de datos. Sé que publiqué una entrada hace tiempo, pero dejé de utilizar ese mecanismo hace también mucho tiempo. El caso es que siempre se me olvida algún paso, así que lo dejaré aquí, bien definido por si alguien más quiere utilizarlo, y que me sirva para no tener que andar buscando entre documentos durante media hora antes de darme cuenta que me ha faltado una comilla simple o un punto y coma.

create user USUARIO;     # Creamos el usuario USUARIO
create schema BBDD;     # Creamos la base de datos BBDD
grant all on BBDD.* to 'USUARIO'@'localhost';     # Damos permisos 'all' para USUARIO desde localhost
set password for 'USUARIO'@'localhost' = password('PWD');     # Asignamos la contraseña PWD a USUARIO cuando accede desde localhost
grant all on BBDD.* to 'USUARIO'@'%';    # Damos permisos 'all' para USUARIO desde fuera
set password for 'USUARIO'@'%' = password('PWD');    # Asignamos la contraseña PWD a USUARIO cuando accede desde fuera
flush privileges;    # Cargamos los  cambios que hemos hecho

lunes, 13 de enero de 2014

Píldora: cómo saber el número de serie de un servidor Linux

Hay veces en los que necesitas el número de serie de un servidor y no aparece. Tienes que renovar el mantenimiento o pasar una incidencia, y no hay manera de que ese dato te aparezca. 

En diferentes distribuciones Linux (al menos Debian, Ubuntu y RHEL) existe un paquete, dmidecode, que te devuelve toda la información del hardware de tu máquina. La verdad es que sobre este paquete se podría hacer un artículo lo largo que quisiera, pero yo sólo quiero dejaros este comando que os servirá para ver el vendedor, el modelo y el número de serie de vuestro servidor:



     sudo dmidecode | grep -e 'Manufacturer' -e 'Product Name'  -e 'Serial Number' | head -n 3



Si queréis profundizar, podéis empezar por este completo artículo en esdebian.org.