Documente Academic
Documente Profesional
Documente Cultură
ERVICIOS
INTERFACES=eth1
#rango
#dns
#puerta de enlace
default-lease-time 600;
max-lease-time 7200;}
Para que los clientes dispongan de conexin a Internet, necesitamos activar el
enrrutamiento e iptables.
server# echo 1 > /proc/sys/net/ipv4/ip_forward
server# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
server# iptables -A INPUT -s 192.168.2.0/24 -i eth1 -j ACCEPT
INTERFACES=eth1
default-lease-time 600;
max-lease-time 7200;
#creamos la subred
#Asignamos las IP por MAC (Importante sacar las IP fijas fuera del rango)
group{
host oracle{
fixed-address 192.168.1.34
host impresora{
fixed-address 192.168.1.45
authoritative;
ddns-update-style none;
max-unacked-updates 10;
mclt 1800;
split 128;
authoritative;
ddns-update-style none;
max-unacked-updates 10;
mclt 1800;
pool{
max-lease-time 1800;
range 192.168.200.100-192.168.200.160;
host denegado{
deny booting;
Shared-network {
option routers
192.168.1.1;
Ejemplo:
shared-network 20-30
default-lease-time 259200;
max-lease-time 259200;
pool {
default-lease-time 259200;
max-lease-time 259200;
pool {
auto eth0:1
address 10.0.2.1
netmask 255.255.255.0
network 10.0.2.0
auto eth0:2
address 10.0.3.1
netmask 255.255.255.0
network 10.0.3.0
nameserver 127.0.0.1
zone almi.com
type master;
file /etc/bind/db.almi.com;
};
@ IN A 10.120.120.5
www A
pc6
10.120.120.6
A 10.120.120.7
zone sergio.com{
type master;
file /etc/bind/db.sergio.com:
()
(...)
@ IN NS sergio.com.
almi A 192.168.1.182
talmay A 192.168.1.194
Ejercicio resuelto:
server_pedroc# nano/etc/bind/named.conf.local
zone "pedroc.com"{
type master;
file "/etc/bind/db.pedroc.com";
};
zone "grupo4.com"{
type master;
file "/etc/bind/db.grupo4.com";
};
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
604800
86400
2419200
604800 )
; Serial
; Refresh
; Retry
; Expire
IN
NS pedroc.com.
IN
A 192.168.1.89
www
A 192.168.1.89
allow-transfer {192.168.0.3;};
server_pedroc# nano /etc/bind/db.grupo4.com
$TTL
604800
IN
SOA
grupo4.com. root.grupo4.com. (
604800
86400
2419200
604800 )
; Serial
; Refresh
; Retry
; Expire
IN
NS grupo4.com.
IN
A 192.168.1.89
ander
unai
pedroc
A 192.168.1.79
A 192.168.1.50
A 192.168.1.89
7-Configuracin
fowarders{
192.168.1.51 # maquina 2
8-Configuracin
zone asir2.com{
type master;
file /etc/bind/db.asir2.com;
allow-transfer{192.168.1.15;};
allow-query{any;};
zone asir2.com{
type slave;
file /etc/bind/db.asir2.com;
allow-query{any;};
masters{192.168.1.18;};
IN
NS ns1.asir2.com.
IN
NS ns2.asir2.com.
ns1
IN
A 192.168.1.18
ns2 IN
A 192.168.1.15
nameserver 127.0.0.1
(...)
allow-transer{esclavos;};
acl esclavos{
192.168.1.89;
192.168.1.50;
};
(...)
maestro# nano/etc/bind/named.conf.option
allow-query{esclavos;};
allow-recursion{esclavos;};
nameserver 127.0.0.1
zone "pedroc.com"{
type master;
file "/etc/bind/db.pedroc.com";
};
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
604800
86400
2419200
604800 )
; Serial
; Refresh
; Retry
; Expire
IN
NS pedroc.com.
IN
A 192.168.1.89
www
A 192.168.1.89
almi
A 192.168.1.89
ander
A 192.168.1.79
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
604800
86400
2419200
; Serial
; Refresh
; Retry
; Expire
604800 )
IN
NS
localhost.
89
PTR
www.
89
PTR
almi.
79
PTR
ander.
zone "pedroc.com"{
type master;
file "/etc/bind/db.pedroc.com";
};
zone 1.168.192.in-addr.arpa{
type master;
file /etc/bind/inverso.db.pedroc.com;
};
type master;
file /etc/bind/inverso.db.pedroc.com;
};
zone subdominio.pedroc.com{
type slave;
file /etc/bind/sub.db.pedro.com;
masters{
192.168.1.89;
};
};
$TTL
604800
IN
SOA
subdominio.pedroc.com. root.subdominio.pedroc.com. (
; Serial
604800
86400
2419200
604800 )
; Refresh
; Retry
; Expire
IN
NS subdominio.pedroc.com.
IN
A 192.168.1.89
hostx
A 192.168.1.89
hosty
A 192.168.1.90
Ejercicio DNS
1.1-Reenviadores
11-Instalacin Apache
Actualizamos todos los servicios
server#apt-get
server#apt-get
server#apt-get
server#apt-get
update
install apache2
install mysql-server mysql-client
install php5
<?php
phpinfo();
?>
<Directory /var/www/>
DirectoryIndex info.php
(...)
</Directory>
ServerName 127.0.0.1
display_errors = On
upload_max_filesize = 200M
DocumentRoot /var/www/html
(...)
Instalar un mdulo
server# apt-get install php5-curl
Instalacin de Wordpress
Paso 1-Creamos una carpeta donde instalaremos Wordpres
server#cd html
server# mkdir wordpress
Paso 2-Descargamos Wordpress
server# wget https://es.wordpress.org/wordpress-4.0-es_ES.tar.gz
server# tar -xvzf wordpress-4.0es_ES-tar.gz
Paso 3-Otorgamos usuario y grupo
server# chown -R ww-data:www-data wordpress
Paso 4-Otorgamos permisos 755a
server# chmod -R 755 wordpreess
Paso 5-Creamos la base de datos desde el navegador y creamos la base de
datos wordpres
localhost/phpmyadmin
Imagen 1
Paso 6-Accedemos a wordpress desde el navegador y segumos los pasos.
locahost/wordpress
localhost/wordpress/wp-admin
Instalacin de Joomla
Paso 1-Creamos el directorio joomla y descargamos el paquete
server# mkdir joomla
server# wget
http://joomlacode.org/gf/download/frsrelease/19601/159594/Joomla_3.3.1Spanish-Pack_Completo.zip
server# unzip joomla
Paso 2-Asignamos el grupo y damos permisos
server# chown -R www-data:www-data joomla
server# chmod 755 -R joomla
Paso 3-Creamos la base de datos joomla
Ejercicio 1-Instalar Drupal, Moodle, Diaspora
Drupal
Paso 1-Descargamos la ltima versin
server# wget http://ftp.drupal.org/files/projects/drupal-7.15.tar.gz
server# tar zxvf drupal-7.15.tar.gz
server# cd drupal
localhost/drupal
Moodle
Pendiente
12-Configuracin de Apache
12.1-Fichero de configuracin
apache2.conf=> fichero de configuracin por defecto
httpd.conf=> Configuracin de usuario
mod-availables=>Mdulos disponibles
mods-enables=>Mdulos habilitados
port.conf=>Configuracin de puertos
sites-available=>configuracin de sitios
sites-enables=>Sitios habilitados
nameVirtualhost *:80
listen 80
Creamos un sitio
server# cd /etc/apache2/sites-available
server# nano joomla.ejemplo.com
<Virtualhost *:80>
ServerName
joomla.ejemplo.com
DocumentRoot /var/www/html/joomla
<Directory /var/www/html/joomla/>
DirectoryIndex index.php
AllowOverride None
Order Allow,Deny
</Directory>
</Virtualhost>
AllowOverride
Order
Allow
Deny
listen 8043
<Virtualhost *:80>
ServerName pedroc.com
DocumentRoot /var/www/html/pedroc80
<Directory /var/www/html/pedroc80/>
DirectoryIndex index.html
AllowOverride None
Order Allow,Deny
</Directory>
</Virtualhost>
<Virtualhost *:8043>
ServerName pedroc.com
DocumentRoot /var/www/html/pedroc8043
<Directory /var/www/html/pedroc8043/>
DirectoryIndex index.html
AllowOverride None
Order Allow,Deny
</Directory>
</Virtualhost>
Imagen 2
AuthType Basic
AuthUserFile /user/local/apache2/etc/.htpasswd
Requiere valid-user
<Directory /var/www/>
AlowOverride All
Order allow,deny
</Directory>
listen 80
NameVirtualHost *.80
NameVirtualHost *.443
<VirtualHost *:443>
ServerName miweb
DocumentRoot /var/www/miweb.local/htdocs
DirectoryIndex index.html
SSLEngine on
SSLCertificateFile /etc/apache2/certificados/miweb.local.pem
<Directory /var/www/miweb.local/htdocs>
AllowOverride none
Order allow,deny
SSLRequireSSL
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName joomla.asir.com
ProxyPass / http://joomla.asir.com/
ProxyPassReverse / http://joomla.asir.com/
</VirtualHost>
192.168.1.2 joomla.asir.com
102.168.1.3 wordpress.asir.com
Paso 4-Crear en bind un dominio llamado asir.com, con dos host joomla que
apuntara a 192.168.1.3 y wordpress que apunte a 192.168.1.3
Ejercicio 4-Redireccin ProxyPass
La mquina de Pedro recibir peticiones a pedroc.com y wordpress.pedroc.com.
Sin embargo, localmente resolver pedroc.com y redirigir a la mquina de
Ander wordpress.pedroc.com.
INTERNET
pedro.com
wordpress.pedroc.com
192.168.1.X
192.168.2.X
16-Servicio FTP
16.1 Usuario sin enjaular
Paso 1-Instalamos el servicios
server# apt-get install vsftpd
Paso 2-Editamos el fichero de configuracin
server# nano /etc/vsftpd.conf
listen=yes
listen=yes
anonymous_enable=no
local_enable=yes
write_enable=yes
local_umask=022
anon_upload_enable=No
anon_mkdir_write_enable=no
dirmessage_enable=yes
use_localtime=yes
xferlog_enable=yes
connect_from_port_20=yes
chroot_local_user=yes
chroot_list_enable=yes
/bin/ftp
asir:x:1001:1001:,,,:/home/ftp/asir:/bin/ftp
zone "pedroc.com" {
type master;
file "/etc/bind/db.pedroc.com";
};
zone 1.168.192.in-addr.arpa{
type master;
file /etc/bind/inverso.db.pedroc.com;
};
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
604800
86400
2419200
; Serial
; Refresh
; Retry
; Expire
604800 )
IN
NS
pedroc.com.
IN
MX
10 mail.pedroc.com.
IN
192.168.1.63
192.168.1.63
Para comprobar:
nslookup
server 192.168.1.144
set q=MX
pedroc.com
Server:
Address:
192.168.1.144
192.168.1.144#53
Paso 3-Es necesario tener instalado apache2 y php5 (gestor de correo web)
server# apt-get install postfix
(abrir puerto 25 (protocolo de envo))
Marcamos sitio de Internet
Nombre del sistema de correo: pedroc.com
Trabaja online
Gran nmero de transacciones a la vez
Permite bsquedas
Permite carpetas
2>
1>
pedroc.com >
d>
>
s>
>
q>
1-Pasarlo a castellano
2-Cambiar la ardilla por otro dibujo
3-Customizarlo
DNS
https://rtcamp.com/tutorials/mail/dkim-postfix-ubuntu/
inverso
registro mx
registro spf
registro txt
registro dmar
registro domoinkey
dns
abuse@dominio.com
postmaster@dominio.com
Paso 1-Editamos /etc/hostname
server# nano /etc/hostname
mail.pedroc.com
127.0.0.1 localhost
IN
TXT
IN
SPF
Domain
KeyFile
Selector
pedroc.com
/etc/postfix/dkim.key
inet:8891@localhost
SOCKET="inet:8891@localhost"
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Otra forma
server# cat mail.txt >> /etc/bind/db.pedroc.com
Paso 11-Reiniciamos los servicios
server# service opendkim start
server# service postfix restart
Paso 12-Comprobamos que funciona
server# dig mail._domainkey.pedroc.com TXT +short
Salida:
v+DLgfa3780CUsl/sX5e8UwaFbmvhT5it2oAa0S5WguzcUjhBD4EmpW9FFm2EN
xOOC84KZnF7SG+T/rjn+KlzQIDAQAB"
_domainkey.dominio.com IN TXT o=
syslog
yes
#UMask
domain
pedroc.com
keyfile
/etc/opendkim/pedroc.com/mail.private
Selector
AutoRestart
yes
Background
Canonicalization
yes
relaxed/relaxed
DNSTimeout
Mode
sv
SignatureAlgorithm
rsa-sha256
SubDomains
no
#UseASPDiscard
no
#Version
rfc4871
X-Header
no
Statistics
/var/log/dkim-filter/dkim-stats
9yiMtZFR2yQ4ierHUGhIYhaIEeUhoYwf8kvNxWaAkCJ2c/oEkELKePbgv1d54gsxZW
v+DLgfa3780CUsl/sX5e8UwaFbmvhT5it2oAa0S5WguzcUjhBD4EmpW9FFm2EN
xOOC84KZnF7SG+T/rjn+KlzQIDAQAB" ) ; ----- DKIM key mail for pedroc.com
19-Instalacin de Zimbra
Paso 1-Instalamos bind9
server# apt-get install bind9
Paso 2-Editamos /etc/hostname
server# nano /etc/hostname
mail.pedroc.com
127.0.0.1 localhost
zone "pedroc.com" {
type master;
file "/etc/bind/db.pedroc.com";
};
zone 1.168.192.in-addr.arpa{
type master;
file /etc/bind/inverso.db.pedroc.com;
};
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
604800
86400
2419200
604800 )
; Serial
; Refresh
; Retry
; Expire
IN
NS
pedroc.com.
IN
MX
10 mail.pedroc.com.
IN
192.168.1.210
192.168.1.210
Y su inversa
server# nano /etc/bind/db.192.168.1
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
; Serial
604800
86400
2419200
604800 )
; Refresh
; Retry
; Expire
IN
210
NS
PTR
localhost.
mail.
Para comprobar:
nslookup
server 192.168.1.144
set q=MX
pedroc.com
Server:
Address:
192.168.1.144
192.168.1.144#53
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
; Serial
604800
86400
2419200
604800 )
210
IN
NS
localhost.
PTR
mail.
; Refresh
; Retry
; Expire
https://192.168.1.210:7071
https://192.168.1.210
http://ubuntuforums.org/showthread.php?t=956654
su zimbra
crontab crontab.zimbra
http://www.zarafa.com/wiki/index.php/Installing_Zarafa_from_packages
20-Instalacin de Zentyal
Activar correo
21-Proxy Squid
21.1-Iptables
Router
X
Internet
Para crear las reglas de iptables hay que tener en cuenta los siguientes
aspectos:
INPUT=>Paquetes que llegan a nuestra mquina
OUTPUT=> Paquetes que salen de nuestra mquina
iptables
iptables
iptables
iptables
-F
-X
-Z
-t nat -F
iptables
iptables
iptables
iptables
iptables
-p INPUT ACCEPT
-p OUTPUT ACCEPT
-p FORWARD ACCEPT
-t nat -p PREROUTING ACCEPT
-t nat -p POSTROUTING ACCEPT
Nota: Para evitar errores debemos aceptar todas las comunicaciones localhost
iptables
iptables
iptables
iptables
-A
-A
-A
-A
FORWARD
FORWARD
FORWARD
FORWARD
-s
-s
-s
-s
192.168.1.0/24
192.168.1.0/24
192.168.1.0/24
192.168.1.0/24
-p
-p
-p
-p
tcp
tcp
tcp
tcp
dport
dport
dport
dport
20 -j ACCEPT
21 -j ACCEPT
110 -j ACCEPT
25 -j ACCEPT
eth1 LAN
Internet eth0
Ander
eth1
LAN 192.168.5.0
eth0
auto eth1
address 192.168.5.1
netmask 255.255.255.0
auto eth0
address 192.168.5.2
netmask 255.255.255.0
gateway 192.168.5.1
21.2-Proxy Squid
Un proxy es un PC que hace de intermediario entre los Pcs de la red y el router
Ventajas
externos
Inconvenientes
smtp...)
Diseos
Diseo 1
Diseo 2
10.120.120.1
Aula1
Aula2
10.120.120.2
10.120.120.3
src (ip)
dst/ ip)
port (purto)
proto (protocolo)
Ejemplo1
Paso 1-Creamos una ACL para la subredes
Para redirigir las peticiones del puerto 80 hacia el puerto 3128 (eth0 es la red
interna)
server# iptables -t nat -A PREROUTING -i eth0 -p tcp dport 80 -j REDIRECT
to-port 3128
El problema es que no redirigimos el puerto 443. Habra que aadir otros
puertos.
Tamao de la cache del proxy
Es importante asignarle un 35% de la RAM del PC (Ej. 198 MB para 512 MB de
RAM)
cache_mem 198 MB
Vamos a herramientas-Opciones-Avanzado-Red
Imagen 1
Imagen 2
Ejercicio 1
Instalar un proxy squid que deniegue el acceso a una subred (la del cliente)
Aadiendo reglas desde ficheros externos
Para no tocar el archivo squid.conf es mejor cargar las acls desde un archivo
externo.
Ejemplo 1
Creamos un fichero llamado aulas_prohibidas.txt en /etc/squid3
server# nano /etc/squid3/aulas_prohibidas.txt
192.168.1.0/24
192.168.2.0/24
Recargamos squid
server# service squid reload
Ejemplo 2
En este ejemplo
url_prohibidas.txt
prohibimos
urls.
www.sexo.com
www.marca.com
Para
ello
creamos
el
fichero
Recargamos squid
server# service squid3 reload
Una de las funcionalidades ms importantes que nos ofrece squid es registrar
todos los accesos a Intermet. El archivo /var/log/squid/access.log registra la
fecha, hora y url de acceso a Internet.
server# cat /var/log/squid/access.log
Ejercicio 2
Realizar la configuracin necesaria para que el alumno 1 acceda a internet slo
por https. Adems slo podr acceder al gmail y todas las dems web sern
bloqueadas. Es decir, este alumno slo podr utilizar el correo.
Realizar la configuracin necesaria para que el usuario 2 slo pueda acceder de
20:00 a 20:25 a cualquier pgina.
Nota (Existe la acl time que nos permiten accder a internet por tiempo)
Para ello crearamos dos ACL
tiempo=>permite int (13:00 15:00)
pedro => permite int (Pedro)
#http://www.javiercarrasco.es/2013/08/01/proxy-transparente-con-squid-dhcpen-#ubuntu-13-04-32-bits/
#--Script--
#!/bin/sh
SQUID_SERVER="192.168.12.1"
INTERNET="eth1"
# Interface interna
LAN_IN="eth0"
# Puerto Squid
SQUID_PORT="3128"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# Registrar todo
www.gmail.com
accounts.google.com
192.168.12.10
192.168.12.11
mime-construct
libipc-signal-perl
la
server#cd
server#mkdir asterisk
server#cd asterisk
carpeta
Asterisk
descargamos
los
paquetes
server#wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
server#wget http://mirror.freepbx.org/freepbx-2.11.0.42.tar.gz
server#wget
http://downloads.asterisk.org/pub/telephony/zaptel/zaptel1.4.12.1.tar.gz
server#wget
http://downloads.asterisk.org/pub/telephony/libpri/libpri1.4.14.tar.gz
server#wget
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk12.0.0.tar.gz
server# wget http://sourceforge.net/projects/sox/files/sox/12.17.9/sox12.17.9.tar.gz/
server# wget http://sourceforge.net/projects/lame/files/lame/3.96.1/lame3.96.1.tar.gz
server#wget
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-sounds1.2.1.tar.gz
server#wget
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons1.6.2.4.tar.gz
server# wget http://pkgs.fedoraproject.org/repo/pkgs/sox/sox12.17.9.tar.gz/a463ef9ff2ec00007a3a42ced9572b03/sox-12.17.9.tar.gz
identified by
asterisk
importamos
el
archivo
Paso 23-Creamos
correspondientes.
los
grupos
asterisk
asignamos
los
permisos
server#groupadd asterisk
server# mkdir /var/lib/asterisk/
server# useradd asterisk -c PBX Asterisk -d /var/lib/asterisk/ -g asterisk
server# mkdir /var/run/asterisk
server# chown asterisk:asterisk /var/run/asterisk
www-data:x:33:asterisk
export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk
Imagen 3
Paso 26-Cambiamos los permisos de php5
server#chown -R asterisk /var/lib/php5
Paso 27-Cambiamos el tamao mximo de subida de un ficheros
server# nano /etc/php5/apache2/php.ini
Imagen 4
Paso 28-Descomprimimos los ficheros que faltan
server# cd /usr/src
server# tar -xzvf ~/asterisk/libpri-1.4.14.tar.gz
server#tar -xzvf ~/asterisk/zaptel-1.4.12.1.tar.gz
server#tar -xzvf ~/asterisk/asterisk-12.0.0.tar.gz
server#tar -xzvf ~/asterisk/asterisk-addons-1.6.2.4.tar.gz
server#tar -xzvf ~/asterisk/asterisk-sounds-1.2.1.tar.gz
cd asterisk-addons-1.6.2.4
./configure
make
make install (da fallo=
nameserver 192.168.1.210
zone pedroc.com{
type master;
file /etc/bind/db.pedroc.com;
};
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
; Serial
604800
; Refresh
86400
; Retry
2419200
604800 )
; Expire
IN
NS
IN
pedroc.com.
192.168.1.63
www
IN
192.168.1.63
joomla
IN
192.168.1.63
wordpress IN
192.168.1.63
owncloud
IN
192.168.1.63
roundcube IN
192.168.1.63
forwarders {
192.168.1.45;
};
zone 1.168.192.in-addr.arpa{
type master;
file /etc/bind/inverso.db.pedroc.com;
};
$TTL
604800
IN
SOA
pedroc.com. root.pedroc.com. (
; Serial
604800
86400
; Refresh
; Retry
2419200
604800 )
; Expire
NS
pedroc.com.
106
PTR
roundcube.
106
PTR
joomla.
106
PTR
wordpress.
106
PTR
owncloud .
IN
BBDD
Adems la base de datos tambin la deber crear yo, mediante el
phpmyadmin (Importante: No puede ver mas que mis db). De forma
que yo instalar los gestores mediante un ftp y el usuario Instalador|
Almi123. Desde mi ordenador podr acceder con mysql-client
bind-address=192.168.1.210
Paso 11-Creamos las bases de datos que va a usar Sergio tanto para instalar
Owncloud. . Como Sergio slo puede crear bases de datos bajo el prefijo
Sergio, todas las bases de datos tendrn el nombre en formato
Sergio_nombreDDBB.
server# mysql -u Sergio -p
mysql>create database Sergio_owncloud;
Paso 12-Como Wordpress y Joomla se instalaran con el usuario
Instalador/Almi123, creamos el usuario Instalador en MySQL y creamos las
bases correspondientes.
Servicios WEB
Crearemos un host virtual https para owncloud.alumno.com. De forma
que se puedan descargar archivos desde mi pc. Cuenta
Sergio/Almi123. El document root ser /var/www/alumno.
DocumentRoot /var/www/pedroc
DirectoryIndex examen.htm
DocumentRoot /var/www/pedroc
listen 80
NameVirtualHost *.80
NameVirtualHost *.443
<Virtualhost *:80>
ServerName owncloud.pedroc.com
DocumentRoot /var/www/pedroc/owncloud
<Directory /var/www/pedroc/owncloud/>
DirectoryIndex index.html
AllowOverride All
Order Allow,Deny
</Directory>
</Virtualhost>
<VirtualHost *:443>
ServerName owncloud.pedroc.com
DocumentRoot /var/www/pedroc/owncloud
DirectoryIndex index.html
SSLEngine on
SSLCertificateFile /etc/apache2/certificados/pedroc.pem
<Directory /var/www/pedroc/owncloud>
AllowOverride All
Order allow,deny
SSLRequireSSL
</Directory>
</VirtualHost>
<Virtualhost *:80>
ServerName joomla.pedroc.com
DocumentRoot /var/www/pedroc/joomla
<Directory /var/www/pedroc/joomla/>
AllowOverride All
Order Allow,Deny
</Directory>
</Virtualhost>
<Virtualhost *:80>
ServerName wordpress.pedroc.com
DocumentRoot /var/www/pedroc/wordpress
<Directory /var/www/pedroc/wordpress/>
AllowOverride All
Order Allow,Deny
</Directory>
</Virtualhost>
Roundcube
Paso 19-Instalamos rouncube
Paso 20-Editamos el archivo /var/lib/roundcube/config/main.inc.php
server# nano /var/lib/roundcube/config/main.inc.php
$rcmail_config['default_host'] = 'localhost';
<Virtualhost *:80>
ServerName roundcube.pedroc.com
DocumentRoot /var/www/pedroc/roundcube
<Directory /var/www/pedroc/roundcube/>
AllowOverride All
Order Allow,Deny
</Directory>
</Virtualhost>
https://help.ubuntu.com/community/Roundcube
https://www.exratione.com/2013/07/installing-roundcube-on-ubuntu-1204/
http://www.upubuntu.com/2012/02/how-to-install-roundcube-webmail-071on.html
FTP
Mediante el ftp con el usuario datos|Almi123 acceder a una carpeta para
poder subir archivos, nunca superiores a 10 mb (TODOS los usuarios ftp
enjaulados).
Instalaremos
Paso 23-Instalamos vsftpd
server# apt-get install vsftpd
Paso 24-Editamos el archivo /etc/vsftpd.conf
listen=yes
anonymous_enable=no
local_enable=yes
write_enable=yes
local_umask=022
anon_upload_enable=No
anon_mkdir_write_enable=no
dirmessage_enable=yes
use_localtime=yes
xferlog_enable=yes
connect_from_port_20=yes
chroot_local_user=yes
chroot_list_enable=yes
/bin/ftp
datos:x:1001:1001:,,,:/var/www/pedroc:/bin/ftp
mail.pedroc.com
10.120.120.102
/var/lib/phpmyadmin/config.inc.php
/usr/share/phpmyadmin/config.inc.php
/usr/share/phpmyadmin/setup/frames/config.inc.php
/etc/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'Almi123';
$cfg['Servers'][$i]['hide_db'] = 'information_schema';
$cfg['AllowUserDropDatabase'] = true;
REVOKE ALL ON BD.* from USER@localhost
Proxy
Servidor de correo 8,5
Webmail
Squirrelmail
Courier-IMAP
post-fix
mail.grupo1.com(1,5 y 2)
owncloud.grupo1.com(1 punto)
Grupo1 examen Sergio
Examen Sergio
En el proxy:
Capar
Capar
Capar
Capar
Capar
youtube
forocoches
marca
elcorreo
mundodeportivo
'trusted_domains'=>
array(
0 => '192.168.1.210',
1 => 'owncloud.grupo5.com',
Squid
Paso 1-Habilitamos el enrutamiento y enmascaramos el trfico desde la LAN a
la interfaz de Internet (eth0)
.marca.com
.elcorreo.com
.forocoches.com
.youtube.com
.mundodeportivo.com
.live.com
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Login grupo5</title>
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
<script src="bootstrap-3.3.2-dist/assets/js/ie-emulation-modeswarning.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and
media queries -->
<!--[if lt IE 9]>
<script
src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script
src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<br>
<div class="radio">
<label>
Ir a Squirrel
</label>
</div>
<div class="radio">
<label>
Ir a Owncloud
</label>
</div>
<br>
</form>
<script src="bootstrap-3.3.2-dist/assets/js/ie10-viewport-bugworkaround.js"></script>
</body>
</html>
Imagen 3
<!DOCTYPE html>
<head>
<title>Login multiple</title>
<meta charset="utf-8">
<!--
function squirrelmail_loginpage_onload() {
document.forms[0].js_autodetect_results.value = '1';
if (document.forms[0].elements[i].type == "text" ||
document.forms[0].elements[i].type == "password") {
document.forms[0].elements[i].focus();
break;
// -->
</script>
</head>
<body>
<?php
$usuario=$_POST['usuario'];
$password=$_POST['password'];
$login_seleccionado=$_POST['opciones'];
if($login_seleccionado=="opcion_1")
<form method='post'
action='http://192.168.0.210/webmail/src/redirect.php'>
</form>
</div>
";
}else
<fieldset>
</p>
</p>
</fieldset>
</form>
";
?>
</body>
</html>
Imagen 4
Paso 3-Ahora ya podemos realizar el login. Sin embargo, el acceso a owncloud
no funciona. El problema, es que el sistema de logueo en Owncloud es ms
complejo y usa tokens. Para solucionarlo, manipulamos una de las funciones de
Owncloud para que no tenga en cuenta los tokens. Para ello editamos el
archivo owncloud/lib/private/appframework/http/request.php y editamos la
funcin passesCSRFCheck() cambiando a true todos los valores puestos a
false. Lo que estamos haciendo, consiste en eliminar la traba de seguridad
que ofrece esta funcin, que comprueba si se ha creado un token.
server# nano owncloud/lib/private/appframework/http/request.php
if (isset($this->items['get']['requesttoken'])) {
$token = $this->items['get']['requesttoken'];
} elseif (isset($this->items['post']['requesttoken'])) {
$token = $this->items['post']['requesttoken'];
} elseif (isset($this->items['server']['HTTP_REQUESTTOKEN'])) {
$token = $this->items['server']['HTTP_REQUESTTOKEN'];
} else {
if (isset($this->items['get']['requesttoken'])) {
$token = $this->items['get']['requesttoken'];
} elseif (isset($this->items['post']['requesttoken'])) {
$token = $this->items['post']['requesttoken'];
} elseif (isset($this->items['server']['HTTP_REQUESTTOKEN'])) {
$token = $this->items['server']['HTTP_REQUESTTOKEN'];
} else {
// Not valid
} else {
// Valid token
}}
Voz IP
Paso 1-En un navegador introducimos la IP del Asterisk y pinchamos en el
Administrador.
Imagen 5
Imagen 6
Paso 3-Creamos una extensin en las y le ponemos una contrasea.
Imagen 7
Imagen 8
Paso 4-Instalamos Ekiga
server#apt-get install ekiga
Paso 5-Damos de alta una de las extensiones que hemos probado. Para ello,
podemos saltar el configurador de Ekiga y vamos a Cuentas y Aadir una
cuenta SIP.
Imagen 9
Imagen 10
Paso 6-Vamos al teclado y podemos llamar a otro usuario que se haya
registrado con otr extensin (por ejmplo sip:2000@192.168.1.222). Ya
podremos llamar.
Imagen 11
BBDD
Punto 1
Copia de seguridad de la BBDD todos los das a las 07:30 en /bd/backup.sql (2
puntos)
Paso 1-Creamos la BBDD usuarios y la tabla correspondiente
server# mysql -u root -p
mysql>create database usuarios;
mysql> use usuarios;
mysql> create table usuarios(id_usu int not null auto_increment, usuario
varchar(35), nombre varchar(35), passwd varchar(255), primary key(cod_usu));
Paso 2-Creamos un script que haga la copia
if [ -d /bd/ ]; then
mkdir bd
fi
30 19 * * *^/usr/local/bin/bdbackup
Punto 2
El equipo del squid un MYSQL esclavo y del correo maestro y hacer replicacin
de datos de la BBDD de usuarios que hace login en nuestro PHP (3 puntos).
En el maestro
1-En el Maestro
REPLICATION
CLIENT
ON
*.*
TO
[mysqld]
log_bin
server-id=1
Binlog_Do_DB=nombreBBDD
Guardar y reiniciar
2-En el Esclavo
Paso 3-Crear usuario para la replicacin
mysql>GRANT REPLICATION SLAVE,REPLICATION
replicante@192.168.1.210 IDENTIFIED BY 'Almi123';
Paso 4-Configurar my.cnf
[mysqld]
log_bin
server-id=2
Binlog_Do_DB=nombreBBDD
Guardar y reiniciar
CLIENT
ON
*.*
TO
3-En el Maestro
Paso 5-Copiamos la BBDD a esclavos (Sincronizar)
mysql>FLUSH TABLES WITH READ LOCK;
server# SYSTEM mysqldump -u root -p opt tabla
server# mysql -h ip_esclavo -u root -p tabla;
mysql>SHOW MASTER STATUS;
mysql>UNLOCK TABLES;
Paso 6-Iniciar la replicacin
mysql>CHANGE MASTERT TO MASTER_HOST='maestro.dominio.com',
MASTER_USER='esclavo', MASTER_PASSWORD=''Password',
MASTER_LOG_FILE='maestro_bin_001', MASTER_LOG_POS=76;
mysql>START SLAVE;
mysql>SHOW SLAVE STATUS\G
Punto 3
Un trigger que al insertar un usuario me lo guarde en una tabla Insertados (2
puntos)
Un trigger que al borrar un usuario me lo guarde en una tabla de borrados (2
puntos)
Para postgress crear una table space
Referencias
http://www.hospedagem-anual.com.br/login-personalizado-de-acesso-aowebmail/
http://squirrelmail.org/wiki/EmbeddedSquirrelmailLogin
http://litox.entramado.net/tag/raspberry-pi/
http://ferdi.blog.unas.ac.id/artikel-bebas/squirrelmail-login-page-embeddedcustomizing/
http://forum.owncloud.org/viewtopic.php?f=26&t=21865
http://forum.owncloud.org/viewtopic.php?f=29&t=25998
Nociones de scripts
Disttribucin: lsb_release - i
Versin completa: lsb_release -d
Directorio actual $PWD
menu_principal()
gestion_usuarios(A,B)
DNS(A,B,E) DirectoDom, sub, host, Inverso
Apache(A,B,E) A_mod, D_mod
FTP(A,B,E) a carpeta concreta y luego subcarpetas
Un usuario FTP por web apache o un usuario varios sitios?
1 por todos y otro por sitio
Un usuario phpmyadmin=> Varias BBDD
Sustituir las palabras abc que encuentre en archivo1 por xyz y escribir el
resultado en archivo2.
server# sed s/ abc / xyz /g archivo1 > archivo2
Sustituir comas por puntos
server# sed s/,/./g precioscoma > preciospunto
Sustituir variables entre documentos
server# sed "s|$var1|$var2|" archivo1 > archivo2
Sustituir una cadena por otra
server# sed -i "s/casa/camion/g" /home/pedroc/Escritorio/pruebas.txt
Aadir una lnea
server# echo >> linea archivo
DNS
APACHE2
host_http=> index_principal (lleva DirectoryIndex y el ndice), dominio,ruta
host_https=> index_principal (lleva DirectoryIndex y el ndice), dominio,ruta,
ruta_certificado
host_doble => index_principal (lleva DirectoryIndex y el ndice), dominio,ruta
Aadir listen 443 en ports.conf
FTP
Con sed modifico el archivo /etc/vsftpd/vsftpd.conf y pongo
Creo vsftpd.chroot.list
listen=yes
anonymous_enable=no
local_enable=yes
write_enable=yes
local_umask=022
anon_upload_enable=No
anon_mkdir_write_enable=no
dirmessage_enable=yes
use_localtime=yes
xferlog_enable=yes
connect_from_port_20=yes
chroot_local_user=yes
chroot_list_enable=yes
chroot_listfile=/etc/vsftpd.chroot.list