# **Blog Projecte 5** ## **Herramientas utilizadas en el proyecto.** * [Git](https://git-scm.com/) * [DockerHub](https://docs.docker.com/engine/install/debian/) * [Homebrew](https://brew.sh/index_es) * [Poste.io](https://poste.io/) * [Creador de Certificados](https://github.com/FiloSottile/mkcert) #Solo para pruebas. ## **1ra Semana** *#A lo largo de esta semana iniciamos con el proyecto en este caso instalando el poste.io. Para esto requeriamos de instalar el docker en nuestra maquina inte para eso utilizamos los siguientes comandos.* `sudo apt-get remove docker docker-engine docker.io containerd runc` `sudo apt-get update` `sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release` `curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg` ``` echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` `sudo apt-get update` `sudo apt-get install docker-ce docker-ce-cli containerd.io` *#Con esto ya tendriamos instalado docker en nuestra maquina inte, ahora como hemos hecho nosotros, tocaria modificar unos apartados de la instalación del poste.io para tener nuestro servidor de correos con un nombre que le demos nostros.* `docker run \--net=host \-e TZ=Europe/Prague \-v /your-data-dir/data:/data \--name "peposacad" \-h "peposacad.edu" \-t analogic/poste.io` *#Surgieron unos problemas como los cuales apretabamos ctrl + c y perdiamos la actividad de servidor al principio no sabiamos que hacer y decidimos empezar de nuevo la maquina pero luego descubrimos que se puede inciarlizar con el siguiente comando:* `docker start "Nombre_del_servidor"` ![](https://i.imgur.com/XFNyX85.png) *#Configuramos nuestra cuenta adminsitrador y su respectiva contraseña y asi ya tendriamos nuestro servidor de correos solo que no es seguro, eso lo veremos en la siguiente semana.* ![](https://i.imgur.com/eAWe8ZC.png) ## **2da Semana** *#Durante esta semana intentamos que nuestro servidor de correos tenga su propio certificado para asi se muestre como una pagina segura para los usuarios.* *#En esta ocasión utilizamos un generador certificados dentro del github enlazadado en "Herramientas utilizadas en el proyecto.".* `apt-get update` `apt-get install git` `apt-get install build-essential curl file git` `export PATH=$PATH:~/.linuxbrew/bin` `apt install libnss3-tools -y` `wget https://github.com/FiloSottile/mkcert/releases/download/v1.1.2/mkcert-v1.1.2-linux-amd64` `mv mkcert-v1.1.2-linux-amd64 mkcert` `chmod +x mkcert` `cp mkcert /usr/local/bin/` `cd /usr/local/bin/` `mkcert "la IP de la màquina donde tienes el docker"` `mkcert -install` *#Con esto creamos nuestro certificados y pasamos a asignarlos a nuestro servidor de poste.io.* ![](https://i.imgur.com/iYespKN.png) ![](https://i.imgur.com/z6k6h0F.png) ![](https://i.imgur.com/DveCyYa.png) *#Yo por lo menos en mi caso a la hora de añadir los certificados me desaparecen y no se me asegura la web, desconozco el motivo* ## **3ra y 4ta Semana** *#A lo largo de estas semanas estube probando a solucionar lo de los certificados, probe a crearlos en inte (Donde cree mi servidor de correos). Segui si ver cambios, hasta que intente probar hacer unos comando en sentido contrario.* *#Una tonteria como solo cambiar el orden de mkcert -install, hizo que si funcionaran los certificados, debido a que elimine y reinice mi maquina varias veces aprovecehe en crear certificados que aseguren la web también por si la buscamos por "inte.example.net".* ![](https://i.imgur.com/T8jbl3a.png) ![](https://i.imgur.com/axs6ZCe.png) ## **5ta Semana** ###Esta semana aprendi a consultar, crear y eliminar usuarios y dominios, en base. *#Para crear dominios (domininou.edu).* `curl -v -k -u "admin@peposacad.edu":"extremeh4rd" -d 'name=domininou.edu' https://"inte.example.net"/admin/api/v1/domains` *#Para eliminar dominios (domininou.edu).* `curl -v -k -u "admin@peposacad.edu":"extremeh4rd" -X "DELETE" https://"inte.example.net"/admin/api/v1/domains/domininou.edu` *#Para crear usuarios (joan@peposacad.edu).* `curl -v -k -u "admin@peposacad.edu":"extremeh4rd" -d 'name=Joan&email=joan@peposacad.edu&passwordPlaintext=passwdchUl4' https://"inte.example.net"/admin/api/v1/boxes` *#Para eliminar usuarios (joan@peposacad.edu).* `curl -v -k -u "admin@peposacad.edu":"extremeh4rd" -X "DELETE" https://"inte.example.net"/admin/api/v1/boxes/joan@peposacad.edu` *#Para Cambiar contraseña a los usuarios.* `curl -v -k -u "admin@peposacad.edu":"extremeh4rd" -X "PATCH" -d "passwordPlaintext=novap4ssword" https://"inte.example.net"/admin/api/v1/boxes/joan@peposacad.edu` *#Consultar usuarios* `curl -v -k -u "admin@peposacad.edu":"extremeh4rd" https://"inte.example.net"/admin/api/v1/boxes` *#Consultar dominios* `curl -v -k -u "admin@peposacad.edu":"extremeh4rd" https://"inte.example.net"/admin/api/v1/domains`