|
@@ -1,33 +1,47 @@
|
|
|
#Requerimientos
|
|
|
- * [curl](curl)
|
|
|
- * [git](git)
|
|
|
- * [python](python)
|
|
|
- * [pip](pip)
|
|
|
- * [docker](docker)
|
|
|
- * [docker-compose](docker-compose)
|
|
|
- * [php/composer](php/composer)
|
|
|
+ * curl
|
|
|
+ * git
|
|
|
+ * python
|
|
|
+ * pip
|
|
|
+ * docker
|
|
|
+ * docker-compose
|
|
|
+ * php/composer
|
|
|
|
|
|
#Instalación de requerimientos:
|
|
|
### curl
|
|
|
apt-get install curl
|
|
|
+
|
|
|
### git
|
|
|
apt-get install git
|
|
|
+
|
|
|
### python
|
|
|
apt-get install python
|
|
|
+
|
|
|
### pip
|
|
|
# descargo el archivo get-pip.py desde una url
|
|
|
- curl https://bootstrap.pypa.io/get-pip.py -output get-pip.py
|
|
|
+ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
|
|
|
|
|
# instalo pip
|
|
|
python get-pip.py
|
|
|
|
|
|
# actualizo pip
|
|
|
pip install -U pip
|
|
|
-### docker
|
|
|
- pip install docker
|
|
|
+
|
|
|
+### docker (Versión funcional: apt-get install docker-ce=17.10.0~ce-0~debian - Versión con errores: 17.11 )
|
|
|
+ # con sudo
|
|
|
+ curl -fsSL get.docker.com -o get-docker.sh
|
|
|
+ sudo sh get-docker.sh
|
|
|
+ sudo usermod -aG docker iksop
|
|
|
+
|
|
|
+ # con root
|
|
|
+ curl -fsSL get.docker.com -o get-docker.sh
|
|
|
+ sh get-docker.sh
|
|
|
+ usermod -aG docker iksop
|
|
|
+
|
|
|
### docker-compose
|
|
|
pip install docker-compose
|
|
|
-### php/composer
|
|
|
+
|
|
|
+### php/composer-------------
|
|
|
# con sudo
|
|
|
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
sudo chmod 755 /usr/local/bin/composer
|
|
@@ -40,19 +54,32 @@
|
|
|
# Pasos:
|
|
|
####. Crear un directorio para la instalación, puede ser en cualquier lugar del sistema. Tener en cuenta que en este directorio se descargará código fuente.
|
|
|
mkdir flowdat
|
|
|
+
|
|
|
####. Entrar la directorio.
|
|
|
cd flowdat
|
|
|
+
|
|
|
####. Descargar el fuente de instalación.
|
|
|
# en código se descarga en el directorio actual
|
|
|
git clone git@bitbucket.org:ikflowdat/installer.git .
|
|
|
+
|
|
|
+####. Entrar la directorio tools.
|
|
|
+ cd tools
|
|
|
+
|
|
|
####. Construir el docker que se utilizará durante la instalación.
|
|
|
docker build --build-arg DIR_INSTALL=$(pwd) -t dind .
|
|
|
# --build-arg: es la forma de pasarle parámetros al docker.
|
|
|
# -t: es el nombre que tendrá el contenedor.
|
|
|
# .: indica que el fuente se descargará en el directorio actual.
|
|
|
# para más información de los parámetros ejecutar "docker build --help"
|
|
|
+
|
|
|
+####. Instalamos con composer elementos adicionales.
|
|
|
+ docker build --build-arg DIR_INSTALL=$(pwd) -t dind composer install
|
|
|
+ # --build-arg: es la forma de pasarle parámetros al docker.
|
|
|
+ # -t: es el nombre que tendrá el contenedor.
|
|
|
+ # para más información de los parámetros ejecutar "docker build --help"
|
|
|
+
|
|
|
####. Crear los archivos necesarios para la instalción. Dentro del directorio actual se crea un nuevo directorio con el nombre de la empresa.
|
|
|
- docker run -it -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind make:install galvez --domain=galvez
|
|
|
+ docker run -it -v $(pwd):$(pwd) -v /root/galvez:/root/galvez -v /var/run/docker.sock:/tmp/docker.sock dind make:install galvez --domain=galvez
|
|
|
# docker run: ejecuta un comando sobre el contenedor.
|
|
|
# -it: significa que voy a tener un tty interativo.
|
|
|
# -v $(pwd):$(pwd): monta como un volumen el directorio actual, en el contenedor bajo el mismo directario.
|
|
@@ -62,8 +89,9 @@
|
|
|
# galvez: nombre de la empresa que estoy instalando.
|
|
|
# --domain=galvez: es el nombre del dominio que se utilizará. El dominio final quedaría base.galvez.flowdat.com, ftth.galvez.flowdat.com, etc.
|
|
|
# para mas informacion ejecutar "docker run -it -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind make:install --help"
|
|
|
+
|
|
|
####. Obtener los fuentes desde bitbucket
|
|
|
- docker run -it -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind get:source galvez/git.ini
|
|
|
+ docker run -it -v $(pwd):$(pwd) -v /root/galvez:/root/galvez -v /var/run/docker.sock:/tmp/docker.sock dind get:source galvez/git.ini
|
|
|
# docker run: ejecuta un comando sobre el contenedor.
|
|
|
# -it: significa que voy a tener un tty interativo.
|
|
|
# -v $(pwd):$(pwd): monta como un volumen el directorio actual, en el contenedor bajo el mismo directario.
|
|
@@ -72,8 +100,9 @@
|
|
|
# get:source: es el comando que se ejecuta dentro del docker para obtener los fuentes.
|
|
|
# galvez/git.ini: es el nombre del archivo que posee los directorios a descargar.
|
|
|
# para mas informacion ejecutar "docker run -it -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind get:source --help"
|
|
|
+
|
|
|
####. Renombramos los archivos innecesarios para el nginx.
|
|
|
- docker run -it -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind fix:nginx galvez
|
|
|
+ docker run -it -v $(pwd):$(pwd) -v /root/galvez:/root/galvez -v /var/run/docker.sock:/tmp/docker.sock dind fix:nginx galvez
|
|
|
# docker run: ejecuta un comando sobre el contenedor.
|
|
|
# -it: significa que voy a tener un tty interativo.
|
|
|
# -v $(pwd):$(pwd): monta como un volumen el directorio actual, en el contenedor bajo el mismo directario.
|
|
@@ -81,20 +110,31 @@
|
|
|
# dind: es el nombre que le pusimos anteriormente al contenedor.
|
|
|
# fix:nginx: es el comando que se ejecuta dentro del docker para obtener los fuentes.
|
|
|
# galvez: nombre de la empresa que estoy instalando.
|
|
|
+
|
|
|
####. Entramos al docker para correr ansible y terminar la configuración
|
|
|
- docker run -it -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind bash
|
|
|
+ docker run -it -v $(pwd):$(pwd) -v /root/galvez:/root/galvez -v /var/run/docker.sock:/tmp/docker.sock dind bash
|
|
|
# docker run: ejecuta un comando sobre el contenedor.
|
|
|
# -it: significa que voy a tener un tty interativo.
|
|
|
# -v $(pwd):$(pwd): monta como un volumen el directorio actual, en el contenedor bajo el mismo directario.
|
|
|
# -v /var/run/docker.sock:/tmp/docker.sock: comparte el docker.sock entre los docker's.
|
|
|
# dind: es el nombre que le pusimos anteriormente al contenedor.
|
|
|
# bash: significa que se ejecutará un bash.
|
|
|
+
|
|
|
####. Una vez dentro del docker entramos al directorio de instalación.
|
|
|
cd galvez
|
|
|
+
|
|
|
####. Corremos ansible para finalizar la configuración e instalación
|
|
|
eval $(cat mysql.host.env running.env) ansible-playbook -i inventory.ini -u root playbook.yml
|
|
|
# eval $(cat mysql.host.env running.env): se le pasa al ansible-playbook las variables de entorno definidas en los archivos mysql.host.env y running.env
|
|
|
# -i inventory.ini: se el especifica el inventory.ini
|
|
|
# -u root: le digo que se ejecutarán las acciones como el usuario "root"
|
|
|
# playbook.yml: es el nombre del playbook a ejecutar
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+## Unistalls
|
|
|
+#### Docker
|
|
|
+ # con sudo
|
|
|
+ sudo apt-get remove docker docker-engine docker.io docker-ce
|
|
|
+
|
|
|
+ # con root
|
|
|
+ apt-get remove docker docker-engine docker.io docker-ce
|