INSTALACION DE SITMuni en Ubuntu 14.04 Por Rubén Dario Herrera
Para la instalación de SITMuni en la nueva versión de Ubuntu, fue necesario llevar a cabo la instalación 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.
Instalación de Apache 2 v.2.4.7 $ sudo apt-get install apache2 –y $ sudo service apache2 restart
Damos permisos de solo lectura y ejecución 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 línea en donde dice /var/www por /home/usuario/SitiosWeb Crear espacios de usuario
Si es necesario que algún usuario publique una aplicación 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/.
Instalación de PHP5
Para realizar la instalación de PHP5 en su última versión debemos ejecutar $sudo apt-get install PHP5 – y
Para ver la versión que tenemos instalada $php --version
Instalación de PostgreSQL 9.3
Realizamos una actualización antes de proceder a instalar los paquetes necesarios para la instalación y configuración 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 contraseña del usuario administrador postgres, dentro de la base de datos: $sudo su postgres -c psql ALTER USER postgres WITH PASSWORD 'password'; \q La contraseña actual para el usuario postgres es: postgresql
Cambiamos la contraseña del usuario Linux postgres: $sudo passwd -d postgres $sudo su postgres -c passwd La nueva contraseña es: postgresql
Cambiamos en esquema de autenticación a md5, ya que en algunas ocasiones esta como peer. Si este no es nuestro caso, ignorar la explicación 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 (Dirección 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
o
Nos hacemos superusuario: (Colocamos la contraseña del usuario) ubuntu@localhost:~$ sudo su Una vez somos superusuario, nos cambiamos al usuario postgres (Quien es superusuario de la base de datos PostgreSQL): root@localhost:~# su postgres
o
o
Ahora, para verificar nuestra codificación 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) Entraremos al psql: postgres@localhost:~$ psql
o
Esta es la parte importante; cambiar la codificación: 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 parámetro (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-enopenerp/16
En
el
archivo
postgresql.conf
que está ubicado en /etc/postgresql/9.3/main hay que buscar el siguiente parámetro:
la
dirección
Listen_addresses = ‘localhost’ y cambiarla por listen_addresses = '*'
Para habilitar y poder ver los errores en la aplicación 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 parámetro display_errors = Off
Desinstalar de PostgreSQL (Si fuera necesario) $apt-get remove postgresql*
Instalación 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 libxml2dev libgdal-dev libproj-dev libjson0-dev xsltproc docbook-xsl docbook-mathml
Instalación 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 configuración básica para PostGIS 2.1, con la trama y el apoyo topología ./configure make sudo make install sudo ldconfig sudo make comments-install
Permitimos que las herramientas de línea 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 sería 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/postgis2.1/spatial_ref_sys.sql $psql -U postgres -d template_postgis -f /usr/share/postgresql/9.3/contrib/postgis2.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)
Instalación 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/confenabled/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.
Instalación de Geoserver 2.5.1 Pre requisitos: Java 7 o mayor
Se descargo el archivo jre-7u60-linux-x64.tar.gz desde la ubicación http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads1880261.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 dirección 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 extensión $ 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 dirección 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 extensión $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 dirección 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 líneas 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 insta lado 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 versión de Java instalada $java -version
Para el arranque automático 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
Instalación 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/ Automáticamente 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 ubicación: /usr/share/tomcat8/webapps/geoserver/data/user_proyections Y debemos agregar la siguiente definición (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
Instalación 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 tamaño 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