Blog

Categoría: Sistemas TI

Virtualizando SQL Server 2008 sobre Hyper-V R2

Publicado en Sistemas TI en febrero 10, 2010 9:12 am

Unos rápidos apuntes a tener en cuenta a la hora de virtualizar un entorno SQL Server.

Discos:
- De espacio fijo: En SQL Server es muy importante el I/O de los volúmenes con los que se trabaja, por ello la recomendación es utilizar siempre discos fijos.
- Controladora SCSI: Al igual que sucede en entornos físicos, en virtual sólo podremos colocar hasta 4 discos IDE, por lo que si necesitamos más discos lo mejor es utilizar un bus SCSI.
- Usar varios VHD: Es decir, uno para el propio sistema y los archivos de instalación de SQL, otro para tempdb, otro para los logs, otro para los datos… Esto al igual que en un entorno real permite mejorar el I/O, sobre todo si disponemos de una cabina y dedicamos discos separados (spindles) o LUN para mejorar aún más el I/O. Aún cuando no dispongamos de discos separados sigue siendo recomendable utilizar diferentes VHDs.
- Sistema de archivos: NTFS con unidad de asignación a 64 K para obtener mejor rendimiento.

Red:
- Importante que la red sea Gigabit y la velocidad esté configurada en full-duplex.
- Siempre usaremos los adaptadores sintéticos que usan los Servicios de Integración instalados en la VM para funcionar, ya que ofrecen mucho mejor rendimiento que los emulados, los cuales sólo son útiles por razones de compatibilidad en sistemas que no soportan los Servicios de Integración (anteriores a MS Windows Server 2003 R2, kernels de linux no soportados, etc…).
- Si es posible usar teaming para mejorar el rendimiento y ofrecer redundancia, sobre todo para conexiones a una cabina vía iSCSI.

Memoria:
La memoria se comporta exactamente igual que en una máquina física, a diferencia de otros hypervisores en Hyper-V no se permite el sobreuso (aunque MS ya está trabajando en ello) por lo que la cantidad asignada a una VM se reserva en el anfitrión por completo. Es importante dejar al propio nodo anfitrión 2 GB libres para el sistema y sus tareas.

Restablecer la contraseña de Mailman

Publicado en Sistemas TI en enero 15, 2010 1:51 am

Si has olvidado la contraseña de administrador de mailman, puedes restablecerla desde:

$MAILMAN_ROOT_D/bin/mmsitepass

Pd: Si usas Plesk, puedes localizar la ruta $MAILMAN_ROOT_D como hemos comentado aquí.

Cómo obtener los paths definidos para las aplicaciones y servicios de Plesk

Publicado en Sistemas TI en enero 15, 2010 12:47 am

Puede resultar muy útil para saber dónde está cada cosa y conocer las distintas variables de Plesk. Sobre todo, si gestionais diferentes entornos y no es posible una configuración homogénea entre ellos.


# cat /etc/psa/psa.conf

#
# (c) Copyright 1999-2008 Parallels
# All Rights Reserved
#
# This file is used to declare the location of different utilities,
# services, and/or packages within Plesk.  No changes should be made
# to this file without first consulting support. Any changes made can
# affect service availability and performance.
#
# Each line in this file follows the following format:
#
# variable [whitespace characters] value
#
# That is, the name of the field, followed by spaces or tabs, followed
# by field value. Trailing spaces are removed.
#

# Plesk tree
PRODUCT_ROOT_D /usr/local/psa

# Directory of SysV-like Plesk initscripts
PRODUCT_RC_D /etc/init.d

# Directory for config files
PRODUCT_ETC_D /usr/local/psa/etc

# Directory for service utilities
PLESK_LIBEXEC_DIR /usr/lib64/plesk-9.0

# Virtual hosts directory
HTTPD_VHOSTS_D /srv/www/vhosts

# Apache configuration files directory
HTTPD_CONF_D /etc/apache2

# Apache include files directory
HTTPD_INCLUDE_D /etc/apache2/conf.d

# Apache binary files directory
HTTPD_BIN_D /usr/bin

#Apache log files directory
HTTPD_LOG_D /var/log/apache2

#apache startup script
HTTPD_SERVICE apache2

# Qmail directory
QMAIL_ROOT_D /var/qmail

# Location of qmail maildirs
PLESK_MAILNAMES_D /var/qmail/mailnames

# Path to rblsmtpd
RBLSMTPD /usr/sbin/rblsmtpd

# Courier-IMAP
COURIER_IMAP_ROOT_D /

# Proftpd
FTPD_CONF /etc/proftpd.conf
FTPD_CONF_INC /etc/proftpd.include
FTPD_BIN_D /usr/bin
FTPD_VAR_D /var/run/proftpd
FTPD_SCOREBOARD /var/run/proftpd/scoreboard

# Bind
NAMED_RUN_ROOT_D /var/lib/named
NAMED_OPTIONS_CONF /etc/named.conf.include.plesk-options
NAMED_ZONES_CONF /etc/named.conf.include.plesk-zones

# Webalizer
WEB_STAT /usr/bin/webalizer

# Logrotate
LOGROTATE /usr/local/psa/logrotate/sbin/logrotate

# MySQL
MYSQL_VAR_D /var/lib/mysql
MYSQL_BIN_D /usr/bin

# PostgreSQL
PGSQL_DATA_D /var/lib/pgsql/data
PGSQL_BIN_D /usr/bin

# Backups directory
DUMP_D /var/lib/psa/dumps

# Mailman directories
MAILMAN_ROOT_D /usr/lib/mailman
MAILMAN_VAR_D /var/lib/mailman

# Python binary
PYTHON_BIN /usr/bin/python2.6

# Tomcat root directory
CATALINA_HOME /usr/share/tomcat6

# DrWeb
DRWEB_ROOT_D /opt/drweb
DRWEB_ETC_D  /etc/drweb

# GnuPG binary
GPG_BIN /usr/bin/gpg

# Tar binary
TAR_BIN /bin/tar

# AWStats
AWSTATS_ETC_D /etc/awstats
AWSTATS_DOC_D /usr/share/apache2/icons/awstats

# openssl binary
OPENSSL_BIN /usr/bin/openssl

LIB_SSL_PATH /lib/libssl.so
LIB_CRYPTO_PATH /lib/libcrypto.so

CLIENT_PHP_BIN /usr/local/psa/bin/php-cli
CGI_PHP_BIN /usr/bin/php-cgi5
AWSTATS_TOOLS_D /usr/share/doc/packages/awstats/tools
AWSTATS_BIN_D   /srv/www/cgi-bin

Cambiar el modo de ejecución de PHP a FastCGI en Plesk Windows

Publicado en Sistemas TI en enero 13, 2010 9:05 pm

En IIS es muy recomendable ejecutar las aplicaciones PHP como FastCGI, la mejora de rendimiento es notable. Además en entornos en los que hay corriendo más de una aplicación php, esto nos permite separar los procesos facilitando la administración y aislando una aplicación de otra.

Utilizando Plesk, por defecto el panel utiliza ISAPI para ejecutar las aplicaciones y permite la elección entre CGI y FastCGI. Nuestro consejo es siempre utilizar FastCGI, a no ser que no nos quede otro remedio.

Establecer FastCGI por defecto

Hay que establecer el valor “fastcgi” en el registro:

# En el registro de Windows vamos a:

HKEY_LOCAL_MACHINESOFTWAREPLESKPSA ConfigConfig

# Y establecemos:

PLESKCP_PHP_MODE -> fastcgi

Luego vamos a la consola (cmd) y desde el directorio %plesk_dir% ejecutamos el siguiente comando para que se apliquen los cambios:

reconfigurator.exe /check=Services

Configuración rápida de Virtual Host en Apache

Publicado en Sistemas TI en enero 7, 2010 9:32 am

Tras tener Apache+php+mysql instalado, llega el momento de crear alojamientos virtuales para nuestros dominios. Apache guarda los archivos de configuración de los Virtual Host en  /etc/apache2/vhosts.d/ si no hemos configurado ninguno allí veremos las plantillas que podemos usar como base (una con ssl y otra sin ssl).

En el ejemplo, voy a crear un archivo de configuración para BlackSlot en openSuse.

# Nos movemos al directorio de configuración vhost
cd /etc/apache2/vhosts.d
# Copiamos la plantilla a un nuevo archivo
cp vhost.template blackslot.conf
# En otra distribución seguramente sea /var/www/vhosts/
mkdir -p /srv/www/vhosts/blackslot/

Es importante tener en cuenta que el archivo de configuración debe terminar con el sufijo “.conf” para que Apache lo lea.

Debemos editarlo y sustituir el dominio de ejemplo “dummy-host.example.com” por el nuestro, así como las rutas que en nuestro ejemplo es /srv/www/vhosts/blackslot/. Sobre todo establece correctamente el DocumentRoot y donde dice <Directory “/srv/www/vhosts/dummy-host.example.com”>

Reiniciamos Apache y listo.

/etc/init.d/apache2 restart

Instalar extensión php-memcached en Suse Linux

Publicado en Desarrollo web Sistemas TI en enero 6, 2010 9:00 am

Aunque este tutorial está escrito pensando en una distribución Suse y openSuse, se podría aplicar a otras como debian.

Antes de nada, tenemos dos opciones a elegir: php-memcached o php-memcache. Las dos funcionan igual en la capa de programación php, pero tienen las siguientes particularidades:

php-memcache: Es la extensión más antigua de las dos, no requiere librerías adicionales.

php-memcached: Es la extensión más nueva, pero desarrollada por Andrei Zmievski (desarrollador del core de php) y requiere libmemcached. Yo he elegido esta, porque me da más confianza que Andrei sea el responsable de su desarrollo.

* Nota: si usas symfony 1.2 o inferior, debes usar la extensión php-memcache

Comencemos pues descargando la extensión libmemcached y la compilamos.


wget http://download.tangent.org/libmemcached-0.35.tar.gz

tar -xvf libmemcached-0.35.tar.gz

cd libmemcached-0.35/

/configure

make

make install

Ahora nos tendríamos que bajar la extensión php-memcached del sitio web pecl, pero antes debemos instalar las librerías de desarrollo de php, para poder compilar dicha extensión.

#instalamos las librerías de desarrollo de php
zypper install php5-devel

#ahora nos bajamos la extensión de pecl
wget http://pecl.php.net/get/memcached-1.0.0.tgz
cd memcached-1.0.0/

#hacemos un phpize para generar el configurador
phpize

#compilamos
/configure
make
make install

Por último debemos crear el archivo /etc/php5/conf.d/memcached.ini e indicar lo siguiente en él para que php active esta extensión:

extension=memcached.so

Ahora basta con reiniciar el servidor web para disponer de esta extensión habilitada.

Instalar LAMP (Linux+Apache2+MySQL5+PHP5) en openSuse 11.2

Publicado en Sistemas TI en enero 5, 2010 9:12 am

1. Instalar los paquetes necesarios:


# zypper install apache2 php5 mysql

2. Levantar apache y mysql:


# rcapache2 start
# rcmysql start

3. Creamos una configuración segura para mysql:


# mysql_secure_installation

Aquí nos pedirá crear una clave para el usuario root de mysql, eliminaremos los usuarios anonimos y la bd ‘test’ y deshabilitaremos el login remoto con privilegios de root.

4. Abrimos el puerto 80 (HTTP)


# SuSEfirewall2 open EXT TCP http

# SuSEfirewall2 stop

# SuSEfirewall2 start

5. Probamos que todo está instalado correctamente:


# touch /srv/www/htdocs/phpinfo.php
# echo '<?php phpinfo(); ?>' > /srv/www/htdocs/phpinfo.php

Y accedemos desde el navegador a http://ipserver/phpinfo.php. Aquí, fijaros que PHP5 y mysql figuren como instalados.

Generar un archivo CSR en IIS 6.0

Publicado en Sistemas TI en enero 4, 2010 9:30 am

IIS > Sitios Web > Propiedades del sitio > Seguridad de directorios > Certificado de servidor… > Crear un nuevo certificado > Preparar la petición ahora pero enviarla más tarde > Poner un para el certificado y dejar longitud en bits de 1024 > Rellenar el resto de datos que solicita el formulario hasta finalizar.

Es IMPORTANTE que donde pregunta el “Nombre común” (Common name) se ponga el nombre COMPLETO del dominio para el que vamos a solicitar el certificado, por ejemplo www.blackslot.com

Salvar la key privada

MMC > Complemento Certificates > Seleccionar Request > All task > Export

Más info en:

https://support.comodo.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=248&nav=0,1,33

Crear un certificado SSL autofirmado en IIS7

Publicado en Sistemas TI en enero 4, 2010 9:03 am

1. Abrir el Administrador de IIS, seleccionar el nodo y abrir Certificados de servidor.

2. Seleccionar Crear un certificado autofirmado. Una vez allí pedirá el nombre que deseamos poner al certificado, yo he elegido el hostname de mi propia máquina.

3. Seleccionar el sitio web donde se desea instalar el certificado, yo he seleccionado Default Web Site, luego ir a Enlaces…

4. Pinchar en Agregar.

5. Seleccionar tipo https, el puerto por defecto será el 443. Y luego escoger el nombre del certificado.

5. Tras aceptar, en el panel de acciones aparece una nueva opción que enlaza al sitio seguro.

Si se desea requerir siempre el acceso por https, ir a Configuración de SSL.

6. Seleccionar Requerir SSL y listo.

Obtener el nombre de una máquina HyperV desde la propia máquina HyperV

Publicado en Sistemas TI en enero 3, 2010 8:08 pm

A veces nos puede resultar útil obtener el nombre de la máquina hypervirtualizada desde la misma.

Lo podemos solucionar con este código powershell:


$Name = Get-ItemProperty -path "HKLM:SOFTWAREMicrosoftVirtual MachineGuestParameters" -Name VirtualMachineName

$Name.VirtualMachineName

SQL Server al día

Publicado en Sistemas TI en diciembre 30, 2009 1:07 pm

No hace falta explicar la conveniencia de mantener un sistema actualizado, aunque todos los sysadmins no son de mi misma opinión y muchos se jactan de tener uptimes altísimos en su servidor, confundiendolo con el SLA del servicio.

Para saber la compilación de SQL Server, lo vemos desde el SQL Server Management si lo tenemos instalado o ejecutando:

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

A falta de una lista oficial que agrupe todas las compilaciones, en SQLTEAM hay publicada una lista mantenida por Bill Graciano que os será de ayuda.

Saludos, Sergio Sainz.

Conexiones remotas en SQL Server 2008 y 2005

Publicado en Sistemas TI en diciembre 27, 2009 12:27 pm

Quien se haya encontrado con un Sql Server recién instalado posiblemente se habrá visto en la situación de que necesita conectar a él desde otro equipo remoto.

En primer lugar si el equipo cliente no tiene las herramientas de cliente para SQL Server, puedes descargar la versión gratuita del administrador de SQL;

- Para SQL Server 2005: Microsoft SQL Server Management Studio Express .

- Para SQL Server 2008: Microsoft SQL 2008 Server Management Studio Express .

Mejor aún, si lo deseas puedes descargar el Kit de Herramientas de Sql Server Express 2005, este Kit además del administrador de SQL, incluye una herramienta gráfica de administración, y Business Intelligence Development Studio, un entorno de creación y edición de informes que usa SQL Server Reporting Services. Si usas SQL 2008, la descarga recomendada es Microsoft SQL Server 2008 Express with Advanced Services.

Configurando el servidor

1- Vamos a la utilidad Configuración de superficie de SQL Server 2005 (Surface Area Configuration Utility) > Configuración de superficie para servicios y conexiones > conexiones remotas > Conexiones locales y remotas > Usar TCP/IP y canalizaciones con nombre.

Sql Configuration Manager

2- Vamos a SQL Configuration Manager > Configuración de red de SQLEXPRESS y habilitamos las conexiones TCP/IP y las canalizaciones con nombre.

Sql Configuration Manager3- Seguimos en el SQL Configuration Manager > Protocolos de SQL Express > TCP/IP y en las propiedades Direcciones IP > IPALL > Puerto TCP > poner el 1433 (o el puerto que desees habilitar para SQL)

Protocolos TCP/IP

4- Crear una excepción en el FW para C:Archivos de programaMicrosoft SQL ServerMSSQL.1MSSQLBinnsqlsrvr.exe

Y abrir los puertos 1434 (UDP) y 1433 (TCP)

5- Finalmente hay que reiniciar el servicio de SQL para que se apliquen los cambios y ya estamos listos para probar la conexión desde nuestro equipo cliente.

¡¡NO PIERDAS LA OPORTUNIDAD DE ALOJAR TUS BASES DE DATOS SQLSERVER CON BLACKSLOT!!

Contempla nuestras ofertas de

HOSTING COMPARTIDO WINDOWS

SERVIDORES CLOUD WINDOWS

o solicítanos un plan de prueba escribiendo a

info@blackslot.com

Fotolia_18406256_XS

Bloquear IPs desde el firewall de Windows 2008

Publicado en Sistemas TI en diciembre 25, 2009 3:50 pm

Una de las cosas que más me gustan respecto a la seguridad de Windows, son las mejoras en el firewall de Windows 2008. Entre muchas más posibilidades que en la versión anterior de Windows, podemos bloquear ips atacantes de una forma sencilla.

Como estoy seguro de que ningún administrador deja de revisar la pestaña Seguridad en el Visor de Eventos (¿verdad que no?), en ocasiones pueden detectarse reiterados intentos de conexión, si son ilégitimos, aunque no consigan nada pueden lograr un DDOS en toda regla, por ello lo mejor es filtrarlos desde un firewall perimetral. A falta de  uno, ahora podemos filtrar desde el propio server.

1) Abrimos el firewall de Windows.

2)Seleccionamos añadir nueva regla...

3) Añadimos una regla personalizada.

Añadir regla de firewall

4) La aplicamos a Todos los programas.

firewall

5) Tipo de protocolo: Cualquiera.

fw protocolo

6) Agregamos la IP que queremos bloquear, también puede ser un rango entero.

fw agregar ip a bloquear

7) Seleccionamos: Bloquear la conexión.

fw bloquear la conexion

8) Indicamos a que redes aplicamos la regla.

fw redes

9) Le damos un nombre identificativo.

fw nombre regla

10) Y ya tenemos nuestra regla de seguridad creada.

firewall windows 2008

Saludos, Sergio Sainz

Cómo activar o deshabilitar Safe Mode (Modo Seguro) en nuestro panel

Publicado en Nuestros servicios Sistemas TI en diciembre 24, 2009 12:59 pm

Algunas aplicaciones, como WordPress necesitan que el Safe Mode (Modo Seguro) no este activo. Esto se puede controlar facilmente desde nuestro panel de control, sin tocar una línea de código.

1) En el panel de control accedemos a Ajustes de alojamiento.

ajustes de alojamiento

2) En el apartado de soporte para PHP, activamos o desactivamos la función php_mode.

safemode

Disponible el SDK para Powershell 2.0

Publicado en Sistemas TI en diciembre 23, 2009 7:08 pm

Microsoft ha publicado la descarga del sdk para powershell 2.0, viene con ejemplos de código y documentación en los que se muestra cómo atacar a las diferentes APIs de powershell, y como usar características como acceso remoto, eventing, transactions y jobs en tus aplicaciones.