#El código esta en la version 17. Mirar como instalar esa. (El ejemplo viene de netbean) 1.archivo proncipal '@SpringBootApplication' @SpringBootApplication public class TemplateApplication { public static void main(String[] args) { SpringApplication.run(TemplateApplication.class, args); } } Agregamos: @SpringBootApplication public class TemplateApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(TemplateApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(TemplateApplication.class); } } //en mi codigo estan los cambios en un archivo separado 2.comentar puerto antes de subirlo en application.properties 3. Pom el empaquedao debe estar en war dejar awar 4. Pom agregar dependencia relativa al tomcat5. Maven Clean 6. Maven build.. con el valor Goals:'package' + ver que los paquetes del test y del inicio de la aplicacion sean iguales (Para los casos en los que se re-utilizan proyectos) en el servidor: 7. Guía de instalación: sudo apt update sudo add-apt-repository ppa:linuxuprising/java sudo apt update sudo apt install oracle-java17-installer sudo apt update java -version sudo apt install oracle-java17-set-default sudo apt install tomcat9 tomcat9-admin sudo systemctl status tomcat9 sudo apt install default-jdk sudo systemctl restart tomcat9 sudo systemctl status tomcat9 ss -ltn sudo nano /etc/tomcat9/tomcat-users.xml Cambiar el los dos puntos al inicio por menor que mayor que org.springframework.boot spring-boot-starter-tomcat provided sudo systemctl restart tomcat9 http://127.0.0.1:8080/manager/html sudo apt install netbeans ------ preparamos el servidor sudo apt update instalamos el JDK (Java) sudo apt install default-jdk descargamos el tomcat correspondiente wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz descomprimimos el tomcat en alguna carpeta, en este caso '/opt' sudo tar -xf apache-tomcat-10.1.19.tar.gz -C /opt borramos el comprimido descargado rm apache-tomcat-10.1.19.tar.gz iniciar el servidor apache: sudo /opt/apache-tomcat-10.1.19/bin/startup.sh ---- wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.19/bin/apache-tomcat-10.1.19.tar.gz 8. deployar app Guardar *.war cd /opt/apache-tomcat-10.1.19/webapps
Crear SSL a partir de certificado creado por certbot
Poder conectarnos por https, nos ahorra problemas complejos en el futuro, así que mejor hacerlo cuanto antes
Si ya tenemos creado para el dominio un certificado y queres que el servidor que comparte el dominio pero en otro puerto tenga el mismo certificado vamos a convertirlo
Cambia 'dominio' por el dominio que uses y 'CONTRASEÑA' por una contraseña segura
1. Ubicar los certificados generados por Certbot: Certbot generalmente guarda los certificados en el directorio /etc/letsencrypt/live/dominio.com/. Deberías tener los siguientes archivos: fullchain.pem: El certificado completo de la cadena. privkey.pem: La clave privada. 2. Convertir los archivos PEM a un formato Java Keystore (JKS): Tomcat requiere un keystore para configurarse con SSL. Puedes usar el comando openssl y keytool para convertir los archivos. Primero, convierte los archivos PEM a un PKCS12 keystore: openssl pkcs12 -export -in /etc/letsencrypt/live/dominio.com/fullchain.pem -inkey /etc/letsencrypt/live/dominio.com/privkey.pem -out /etc/letsencrypt/live/dominio.com/keystore.p12 -name tomcat -CAfile /etc/letsencrypt/live/dominio.com/chain.pem -caname root Luego, convierte el archivo PKCS12 a un JKS keystore: keytool -importkeystore -deststorepass TuContraseñaKeystore -destkeypass CONTRASEÑA
Configurar Tomcat para usar el keystore y poder conectar por SSL
1. Modificar archivo server.xml ( ... /tomcat/conf) 1.1. redirigir a SSL des del el puerto 80801.2. Agregar puerto para SSL (Debe estar habilitado e el firewall del servicio que hayamos contratado) 2. Permisos Tanto el certificado como la carpeta deben tener permisos adecuados (las carpetas que contienen el archivo deben estar con 'x') usar: sudo chmod o+x /etc/letsencrypt /etc/letsencrypt/live /etc/letsencrypt/live/dominio.com sudo systemctl restart tomcat systemctl reload apache2 t [root@vps... /opt/tomcat/logs] # ls -l /etc/letsencrypt/live/dominio.com/keystore.jks -rw-r----- 1 tomcat tomcat 2901 Jul 12 17:02 /etc/letsencrypt/live/dominio.com/keystore.jks [root@vps... /opt/tomcat/logs] # ls -l /etc/letsencrypt/live/dominio.com/ total 12 -rw-r--r-- 1 root root 692 Jan 9 2024 README lrwxrwxrwx 1 root root 39 Jul 8 07:40 cert.pem -> ../../archive/dominio.com/cert4.pem lrwxrwxrwx 1 root root 40 Jul 8 07:40 chain.pem -> ../../archive/dominio.com/chain4.pem lrwxrwxrwx 1 root root 44 Jul 8 07:40 fullchain.pem -> ../../archive/dominio.com/fullchain4.pem -rw-r----- 1 tomcat tomcat 2901 Jul 12 17:02 keystore.jks -rw------- 1 root root 2687 Jul 12 17:00 keystore.p12 lrwxrwxrwx 1 root root 42 Jul 8 07:40 privkey.pem -> ../../archive/dominio.com/privkey4.pem
Comentarios