Files
grecia/docs/es/installation/ubuntu.md
voodoorai2000 ac0cd015e7 Update Postgres instructions for Ubuntu
We were getting an enconding exception when running `rake db:create`.

This post from stackoverlow seems to fix it
https://stackoverflow.com/questions/13115692/encoding-utf8-does-not-match-locale-en-us-the-chosen-lc-ctype-setting-requires
2019-04-11 14:50:41 +02:00

136 lines
3.2 KiB
Markdown

## Configuración para los entornos de desarrollo y pruebas (Ubuntu 18.04)
## Actualización de sistema
Ejecuta una actualización general de las librerías de sistema:
```bash
sudo apt update
```
## Git
Git es mantenido oficialmente en Ubuntu:
```bash
sudo apt install git
```
## Ruby
Las versiones de Ruby versions empaquetadas en repositorios oficiales no son aptas para trabajar con CONSUL, así que debemos instalarlo manualmente.
En primer lugar, necesitamos los siguiente paquetes para poder instalar Ruby:
```bash
sudo apt install libssl1.0-dev autoconf bison build-essential libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev
```
Nótese que estamos instalando el paquete `libssl1.0-dev` en lugar de `libssl-dev`. Esto es debido a que Ruby 2.3.2 (versión que CONSUL 0.19 utiliza) no es compatible con OpenSSL 1.1.
El siguiente paso es instalar un gestor de versiones de Ruby, como rbenv:
```bash
wget -q https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer -O- | bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
```
Por último, para instalar Ruby 2.3.2 (proceso que llevará unos minutos):
```bash
rbenv install 2.3.2
```
## Bundler
Comprueba que estemos usando la versión de Ruby que acabamos de instalar:
```bash
rbenv global 2.3.2
ruby -v
=> ruby 2.3.2p217
```
E instala Bundle con:
```bash
gem install bundler
```
## Node.js
Para compilar los archivos estáticos (JS, CSS, imágenes, etc.), es necesario un _runtime_ de JavaScript. Node.js es la opción recomendada.
Ejecuta en tu terminal:
```bash
sudo apt install nodejs
```
## PostgreSQL
Instala postgresql y sus dependencias de desarrollo con:
```bash
sudo apt install postgresql libpq-dev
```
Para el correcto funcionamiento de CONSUL, necesitas confgurar un usuario para tu base de datos. Como ejemplo, crearemos un usuario llamado "consul":
```bash
sudo -u postgres createuser consul --createdb --superuser --pwprompt
```
Para asegurarse que se utiliza la codificación con UTF-8, crea un archivo:
```
sudo nano /etc/profile.d/lang.sh
```
Añade las siguientes líneas:
```
export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
```
Reconfigura Postgres para utilizar la codificación UTF-8:
`````
sudo su - postgres
psql
update pg_database set datistemplate=false where datname='template1';
drop database Template1;
create database template1 with owner=postgres encoding='UTF-8'
lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
update pg_database set datistemplate=true where datname='template1';
\q
exit
`````
## Imagemagick
Instala Imagemagick:
```bash
sudo apt install imagemagick
```
## ChromeDriver
Para realizar pruebas de integración, usamos Selenium junto a Headless Chrome.
Para poder utilizarlo, instala el paquete chromium-chromedrive y asegúrate de que se encuentre enlazado en algún directorio que esté en la variable de entorno PATH:
```bash
sudo apt install chromium-chromedriver
sudo ln -s /usr/lib/chromium-browser/chromedriver /usr/local/bin/
```
¡Ya estás listo para [instalar CONSUL](local_installation.md)!