Black log

Bajo la categoría ‘Sistemas TI’

Virtualizando SQL Server 2008 sobre Hyper-V R2

Escrito por Sergio Sainz el 10-02-2010

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.

Sin comentarios | Archivado como Sistemas TI | 10/02/2010

Restablecer la contraseña de Mailman

Escrito por Sergio Sainz el 15-01-2010

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í.

Sin comentarios | Archivado como Sistemas TI | 15/01/2010

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

1 comentario | Archivado como Sistemas TI |

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_MACHINE\SOFTWARE\PLESK\PSA Config\Config

# 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

Sin comentarios | Archivado como Sistemas TI | 13/01/2010

Configuración rápida de Virtual Host en Apache

Escrito por Sergio Sainz el 07-01-2010

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

Sin comentarios | Archivado como Sistemas TI | 07/01/2010

Instalar extensión php-memcached en Suse Linux

Escrito por admin el 06-01-2010

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.

1 comentario | Archivado como Desarrollo web, Sistemas TI | 06/01/2010

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

Escrito por Sergio Sainz el 05-01-2010

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.

2 comentarios | Archivado como Sistemas TI | 05/01/2010

Generar un archivo CSR en IIS 6.0

Escrito por Sergio Sainz el 04-01-2010

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

Sin comentarios | Archivado como Sistemas TI | 04/01/2010

Crear un certificado SSL autofirmado en IIS7

Escrito por Sergio Sainz el 04-01-2010

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.

1 comentario | Archivado como Sistemas TI |

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:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters" -Name VirtualMachineName

$Name.VirtualMachineName

Sin comentarios | Archivado como Sistemas TI | 03/01/2010