Professional Documents
Culture Documents
04
Por Rubn Dario Herrera
Para la instalacin de SITMuni en la nueva versin de Ubuntu, fue necesario llevar a cabo
la instalacin de:
Apache 2 v.2.4.7 (Servidor Web)
PHP 5.5.9 (Pre Procesador para el lenguaje PHP)
PostgreSQL 9.3 (Base de datos)
Geoserver 2.5.1 (Servidor de mapas)
Se debe instalar el Virtual Box Guest Additions para que la funcionalida de la maquina
virtual este completa.
Instalacin de Apache 2 v.2.4.7
$ sudo apt-get install apache2 y
$ sudo service apache2 restart
Damos permisos de solo lectura y ejecucin para todos los usuarios y de escritura solo al
propietario:
sudo chmod -R 755 /var/www
Cambiar la carpeta raiz para publicar
Busca el archivo default el cual se encuentra ubicado en la carpeta
/etc/apache2/sites/available.
Editar el archivo y cambiar la lnea en donde dice /var/www por /home/usuario/SitiosWeb
Crear espacios de usuario
Si es necesario que algn usuario publique una aplicacin y esta sea identificada por cada
usuario, se puede realizar escribiendo lo siguiente:
cd /etc/apache2/mods-available/ && sudo ln s /etc/apache2/mods-available/userdir*
y se puede accesar de este modo http://localhost/~usuario/.
Instalacin de PHP5
Para realizar la instalacin de PHP5 en su ltima versin debemos ejecutar
$sudo apt-get install PHP5 y
Para ver la versin que tenemos instalada
$php --version
Instalacin de PostgreSQL 9.3
Realizamos una actualizacin antes de proceder a instalar los paquetes necesarios
para la instalacin y configuracin de PostgreSQL.
$sudo apt-get update
Instalamos las librerias de python necesarias
$sudo apt-get -y install python-software-properties
Instalamos Postgresql
$ sudo apt-get install postgresql-9.3 pgadmin3
Verificamos que este instalado, consultando la version
$psql version
Cambiamos la contrasea del usuario administrador postgres, dentro de la base de
datos:
$sudo su postgres -c psql
ALTER USER postgres WITH PASSWORD 'password';
\q
La contrasea actual para el usuario postgres es: postgresql
Cambiamos la contrasea del usuario Linux postgres:
$sudo passwd -d postgres
$sudo su postgres -c passwd
La nueva contrasea es: postgresql
Cambiamos en esquema de autenticacin a md5, ya que en algunas ocasiones esta
como peer. Si este no es nuestro caso, ignorar la explicacin siguiente. Para esto lo
haremos abriendo el archivo pg_hba.conf.
$sudo gedit /etc/postgresql/9.1/main/pg_hba.conf
Luego buscaremos lo siguiente:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
y agregaremos lo siguiente:
host all all xx.xx.xx.xx/32 md5 (Direccin desde donde accederemos)
Si es un rango de direcciones se puede cambiar por:
host all all xx.xx.xx.0 255.255.255.0 md5
Y cambiaremos el texto peer por md5. Reiniciamos el servidor de PostgreSQL para
que se lleven a cabo los cambios.
$sudo /etc/init.d/postgresql restart
Si postgres cuando se instala tiene un collation distinto al que necesitamos, en este
caso es_GT-UTF-8, podemos realizar lo siguiente:
o Nos hacemos superusuario:
ubuntu@localhost:~$ sudo su (Colocamos la contrasea del usuario)
o Una vez somos superusuario, nos cambiamos al usuario postgres (Quien es
superusuario de la base de datos PostgreSQL):
root@localhost:~# su postgres
o Ahora, para verificar nuestra codificacin de bases de datos, le diremos que
nos muestre la lista de bases de datos:
postgres@localhost:~$ psql l (Nos listar las bases de datos)
o Entraremos al psql:
postgres@localhost:~$ psql
o Esta es la parte importante; cambiar la codificacin:
postgres=# update pg_database set encoding=6 where datname='template0';
(Le decimos encoding 6 debido a una tabla que existe por ah, en PostgreSQL y
nos dice que el 6 corresponde a UTF-8)
o Ahora, cambiemos la columna Collation:
postgres=# update pg_database set datcollate='en_US.UTF-8' where datname='template0';
o Por ltimo, cambiemos la columna Ctype:
postgres=# update pg_database set datctype='en_US.UTF-8' where datname='template0';
o Salgamos del psql:
postgres=# \q
Ahora, si queremos cambiar en el resto de bases de datos, solamente tenemos
que cambiar el ltimo parmetro (donde est datname='template0',
cambiamos template0 por el nombre de la base de datos que queramos
modificar).
Esto fue tomado de: http://macool.me/problemas-de-codificacion-en-
openerp/16
En el archivo postgresql.conf que est ubicado en la direccin
/etc/postgresql/9.3/main hay que buscar el siguiente parmetro:
Listen_addresses = localhost y cambiarla por listen_addresses = '*'
Para habilitar y poder ver los errores en la aplicacin es necesario que activemos el
desplegar errores de PHP, esto lo haremos modificando el archivo:
/etc/php5/apache2/php.ini con el comando sudo gedit php.ini y colocamos el
parmetro display_errors = Off
Desinstalar de PostgreSQL (Si fuera necesario)
$apt-get remove postgresql*
Instalacin de PostGis 2.1 para PostgreSQL 9.3
Instalamos los paquetes que son pre requisitos
$sudo apt-get install build-essential postgresql-9.3 postgresql-server-dev-9.3 libxml2-
dev libgdal-dev libproj-dev libjson0-dev xsltproc docbook-xsl docbook-mathml
Instalacin de GEOS
$wget http://download.osgeo.org/geos/geos-3.4.2.tar.bz2
$tar xfj geos-3.4.2.tar.bz2
$cd geos-3.4.2
$./configure
$make
$sudo make install
$cd ..
Construimos el PostGis
$wget http://download.osgeo.org/postgis/source/postgis-2.1.3.tar.gz
$tar xfz postgis-2.1.3.tar.gz
$cd postgis-2.1.3
Una configuracin bsica para PostGIS 2.1, con la trama y el apoyo topologa
./configure
make
sudo make install
sudo ldconfig
sudo make comments-install
Permitimos que las herramientas de lnea de comandos para trabajar desde su shell:
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/shp2pgsql
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/pgsql2shp
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/raster2pgsql
Habilita la base de datos espacial
$CREATE EXTENSION postgis;
$ CREATE EXTENSION postgis_topology;
Creamos una base de datos y en este caso sera template_postgis. Entramos a la
consola y escribimos:
$createdb template_postgis
$psql -U postgres -d template_postgis -f /usr/share/postgresql/9.3/contrib/postgis-2.1/postgis.sql
$psql -U postgres -d template_postgis -f /usr/share/postgresql/9.3/contrib/postgis-
2.1/spatial_ref_sys.sql
$psql -U postgres -d template_postgis -f /usr/share/postgresql/9.3/contrib/postgis-
2.1/postgis_comments.sql
Volvemos a escribir en al consola:
$psql template_postgis
Ahora estamos en la base de datos template_postgis. Para saber si esta base de datos
contiene postgis, escribimos:
SELECT postgis_full_version();
Y nos mostrara por pantalla:
-----------------------------------------------------------------------------
POSTGIS="2.1.2 r12389" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March 2012"
LIBXML="2.9.1" LIBJSON="UNKNOWN"
(1 row)
Instalacin de phpPgAdmin
Procedemos a instalar el administrador de base de datos
sudo apt-get install phppgadmin
Configuramos para que se pueda consultar sobre apache
sudo cp /etc/apache2/conf.d/phppgadmin /etc/apache2/conf-
enabled/phppgadmin.conf
Reiniciamos el apache para que reconozca el phpPgAdmin
sudo /etc/init.d/apache2 restart
Para accesar desde phppgadmin debemos modificar el archivo
sudo gedit /etc/phppgadmin/config.inc.php
la linea $conf['extra_login_security'] = false; true por false.
Instalacin de Geoserver 2.5.1
Pre requisitos:
Java 7 o mayor
Se descargo el archivo jre-7u60-linux-x64.tar.gz desde la ubicacin
http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-
1880261.htm
Se cre la carpeta java en /usr/local/
Se copio el archivo descargado a la carpeta /usr/local/java para ser instalado en
esa carpeta y que se tenga acceso libre
$cp /home/rherrera/Descargas/jre-7u60-linux-x64.tar.gz /usr/local/java
Se desempaco el archivo
$tar xavf jre-7u60-linux-x64.tar.gz
Instalar las extensiones nativas JAI y JAI Image I/O
Se debe descargar el archivo jai-1_1_3-lib-linux-amd64-jdk.bin de la direccin
http://download.java.net/media/jai/builds/release/1_1_3/
Se debe instalar el archivo descargado en la carpeta de Java en nuestro caso fue la
carpeta
/usr/local/java/jre1.7.0_60
Luego procedemos a instalar la extensin
$ sudo cp jai-1_1_3-lib-linux-i586-jdk.bin /usr/lib/jvm/java-6-sun
$ cd /usr/lib/jvm/java-6-sun
$ sudo sh jai-1_1_3-lib-linux-i586-jdk.bin
# accept license
$ sudo rm jai-1_1_3-lib-linux-i586-jdk.bin
Se debe descargar el archivo jai_imageio-1_1-lib-linux-amd64-jdk.bin de la
direccin
http://download.java.net/media/jai-imageio/builds/release/1.1/
Se debe instalar el archivo descargado en la carpeta de Java en nuestro caso fue la
carpeta
/usr/local/java/jre1.7.0_60
Luego procedemos a instalar la extensin
$sudo cp jai_imageio-1_1-lib-linux-i586-jdk.bin /usr/lib/jvm/java-6-sun
$ cd /usr/lib/jvm/java-6-sun
$ sudo su
$ export _POSIX2_VERSION=199209
$ sh jai_imageio-1_1-lib-linux-i586-jdk.bin
# accept license
$ rm ./jai_imageio-1_1-lib-linux-i586-jdk.bin
$ exit
Instalar Tomcat 8
Descargamos apache-tomcat-8.0.8.tar.gz de la direccin
http://tomcat.apache.org/download-80.cgi
Cuando descarguemos el archivo, este quedara en la carpeta
/home/USUARIO/Descargas, entonces procederemos a descomprimirlo y nos
quedara una carpeta con el nombre apache-tomcat-8.0.8.
$xvzf /home/usuario/Descargas/apache-tomcat-8.0.8.tar.gz (Descomprimimos)
El contenido de esa carpeta lo movemos a la carpeta /usr/share/tomcat8
$mv /home/usuario/Descargas/apache-tomcat-8.0.8/ /usr/share/tomcat8
Definimos las variables de entorno JAVA_HOME y JRE_HOME el archivo a modificar
ser el environment ubicado en la carpeta /etc. Abrimos el archivo con la
siguiente sentencia
$sudo gedit /etc/environment
Agregamos las siguientes lneas al final del archivo
JRE_HOME = /usr/local/java/jre1.7.0_60
PATH = $PATH:$JRE_HOME
Es necesario colocar la ruta de java en tomcat para que lo encuentre, por lo que
editaremos el archivo catalina.sh
$sudo gedit /usr/share/tomcat/bin/catalina.sh
Y agregamos la siguiente linea:
JRE_HOME = /usr/local/java/jre1.7.0_60
Notificamos al sistema Ubuntu, que Java JRE ha sido instalado y est disponible
para su uso.
$sudo update-alternatives --install "/usr/bin/java" "java"
"/usr/local/java/jre1.7.0_60/bin/java" 1
Notificamos al sistema que Oracle Java Web est listo para su uso
$sudo update-alternatives --install "/usr/bin/javaws" "javaws"
"/usr/local/java/jre1.7.0_60/bin/javaws" 1
Notificamos al sistema que Oracle Java debe ser el predeterminado
$sudo update-alternatives --set java /usr/local/java/jre1.7.0_60/bin/java
Verificamos que todo est bien instalado, solicitando la versin de Java instalada
$java -version
Para el arranque automtico de tomcat, debemos crear un servicio el cual lo
realizaremos en el directorio /etc/init.d/
$sudo gedit tomcat
En este archivo colocaremos las siguientes instrucciones:
#!/bin/sh
#
# description: Demonio de arranque Tomcat
#
export TOMCAT_HOME=/etc/share/tomcat8
start(){
$TOMCAT_HOME/bin/startup.sh
}
stop(){
$TOMCAT_HOME/bin/shutdown.sh
}
case "$1" in
start)
echo "Iniciado tomcat ..."
start
;;
stop)
echo "Deteniendo tomcat ..."
stop
;;
restart)
echo "Reiniciando tomcat ..."
stop
start
;;
*)
echo $"Uso: $0 {start|stop}"
exit 1
esac
Ahora debemos hacer que el archivo que creamos para que tomcat, inicie con el
sistema, el cual es un escript se convierta en un ejecutable, por lo que debemos
cambiar su modalidad, con el siguiente comando:
sudo chmod 755 /etc/init.d/tomcat
Como ltimo paso debemos vincular el script anterior para las carpetas de inicio,
por medio de un enlace, para lo cual ejecutaremos los siguientes comandos:
sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
nicamente nos queda reiniciar el tomcat
sudo /etc/init.d/tomcat7 restart
Instalacin de Geoserver:
Descargamos el archivos empacado que contiene al .war, desde el sitio
www.geoserver.org
Estraemos del archivo .zio el archivo geoserver.war y lo copiamos a la carpeta:
$cp /home/usuario/Descargas/geoserver.war /usr/share/tomcat8/webapps/
Automticamente se instalara el geoserver y luego para comprobar abrimos el
explorados y colocamos
http://localhost:8080/geoserver se nos deberia de mostrar la siguiente pantalla
Debemos agregar el SRS (Spatial Reference System), ya que no aparece en los
que tiene por defecto Geoserver. Para agregarlo debemos editar el archivo
epsg.properties el cual se encuentra en la ubicacin:
/usr/share/tomcat8/webapps/geoserver/data/user_proyections
Y debemos agregar la siguiente definicin (Para el caso de Guatemala):
90180=PROJCS["GTM",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SP
HEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],P
ARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PAR
AMETER["Central_Meridian",-
90.5],PARAMETER["Scale_Factor",0.9998],PARAMETER["Latitude_Of_Origin",0.
0],UNIT["Meter",1.0]]
ANEXOS
Instalacin de Guest Additions
Para instalar las Guest Additions en una maquina virtual de Ubuntu 14.04
$mount /dev/cdrom /mnt
$cd /mnt
$./VBoxLinuxAdditions.run
$reboot
Nota: Para ampliar el tamao del disco de la maquina virtual se debe llevar a cabo lo
siguiente:
C:\Program Files\Oracle\VirtualBox>vboxmanage modifyhd C:\Informacion\Desarrollo
\MaquinasVirtuales\SITMuni2014_Ubuntu14.04\SITMuni2014_Ubuntu14.04.vdi --resize
20480
Compartir carpeta entre el Guest y el Host
Para compartir una carpeta en Virtual Box se debe crear esta en el directorio del
usuario y luego montar esta para que sea reconocida por virtual box
$mkdir /home/usuario/CarpetaCompartida
$sudo mount -t vboxsf CarpetaCompartida /home/usuario/CarpetaCompartida