Vous êtes sur la page 1sur 21

1 INDICE DEL MANUAL DE SERVICIOS EN DEBIAN 7.

5
NOTA: Lea todas las notas :), puede salvarle la vida.
NOTA 2: En este documento se entiende que lo que sigue despus de la flecha -> es un comentario o descripcin
para explicar lo que se est haciendo, no se debe escribir en consola ni en ninguna otra parte.
1 SSH
2 DHCP
3 DNS
4 NTP
5 SSL
6 HTTP/HTTPS
7 PHP
8 FTP
9 SMTP
10 IMAP
11 SMB
12 IMPRESORA
13 BASE DE DATOS
14 MONITOR WEB

-> Servidor de control remoto por consola


-> Servidor de IP dinmica
-> Servidor de nombres de dominio
-> Servidor de fecha y hora
-> Apoyo a diversos protocolos para transmisin de datos seguros, encriptados
-> Servidor de pginas web estticas
-> Apoyo al servidor HTTP para pginas web dinmicas
-> Servidor de archivos mediante FTP
-> Servidor para envi y reenvi de correos electrnicos
-> Servidor para recibir y entregar correos electrnicos
-> Servidor de archivos
-> Servidor de impresoras
-> Servidor de bases de datos Postgresql
-> Este servicio provee informacin estadstica mediante una pgina web

/*******/*********/*************/*******************/**************/*************/

2 ACCIONES UTILES ANTES DE INSTALAR LOS SERVICIOS


NOTA: Toda lnea iniciada con la cadena "user: #" indica que lo que sigue despus del signo # es una instruccin
que se debe escribir en consola para realizar una accin, cuide de solo copiar lo que sigue despus del signo #.
NOTA 2: El programa "nano" es un editor de texto, en este documento se encierra entre parntesis los cambios
que se han hecho al documento que se ha abierto, numerando los cambios que hay que hacer, este nmero no
indica la lnea ni la posicin del texto a modificar, este se debe encontrar inspeccionando el archivo de texto,
adems se aade una referencia al final de los parntesis indicando si el texto contenido existe o hay que aadirlo.
2.1 ASIGNAR IP ESTATICA AL SERVIDOR
user: # nano /etc/network/interfaces
1 (iface eth0 inet static) -> cambia de dhcp a static

2(
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
)-> aadir texto al final del documento, cambie los datos segn su red.
2.2 INSTALAR NAVEGADOR WEB POR CONSOLA
user: # aptitude install w3m
2.3 INSTALAR CLIENTE TELNET PARA PROBAR SERVICIOS
user: # aptitude install telnet
2.4 AGREGAR NUEVOS USUARIOS
user: # adduser adminis
user: # adduser impresiones
user: # adduser usuario1
user: # adduser usuario2
user: # adduser usuario3
/****/***********/**************/************/************/*************/********/

3 INSTALACION DE SERVICIOS
NOTA: El orden de instalacin no afecta el funcionamiento final, pero el orden sugerido puede facilitar el
procedimiento de instalacin.
NOTA 2: la instruccin "cp" es para copiar archivo, lo que se busca en este caso es hacer una copia de respaldo del
texto que tenia cada archivo antes de que lo modifiquemos por si nos equivocamos, solamente lo copiamos de
nuevo del archivo de respaldo
3.1 SERVICIO SSH
user: # aptitude install openssh-server openssh-client
user: # cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori

user: # nano /etc/ssh/sshd_config


1 (ListenAddress 192.168.0.2 ) -> Cambiar segn sea la IP del servidor
2 (PermitRootLogin no ) -> Cambiar para evitar que se entre directamente como root
user: # /etc/init.d/ssh restart -> Reinicia el servicio para aplicar los cambios
3.11 RESULTADO DE SSH
-> Ahora puede usarlo para acceder desde los clientes linux con el comando:
user: # ssh -l adminis 192.168.0.2
-> y continuar el resto del proceso en un ambiente mas cmodo con navegador web y dems herramientas.

3.2 SERVICIO DHCP


user: # aptitude install isc-dhcp-server
user: # cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.ori
user: # nano /etc/default/isc-dhcp-server
1 ( INTERFACES="eth0" ) ->cambiar el contenido segn la interfaz de red donde se dar dhcp
user: # cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.ori
user: # nano /etc/dhcp/dhcpd.conf
1(
# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.5 192.168.0.95;
option domain-name-servers 192.168.0.2;
option domain-name "ns1.mr2.edu";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}
3

) -> Cambiar segn la informacin de su red


user: # /etc/init.d/isc-dhcp-server restart -> reiniciar el servicio...
3.21 RESULTADO DE DHCP
-> Para ver el servidor DHCP en accin se debe apagar el servicio DHCP del router Wi-Fi que est brindando
conexin de la red, cada modelo varia en la forma de hacerlo.
-> Luego conectar los clientes a la red y esperar que el servidor DHCP les asigne ip y dems datos de red.

3.3 SERVICIO DNS


user: # aptitude install bind9 bind9-doc dnsutils
user: # cp /etc/bind/named.conf.options /etc/bind/named.conf.options.ori
user: # nano /etc/bind/named.conf.options
1 ( forwarders{IPDNS1; IPDNS2; ...;} ) -> poner las IP de los DNS de apoyo separados por ","
2(
// Security options
listen-on port 53 { 127.0.0.1; 192.168.0.2; };
allow-query { 127.0.0.1; 192.168.0.0/24; };
allow-recursion { 127.0.0.1; 192.168.0.0/24; };
allow-transfer { none; };
) ->Cambiar segn los datos ip del servidor en cuanto a las IPs 192.168.0.2 y 192.168.0.0/24
user: # named-checkconf -> Comprueba que no haya errores, si no hay no sale nada
user: # nano /etc/resolv.conf
1 ( nameserver 127.0.0.1 ) -> Agregar la lnea al inicio de todo el documento
user: # nano /etc/nsswitch.conf
1 ( hosts:

files dns ) -> Verificar que el parmetro esta as, y si no lo est ponerlo as

user: # /etc/init.d/bind9 restart -> Reiniciar el servicio para aplicar cambios


user: # cp /etc/bind/named.conf.local /etc/bind/named.conf.local.ori
4

user: # nano /etc/bind/named.conf.local


1(
zone "mr2.edu" IN {
type master;
file "/etc/bind/mr2.edu.db";
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/0.168.192.db";
};
)-> Aadir al final del documento para definir nuestro nombre de dominio en este caso "mr2.edu"
user: # named-checkconf -> buscamos errores, si no devuelve nada todo est bien
user: # nano /etc/bind/mr2.edu.db
1(
;
; archivo BIND para zona mr2.edu
;
$TTL 3D
; Actualizaciones cada 3 das
@
IN
SOA
ns1.mr2.edu. root.mr2.edu. (
12
; serie
6H
; refresco (6 horas)
1H
; reintentos (1 hora)
2W
; expire (2 semanas)
3H
; mnimo (3 horas)
)
mr2.edu.
IN NS ns1.mr2.edu.
mr2.edu.
IN MX 1 mx1.mr2.edu.
localhost
IN A 127.0.0.1
mr2serv
IN A 192.168.0.2
mr2.edu.
IN A 192.168.0.2
mr2serv.mr2.edu. IN A 192.168.0.2
ns1
IN A 192.168.0.2
mx1
IN A 192.168.0.2
www
IN A 192.168.0.2
ftp
IN A 192.168.0.2
smtp
IN A 192.168.0.2
5

mail
IN A 192.168.0.2
ssh
IN A 192.168.0.2
ntp
IN A 192.168.0.2
dns
IN A 192.168.0.2
sql
IN A 192.168.0.2
router
IN A 192.168.0.1
gateway
CNAME router
gw
CNAME router
) -> Agregar todo el texto en el archivo, en este definimos varios subdominios y una ip asocida
user: # named-checkzone mr2.edu /etc/bind/mr2.edu.db -> buscamos errores nos devuelve si hay o no hay
user: # nano /etc/bind/0.168.192.db
1
;
; archivo BIND para la zona inversa 192.168.0.xxx
;
$ORIGIN 0.168.192.in-addr.arpa.
$TTL 3D
; 3 das
@
IN
SOA ns1.mr2.edu. root.mr2.edu. (
21
; serie
6H
; refresco (6 horas)
1H
; reintentos (1 hora)
2W
; expire (2 semanas)
3H
; mnimo (3 horas)
)
NS
ns1.mr2.edu.
2
PTR
ns1.mr2.edu.
2
PTR
mr2serv
2
PTR
mr2.edu.
2
PTR
mr2serv.mr2.edu.
2
PTR
mail.mr2.edu.
2
PTR
mx1.mr2.edu.
2
PTR
www.mr2.edu.
2
PTR
ftp.mr2.edu.
2
PTR
smtp.mr2.edu.
2
PTR
ssh.mr2.edu.
2
PTR
ntp.mr2.edu.
2
PTR
dns.mr2.edu.
6

2
PTR
sql.mr2.edu.
2
PTR
mx1.mr2.edu.
1
PTR
router.mr2.edu.
) -> Agregar todo el texto en el archivo, este es necesario para decir que dominios pertenecen
user: # named-checkzone 0.168.192.in-addr.arpa /etc/bind/0.168.192.db -> muestra un informe
user: # /etc/init.d/bind9 restart -> reinicia el servicio para tomar los cambios
user: # nano /etc/resolv.conf
1(
domain mr2.edu
search mr2.edu
) -> Aadimos al inicio del documento.
3.31 RESULTADO DE DNS
*Para que los pc usen nuestro dns y se hagan clientes, deben configurar la ip del servidor 192.168.0.2 como
su servidor DNS manualmente o usando el servidor DHCP previamente configurado.
nslookup www.mr2.edu -> esto le indicara al cliente que ip esta asociada a ese dominio
user: # nslookup 192.168.0.2 -> escribir en los clientes o en el mismo servidor para saber los dominios y
subdominios asociados a esa ip

3.4 SERVICIO NTP


user: # dpkg-reconfigure tzdata -> Instruccin para indicar la ubicacin geogrfica correcta
user: # aptitude install ntpdate ntp ntp-doc ->Instalamos el servicio
user: # ntpdate -u pool.ntp.org -> Obtenemos datos correctos segn la ubicacin geogradica
user: # date -> Consulta la fecha y hora ya sincronizada
user: # ntpq -p

-> Indica las conexiones con otros servidores ntp

3.41 RESULTADO DE NTP


*Ahora las otras pc puede obtener una hora y fecha correcta preguntndole a este, para los clientes Linux se
7

sincroniza con: user: # ntpdate -u ntp.mr2.edu

3.5 APOYO DE SEGURIDAD CON CERTIFICADOS SSL


user: # aptitude install openssl ca-certificates
user: # cd /home/user
user: # mkdir certificados
user: # cd certificados
user: # openssl genrsa -des3 -out mr2serv.key 4096 (clave <- root)
user: # openssl rsa -in mr2serv.key -out mr2serv.key.insegura
user: # chmod 600 mr2serv.key.insegura (<- Protegiendo clave insegura)
user: # openssl req -new -key mr2serv.key -out mr2serv.csr
user: # openssl x509 -req -days 365 -in mr2serv.csr -signkey mr2serv.key -out mr2serv.crt
user: # cp mr2serv.key mr2serv.key.insegura /etc/ssl/private/
user: # cp mr2serv.crt /etc/ssl/certs/
3.51 RESULTADO CERTIFIADOS SSL
-> Como resultado de los comandos anteriores obtenemos dos archivos que son los certificados que tienen
informacin de la empresa que est brindando los servicios encriptados, estos archivos se utilizaran ms
adelante en la configuracin de otros servicios, y estn guardados en las siguientes rutas.
/etc/ssl/private/mr2serv.key.insegura
/etc/ssl/certs/mr2serv.crt

3.6 SERVICIO HTTP / HTTPS


user: # aptitude install apache2 apache2-doc
user: # cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/default-ssl.ori

user: # nano /etc/apache2/sites-available/default-ssl


1(
SSLCertificateFile /etc/ssl/certs/mr2serv.crt
SSLCertificateKeyFile /etc/ssl/private/mr2serv.key.insegura
) -> cambiar las rutas y poner las de los certificados creados previamente
user: # a2enmod ssl -> se habilita el uso de certificados ssl
user: # a2ensite default-ssl -> se habilita el uso de certificados ssl
user: # /etc/init.d/apache2 restart
3.61 RESULTADO DE HTTP/HTTPS
-> con el navegador en consola acceder a la direccin www.mr2.edu para ver el archivo html del servidor:
user: # w3m www.mr2.edu
-> tambin se puede acceder desde los clientes a la misma direccin o a la conexin segura anteponiendo
https:// dando como resultado la misma informacin pero comunicada de forma segura, encriptada.

3.7 SERVICIO PHP EXTENCION PARA HTTP/HTTPS


user: # aptitude install php5 libapache2-mod-php5 php5-pgsql
user: # a2enmod userdir -> activamos el uso de pginas personales de cada usuario
user: # cp /etc/apache2/mods-available/php5.conf /etc/apache2/mods-available/php5.conf.ori
user: # nano /etc/apache2/mods-available/php5.conf
1(/etc/apache2/mods-available/php5.conf) -> activar el uso de PHP en las webs personales.
user: # /etc/init.d/apache2 restart
->Se debe crear un directorio llamado "public_html" en el home de cada usuario, en este directorio se
guardaran las pginas web personales de cada usuario. Tambin se puede aadir el directorio
"public_html" al directorio "/etc/skel" de esta forma los nuevos usuarios tendrn el directorio
"public_html" automticamente, al ser creados.
-> La pagina web personal del usuario es accesible mediante la direccione www.mr2.edu/~nombreusuario/
3.71 RESULTADO PHP
-> ahora podemos crear una pgina web .php con contenido dinmico y ponerla en el directorio /var/www
ya que a partir de ah el servidor HTTP toma el contenido que sirve con el dominio principal.
-> tambin podemos ponerla en un directorio de usuario llamado public_html. donde se sirven las pginas
web personales de cada usuario accediendo a www.mr2.edu/~nombreusuario/

3.8 SERVICIO FTP / SFTP


user: # aptitude install proftpd-basic proftpd-doc
user: # cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.ori
user: # nano /etc/proftpd/proftpd.conf
1(UseIPv6
off) ->cambiar a off
2(ServerName
"mr2serv") -> cambiar al nombre del servidor
3(ServerType
standalone) ->cambiar a standalone
4(DefaultRoot
~/) -> cambiar a " ~/ " para que cada usuario entre a su carpeta home
5(<Anonymous ~ftp> ... </Anonymous> ) <-des comentar todo el bloque activa ftp annimo en el
directorio: /srv/ftp
6(Include /etc/proftpd/tls.conf) -> Descimentar la lnea para activar la configuracin ssl/tls
user: # cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf.ori
user: # nano /etc/proftpd/tls.conf
1(
TLSEngine
on
TLSLog
/var/log/proftpd/tls.log
TLSProtocol
SSLv23
) -> Modificar para activar certificados SSL
2(
TLSRSACertificateFile
/etc/ssl/certs/mr2serv.crt
TLSRSACertificateKeyFile
/etc/ssl/private/mr2serv.key.insegura
) -> Modificar para poner los certificados creados previamente
3(TLSRequired

off) -> cambiar a off para que permita conexiones normales y seguras

user: # /etc/init.d/proftpd restart


3.81 RESULTADO FTP/SFTP
-> Utilizando un cliente FTP como Fillezila u otro de su preferencia acceda con los usuarios de deban
creados previamente, podr acceder a la carpeta home del usuario y cambiar los archivos que se sirven
mediante http que estn en la carpeta public_html.

3.9 SERVICIO SMTP


user: # aptitude install postfix postfix-doc
10

(ok , internet sites, mr2.edu)-> En la configuracin que pide marcar las siguientes opciones.
user: # cp /etc/aliases /etc/aliases.ori
user: # nano /etc/aliases
1(root: adminis)-> Se escribe el nombre del administrador de correos
user: # newaliases -> Actualiza base de datos de administradores del correo
user: # cp /etc/mailname /etc/mailname.ori
user: # nano /etc/mailname
1(mr2.edu) -> indicamos el nombre del servidor, lo que va despus del @
user: # cp /etc/postfix/main.cf /etc/postfix/main.cf.ori
user: # nano /etc/postfix/main.cf
1(
inet_protocols = ipv4
home_mailbox = Maildir/

## Seguranca
# Aceitar ligacoes apenas a partir da rede local
smtpd_client_restrictions = permit_mynetworks,
reject

# Utilizadores locais podem enviar emails para qualquer endereco


smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_destination

# Rejeitar ligacoes de clientes que nao saibam o seu hostname

11

smtpd_helo_restrictions = reject_unknown_sender_domain

# Rejeitar email de dominios que nao existem


smtpd_sender_restrictions = reject_unknown_sender_domain

) <- aadir todo al final del archivo


2(
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/mr2serv.crt
smtpd_tls_key_file = /etc/ssl/private/mr2serv.key.insegura
mydestination = mr2.edu, mail.mr2.edu, mr2serv.mr2.edu, localhost.mr2.edu, localhost
mynetworks = 127.0.0.0/8, 192.168.1.0/24
)->Modificar los campos segn nuestra red y nombres de dominio, dejando como se puede ver aqu
user: # /etc/init.d/postfix restart
3.91 RESULTADO DE SMTP
-> Conectarse usando el cliente telnet escribiendo: user: # telnet localhost smtp

3.10 SERVICIO IMAP / IMAPS


user: # aptitude install dovecot-imapd
user: # cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.ori
user: # nano /etc/dovecot/dovecot.conf
user: # cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.ori
user: # nano /etc/dovecot/conf.d/10-mail.conf
1(mail_location = maildir:~/Maildir)

12

user: # cp /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.ori


user: # nano /etc/dovecot/conf.d/10-ssl.conf
1(
ssl_cert = </etc/ssl/certs/mr2serv.crt
ssl_key = </etc/ssl/private/mr2serv.key.insegura
)->Modificamos para poner las rutas de los certificados creados previamente
user: # su - user -c 'maildirmake.dovecot ~/Maildir' <- Para cada usuario existente
user: # maildirmake.dovecot /etc/skel/Maildir <- crea el directorio para usuarios futuros
user: # dovecot -n <- comprobar configuracion
3.101 RESULTADO DE IMAP / IMAPS
-> Conectarse usando el cliente telnet escribiendo: user: # telnet localhost imap
->Conectarse de forma segura: user: # openssl s_client -connect 192.168.0.2: imaps
-> El servidor IMAP trabaja en conjunto con el servidor SMTP para comunicacin mediante correo
electrnico, ahora se puede configurar un cliente de correo indicando que este servidor proveer smtp e
imap, hay clientes de correo para linux, windows, android etc

3.11 SERVICIO SMB SERVIDOR DE ARCHIVOS


user: # aptitude install samba
user: # adduser -system -no-create-home -uid 600 cliente -> El n de -uid va aumentando con cada nuevo
cliente, sustituir cliente por el nombre del usuario a crear, con esta lnea agrega un usuario a la vez
user: # cat /etc/passwd | grep cliente -> Comprobamos cada uno de los clientes creados, si retorna:
cliente:x:600:65534::/home/cliente:/bin/false, entonces est bien.
user: # smbpasswd -a cliente -> Aade usuario al servicio samba y se le asigna una contrasea
user: # mkdir /mnt/compartida -> Creacin de la carpeta compartida, crea una a la vez
user: # chmod 777 /mnt/compartida -> Asignacin de permisos a la carpeta compartida
13

user: # cp /etc/samba/smb.conf /etc/samba/smb.conf.ori


user: # nano /etc/samba/smb.conf
1(
[nombredelrecurso] <-el nombre que vern los clientes.
comment= <- El comentario que uno quiera
path=/mnt/compartida <- directorio de la carpeta a compartir
read only=yes
browseable=yes
write list=cliente <- Clientes permitidos separados por coma (,)
valid users=cliente <- Clientes permitidos separados por (,)
directory mask=0775
create mask=0644
) -> Aadir el bloque de texto al final del documento, un bloque por cada carpeta a compartir.
user: # testparm

-> Comprobacin del archivo de configuracin

user: # /etc/init.d/samba restart

->Reiniciamos el servicio

3.111 RESULTADO DE SMB SERVIDOR DE ARCHIVOS


-> Clientes windows, escribir en ejecutar: \\192.168.0.2\nombredelrecurso en la siguiente ventana, escribir
usuario "cliente" y contrasea
-> Clientes linux, abrir navegador de archivos y presionar [Ctrl+L] para visualizar barra de direcciones y
escribir en ella: smb://cliente@192.168.0.2/nombredelrecurso En la siguiente ventana, dejar el Dominio
por defecto, ingresar usuario, contrasea y hacer clic en continuar

3.12 SERVICIO DE IMPRESION


user: # aptitude install cups cups-pdf
user: # cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.ori
user: # nano /etc/cups/cupsd.conf
1(
# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock
Listen 192.168.0.*
-> Lnea aadida
)

14

2(
# Default authentication type, when authentication is required...
DefaultAuthType Basic
DefaultEncryption IfRequested -> Lnea aadida
)
3(
# Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
-> Lnea aadida
Allow 192.168.0.*
-> Lnea aadida
</Location>
)
4(
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow localhost
-> Linea aadida
Allow 192.168.0.*
-> Linea aadida
</Location>
)
5(
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow localhost
-> Lnea aadida
Allow 192.168.0.*
-> Lnea aadida
</Location>
)
user: # cp /etc/cups/cups-pdf.conf /etc/cups/cups-pdf.conf.ori
15

user: # nano /etc/cups/cups-pdf.conf


1(
Out ${HOME}/PDF -> Cambiamos a Out /home/impresiones/ImpresionesPDF
)
user: # /etc/init.d/cups restart
3.12 RESULTADO SERVICIO DE IMPRESION
-> Ingresamos a la pgina web de administracin: http://192.168.0.2:631 aqu se puede loguear con los
usuarios de debian, para controlar el servidor, aadir impresoras virtuales, reales, mandar a imprimir.
->Para comprobar la compatibilidad de una impresora fsica hacer lo siguiente:
Desconectar impresora
tail -f /var/log/syslog
Conectar impresora para ver si se detecta
Ctrl+z <- para salir
Aadir la impresora con la pgina web de administracin

3.13 SERVICIO DE BASE DE DATOS


user: # aptitude install postgresql-9.1
user: # passwd postgres -> La contrasea colocada ser= datos
user: # su postgres
user: # psql postgres
user: # ALTER ROLE postgres PASSWORD 'datos';
user: # \q
user: # exit
user: # nano /etc/postgresql/9.1/main/postgresql.conf
1(listen_addresses = '*')-> Cambiamos a * para que escuche en todas las direcciones
user: # nano /etc/postgresql/9.1/main/pg_hba.conf
16

1(
host
host

all
all

all
all

127.0.0.1/32
192.168.0.0/24

password
md5

) -> Agregar debajo de # IPv4 local connections: las lneas para que todas las bases estn
disponibles y se permita conexin con todos los usuarios, la primera lnea es para acceso local y la
segunda para acceso en la red local, cambiar IP de acuerdo a su red.
user: # service postgresql restart
user: # su postgres
postgres: # createuser -D -S -R -l dba_user
postgres: # psql postgres
postgres: # ALTER USER dba_user WITH ENCRYPTED PASSWORD 'datos1';
postgres: # SELECT usename, passwd FROM pg_shadow; -> verificamos que existe el nuevo usuario
postgres: # su postgres
postgres: # createdb -Ttemplate0 -O dba_user -EUTF-8 db_prueba
postgres: # psql postgres
postgres: # GRANT ALL PRIVILEGES ON DATABASE db_prueba TO dba_user;
postgres: # SELECT datname FROM pg_database; -> Verificamos que la nueva base de datos existe
postgres: #

CREATE TABLE cliente{


dui char(10) NOT NULL,
nombres varchar(30),
apellidos varchar(30),
direccion text,
telefono varchar(9),
CONSTRAINT llave_cliente PRIMARY KEY (dui)
};

3.131 RESULTADO DE BASE DE DATOS


-> Ahora se puede conectar con la base de datos desde los clientes y localmente, ya sea desde su administrador
grafico pgadmin o desde una aplicacin web u de otro tipo.
-----------------------------------------------------------------------------------------------------------------------------------------------17

CREATE OR REPLACE FUNCTION nuevo_cliente(cl1 character(10),cl2 character varying(30),cl3 character varying(30),cl4


TEXT,cl5 character(30),cu1 character(13),cu2 character varying(15),cu3 money)
RETURNS TEXT
AS $BODY$
BEGIN
INSERT INTO clientes VALUES($1,$2,$3,$4,$5);
INSERT INTO cuentas VALUES($6,$7,$8,$1);
RETURN 'COMMIT';
EXCEPTION WHEN others THEN
RETURN 'ROLLBACK';
END;
$BODY$
LANGUAGE 'PLPGSQL'
-----------------------------------------------------------------------------------------------------------------------------------------------SELECT nuevo_cliente('11223344-6','Rrrr2','Mmmm2','San Vi Cen Te # 3','7777-8888','1234-321654-1','Ahorros','150.50');
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CREATE OR REPLACE FUNCTION deposito(cl1 character(10),cu1 money) RETURNS TEXT
AS $BODY$
BEGIN
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
UPDATE cuentas SET saldo=saldo+$2 WHERE dui=$1;
RETURN 'COMMIT';
EXCEPTION WHEN others THEN
RETURN 'ROLLBACK';
END;
$BODY$
LANGUAGE 'PLPGSQL'
------------------------------------------------------------------------------------------------------------------------------------SELECT deposito('11223344-6','110');
-----------------------------------------------------------------

CREATE OR REPLACE FUNCTION retiro(cl1 character(10),cu1 money) RETURNS TEXT


AS $BODY$
BEGIN
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
18

UPDATE cuentas SET saldo=saldo-$2 WHERE dui=$1;


RETURN 'COMMIT';
EXCEPTION WHEN others THEN
RETURN 'ROLLBACK';
END;
$BODY$
LANGUAGE 'PLPGSQL'
------------------------------------------------------------------------------------------------------------------------------------SELECT retiro('11223344-6','190');
---------------------------------------------------------------

CREATE OR REPLACE FUNCTION transferencia(cl1 character(10),cl2 character(10),cu1 money) RETURNS TEXT


AS $BODY$
BEGIN
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
UPDATE cuentas SET saldo=saldo-$3 WHERE dui=$1;
UPDATE cuentas SET saldo=saldo+$3 WHERE dui=$2;
RETURN 'COMMIT';
EXCEPTION WHEN others THEN
RETURN 'ROLLBACK';
END;
$BODY$
LANGUAGE 'PLPGSQL'

---------------------------------------------------------------------------------------------------------------------------------------CREATE VIEW cliente_bancario AS SELECT cl.*,cu.ncuenta,cu.tipo,cu.saldo FROM clientes cl JOIN cuentas cu ON


cu.dui=cl.dui;

-------------------------------------------------------------------------------------------------------------------------------------

3.14 SERVICIO DE MONITORIZACION


user: # aptitude install munin munin-node munin-plugins-core munin-plugins-extra

19

user: # cp /etc/munin/munin-node.conf /etc/munin/munin-node.conf.ori


user: # nano /etc/munin/munin-node.conf
1(
allow ^127\.0\.0\.1$
host_name mr2serv.mr2.edu
) -> crear las lineas al final del documento si no existen
user: # cp /etc/munin/munin.conf /etc/munin/munin.conf.ori
user: # nano /etc/munin/munin.conf
1(
[mr2serv.mr2.edu]
address 127.0.0.1
use_node_name yes
)-> aadir las lneas al final del documento si no existen
user: # ln -sf /etc/munin/apache.conf /etc/apache2/conf.d/munin
user: # cp /etc/apache2/conf.d/munin /etc/apache2/conf.d/munin.ori
user: # nano /etc/apache2/conf.d/munin
1(
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
Allow from 192.168.1.0/24
# Allow from all
Options None
) -> Modificar segun informacion de red
2(
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Digest
20

require valid-user
)-> Modificar segn informacin de red
user: # htdigest -c /etc/munin/munin-htpasswd Munin adminis -> asignamos el usuario de debian autorizado
user: # a2enmod auth_digest
user: # /etc/init.d/munin-node restart
user: # /etc/init.d/apache2 restart

3.141 RESULTADO DE MONITORIZACION


->Ahora es posible ingresar a la direccin web www.mr2.edu/munin/ Se nos solicitara loguearnos, en este caso el
usuario autorizado es adminis, en ese caso ingresamos la contrasea.
-> Esta pgina web nos presenta informacin sobre los servicios que se estn brindando y estadsticas sobre su
trfico de datos.

21

Vous aimerez peut-être aussi