domingo, 17 de enero de 2016

Crear host virtuales con Apache

Wikijc:Sistemas hostvirtual

Crear un host virtual con APACHE y TOMCAT


Vemos los enlaces a los sitios que ya tenemos creados
$ ls -l /etc/apache2/sites-enabled/total 0
lrwxrwxrwx 1 root root 36 Apr 25 2007 000-default -> /etc/apache2/sites-available/default
lrwxrwxrwx 1 root root 48 Nov 15 16:03 010geoservices -> /etc/apache2/sites-available/geoservices.blom.es
lrwxrwxrwx 1 root root 47 Nov 15 16:03 020gruponorte -> /etc/apache2/sites-available/gruponorte.blom.es
lrwxrwxrwx 1 root root 44 Nov 15 16:04 030donosti -> /etc/apache2/sites-available/donosti.blom.es
lrwxrwxrwx 1 root root 45 Dec 12 09:41 portugal.blom.es -> /etc/apache2/sites-available/portugal.blom.es

Vemos los sitios creados
$ ls -l /etc/apache2/sites-available/
total 24
-rw-r--r-- 1 root root 1546 Nov 23 13:07 default
-rw-r--r-- 1 root root 2512 Dec 12 10:28 donosti.blom.es
-rw-r--r-- 1 root root 2391 Jan 31 17:19 geoservices.blom.es
-rw-r--r-- 1 root root 2551 Dec 12 11:10 gruponorte.blom.es
-rw-r--r-- 1 root root 2576 Jan 11 13:31 portugal.blom.es
-rw-r--r-- 1 root root 2525 Jan 11 13:31 portugal.blom.pt

Copiamos un host virtual ya definido (donosti en este caso)para que tenga lo mismo
$ cp /etc/apache2/sites-available/donosti.blom.es /etc/apache2/sites-available/mma.blom.esEditamos el host virtual que creamos y cambiamos todas las referencias a donosti por mma
$ vi /etc/apache2/sites-available/mma.blom.es

ServerAdmin admin@blom.es
ServerName mma.blom.es
DocumentRoot /project/mma/www/mma

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# AuthType Basic
# AuthName "Acceso mma"
# AuthUserFile /project/mma/passwd
# Require valid-user


ScriptAlias /cgi-bin/ /project/mma/cgi-bin/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


Alias /awstats-icon /usr/share/awstats/icon


Options None
AllowOverride None
Order allow,deny
Allow from all



Options ExecCGI
Order allow,deny
allow from all
AuthType Basic
AuthName "Acceso usuario mma"
AuthUserFile /project/mma/cpasswd
Require valid-user


ErrorLog /project/mma/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info

CustomLog /project/mma/log/apache2/access.log combined
ServerSignature off

# Where to find workers.properties
JkWorkersFile /etc/apache2/geoservices.workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# Static files in the examples webapp are served by apache
# Alias /blomviewers /project/geoservices/www/blomviewers

# Conector de apache a tomcat AJP13
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug

# Redirigir a Tomcat Webapps
# JkAutoAlias /waps /usr/local/tomcat/webapps
JkMount /v01/* ajp13_worker



Vemos los proyectos que tenemos ya creados
$ ls -l /project
total 24
drwxr-xr-x 7 donosti donosti 4096 Nov 2 09:48 donosti
drwsrwsr-t 12 geoservices geoservices 4096 Jan 31 17:07 geoservices
drwxr-xr-x 5 root root 4096 Dec 12 11:07 gruponorte
drwx------ 2 root root 4096 Jan 24 08:29 lost+found
drwxr-xr-x 5 portugal portugal 4096 Jan 31 17:20 portugal
drwxrwxrwx 2 root root 4096 Nov 27 16:51 transfer

Tomamos como referencia el directorio del proyecto de donosti
$ ls -l /project/donosti/
total 28
lrwxrwxrwx 1 donosti donosti 28 Oct 19 08:48 cgi-bin -> /project/geoservices/cgi-bin
-rw-r--r-- 1 donosti donosti 45 Dec 12 10:52 cpasswd
lrwxrwxrwx 1 donosti donosti 25 Oct 19 08:48 data -> /project/geoservices/data
drwxr-xr-x 3 donosti donosti 4096 Oct 29 10:49 etc
drwsrwsr-t 3 donosti donosti 4096 Oct 19 08:47 log
-rwxrwxr-t 1 donosti donosti 45 Oct 19 08:51 passwd
drwxr-xr-x 3 root donosti 4096 Oct 29 10:32 usr
drwxr-xr-x 3 donosti donosti 4096 Oct 29 10:32 var
lrwxrwxrwx 1 donosti donosti 28 Oct 19 08:48 webapps -> /project/geoservices/webapps
drwsrwsr-t 4 donosti donosti 4096 Oct 19 08:50 www

Creamos un enlace al nuevo host virtual
$ ln -s /etc/apache2/sites-available/mma.blom.es /etc/apache2/sites-enabled/040mma

Vemos como queda el directorio de sites-enabled
$ ls -l /etc/apache2/sites-enabled/
total 0
lrwxrwxrwx 1 root root 36 Apr 25 2007 000-default -> /etc/apache2/sites-available/default
lrwxrwxrwx 1 root root 48 Nov 15 16:03 010geoservices -> /etc/apache2/sites-available/geoservices.blom.es
lrwxrwxrwx 1 root root 47 Nov 15 16:03 020gruponorte -> /etc/apache2/sites-available/gruponorte.blom.es
lrwxrwxrwx 1 root root 44 Nov 15 16:04 030donosti -> /etc/apache2/sites-available/donosti.blom.es
lrwxrwxrwx 1 root root 40 Mar 4 08:50 040mma -> /etc/apache2/sites-available/mma.blom.es
lrwxrwxrwx 1 root root 45 Dec 12 09:41 portugal.blom.es -> /etc/apache2/sites-available/portugal.blom.es

Para crear usuario que va a poder acceder a la pagina web y ponerle una contraseña usamos el comando htpasswd
$sudo htpasswd -b -c /projects/mma/passwd malaga 2ndoPiso
$sudo htpasswd -b /projects/gruponorte/passwd sysadmin xxx
Con esto tenemos un fichero llamado passwd dentro del directorio donde esta el usuario y la contraseña con la que vamos a poder acceder a la pagina web. Este usuario no tiene nada que ver con el usuario del sistema aunque se llame igual.
Ponemos la seguridad al fichero.
$chown mma:mma /projects/gruponorte/passwd
$chmod 7775 /projects/mma/passwd
Editar el fichero de usuarios passwd y añadir la siguiente linea, esto no tiene nada que ver con el usuario de acceso a la pagina web, es solo la seguridad del sistema.
$ vi /etc/passwd
mma:x:1004:1004:Portugal devel group:/project/mma:/bin/false
Creamos el grupo para el usuario anterior
$ vi /etc/group
mma:x:1002:
Pasamos los datos a la BD
$ pwconv

Creamos el directorio donde estan los datos del host virtual
$ mkdir /project/mma

Creamos el directorio donde estan los ficheros html
$ mkdir -p /project/mma/www

Creamos el directorio para los log
$ mkdir -p /project/mma/log/apache2

Creamos un enlace al directorio que tiene los datos de mapserver
$ ln -s /project/geoservices/cgi-bin /project/mma/cgi-bin

Creamos un enlace donde estan los datos de las imagenes
$ ln -s /project/geoservices/data/ /project/mma/data

Creamos un enlace al directorio donde estan los datos de tomcat
$ ln -s /project/geoservices/webapps/ /project/mma/webapps

Vemos como queda el contenido del nuevo directorio
$ ls -l /project/mma
total 8
lrwxrwxrwx 1 root root 29 Mar 4 09:12 cgi-bin -> /project/geoservices/cgi-bin/
lrwxrwxrwx 1 root root 26 Mar 4 09:12 data -> /project/geoservices/data/
drwxr-xr-x 3 root root 4096 Mar 4 09:11 log
lrwxrwxrwx 1 root root 29 Mar 4 09:12 webapps -> /project/geoservices/webapps/
drwxr-xr-x 2 root root 4096 Mar 4 09:10 www

Ponemos los permisos y quien es el propietario del directorio nuevo
$ chown -R mma:mma /project/mma/
$ chmod -R 7775 /project/mma/

Editamos el DNS de linux para el nuevo host virtual en la maquina dns, tanto el externo como el interno
$ cd /etc/djbdns/dnsint/root/
$ vi data
# Blom.es, desde el interior, redireccion de algunos nombres
# #
.blom.es:192.168.33.228:a:259200
@blom.es:192.168.33.10:mail.blom.es
+correo.blom.es:192.168.33.10:86400
+smtp.blom.es:192.168.33.10:86400
+imap.blom.es:192.168.33.10:86400
+pop.blom.es:192.168.33.10:86400
+pop3.blom.es:192.168.33.10:86400
+ns1.blom.es:192.168.33.228:86400
+ntp.blom.es:192.168.33.228:86400
+www.blom.es:194.255.127.250:86400
+ftp.blom.es:192.168.33.39:86400
+intranet.blom.es:192.168.33.21:86400
+jares.blom.es:192.168.33.21:86400
+mysql.blom.es:192.168.33.21:86400
+wikipedia.blom.es:192.168.33.87:86400
+system.blom.es:192.168.33.21:86400
+hardware.blom.es:192.168.33.21:86400
+seminario.blom.es:192.168.33.21:86400
+mapas.blom.es:84.124.4.83:86400
+s0.mapas.blom.es:84.124.4.83:86400
+s1.mapas.blom.es:84.124.4.83:86400
+s2.mapas.blom.es:84.124.4.83:86400
+s3.mapas.blom.es:84.124.4.83:86400
+geoservices.blom.es:84.124.4.82:600
+s0.geoservices.blom.es:84.124.4.82:600
+s1.geoservices.blom.es:84.124.4.82:600
+s2.geoservices.blom.es:84.124.4.82:600
+s3.geoservices.blom.es:84.124.4.82:600
+gruponorte.blom.es:84.124.4.82:600
+s0.gruponorte.blom.es:84.124.4.82:600
+s1.gruponorte.blom.es:84.124.4.82:600
+s2.gruponorte.blom.es:84.124.4.82:600
+s3.gruponorte.blom.es:84.124.4.82:600
+donosti.blom.es:84.124.4.82:600
+s0.donosti.blom.es:84.124.4.82:600
+s1.donosti.blom.es:84.124.4.82:600
+s2.donosti.blom.es:84.124.4.82:600
+s3.donosti.blom.es:84.124.4.82:600
+donostia.blom.es:84.124.4.82:600
+s0.donostia.blom.es:84.124.4.82:600
+s1.donostia.blom.es:84.124.4.82:600
+s2.donostia.blom.es:84.124.4.82:600
+s3.donostia.blom.es:84.124.4.82:600
+jcyl.blom.es:84.124.4.82:600
+s0.jcyl.blom.es:84.124.4.82:600
+s1.jcyl.blom.es:84.124.4.82:600
+s2.jcyl.blom.es:84.124.4.82:600
+s3.jcyl.blom.es:84.124.4.82:600
+portugal.blom.es:84.124.4.82:600
+s0.portugal.blom.es:84.124.4.82:600
+s1.portugal.blom.es:84.124.4.82:600
+s2.portugal.blom.es:84.124.4.82:600
+s3.portugal.blom.es:84.124.4.82:600
+portugal.blom.pt:84.124.4.82:600
+mma.blom.es:84.124.4.82:600
+s0.mma.blom.es:84.124.4.82:600
+s1.mma.blom.es:84.124.4.82:600
+s2.mma.blom.es:84.124.4.82:600
+s3.mma.blom.es:84.124.4.82:600
 +pictometry.blom.es:84.124.4.82:86400
# #
+mapas.blom.es:84.124.4.83:86400
+geoservices.blom.es:84.124.4.82:86400
#+geoservices.blom.es:62.81.160.200:86400
+pictometry.blom.es:84.124.4.82:86400
+crm.blom.es:192.168.0.159:86400

=vuelos.blom.es:84.124.4.84:86400
# blom portugal
.blom.pt:192.168.33.228:a:259200
+portugal.blom.pt:84.124.4.82:600
+s0.portugal.blom.pt:84.124.4.82:600
+s1.portugal.blom.pt:84.124.4.82:600
+s2.portugal.blom.pt:84.124.4.82:600
+s3.portugal.blom.pt:84.124.4.82:600

$ make
$ cd /etc/djbdns/dnsext/root/
$ vi data
#blom.es, desde el exterior
#
.82.4.124.84.in-addr.arpa:84.124.4.82:a:600
#
.blom.es:84.124.4.82:a:600
@blom.es:62.81.160.200:mail.blom.es:600
=blom.es:84.124.4.82:
=vuelos.blom.es:84.124.4.84:86400
=servicios.blom.es:84.124.4.83:86400
+correo.blom.es:62.81.160.200:86400
+smtp.blom.es:62.81.160.200:86400
+imap.blom.es:62.81.160.200:86400
+pop.blom.es:62.81.160.200:86400
+pop3.blom.es:62.81.160.200:86400
+ns.blom.es:213.201.66.31:86400
+www.blom.es:194.255.127.250:86400
#+ftp.blom.es:62.81.160.200:86400
+ftp.blom.es:84.124.4.82:86400
+intranet.blom.es:62.81.160.200:86400
+jares.blom.es:62.81.160.200:86400
+seminario.blom.es:62.81.160.200:86400
+mapas.blom.es:84.124.4.83:86400
+s0.mapas.blom.es:84.124.4.83:86400
+s1.mapas.blom.es:84.124.4.83:86400
+s2.mapas.blom.es:84.124.4.83:86400
+s3.mapas.blom.es:84.124.4.83:86400
+geoservices.blom.es:84.124.4.82:600
+s0.geoservices.blom.es:84.124.4.82:600
+s1.geoservices.blom.es:84.124.4.82:600
+s2.geoservices.blom.es:84.124.4.82:600
+s3.geoservices.blom.es:84.124.4.82:600
+gruponorte.blom.es:84.124.4.82:600
+s0.gruponorte.blom.es:84.124.4.82:600
+s1.gruponorte.blom.es:84.124.4.82:600
+s2.gruponorte.blom.es:84.124.4.82:600
+s3.gruponorte.blom.es:84.124.4.82:600
+donosti.blom.es:84.124.4.82:600
+s0.donosti.blom.es:84.124.4.82:600
+s1.donosti.blom.es:84.124.4.82:600
+s2.donosti.blom.es:84.124.4.82:600
+s3.donosti.blom.es:84.124.4.82:600
+donostia.blom.es:84.124.4.82:600
+s0.donostia.blom.es:84.124.4.82:600
+s1.donostia.blom.es:84.124.4.82:600
+s2.donostia.blom.es:84.124.4.82:600
+s3.donostia.blom.es:84.124.4.82:600
+jcyl.blom.es:84.124.4.82:600
+s0.jcyl.blom.es:84.124.4.82:600
+s1.jcyl.blom.es:84.124.4.82:600
+s2.jcyl.blom.es:84.124.4.82:600
+s3.jcyl.blom.es:84.124.4.82:600
+portugal.blom.es:84.124.4.82:600
+s0.portugal.blom.es:84.124.4.82:600
+s1.portugal.blom.es:84.124.4.82:600
+s2.portugal.blom.es:84.124.4.82:600
+s3.portugal.blom.es:84.124.4.82:600
+mma.blom.es:84.124.4.82:600
+s0.mma.blom.es:84.124.4.82:600
+s1.mma.blom.es:84.124.4.82:600
+s2.mma.blom.es:84.124.4.82:600
+s3.mma.blom.es:84.124.4.82:600

+pictometry.blom.es:84.124.4.82:86400
=ip6.blom.es:84.124.4.85:86400
+crm.blom.es:84.124.4.85:86400

$ make
Editamos tambien el DNS de windows en la maquina esla

Copio los datos de donosti como prueba de que funciona el nuevo host virtual
$ cp -r /project/donosti/www/ /project/mma/
$ ls -l /project/mma/www
total 8 drwxr-sr-t 2 root mma 4096 Mar 4 11:59 blomviewers
drwxr-sr-t 6 root mma 4096 Mar 4 11:59 donosti
Cambiamos donosti por mma
$ mv /project/mma/www/donosti/ /project/mma/www/mma
Vemos como queda el directorio
$ ls -l /project/mma/www
total 8
drwxr-sr-t 2 root mma 4096 Mar 4 11:59 blomviewers
drwxr-sr-t 6 root mma 4096 Mar 4 11:59 mma

Arrancamos apache y tomcat
$ /etc/init.d/tomcat5.5 restart
$ /etc/init.d/apache2 restart

Vemos si tenemos errores
$ tail -30 /var/log/apache2/error.log
$ tail -30 /var/log/apache2/access.log

Tenemos que añadir las librerias a la base de datos para que nos funcione con el programa pgAdmin III (PostgresSQL Administration Tool)
La direccion que usamos en el navegador para comprobar que funciona mma con los datos de donosti es
http://mma.blom.es
Copiamos los datos buenos desde la maquina desarrollo003
ssh root@desarrollo003 scp -r /project/geoservices/costabrava sysadmin@pisuerga:/tmp volvemos a pisuerga y copiamos el projecto en su directorio mma mv /tmp/costabrava /project/mma/www/ Ponemos bien los permisos chown -R mma:mma costabrava/ chmod -R 7775 costabrava/ vi /etc/apache2/sites-available/mma.blom.es
       ServerAdmin dvielba@blom.es
       ServerName mma.val.blom.lan
       DocumentRoot /project/mma/www/costabrava
       
               Options FollowSymLinks
               AllowOverride None
       
       
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
             # AuthType Basic
             # AuthName "Acceso costabraba"
             # AuthUserFile /project/mma/passwd
             # Require valid-user
       
       ScriptAlias /cgi-bin/ /project/mma/cgi-bin/
       
               AllowOverride None
               Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
       
      Alias /awstats-icon /usr/share/awstats/icon
       
               Options None
               AllowOverride None
               Order allow,deny
               Allow from all
       
       
               Options ExecCGI
               Order allow,deny
               allow from all
               AuthType Basic
               AuthName "Acceso costabrava"
               AuthUserFile /project/mma/cpasswd
               Require valid-user
       
       ErrorLog /project/mma/log/apache2/error.log
       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel info
       CustomLog /project/mma/log/apache2/access.log combined
       ServerSignature On
  1. Where to find workers.properties
       JkWorkersFile   /etc/apache2/geoservices.workers.properties
  1. Where to put jk shared memory
       JkShmFile     /var/log/apache2/mod_jk.shm
  1. Set the jk log level [debug/error/info]
       JkLogLevel    info
  1. Select the timestamp log format
       JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
  1. Static files in the examples webapp are served by apache
  2. Alias /blomviewers /project/geoservices/www/blomviewers
  1. Conector de apache a tomcat AJP13
       JkLogFile       /var/log/apache2/mod_jk.log
       JkLogLevel      debug
  1. Redirigir a Tomcat Webapps
  2. JkAutoAlias /waps /usr/local/tomcat/webapps
       JkMount /v01/*          ajp13_worker

Arrancamos apache y tomcat
$ /etc/init.d/tomcat5.5 restart
$ /etc/init.d/apache2 restart

Si no vemos las imagenes puede ser porque no este bien el fichero blom.map. lo editamos
$ ls -l /project/geoservices/data/escobr/2006/demo/default/
total 35600
drwsrwsr-t 3 geoservices geoservices 4096 Mar 4 17:35 32631
-rwsrwsr-t 1 geoservices geoservices 371248 Mar 4 17:37 ESBARCL.dbf
-rwsrwsr-t 1 geoservices geoservices 145 Mar 4 17:37 ESBARCL.prj
-rwsrwsr-t 1 geoservices geoservices 94348 Mar 4 17:37 ESBARCL.shp
-rwsrwsr-t 1 geoservices geoservices 5644 Mar 4 17:37 ESBARCL.shx
-rwsrwsr-t 1 geoservices geoservices 371248 Mar 4 17:37 ESBARCLL_NOB.dbf
-rwsrwsr-t 1 geoservices geoservices 94348 Mar 4 17:37 ESBARCLL_NOB.shp
-rwsrwsr-t 1 geoservices geoservices 5644 Mar 4 17:37 ESBARCLL_NOB.shx
-rwsrwsr-t 1 geoservices geoservices 28726994 Mar 4 17:37 ESBARCLL_NOR.DBF
-rwsrwsr-t 1 geoservices geoservices 5251060 Mar 4 17:37 ESBARCLL_NOR.SHP
-rwsrwsr-t 1 geoservices geoservices 308980 Mar 4 17:37 ESBARCLL_NOR.SHX
-rwsrwsr-t 1 geoservices geoservices 5104 Mar 5 09:57 blom.map
-rwsrwsr-t 1 geoservices geoservices 2951 Mar 4 17:35 blom.xml
drwsrwsr-t 2 geoservices geoservices 24576 Mar 4 17:37 east
-rwsrwsr-t 1 geoservices geoservices 984327 Mar 4 17:37 insert.sql
drwsrwsr-t 2 geoservices geoservices 28672 Mar 4 17:38 north
drwsrwsr-t 2 geoservices geoservices 4096 Mar 4 17:38 ortho_32631
drwsrwsr-t 2 geoservices geoservices 32768 Mar 4 17:38 south
-rwsrwsr-t 1 geoservices geoservices 398 Mar 4 17:38 update.sql
drwsrwsr-t 2 geoservices geoservices 32768 Mar 4 17:39 west

$ vi /project/geoservices/data/escobr/2006/demo/default/blom.map
  1. Created by Blom SG
  2. 04-mar-2008

MAP
NAME "Blom Costa Brava Map"

IMAGECOLOR     0 0 0

SHAPEPATH      "/project/geoservices/data/escobr/2006/demo/default/"

SYMBOLSET      "/project/geoservices/data/symbols.sym"

FONTSET        "/project/geoservices/data/font.list"

PROJECTION

 "proj=utm"

 "ellps=WGS84"

       "datum=WGS84"

       "zone=31"

       "units=m"

       "north"

       "no_defs"

END

OUTPUTFORMAT

       NAME JPEG

       DRIVER "GD/JPEG"

       MIMETYPE "image/jpeg"

       IMAGEMODE RGB

       EXTENSION "jpg"

       FORMATOPTION "QUALITY=70"

END

WEB

       IMAGEPATH        "/tmp/"

       IMAGEURL         "/tmp/"

END

LAYER
NAME "ortho_32631"
TYPE RASTER
STATUS ON
TILEINDEX "ortho_32631/Tiles.shp"
PROJECTION

 "proj=utm"

 "ellps=WGS84"

       "datum=WGS84"

       "zone=31"

       "units=m"

       "north"

       "no_defs"

END

.
.
.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.