Respaldo automatico de base de datos PostgreSQL con SVN
Para realizar un respaldo a nuestra base de datos postgres y utilizando el control de versiones debemos crear un repositorio y usuario único de svn quien representara al servidor al momento de realizar cambios en los archivos.
Ya teniendo el repositorio creado para el respaldo de base de datos (llamado svnprueba), el usuario principal SVN para el servidor (llamado serveruser), debemos primero seguir estos pasos:
Ir a la siguiente dirección: dando a entender que en esta dirección tendremos la carpeta de respaldo de la base de datos
Ahora realizaremos un checkoutcon el repositorio creado anteriormente y creando la carpeta backup
Ahora vamos a darle permisos a la carpeta backup y consultamos los archivos para verificar que tenemos una versión de svn
Debemos crear el archivo sh donde están los script para generar el respaldo de la base de datos dentro de la carpeta backup.
vacuumdb -U db_user -h localhost -d database_name -f -z -v
pg_dump -U db_user -h localhost -F c -b -v -f ${NAME} database_name
return_code=$?
if [ $return_code -ne 0 ] then
echo ‘Error en el backup. Compruebe: usuario y permisos’
else
gzip -f *.dmp
echo ‘Backup realizado correctamente. Archivo’ ${DIR}/${NAME}.gz
fi
echo ${FECHA} ‘ Reiniciando la base de datos’
/etc/init.d/postgresql-8.3 stop
/etc/init.d/postgresql-8.3 start
nano /var/lib/psql/backup/prueba.log
chown postgres /var/lib/psql/backup/prueba.sh
chmod +x /var/lib/psql/backup/prueba.sh
Debemos colocar la clave root, después usuario y contraseña del usuario del servidor, que el cual configuramos al principio del manual llamado serveruser
Despues de crear nuestro script, debemos configurar el crom del sistema operativo, escribimos en consola la siguiente dirección:
Ahora colocaremos las condiciones del crom cuyas descripciones son las siguientes:
m
|
Minuto. Determina en qué minuto de la hora será ejecutado el comando. Este valor estará entre 0 y 59.
|
h
|
Hora. Controla la hora del día en que se ejecutará el comando. Este valor estará entre 0 y 23, siendo 0 medianoche.
|
dom
|
Día del mes a ejecutar el comando. Si ponemos aquí un 10, el comando se ejecutará solamente los días 10 de cada mes establecido, a la hora y minuto establecidos.
|
mon
|
Mes. Especificaremos qué mes queremos que se ejecute el comando.
|
dow
|
Día de la semana. De 0 a 7, donde 0 es domingo, 1 es lunes… 6 es sábado y 7 otra vez domingo. Semana anglosajona: de 0 a 6. Nuestra semana: 1 a 7.
|
command
|
El comando a ejecutar. Como comando se entiende cualquier comando, programa o script que podamos escribir en la línea de comandos.
|
A continuación podemos ofrecer los siguientes ejemplos:
30 12 * * *
|
Cada día del año a las 12:30
|
0 22 * * 6
|
Todos los domingos del año a las 22:00
|
0 */8 * * 1-5
|
Cada 8 horas (en punto), de lunes a viernes.
|
0 */8 * * 1-5
|
Cada 8 horas (en punto), de lunes a viernes.
|
0 0 * 1-3 1,5,6
|
Todos los lunes, viernes y sábados a medianoche desde enero hasta marzo.
|
Usamos * si deseamos dejar los calores en nulo.
La sintaxis por consola es la siguiente:
0 3 * * * /var/lib/psql/backup/prueba.sh >> /var/lib/psql/backup/prueba.log 2>&1
Esta sintaxis describe que el cron se ejecutara todos los días a las 3:00 am donde se leera el scrip ubicado en /var/lib/psql/backup/prueba.sh y se sobreescribe el log ubicado en /var/lib/psql/backup/prueba.log donde el log requiere de la ejecución del archivo .sh (2>&1)
Para verificar que nuestro respaldo esta correcto podemos verificar por el siguiente comando:
Si vemos que no se realize el respaldo, ó sencillamente no corre el crom podemos consultar el log
Instalación de Webmin
Instalación de Apache Debían
Se ingresa a la consola de comandos del Servidor y se valida como root para no tener problemas en la instalación.
SU Password:# |
gedit /etc/apt/source.list |
# deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb http://mmc.geofisica.unam.mx/debian/ lenny main |
#apt-get update #apt-get upgrade |
- En la consola escriba la siguiente comando para instalar apache
apt-get install apache2 |
- Cuando muestre el mensaje de instalar confirmar la instalación presionando la tecla “s” y la tecla enter
- Se instala ahora las librerías para trabajar con php5
apt-get install libapache2-mod-php5
apt-get install php5-cli
apt-get install php5-common
apt-get install php5-cgi
apt-get install php5
|
Reiniciamos el apache para aplicar los cambios
/etc/init.d/apache2 restart |
# gedit /var/www/info.php
|
<?php
phpinfo(); ?> |
# aptitude install php5-ldap
|
# /etc/init.d/apache2 restart
|
Instalar y configurar Request Tracker 3.6
Esta instalación corresponde a la distribución Linux Debian 4.0. El servidor debería tener instalada la aplicación phpMyAdmin para administrar la base de datos MySQL.
--action init --dba root --prompt
-for-dba-passwordCreating mysql database rtdb.
Now populating database schema.
Creating database schema.
readline() on closed filehandle SCHEMA_LOCAL at /usr/sbin/rt-setup-database-3.6 line 223.
Done setting up database schema.
Now inserting database ACLs
Done setting up database ACLs.
Now inserting RT core system objects
Checking for existing system user…not found. This appears to be a new installation.
Creating system user…done.
Now inserting RT data
Creating Superuser ACL…done.
Creating groups…3.4.5.6.7.8.9.done.
Creating users…10.12.done.
Creating queues…1.2.done.
Creating ACL…2.3.done.
Creating ScripActions…1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.done.
Creating ScripConditions…1.2.3.4.5.6.7.8.9.10.done.
Creating templates…1.2.3.4.5.6.7.8.9.10.11.12.done.
Creating scrips…1.2.3.4.5.6.7.8.9.10.11.12.13.14.done.
Creating predefined searches…1.2.3.done.
Done setting up database content.
Preparar el archivo Log:
openssl s_client -connect mail.clientes.itverx.com.ve:993 -showcerts
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Y crear un archivo de texto con esa información con la extensión .pem, yo le puse nombre itverx1.pem – itverx2.pem ya que conseguí dos veces las líneas --- BEGIN CERTIFICATE ---, lo más sencillo es copiar estos dos archivos .pem del servidor actual y montarlos en el nuevo pero si no es posible se deben hacer estos pasos.
Luego de crear los archivos .pem se debe ejecutar:
c_rehash ~/.certs/
Para crear de nuevo el hash de esos archivos.
Para confirmar que los archivos fueron creados correctamente se debe ejecutar:
openssl s_client -connect mail.clientes.itverx.com.ve:993 -CApath ~/.certs/
Y debe tener una línea final con algo como esto:
* OK teller Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
Instalación de Samba por consola en Debian
1- Abrimos una consola y como Root instalamos los siguientes paquetes poniendo en consola:
Una vez instalado lo necesario, debemos configurar el archivo smb.conf. Para abrirlo tipeamos en consola:
Se nos abre el archivo y el mismo contiene un montón de opciones a llenar o descomentar. Nosotros nos limitamos a lo mínimo. Vamos a buscar las siguientes líneas y a cambiarlas para que funcione todo.
workgroup = transbanca
En donde dice “workgroup =” deben poner el nombre del “Grupo de trabajo”, como explique en el modo grafico yo utilice como grupo “inicioms” que se encuentra configurado en toda mi red.
Después abajo del archivo encuentran usa serie de opciones para compartir los directorios.
Yo como quería compartir una partición agregue de esta manera las siguientes líneas:
comment = servidor
browseable = yes
read only = yes
public = yes
writable = yes
valid users = mforero gbaptista cperez [gbaptista] path = /var/www/gbaptista
comment = servidor
browseable = yes
read only = yes
public = yes
writable = yes
valid users = gbaptista mforero cperez [cperez] path = /var/www/cperez
comment = servidor
browseable = yes
read only = yes
public = yes
writable = yes
valid users = cperez gbaptista mforero
# Archivos Compartidos para entorno Web
#[Grupo] comment = Archivos Compartidos path = /home/grupo public = yes writable = yes create mask = 0700 directory mask = 0700 force #user = nobody force group = nogroup valid users = mforero gbaptista
#[Grupo] comment = Archivos Compartidos path = /var/www/mforero public = yes writable = yes create mask = 0777 directory mask = 0777 #force user = nobody force group = nogroup
#[Grupo] comment = Archivos Compartidos path = /var/www/gbaptista public = yes writable = yes create mask = 0777 directory mask = 0777 #force user = nobody force group = nogroup
Ahora debemos crear el usuario que podrá compartir archivos en la red windows, nuevamente como usuario root digitamos en una consola
Añadimos un usuario
#adduser usuario
Ahora debemos colocar la password del nuevo usuario y llenar todos los datos del usuario
Asociamos el usuario al samba
#smbpasswd -a usuario
Creamos la carpeta compartida del usuario
#mkdir /var/www/usuario
Le damos todos los permisos a la carpeta del usuario
#chown enenias /var/www/ usuario
Listo modificado el archivo solo nos queda reiniciar samba. Tipeamos en consola:
sudo /etc/init.d/samba restart
Instalación de SHH y VNC en Debian
Lo primero que hacemos es instalar el SSH
#apt-get install ssh
Reiniciamos el SSH
#/etc/init.d/ssh restart
Instalacion de VNC
#aptitude install tightvncserver
Password del VNC(después de este comando, colocar la contraseña)
#vncpasswd
Configurar de VNC
#tightvncserver :1 –geometry 800x600 –depth 24
La primera vez que se ejecuta este comando nos preguntara si la sesión trabajara como viewer: Respondemos que Si / Yes
Reiniciamos el SSH
#/etc/init.d/tightvncserver restart
#tightvncserver :1 –geometry 800x600 –depth 24
Instalacion del MSSQL en PHP APACHE
1. INSTALACION DE COMPONENTES MSSQL EN APACHE.
A continuación se describe los pasos que realice para la compilación, que de seguro puede ser aplicada para otras extensiones de PHP. Primero deberemos de revisar que nuestro Debian tenga las lineas necesarias para el acceso a los repositorios.
vim /etc/apt/sources.list
|
deb http://ftp.debian.org/debian/ unstable main non-free contrib deb-src http://ftp.debian.org/debian/ unstable main non-free contrib
deb http://ftp.debian.org testing main contrib non-free
deb-src http://ftp.debian.org testing main contrib non-free deb http://debian.ludost.net/debian/ testing main contrib non-free deb-src http://debian.ludost.net/debian/ testing main contrib non-free deb http://security.debian.org/ testing/updates main contrib deb-src http://security.debian.org/ testing/updates main contrib |
#apt-get update
|
# cd /usr/src/
#apt-get install php5-dev
#apt-get install dpkg-dev
#apt-get install freetds-dev
#apt-get install libsybdb5
#apt-get update
|
#cd /usr/src/
#apt-get source php5
|
#cd /usr/src/php5-x.x.x/ext/mssql/
#export PHP_PREFIX="/usr"
#$PHP_PREFIX/bin/phpize5
|
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20050922
Zend Extension Api No: 220051025
#./configure –help
#./configure --with-mssql --with-php-config=$PHP_PREFIX/bin/php-config5
#make
|
#cd /usr/src/
#mkdir -p /usr/src/freetds
#cd /usr/src/freetds (darle todos los permisos de escritura)
#chmod 777 /usr/src/freetds/
#wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz (si no funciona, descargar el archivo desde este link http://www.freetds.org/software.html y colocarlo dentro de la carpeta /usr/src/freetds y descomprimir en esa carpeta)
#cd freetds/freetds-0.82
#./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld
#make
#make install
|
|
#cp /usr/src/php5-x.x.x/ext/mssql/modules/mssql.so /usr/lib/php5/2xxxxxxx/
#chmod -x /usr/lib/php5/2xxxxxxxx/mssql.so
|
;Nombre de tu servidor de base de datos
[ServidorMSsql]
;Direccion o nombre del servidor donde esta tu base de datos
host = 127.0.0.1
;Puerto de la base de datos
port = 1433
; versión de tds, cambia dependiendo de tu modelo de base de datos
tds version = 8.0
|
Versiones de TDS disponibles para MSSQL:
7.0 Microsoft SQL Server 7.0 8.0 Microsoft SQL Server 2000 4.2 Microsoft SQL Server 6.x
extension=mssql.so extensión=pdo_dblib.so
|
#/etc/init.d/apache2 restart
|
Instalar POSTGRESQL
PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG
Para instalar el servidor de base de datos de PostgreSql debe tener instalado el apache en su servidor
Se ingresa a la consola de comandos del Servidor y se valida como root para no tener problemas en la instalación.
$ SU
Password:
#
Notar que el signo $
Ha cambiado por #. Si es así, habremos obtenido permisos de root, cosa que usaremos para tareas muy determinadas, ya que podemos dañar el sistema.
Lo primero será instalar los paquetes necesarios.
# apt-get install postgresql
Eso instalara el motor, el cliente y un administrador. A continuación tenemos que cambiar 2 claves, una es la del usuario administrador de PostgreSQL y la otra es la del usuario postgres que se crear al instalar los paquetes de arriba.
Imagen de muestra
Para cambiar la pass del sistema hacemos así:
# passwd postgres
Te pedira la contraseña 2 veces para asegurarte que escribas bien. Ahora cambiamos la contraseña de administrador de PostgreSQL, lo hacemos asi:
# su postgres -c “psql template1?
A continuación…
# template1=# ALTER USER postgres WITH PASSWORD ‘123456’;
No se olvidar el punto y coma del fin, Si la contraseña se cambia correctamente les devolverá el mensaje ALTER ROLE y luego escriben en la misma consola:
# template1=# q
Para salir.
Como contenido extra tenemos que para colocarse directamente en postgres podemos usar lo siguiente
#su postgres
#psql
Para CREAR otros usuarios podemos ejecutar el siguiente comando
Postgres=#CREATE USER usuario WITH PASSWORD ‘123456’;
O para crear un super usuario podemos realizar lo siguiente
Createuser –s nuevosupersusuario
Para MODIFICAR contraseñas de usuario
postgres=#ALTER ROLE usuario PASSWORD ‘123456’;
Para ELIMNAR un usuario
postgres=#DROP USER usuario;
Bien, después de la creación de los usuarios, ahora debemos editar 2 archivos porque la instalación por defecto bloquea las conexiones y no podremos conectarnos desde PgAdmin3.
gedit /etc/postgresql/x.x.x/main/postgresql.conf
En el archivo buscan la linea
#listen_addresses = ‘localhost’
y la cambian ya descomentada por
listen_addresses = ‘*’
Y también buscan la línea
# password_encryption = on
Y la cambian por
password_encryption = on
Ahora otro archivo…
#gedit /etc/postgresql/x.x.x/main/pg_hba.conf
Buscan las líneas y comentar local all all ident sameuser
# “local” is for Unix domain socket connections Orly
#local all all ident sameuser
Añadir en la linea donde dice IPv4 local connection
# IPv4 local connection:
host all all 127.0.0.1/32 trust
host all all 192.xxx.x.xxx/32 trust
host all all 192.xxx.x.xxx 255.255.255.0 trust
Nota: La ip puede variar dependiendo del servidor, si se realiza cambio de ip en el servidor, deberá cambiar los parámetros de IP en IPv4 local connection
Ahora reinician el demonio para que los cambios surtan efecto:
# /etc/init.d/postgresql-x.x.x restart
Instalamos el administrador grafico Con él conseguimos un buen control de nuestras bases de datos de manera muy sencilla.
# apt-get install phppgadmin
Ahora se puede entrar a la dirección http://nuestro_servidor/phppgadmin
Editar el archivo de configuración de phppgadmin
#gedit /etc/phppgadmin/config.inc.php
Cambiar la variable extra_login_security a valor “false” y salvar el archivo.
Para dar acceso remoto desde cualquier estación de trabajo se debe editar el siguiente archivo:
#gedit /etc/phppgadmin/apache.conf
Quitar el comentario que dice lo siguiente “ALLOW FROM ALL” y comentar la línea de arriba donde aparece una IP mas su mascara
#allow from all 127.0.0.0/255.0.0.0 ::1/128
Allow from all
En caso de fallar o no instalar el phpPgAdmin, es muy importante colocar el soporte de postgres a PHP para las aplicaciones WEB. Este soporte se deberá instalar con los repositorios oficiales de Debian en el source.list..
# apt-get install php5-pgsql
Al finalizar todos los pasos, debemos reiniciar POSTGRES y APACHE.
# /etc/init.d/apache2 restart
# /etc/init.d/postgres restart
Instalación de un servidor Linux debían
1. Introduzca el CD “Servidor Linux Debian y presione enter en la pantalla mostrada para iniciar la instalación.
2. Seleccione el idioma Spanish – Español y la ubicación Venezuela.
3. Distribución del teclado Español
4. Coloque el nombre del servidor: server-pdweb
5. Escriba el nombre del dominio: transbanca
6. Método de particionado: Guiado – Utilizar todo el disco
7. Esquema de particionado: Todos los ficheros en una partición
8. Seleccione Finalizar el particionado y escribir los cambios en el disco para continuar la instalación.
9. ¿Desea escribir los cambios en los discos? Seleccione SI
10. Introduzca la clave para el usuario root y repítala.
11. En este paso el sistema solicita indicar: nombre completo, nombre de usuario y contraseña para crear automáticamente una cuenta de usuario sin privilegios de administrador. Esto se hace en los ambientes Linux de forma automática para mayor seguridad en el uso diario del servidor.
12. ¿Desea analizar otro cd o dvd? – NO
En este momento la instalación comenzará a copiar archivos.
13. A la pregunta ¿Desea utilizar una réplica de red?, responda NO
14. ¿Desea Participar en la encuesta sobre el uso de paquetes?, responda NO.
15. En la pantalla de selección de programas a instalar deje las opciones por defecto y presione Continuar.
A partir de este momento el servidor comenzará la instalación y se mostrará en pantalla el inicio de la copia de archivos.
¿Desea Instalar el cargador de arranque GRUB en el registro principal del arranque? Responda SI
Instalación completada reiniciara y mostrara la pantalla donde ingresara el nombre de usuario y contraseña.
Ampliación de Capacidad en Discos de Expansión Dinámica de VirtualBox
La modalidad de expansión dinámica es muy conveniente para ahorrar utilización de espacio en disco en el host, y permite respaldar más rápidamente los discos de las máquinas virtuales.