Actualización Primero debemos actualizar nuestro debian 10 como tenemos por costumbre hacerlo. alejandrogv@AlejandroGV:~$ sudo apt update alejandrogv@AlejandroGV:~$ sudo apt upgrade Es necesario instalar el paquete gcc-8-base aunque es probable que ya lo tengamos pero nos aseguramos. alejandrogv@AlejandroGV:~$ sudo apt install gcc-8-base Ahora editamos nuestro etc/apt/sources.list para añadir los repositorios del nuevo debian “bullseye” deb http://deb.debian.org/debian/ bullseye main contrib non-free # deb-src http://deb.
Empezamos la instalación y seguimos todos los pasos normalmente hasta llegar a la configuración de los discos, la haremos manualmente y en mi caso he creado una máquina virtual para simular lo que hice en mi máquina anfitriona, para ello he creado una partición sin usar simulando que tengo en ella una partición con Windows 10. Seguidamente elegiremos la opción de “Configurar el gestor de volúmenes lógicos” y crearemos un grupo de volúmenes.
Nuestro primer paso será instalar nftables. debian@dulcinea:~$ sudo apt install nftables Activamos y habilitamos este servicio. debian@dulcinea:~$ sudo systemctl start nftables debian@dulcinea:~$ sudo systemctl enable nftables Configuraremos la política por defecto a DROP. nft chain inet filter input { policy drop \; } nft chain inet filter forward { policy drop \; } nft chain inet filter output { policy drop \; } Añadimos las reglas de NAT.
Vamos a clonar el repositorio necesario para la aplicación. alejandrogv@AlejandroGV:~/docker/php$ git clone https://github.com/evilnapsis/bookmedik.git Crearemos un repositorio con la siguiente estructura. alejandrogv@AlejandroGV:~/docker/php/php_docker$ tree . ├── build │ ├── bookmedik │ ├── Dockerfile │ └── script.sh ├── deploy │ └── docker-compose.yml └── README.md En el fichero docker-compose añadimos lo siguiente. version: "3.1" services: db: container_name: mysql image: mariadb restart: always environment: MYSQL_DATABASE: bookmedik MYSQL_USER: bookmedik MYSQL_PASSWORD: admin MYSQL_ROOT_PASSWORD: admin volumes: - /opt/mysql_wp:/var/lib/mysql Y en la carpeta build crearemos un fichero Dockerfile que rellenaremos de la siguiente forma.
Primero usaremos squid para instalar un proxy. vagrant@proxy:~$ sudo apt install squid Modificamos el fichero /etc/squid/squid.conf para definir las direcciones y puertos que permitiremos y el puerto de funcionamiento. acl localnet src 10.0.0.0/24 acl localnet src 172.22.100.0/24 acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl CONNECT method CONNECT # Deny requests to certain unsafe ports http_access deny !
Instalamos ansible alejandrogv@AlejandroGV:~$ sudo apt install ansible Ahora clonaremos el repositorio correspondiente con la receta. alejandrogv@AlejandroGV:~$ git clone https://github.com/josedom24/ansible_nginx_fpm_php.git En el interior del respositorio editaremos el fichero hosts añadiendo la dirección de la máquina que usaremos para las pruebas. [servidores_web] nodo1 ansible_ssh_host=172.22.100.15 ansible_python_interpreter=/usr/bin/python3 Ejecutamos la funcionalidad playbook de ansible para que se realicen las modificaciones necesarias que usaremos en la máquina de prueba.
Integración continúa de aplicación django Ya tenemos nuestra aplicación y el entorno virtual de la práctica de Despliegue de una aplicación python usaremos la misma, y realizaremos los test. (django) alejandrogv@AlejandroGV:~/Escritorio/ASIR/IWEB/despliegue_python/django_tutorial$ python3 manage.py test Creating test database for alias 'default'... System check identified no issues (0 silenced). .......... ---------------------------------------------------------------------- Ran 10 tests in 0.056s OK Destroying test database for alias 'default'... Vamos a modificar el fichero polls/templates/polls/index.
Para esta práctica vamos a usar las claves y certificados que generamos en la práctica de seguridad de https [root@quijote ~]# scp /etc/ssl/certs/gonzalonazareno.crt debian@10.0.1.9 [root@quijote ~]# scp /etc/ssl/certs/openstack.crt debian@10.0.1.9 [root@quijote ~]# scp /etc/ssl/private/openstack.key debian@10.0.1.9 Vamos a mover estos certificados a un sitio apropiado. debian@freston:~$ sudo mv gonzalonazareno.crt /etc/ssl/certs/ debian@freston:~$ sudo mv openstack.crt /etc/ssl/certs/ debian@freston:~$ sudo mv openstack.key /etc/ssl/private/ Vamos a crear unas acl para que el usuario openldap que es el encargado de ejecutar los servicios de sldap tenga permisos sobre estos certificados.
Crea una máquina del cloud con una red pública. Añade la clave pública del profesor a la máquina. Instala el servidor web nginx en la máquina. Modifica la página index.html que viene por defecto y accede a ella desde un navegador. La IP del servidor es la 172.22.201.5 Una vez añadida la clave pública del profesor instalamos el servidor web nginx. debian@nginx:~$ sudo apt install nginx Comprobamos que podemos acceder perfectamente desde fuera.
Crearemos 3 máquinas Vagrant que nos servirán, una de controlador y las otras dos de workers. En la máquina que usaremos como controlador descargaremos e instalaremos usando curl el script que instalará el servicio de k3. root@servidor:/usr/local/bin# curl -sfL https://get.k3s.io | sh - Podemos comprobar mediante netstat que se ha abierto un puerto 6443 que es el que usa k3s por defecto.