lunes, 11 de enero de 2016

Píldora: Instalar y configurar un site con SSL en NetScaler VPX

Hola! Hoy te voy a dejar cómo configurar un SSL en un balanceador Netscaler VPX de Citrix; en concreto, este es la versión 9.3. Mucha suerte!


1 - Generar .key y .csr

2 - Instalar el certificado (CSR) con los intermediates correspondientes

3 - Configurar la parte de balanceo entre el LB y los servidores [ Load Balancing ]


-       Primero creo los servidores que formarán parte del pool. Lo hago desde ‘SERVERS’; sólo necesito el nombre y la IP que les doy:


-       (OPCIONAL) Puedo definir los servicios que correrán sobre estas máquinas y sobre los que quiero balancear. En ‘SERVICES’ puedes definir un único servicio cada vez:

 
y después puedes definir los monitores que quieres añadirle a este servicio



  




Después defino los servidores que formarán parte de este poll, el puerto y su peso en el balanceo
 



No es necesario añadir nada más al resto de pestañas

-       (OPCIONAL) También puedo definir grupos de servicios que actuarán como un balanceo real (por ejemplo, el puerto 80 en todos los servidores dados de alta en Servers). Lo hago desde ‘SERVICE GROUPS’. Primero defino el nombre y el protocolo de entrada
  
 
  
 y después defino los servidores que formarán parte de este poll, el puerto y su peso en el balanceo

 

En la pestaña ‘Advanced’, habilita ‘Client IP’ y en el box Header añade: “X-Forwarded-Proto” (sin comillas)
 

 
 
y sí, si sólo se pone un servidor equivale a añadir un sólo servicio desde la pestaña SERVICES

-       Para configurar el virtual server definimos el nombre, protocolo (que será HTTP) y dirección IP. La dirección IP no servirá para nada en nuestro caso, se puede poner una privada para no malgastarlas. De las pestañas “Services” y “Service Groups” selecciona los servicios que necesites añadir
 

En la pestaña ‘Method and Persistence’ asegúrate que tienes estas opciones
 
  


Y el resto lo dejas como está.


4 - Configurar la parte entre el cliente y el LB [ Content Switching ]
Es muy importante recordar que para cada nuevo SSL necesitaremos una IP dedicada
 

 
En VirtualHost creamos dos entradas.
-       La primera será la HTTP que simplemente haga de bypass del puerto 80 al balanceo general (en Target he puesto BalanceoOpenShopen-ALL)




No hace poner nada en otras pestañas
-       La segunda será el HTTPs será todo igual excepto por el protocolo con el que traba- jamos, que será SSL en lugar de HTTPS. En Target lo apuntaremos al virtualhost que acabamos de crear
 


En la pestaña “SSL Settings” añadimos el certificado que acabamos de instalar


y creamos la nueva entrada. Tendrás que cerrar la ventana después


PARTE DEL EQUIPO DE DESARROLLO

-       Modificar el index.php según este post:



     mucho cuidado al crear los Servicios o los grupos de Servicios nuevos, no olvidar el “X-Forwarded-Proto” en especial al olvidarlo en los polls ‘admin’
 
 

sábado, 21 de noviembre de 2015

Píldora: MySQL Replicación Maestro - esclavo



Hola! hoy te traigo mi receta para montar una replicación M/s MySQL
Espero que te sea tan útil como me resulta a mí!



Ten en cuenta que está basada en distribuciones RHEL, pero se puede adaptar a cualquier otra
[ (M): ejecutar en Master ]
[ (s): ejecutar en slave]

# Actualizar sistema en (M) y (s)


sudo yum update

# Añadir a los repositorios los oficiales de Percona en (M) y (s)


sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-
3/percona-release-0.1-3.noarch.rpm

# Instalamos, levantamos y securizamos MySQL en (M) y (s)

sudo yum install Percona-Server-server-55
sudo service mysql start
sudo mysql_secure_installation

(tendremos que introducir los datos que nos solicite)

# Abro puertos de comunicación de MySQL en (M) y (s)

sudo firewall-cmd --zone= --add-service=mysql
iptables -L -n # y compruebo que ya aparece el servicio mysql

# Configurar en (M)

sudo vi /etc/my.cnf

# y añado en [mysql]
------
log-bin=mysql-bin
server-id=1
------
guardo, salgo y ejecuto

sudo service mysql restart

y en (s) hago casi lo mismo

sudo vi /etc/my.cnf

# y añado en [mysql]
------
server-id=2
------
sudo service mysql restart

# Configurar usuarios de replicación (M)

mysql -p -u root
mysql > CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass123';
mysql > GRANT REPLICATION SLAVE ON *.* TO 'repl';
mysql > FLUSH TABLES WITH READ LOCK;
mysql > SHOW MASTER STATUS;

En el último paso, guardamos los datos File y Position para seguir en la provisión
Seguimos en (s)

mysql -p -u rootmysql >  CHANGE MASTER TO MASTER_HOST="Master_Host",
MASTER_USER="repl", MASTER_PASSWORD="slavepass123";,
MASTER_LOG_FILE=";mysql-bin.000001", MASTER_LOG_POS=551;

Como prueba creo una BD y compruebo que se crea automáticamente en el otro servidor
Después vuelco una BD pequeña y compruebo que se crea igualmente en el otro servidor

lunes, 28 de septiembre de 2015

Subvolúmenes (bricks) no montan en volúmenes gluster

Para ver el estado de un volumen gluster, hago:

[root@gest ~]# gluster volume status drupriv
Status of volume: drupriv
Gluster process Port Online Pid
------------------------------------------------------------------------------
Brick 172.17.229.77:/mnt/gluster/data 49152 Y 5270
Brick 172.17.230.164:/mnt/gluster/data 49152 Y 28083
Brick 172.17.229.250:/mnt/gluster/data 49152 Y 16775
NFS Server on localhost 2049 Y 5282
Self-heal Daemon on localhost N/A Y 5295
NFS Server on 172.17.229.124 2049 Y 2287
Self-heal Daemon on 172.17.229.124 N/A Y 2292
NFS Server on 172.17.229.113 2049 Y 2327
Self-heal Daemon on 172.17.229.113 N/A Y 2332
NFS Server on 172.17.229.250 2049 Y 16788
Self-heal Daemon on 172.17.229.250 N/A Y 16796
NFS Server on 172.17.230.164 2049 Y 28096
Self-heal Daemon on 172.17.230.164 N/A Y 28104
Task Status of Volume drupriv
------------------------------------------------------------------------------
There are no active volume tasks

y lo que obtengo es:

- por un lado el estado de los bricks que forman el volumen:


Brick 172.17.229.77:/mnt/gluster/data 49152 Y 5270
Brick 172.17.230.164:/mnt/gluster/data 49152 Y 28083
Brick 172.17.229.250:/mnt/gluster/data 49152 Y 16775

- por otro lado, los servidores que están montando ese volumen (por NFS en este caso)


NFS Server on localhost 2049 Y 5282
Self-heal Daemon on localhost N/A Y 5295
NFS Server on 172.17.229.124 2049 Y 2287
Self-heal Daemon on 172.17.229.124 N/A Y 2292
NFS Server on 172.17.229.113 2049 Y 2327
Self-heal Daemon on 172.17.229.113 N/A Y 2332
NFS Server on 172.17.229.250 2049 Y 16788
Self-heal Daemon on 172.17.229.250 N/A Y 16796
NFS Server on 172.17.230.164 2049 Y 28096
Self-heal Daemon on 172.17.230.164 N/A Y 28104

En el caso de que algún subvolumen no esté online (esto es cuando en lugar de una Y
tenemos una N), podemos levantarlo de la siguiente manera (se hacen todos a la vez, no
por partes)


gluster volume start drupriv

y si falla o no los levanta, podemos llegar a forzarlos:


gluster volume start drupriv force

Una vez forzado, comprueba que se han montado todas las unidades, remonta los glusters
y debería verse todo con normalidad

martes, 21 de julio de 2015

Píldora: montar / en un freebsd que no arranca por un problema en (otro) disco

Si un día un servidor FreeBSD no os levanta porque tiene algún problema con un disco, este es el procedimiento para montar el disco / y arreglar lo que sea necesario (como por ejemplo, editar el /etc/fstab y comentar el disco que da problemas)

(una vez entráis en la shell)


fsck -y
mount -u /
mount -a -t ufs
swapon -a


Por descontado, esto no sirve si el disco con problemas es el root ("/")