# Consulta Pública Sistema de Consulta Pública # Pasos para crear el entorno de desarrollo Cuando somos un usuario normal del sistema, en el terminal se mostrará el siguiente símbolo: ~$ Cuando accedemos al usuario root del sistema, en el terminal se mostrará el siguiente símbolo: ~# Probado en últimas versiones de Debian y Ubuntu. Intalar los siguientes programas ~# apt install curl git postgresql phppgadmin libz-dev libjpeg-dev libfreetype6-dev python2.7-dev libboost-regex-dev libicu-dev zlib1g-dev libboost-dev libboost-system-dev libboost-program-options-dev libboost-thread-dev build-essential # Instalar Freeling 4.0 Desde el navegador entrar a https://github.com/TALP-UPC/FreeLing/releases y descargar el siguiente archivo FreeLing-4.0.tar.gz Guardarlo en /home/nombre_usuario/Descargas // Abrir el terminal e ir a la carpeta Descargas ~$ cd Descargas // Descomprimir el archivo ~$ tar xzvf FreeLing-4.0.tar.gz // Entrar a la carpeta ~$ cd FreeLing-4.0 // Entrar como super usuario ~$ sudo su Ejecutar los siguientes comandos para la instalación ~# autoreconf --install ~# ./configure En caso de alguna alerta (warning) es recomendable descomentar la línea 4 del archivo Makefile.am y repetir el comando anterior ~# make Si en el momento del make tenemos un error como este corrector/dicc2phon-dicc2phon.o: In function `_GLOBAL__sub_I_main': dicc2phon.cc:(.text.startup+0x2c): undefined reference to `boost::system::generic_category()' dicc2phon.cc:(.text.startup+0x36): undefined reference to `boost::system::generic_category()' dicc2phon.cc:(.text.startup+0x40): undefined reference to `boost::system::system_category()' collect2: error: ld returned 1 exit status Se solventa ejecutando el comando ./configure con las siguientes opciones ~# ./configure CXXFLAGS=-lboost_system CPPFLAGS=-lboost_system LIBS=-lboost_system En este ​enlace https://github.com/mcolebrook/freeling hay una descripción de los errores más comunes En caso contrario continuar con los otros comandos ~# make install Es necesario también configurar una variable de entorno, la cual es utilizada por el freeling, primero debemos chequear si realmente no está configurada escribiendo en la consola // Salimos del super usuario ~# exit ~$ echo $FREELINGSHARE Si no imprime nada procedemos a configurar el perfil de consola, hacemos lo siguiente ~$ cd ~$ nano .bashrc Agregamos al final del archivo lo siguiente export FREELINGSHARE="/usr/local/share/freeling/" Guardamos, salimos de nano, salimos del terminal y lo abrimos de nuevo para que los cambios del freeling tengan efecto Ejecutamos de nuevo ~$ echo $FREELINGSHARE Dede dar como resultado lo siguiente /usr/local/share/freeling/ Todo bien hasta ahora NOTA: Si al ejecutar este comando en la consola ~$ /usr/local/bin/analyzer -f /usr/local/share/freeling/config/es.cfg Da el error LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory. Es necesario ejecutar el comando ~# dpkg-reconfigure locales Y agregar el paquete en_US. UTF-8. Con todo eso ya tenemos instalado el FreeLing-4.0 # Pasos para la instalación del sistema Crear las siguientes carpetas ~$ mkdir programacion Entrar a la carpeta programacion y hacer lo siguiente ~$ cd programacion/ ~$ mkdir entornos_virtuales proyectos_django Entrar a entornos_virtuales y ejecutar ~$ cd entornos_virtuales/ ~$ virtualenv -p python2 consulta_publica Activar el entorno ~$ source consulta_publica/bin/activate Nos movemos a la carpeta proyectos_django, descargamos el sistema y entramos a la carpeta con los siguientes comandos (consulta_publica) ~$ cd ../proyectos_django/ (consulta_publica) ~$ export GIT_SSL_NO_VERIFY=1 (consulta_publica) ~$ git clone https://planificacion.cenditel.gob.ve/analisisdatos/scm/git/consulta_publica (consulta_publica) ~$ cd consulta_publica/ (consulta_publica) ~$ cp consulta_publica/settings.default.py consulta_publica/settings.py Tendremos las carpetas estructuradas de la siguiente manera // Entorno virtual programacion/entornos_virtuales/consulta_publica // Servidor de desarrollo programacion/proyectos_django/consulta_publica Instalamos los requerimientos que el sistema necesita en el entorno virtual (consulta_publica) ~$ pip install -r requirements.txt # Instalar stopwords y punkt // entrar a al terminal de python (consulta_publica) ~$ python // importar nltk >>> import nltk // descarga e instala stopwords >>> nltk.download('stopwords') // descarga e instala punkt >>> nltk.download('punkt') // salir del terminal de python >>> exit() # Intalar vsm // Entramos a vsm y lo instalamos (consulta_publica) ~$ cd vsm (consulta_publica) ~$ python setup.py develop // Volvemos a la raíz del proyecto (consulta_publica) ~$ cd .. # Crear la base de datos para consulta_publica usando PostgreSQL // Acceso al usuario postgres ~# su postgres // Acceso a la interfaz de comandos de PostgreSQL postgres@xxx:$ psql // Creación de un usuario en PostgreSQL postgres=# CREATE USER admin WITH LOGIN ENCRYPTED PASSWORD '123' CREATEDB; postgres=# \q // Desautenticar el usuario PostgreSQL y regresar al usuario root postgres@xxx:$ exit // Salir del usuario root ~# exit Puedes crear la base de datos usando la interfaz gráfica phppgadmin // Desde algún navegador ir al siguiente sitio y entrar con el usuario que se acaba de crear localhost/phppgadmin // Nombre de la base de datos: consulta_publica Ya tenemos todo lo necesario para que el sistema se ejecute. Falta ejecutar lo siguiente (consulta_publica) ~$ python manage.py makemigrations base users consulta participacion procesamiento (consulta_publica) ~$ python manage.py migrate (consulta_publica) ~$ python manage.py loaddata fixtures/initial_auth_group.json fixtures/initial_entidad.json fixtures/initial_municipio.json fixtures/initial_parroquia fixtures/initial_tipo_pregunta.json Crear un super usuario (consulta_publica) ~$ python manage.py createsuperuser Correr el sistema (consulta_publica) ~$ python manage.py runserver Poner en el navegador la url que sale en el terminal para entrar el sistema Para salir del entorno virtual se puede ejecutar desde cualquier lugar del terminal (consulta_publica) ~$ deactivate