Archivo de la Categoría “Windows”

La mayoría de la gente que conozco utiliza Putty como cliente SSH bajo Windows. En muchos casos puede ser más que suficiente, pero cuando te es necesario acceder simultáneamente a varios servidores a la vez me parece un engorro un cliente sin TABS y tan poco flexible a la hora de personalizar el aspecto de las ventanas.

Por eso, desde que mi compañero Ivan Pereiro me mostró esta herramienta no he dejado de usarla desde Windows.

Las principales características frente a Putty son:

- Integración con Cygwin: Si tienes instalado Cygwin, cuando instales Poderosa este se integrará de forma que puedas abrir shells Cygwin desde poderosa.

- Tabs: Tener varias shells abiertas no implica ejecutar nuevas instancias de la aplicación, se integran todas ellas en la misma ventana de Poderosa y se cambia de una a otra a través de pestañas.

- Dividir la ventana horizontal y verticalmente tantas veces como se desee para mostrar distintas shells: En la imagen se puede ver que la ventana se divide horizontalmente, en la parte inferior se puede ver un “top” a un server mientras la parte superior muestra a su vez una división vertical en la que a la izquierda se ve una sesión local con Cygwin y a la derecha una conexión SSH2 a un servidor remoto.

image 

Además de esto, cuenta con más mejoras y se pueden desarrollar plugins para la aplicación. Lo que me sorprende es que la última versión es de Noviembre del 2006. Pero aún así no conozco otro cliente de SSH para Windows gratuito que sea mejor que este.

La página oficial de la aplicación es http://en.poderosa.org

Comments 6 Comentarios »

Hace poco me he enfrentado a un problema que puede suceder al migrar una base de datos a otro entorno mssql que no comparta el mismo lenguaje de instalación que el que teníamos en un principio.

En este caso ha sido al restaurar una base de datos que se encontraba en un sql con lenguaje “español” a otro que habían instalado en “us_english”. Con el primero las fechas (campos de tipo datetime) se muestran en formato “dd/mm/yyy” pero en inglés las fechas tienen el formato “mm/dd/yyyy”.

Si mostramos la tabla desde el Microsoft Sql Server Managmentent Studio veremos que las fechas se muestran tal y como hemos importado, pero el problema viene cuando queremos hacer una consulta por ejemplo desde nuestra web y Sql Server nos devuelve la fecha, entonces veremos que se produce un error que esta relacionado con el formato de la fecha.

Puestos en situación, vamos manos a la obra.

¿Como ver el lenguaje de Sql Server?

select @@language

Si mssql ha sido instalado en inglés seguramente obtendrás us_english como resultado.

¿Como ver todos los lenguajes disponibles y sus propiedades?

sp_helplanguage

image

¿Como establecer el lenguaje?

De esta manera establecemos el lenguaje español para todas las consultas que lancemos desde la sesión y con el usuario que estemos conectados:

SET LANGUAGE Español

También podemos, por ejemplo en el caso de nuestra web, antes de lanzar una consulta sql especificar el dateformat deseado en cada caso, indicando:  

set dateformat dmy

¿Como establecer el lenguaje predeterminado para TODAS las bases de datos del servidor?

De esta manera conseguimos que por defecto se devuelvan las fechas en formato dd/mm/yyyy. Lo que debemos hacer es abrir Microsoft Sql Server Managmentent Studio, ir a las propiedades del servidor SQL y en el apartado avanzado, modificar la opción idioma predeterminado por Español.

image

 

 

 

 

 

 

 

 

 

 

 

 

Además hay que tener en cuenta el lenguaje por defecto de los Inicios de sesión que existan en el servidor, ya que los que creemos nuevos a partir de ahora lo harán con lenguaje español. Para ello:

USE [master]
GO
ALTER LOGIN [serversql\sergiosainz] WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[Spanish]
GO

También es posible modificar el idioma por el deseado desde las propiedades del usuario.

image

Comments No Hay Comentarios »

Estos son algunos de los problemas con los que me he encontrado al instalar componentes de Persits y que suelen ser recurrentes en la mayoría de las instalaciones.

Los componentes que ofrece Persits son: AspEmail, AspUpload, AspJpeg, AspPdf, AspEncrypt, AspGrid, AspUser, Jupload, y Xupload.

Componentes de Persits

¿Instalación automática o manual?

La instalación automática crea por defecto un directorio llamado Persits Software en Archivos de programa y además de extraer y registrar el  componente (la .dll), extrae toda la documentación del mismo, los ejemplos…

En ocasiones falla la instalación o simplemente se quiere los componentes y ningún “extra” más. Para ello:

  1. Copia la dll en el servidor, por ejemplo aspupload.dll. Sino tienes la .dll puedes instalar en cualquier otro equipo y hacer un copy/paste del archivo.
  2. Registra el componente. Para ello debes utilizar el siguiente comando:

regsvr32 c:\componentesasp\aspupload.dll

3.   Da permisos a los componentes y directorios donde estos vayan a escribir. El usuario de IIS que ejecuta el sitio necesita permisos NTFS de escritura en los directorios donde tenga que escribir y necesita control total al componente para poder crear el objeto.

La documentación de Persits recomienda Control total a todos en los directorios donde tenga que escribir y en los dll, aunque a mí me gusta ser algo más restrictivo que eso al menos en los directorios publicados con IIS.

4.   Para todos los servicios de IIS y vuelve a levantarlos.

net stop iisadmin /y

iisreset /start

Reinicio de IIS

 

¿x32 o x64, Qué versión escoger?

La duda sólo la puedes tener si tu Windows es 64 bits, sino directamente escoge la versión de los componentes en 32 bits.

Hay que tener en cuenta que cada versión de componente es un producto diferente.

Lo que debes hacer es verificar el modo en el que corre IIS, esto se ve en la propiedad Enable32BitAppOnWin64 de la Metabase. Si esta a True IIS lanza sus procesos en modo de emulación 32 bits y si está a False (valor por defecto) entonces está corriendo en modo 64 bits.

¿Qué hacer si ya has adquirido la versión 64 bits y la que necesitas es la 32 bits?

No es necesario comprar la versión 32 bits del producto si sigues estos pasos:

  1. Desinstala la versión de 64 bits.
  2. Instala la versión de 32 bits. Si lo haces de forma automática cuando te pida el key dejalo en blanco y continua, así se instala en modo trial-license.
  3. Abre el registro de windows y crea una nueva entrada llamada RegKey y que contenga la llave que tengas de Persits (Cambia AspEmail por el nombre del componente que corresponda):

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Persits Software\AspEmail\RegKey

¿Qué hacer si ya has adquirido la versión 32 bits y la que necesitas es la 64 bits?

En este caso tienes 2 posibilidades:

  1. Comprar la versión de 64 bits.
  2. Pasar IIS a funcionar en modo 32 bits.

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 True

 

Algunos errores típicos

  • AspPdf, AspUpload…

Persits.PdfManager.1 error ’800a002e’
Opening Output file failed: Access is denied.

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

Persits.Upload.1 (0x800A0005)
Access is denied.

La solución es dar permisos al usuario de IIS (IUSR_XXXX) sobre el directorio donde vamos a guardar los archivos generados.

  • AspEmail

Persits.MailSender.4 error ’800a0011′
Access is denied.

Este es otro problema común de permisos donde el usuario de IIS necesita permisos sobre el directorio de cola de mensajes (queue).

550 Relaying Denied

El motivo es que no se están cumpliendo las normas de envío del servidor de correo. Normalmente esto pasa por no usar un método con autenticación. Debes incluir las siguientes líneas antes de hacer el envío.

<%
Mail.Username = sergiosainz@mimail.com
Mail.Password = P@ssw0rd!
%>

Server object, ASP 0178 (0×80070005)
The call to Server.CreateObject failed while checking permissions. Access is denied to this object.

Se soluciona dando permisos Control Total a Todos a los .dll.

Comments No Hay Comentarios »

Si por cualquier motivo no tienes el archivo de transacciones (.ldf) obtendrás un error de este tipo a la hora de intentar adjuntar una BD desde el Wizard de SQL.

image

Suponiendo que el .mdf esté en buenas condiciones puedes adjuntar la BD y forzando la reconstrucción del archivo de transacciones.

El siguiente ejemplo muestra como adjuntar la BD “sergiosainz” indicando el path a mí .mdf (sustituye esos valores por los que correspondan en tu caso):

USE [master]
GO
CREATE DATABASE [sergiosainz] ON
(FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sergiosainz.mdf’)
FOR ATTACH_REBUILD_LOG
GO

Comments No Hay Comentarios »

1. En Windows tenemos que tener un directorio compartido con permisos para el usuario que queramos utilizar.

2. En LINUX se crea el directorio donde queremos montar el directorio compartido:

# mkdir /mnt/equipowin/

3. Para montar hay que especificar la ruta del directorio compartido (//10.0.0.1/recurso), el usuario (sergiosainz), la contraseña (qwerty) y donde queremos montar (/mnt/equipowin), Sustituye esos valores por los que correspondan en tu caso y ya tienes la partición montada.

 
# mount -t cifs //10.0.0.1/recurso -o username=sergiosainz,password=qwerty /mnt/equipowin/

Comments 2 Comentarios »

En Windows 2008, Vista SP1 y XP SP3 se utiliza el protocolo RDP 6.1*. En estás versiones se el parámetro /console deja de estar soportado y se sustituye por /admin. Por tanto la cosa quedaría así:

mstsc /v:192.168.0.100 /admin

Es importante tener esto en cuenta sobre todo si tenéis aplicaciones que utilicen este modificador ya que no van a “cantar” ningún error ignorando esta opción.

Los parámetros soportados por esta nueva versión son:

—————————
Remote Desktop Connection Usage
—————————
MSTSC [<connection file>] [/v:<server[:port]>] [/admin] [/f[ullscreen]]

[/w:<width> /h:<height>] [/public] | [/span] [/edit "connection file"] [/migrate]

"connection file" — Specifies the name of an .rdp file for the connection.

/v:<server[:port]> — Specifies the remote computer to which you want to

connect.

/admin — Connects you to the session for administering a server.

/f — Starts Remote Desktop in full-screen mode.

/w:<width> — Specifies the width of the Remote Desktop window.

/h:<height> — Specifies the height of the Remote Desktop window.

/public — Runs Remote Desktop in public mode.

/span — Matches the remote desktop width and height with the local

virtual desktop, spanning across multiple monitors if necessary. To span

across monitors, the monitors must all have the same height and be aligned

vertically.

/edit — Opens the specified .rdp connection file for editing.

/migrate — Migrates legacy connection files that were created with

Client Connection Manager to new .rdp connection files.

 

Muy recomendable el siguiente artículo que explica, mucho mejor de lo que yo lo haría, los motivos que han propiciado este cambio.

* RDP = Remote Desktop Protocol.      ** RDC = Remote Desktop Connection (cliente)

 

En la primera parte de este post aprovechaba para recomendar VisionApp para Windows porque es la aplicación que yo utilizo desde hace ya bastante tiempo, pero existe otra parecida llamada ROYALTS por si os apetece probar (cuestión de gustos):

image

Comments 3 Comentarios »

Por defecto Windows viene con un par de sesiones de TS. En entornos de trabajo en los que varios acceden a administrar una máquina vía TS, es habitual encontrarse con gente a la que se le olvida cerrar su sesión porque simplemente cierra el cliente de Remote Desktop sin usar la opción cerrar sesión, con lo que cuando un tercero necesita acceder para algo se encuentra con el siguiente mensajito:

image

Es entonces cuando en mi oficina se escucha el grito de "¿quien coño esta dentro del server XXX ?“.  Obviamente nadie responde porque nadie está dentro ni nadie ha tocado nada…

La solución a este problema es tan simple como conectarse físicamente al server, iniciar sesión, ver quién está dentro y cerrar las sesiones. Pero ¿que pasa cuando no estás en el CPD y el servidor no está a tu alcance inmediato?. La solución está en acceder usando el parámetro /console. Por ejemplo (sustituye 192.168.0.100 por la IP del server):

mstsc /v:192.168.0.100 /console

Todos los clientes gráficos que conozco también incluyen la opción console.

Los clientes que recomiendo para sesiones terminal server:

- Windows: VisionApp

image

- MAC: CORD.

image

- Linux: Krdc

image

Comments 3 Comentarios »

Antes de nada, quiero aclarar que me refiero únicamente al motor web que sirve Plesk como panel de control, no a las aplicaciones y dominios que se crean a través del panel y se lanzan a través de IIS. Estas sí que van bien realizando algunos ajustes previos que si interesa puedo comentar en otro post.

Me he encontrado con varios problemas al trabajar con Plesk sobre IIS, pero el problema lo he notado más aún al probar IIS 7 con Plesk 9 y tras realizar algunas sencillas pruebas desde las que he podido reproducir varios errores a partir de una instalación básica he podido comprobar que muchos de ellos se solucionan al pasar Plesk a funcionar sobre Apache.

Para cambiar Plesk a funcionar sobre Apache basta con ejecutar desde shell:

%plesk_bin%\reconfigurator.exe –switch-plesk-web-server –new-provider=apache

Con ello, también he notado un mejor rendimiento y velocidad de carga del panel apreciable desde el primer momento.

Recomiendo al que pueda que lo pruebe. Espero que Parallels le de una vuelta al funcionamiento de su panel sobre IIS 7 y poder escribir lo contrario para futuras versiones…

Si necesitas volver a IIS

%plesk_bin%\reconfigurator.exe –switch-plesk-web-server –new-provider=iis

Comments 3 Comentarios »

Por lo general los clientes de ftp intentan conectar por defecto en modo pasivo por lo que conviene habilitar nuestro servidor ftp y firewall para aceptar este tipo de conexiones.

Lo primero es acceder al administrador de IIS e indicar al servidor de ftp que rango de puertos puede utilizar para aceptar conexiones pasivas, puedes ampliar este rango según tus necesidades. En mi caso he decidido habilitar el rango 5000-5050.

image image

Tras eso abrimos una shell y creamos la correspondiente regla para abrir el puerto 21:

C:\>netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=21

Y habilitamos el modo stateful FTP (*):

C:\>netsh advfirewall set global StatefulFtp enable

 

(*): El modo stateful FTP filtering permitirá abrir y cerrar ventanas de comunicación observando el tráfico en tiempo real y de una  manera dinámica. El modo de conexión "PASV" hace que el servidor de ftp abra un puerto libre dentro del rango que hemos indicado en la configuración de FTP7 y acepte conexiones del cliente en él.

Este sólo es un tip rápido, para más información recomiendo el siguiente enlace.

Comments 2 Comentarios »

Útil sobre todo para un entorno Server Core:

Para habilitar ICMP (los pings):

netsh firewall set icmpsetting 8 enable

Siguiendo la misma regla, para desactivar:

netsh firewall set icmpsetting 8 disable

Si queremos ver el estado del firewall y un listado de los puertos abiertos en todas las interfaces:

netsh firewall show state

Comments 2 Comentarios »