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 después de la flecha -> es un comentario o descripción para explicar lo que se está haciendo, no se debe escribir en consola ni en ninguna otra parte. 1 SSH -> Servidor de control remoto por consola 2 DHCP -> Servidor de IP dinámica 3 DNS -> Servidor de nombres de dominio 4 NTP -> Servidor de fecha y hora 5 SSL -> Apoyo a diversos protocolos para transmisión de datos seguros, encriptados 6 HTTP/HTTPS -> Servidor de páginas web estáticas 7 PHP -> Apoyo al servidor HTTP para páginas web dinámicas 8 FTP -> Servidor de archivos mediante FTP 9 SMTP -> Servidor para envió y reenvió de correos electrónicos 10 IMAP -> Servidor para recibir y entregar correos electrónicos 11 SMB -> Servidor de archivos 12 IMPRESORA -> Servidor de impresoras 13 BASE DE DATOS -> Servidor de bases de datos Postgresql 14 MONITOR WEB -> Este servicio provee información estadística mediante una página web /*******/*********/*************/*******************/**************/*************/ 2 ACCIONES UTILES ANTES DE INSTALAR LOS SERVICIOS NOTA: Toda línea iniciada con la cadena "user: #" indica que lo que sigue después del signo # es una instrucción que se debe escribir en consola para realizar una acción, cuide de solo copiar lo que sigue después del signo #. NOTA 2: El programa "nano" es un editor de texto, en este documento se encierra entre paréntesis los cambios que se han hecho al documento que se ha abierto, numerando los cambios que hay que hacer, este número no indica la línea ni la posición del texto a modificar, este se debe encontrar inspeccionando el archivo de texto, además se añade una referencia al final de los paréntesis indicando si el texto contenido existe o hay que añadirlo. 2.1 ASIGNAR IP ESTATICA AL SERVIDOR user: # nano /etc/network/interfaces 1 (iface eth0 inet static) -> cambia de dhcp a static 1

Manual Servidor Debian

Embed Size (px)

DESCRIPTION

Instructions for installing various services in debian 7:1 ssh> Server remote control console2 dhcp-> Dynamic Server IP3 DNS-> domain name server4 NTP-> Server date and time5 SSL-> Support for various protocols for secure data transmission, encrypted6 HTTP / HTTPS and> Server static websites7 php-> Support HTTP server for dynamic web pages8 FTP-> File Server FTP9 SMTP-> Server sent to and forwarding emails10 IMAP-> Server to receive and deliver e-mails11 SMB-> File Server12 PRINTER> Print Server13 database-> Server databases Postgresql14 MONITOR WEB-> This service provides statistical information through a website

Citation preview

Page 1: Manual Servidor Debian

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 después de la flecha -> es un comentario o descripción

para explicar lo que se está haciendo, no se debe escribir en consola ni en ninguna otra parte.

1 SSH -> Servidor de control remoto por consola

2 DHCP -> Servidor de IP dinámica

3 DNS -> Servidor de nombres de dominio

4 NTP -> Servidor de fecha y hora

5 SSL -> Apoyo a diversos protocolos para transmisión de datos seguros, encriptados

6 HTTP/HTTPS -> Servidor de páginas web estáticas

7 PHP -> Apoyo al servidor HTTP para páginas web dinámicas

8 FTP -> Servidor de archivos mediante FTP

9 SMTP -> Servidor para envió y reenvió de correos electrónicos

10 IMAP -> Servidor para recibir y entregar correos electrónicos

11 SMB -> Servidor de archivos

12 IMPRESORA -> Servidor de impresoras

13 BASE DE DATOS -> Servidor de bases de datos Postgresql

14 MONITOR WEB -> Este servicio provee información estadística mediante una página web

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

2 ACCIONES UTILES ANTES DE INSTALAR LOS SERVICIOS

NOTA: Toda línea iniciada con la cadena "user: #" indica que lo que sigue después del signo # es una instrucción

que se debe escribir en consola para realizar una acción, cuide de solo copiar lo que sigue después del signo #.

NOTA 2: El programa "nano" es un editor de texto, en este documento se encierra entre paréntesis los cambios

que se han hecho al documento que se ha abierto, numerando los cambios que hay que hacer, este número no

indica la línea ni la posición del texto a modificar, este se debe encontrar inspeccionando el archivo de texto,

además se añade una referencia al final de los paréntesis indicando si el texto contenido existe o hay que añadirlo.

2.1 ASIGNAR IP ESTATICA AL SERVIDOR

user: # nano /etc/network/interfaces

1 (iface eth0 inet static) -> cambia de dhcp a static

1

Page 2: Manual Servidor Debian

2(

address 192.168.0.2

netmask 255.255.255.0

network 192.168.0.0

gateway 192.168.0.1

)-> añadir texto al final del documento, cambie los datos según 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 instalación no afecta el funcionamiento final, pero el orden sugerido puede facilitar el

procedimiento de instalación.

NOTA 2: la instrucción "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

2

Page 3: Manual Servidor Debian

user: # nano /etc/ssh/sshd_config

1 (ListenAddress 192.168.0.2 ) -> Cambiar según 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 cómodo con navegador web y demás 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 según 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

Page 4: Manual Servidor Debian

) -> Cambiar según la información 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 acción se debe apagar el servicio DHCP del router Wi-Fi que está brindando

conexión 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 demás 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 según 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 línea al inicio de todo el documento

user: # nano /etc/nsswitch.conf

1 ( hosts: files dns ) -> Verificar que el parámetro 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

Page 5: Manual Servidor Debian

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";

};

)-> Añadir 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 días

@ IN SOA ns1.mr2.edu. root.mr2.edu. (

12 ; serie

6H ; refresco (6 horas)

1H ; reintentos (1 hora)

2W ; expire (2 semanas)

3H ; mínimo (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

Page 6: Manual Servidor Debian

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 días

@ IN SOA ns1.mr2.edu. root.mr2.edu. (

21 ; serie

6H ; refresco (6 horas)

1H ; reintentos (1 hora)

2W ; expire (2 semanas)

3H ; mínimo (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

Page 7: Manual Servidor Debian

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

) -> Añadimos 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 indicaría 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 -> Instrucción para indicar la ubicación geográfica correcta

user: # aptitude install ntpdate ntp ntp-doc ->Instalamos el servicio

user: # ntpdate -u pool.ntp.org -> Obtenemos datos correctos según la ubicación 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 preguntándole a este, para los clientes Linux se

7

Page 8: Manual Servidor Debian

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

información de la empresa que está brindando los servicios encriptados, estos archivos se utilizaran más

adelante en la configuración de otros servicios, y están 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

8

Page 9: Manual Servidor Debian

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 dirección www.mr2.edu para ver el archivo html del servidor:

user: # w3m www.mr2.edu

-> también se puede acceder desde los clientes a la misma dirección o a la conexión segura anteponiendo

https:// dando como resultado la misma información 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 páginas 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 páginas web personales de cada usuario. También se puede añadir el directorio

"public_html" al directorio "/etc/skel" de esta forma los nuevos usuarios tendrán el directorio

"public_html" automáticamente, 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 página web .php con contenido dinámico 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.

-> también podemos ponerla en un directorio de usuario llamado public_html. donde se sirven las páginas

web personales de cada usuario accediendo a www.mr2.edu/~nombreusuario/

9

Page 10: Manual Servidor Debian

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 anónimo en el

directorio: /srv/ftp

6(Include /etc/proftpd/tls.conf) -> Descimentar la línea para activar la configuración 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 debían

creados previamente, podrá acceder a la carpeta home del usuario y cambiar los archivos que se sirven

mediante http que están en la carpeta public_html.

3.9 SERVICIO SMTP

user: # aptitude install postfix postfix-doc

10

Page 11: Manual Servidor Debian

(ok , internet sites, mr2.edu)-> En la configuración 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 después 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

Page 12: Manual Servidor Debian

smtpd_helo_restrictions = reject_unknown_sender_domain

# Rejeitar email de dominios que nao existem

smtpd_sender_restrictions = reject_unknown_sender_domain

) <- añadir 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 según 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

Page 13: Manual Servidor Debian

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 comunicación mediante correo

electrónico, 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 línea 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 -> Añade usuario al servicio samba y se le asigna una contraseña

user: # mkdir /mnt/compartida -> Creación de la carpeta compartida, crea una a la vez

user: # chmod 777 /mnt/compartida -> Asignación de permisos a la carpeta compartida

13

Page 14: Manual Servidor Debian

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

user: # nano /etc/samba/smb.conf

1(

[nombredelrecurso] <-el nombre que verán 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

) -> Añadir el bloque de texto al final del documento, un bloque por cada carpeta a compartir.

user: # testparm -> Comprobación del archivo de configuración

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 contraseña

-> Clientes linux, abrir navegador de archivos y presionar [Ctrl+L] para visualizar barra de direcciones y

escribir en ella: smb://[email protected]/nombredelrecurso En la siguiente ventana, dejar el Dominio

por defecto, ingresar usuario, contraseña 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.* -> Línea añadida

)

14

Page 15: Manual Servidor Debian

2(

# Default authentication type, when authentication is required...

DefaultAuthType Basic

DefaultEncryption IfRequested -> Línea añadida

)

3(

# Restrict access to the server...

<Location />

Order allow,deny

Allow localhost -> Línea añadida

Allow 192.168.0.* -> Línea añadida

</Location>

)

4(

# Restrict access to the admin pages...

<Location /admin>

Order allow,deny

Allow localhost -> Linea añadida

Allow 192.168.0.* -> Linea añadida

</Location>

)

5(

# Restrict access to configuration files...

<Location /admin/conf>

AuthType Default

Require user @SYSTEM

Order allow,deny

Allow localhost -> Línea añadida

Allow 192.168.0.* -> Línea añadida

</Location>

)

user: # cp /etc/cups/cups-pdf.conf /etc/cups/cups-pdf.conf.ori

15

Page 16: Manual Servidor Debian

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 página web de administración: http://192.168.0.2:631 aquí se puede loguear con los

usuarios de debian, para controlar el servidor, añadir impresoras virtuales, reales, mandar a imprimir.

->Para comprobar la compatibilidad de una impresora física hacer lo siguiente:

Desconectar impresora

tail -f /var/log/syslog

Conectar impresora para ver si se detecta

Ctrl+z <- para salir

Añadir la impresora con la página web de administración

3.13 SERVICIO DE BASE DE DATOS

user: # aptitude install postgresql-9.1

user: # passwd postgres -> La contraseña 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

Page 17: Manual Servidor Debian

1(

host all all 127.0.0.1/32 password

host all all 192.168.0.0/24 md5

) -> Agregar debajo de # IPv4 local connections: las líneas para que todas las bases estén

disponibles y se permita conexión con todos los usuarios, la primera línea 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 aplicación web u de otro tipo.

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

17

Page 18: Manual Servidor Debian

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

Page 19: Manual Servidor Debian

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

Page 20: Manual Servidor Debian

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

)-> añadir las líneas 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

Page 21: Manual Servidor Debian

require valid-user

)-> Modificar según información 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 dirección web www.mr2.edu/munin/ Se nos solicitara loguearnos, en este caso el

usuario autorizado es adminis, en ese caso ingresamos la contraseña.

-> Esta página web nos presenta información sobre los servicios que se están brindando y estadísticas sobre su

tráfico de datos.

21