jueves, 20 de junio de 2013

Restaurando base de datos de Mysql desde los archivos .frm,MYD.MYI.



FRM el archivo con esta terminación contiene información de la estructura de la tabla

MYD El archivo con esta terminación contiene los datos que están almacenados en la tabla.

MYI El archivo con esta terminación contiene los índices de las tablas

el respaldo que tenemos lo movemos al directorio donde mysql guarda las bases de datos comunmente es en /var/lib/mysql

reiniciamos el servicio de mysql

/etc/init.d/mysql restart

ahora hacemos un chequeo a las tablas por si hay alguna corrupta la corrija

ahora podemos sacarle un respaldo con mysqldump para tener un respaldo en texto plano

jueves, 6 de junio de 2013

Activar https en Apache2 en Debian 6


instalar cerficado de https en debian, servidor apache2 de paquetes

1- instalar el módulo mod_ssl

Para OpenSSL

2- ver si está activo el módulo mod_ssl

apachectl -M

3- verificar si el módulo tiene su configuración en

ls -l /etc/apache2/mods-available

entre los archivos de configuración deben encontrarse


ssl.conf configura ssl
ssl.load  carga el módulo de ssl en el servidor apache2

4- verificar si se encuntran activados debería haber una liga simbolica dentro del directorio etc/apache2/mods-enabled/ a /etc/apache2/mods-available/ssl.conf y /etc/apache2/mods-available/ssl.load, si se encuentran cargados debemos investigar porque no están activos, tal vez la ruta hacia el módulo de ssl, que se encuentra en el archivo ssl.load no sea la correcta.

5- Ahora vamos a porner los certificados en su lugar

Dentro del directorio /etc/ssl vamos ha crear los siguientes directorios

certs lugar donde van los certificados

private lugar donde va la llave privada

chain  lugar donde va la cadena de la contrseña del certificado

6- Para activar el modulo de ssl

a2enmod mod_ssl (si da error intentar con el siguiente comando)

o

a2enmod ssl

al activar el módulo nos aparece una leyenda como esta:

Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Run '/etc/init.d/apache2 restart' to activate new configuration!


7- verificar que tenemos el puerto 443 abierto, esto lo debemos hacer desde otro equipo

telnet ip 443

si nos aparece un mensaje como este:

telnet: Unable to connect to remote host: Connection refused

o nunca nos responde

debemos ir a decirle a la persona que administra el firewall que nos abra el puerto 443 de la ip que tiene asignada nuestro servidor. Sí ya está abierto y aún sigues sin poder ejecutar la prueba
telnet ip 443, con éxito en tu servidor debe haber un firewall llamado Netfilter y que es manejado por el comando iptables, y deberás crear una regla para que te permita el acceso desde ese puerto o reinicien apache y listo.




8- dentro de nuestro virtualhost de nuestro servidor

añadimos las líneas siguientes:


<VirtualHost *:80>
RedirectMatch (.*) https://nombrededominio$1
</VirtualHost>

Lo anterior sirve para que las perticiones que llegan al puero 80 (http)
sean redirigidas al puerto 443, la expresión regular significa que todos los caracters de la petición sean reenviados https://nombrededominio$1, el símbolo de pesitos y el número uno indican que la ruta pedida después del dominio sea pedida y no sólo se haga la petición a la raíz del servidor  https://nombrededominio.

Ahora dentro del mismo archivo crearemos otro virtualhost, pero que escuche por el puerto 443

<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/nombrecertificado.crt
SSLCertificateKeyFile /etc/ssl/private/nombredelarchivoquecontienelallave.key
SSLCertificateChainFile /etc/ssl/chain/cadena.crt

.aquí poner las lineas de configuración que antes estaban en el virtualhost antigüo que escuchaba por el puerto 80
.
.
.
.
</virtualhost>


9- Reiniciar el servidor apache2

/etc/init.d/apache2 restart

10- Probar que todo ha salido bien entrando al sitio web por https, desde nuestro navegador.


Listo!!!