C贸mo instalar JFrog Artifactory en Ubuntu 20.04 LTS

Iniciar sesi贸n

JFrog Artifactory es una aplicaci贸n de gesti贸n de repositorios de c贸digo abierto que se puede integrar con herramientas de integraci贸n y entrega continuas. Es una herramienta multiplataforma que permite a DevOps administrar m煤ltiples repositorios de paquetes. Proporciona alta disponibilidad y replicaci贸n en m煤ltiples sitios para automatizar su canalizaci贸n y permitir lanzamientos m谩s r谩pidos.

En este tutorial, le mostraremos c贸mo instalar JFrog Artifactory en Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio v谩lido apuntado con su servidor.
  • Una contrase帽a de root est谩 configurada en su servidor.

Instalar el artefacto JFrog

De forma predeterminada, JFrog Artifactory no est谩 disponible en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deber谩 agregar el repositorio JFrog Artifactory a su sistema.

Primero, instale el paquete Gnupg2 con el siguiente comando:

apt-get install gnupg2 -y

A continuaci贸n, descargue y agregue la clave GPG con el siguiente comando:

wget -qO - https://api.bintray.com/orgs/jfrog/keys/gpg/public.key | apt-key add -

A continuaci贸n, agregue el repositorio JFrog Artifactory con el siguiente comando:

echo "deb https://jfrog.bintray.com/artifactory-debs bionic main" | tee /etc/apt/sources.list.d/jfrog.list

Una vez agregado el repositorio, actual铆celo e instale JFrog Artifactory con el siguiente comando:

apt-get update -y
apt-get install jfrog-artifactory-oss -y

Una vez que la instalaci贸n se haya completado con 茅xito, deber铆a obtener el siguiente resultado:

************ SUCCESS ****************
The Installation of Artifactory has completed successfully.

NOTE: It is highly recommended to use Artifactory with an external database (MySQL, Oracle, Microsoft SQL Server, PostgreSQL, MariaDB).
      For details about how to configure the database, refer to https://service.jfrog.org/installer/Configuring+the+Database

Start Artifactory with:
> systemctl start artifactory.service

Check Artifactory status with:
> systemctl status artifactory.service


Installation directory was set to /opt/jfrog/artifactory
You can find more information in the log directory /opt/jfrog/artifactory/var/log
System configuration templates can be found under /opt/jfrog/artifactory/var/etc
Copy any configuration you want to modify from the template to /opt/jfrog/artifactory/var/etc/system.yaml

Triggering migration script, this will migrate if needed ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3) ...

A continuaci贸n, inicie el servicio Artifactory y habil铆telo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start artifactory
systemctl enable artifactory

Luego, verifique el estado del servicio Artifactory usando el siguiente comando:

systemctl status artifactory

Deber铆as obtener el siguiente resultado:

? artifactory.service - Artifactory service
     Loaded: loaded (/lib/systemd/system/artifactory.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-06-07 12:42:39 UTC; 40s ago
    Process: 15671 ExecStart=/opt/jfrog/artifactory/app/bin/artifactoryManage.sh start (code=exited, status=0/SUCCESS)
   Main PID: 17974 (java)
      Tasks: 0 (limit: 9522)
     Memory: 2.4M
     CGroup: /system.slice/artifactory.service
             ? 17974 /opt/jfrog/artifactory/app/third-party/java/bin/java -Djava.util.logging.config.file=/opt/jfrog/artifactory/app/artifacto>

Jun 07 12:42:38 ubuntu2004 su[18380]: (to artifactory) root on none
Jun 07 12:42:38 ubuntu2004 su[18380]: pam_unix(su:session): session opened for user artifactory by (uid=0)
Jun 07 12:42:38 ubuntu2004 su[18380]: pam_unix(su:session): session closed for user artifactory
Jun 07 12:42:38 ubuntu2004 su[18534]: (to artifactory) root on none
Jun 07 12:42:38 ubuntu2004 su[18534]: pam_unix(su:session): session opened for user artifactory by (uid=0)
Jun 07 12:42:39 ubuntu2004 su[18534]: pam_unix(su:session): session closed for user artifactory
Jun 07 12:42:39 ubuntu2004 su[18655]: (to artifactory) root on none
Jun 07 12:42:39 ubuntu2004 su[18655]: pam_unix(su:session): session opened for user artifactory by (uid=0)
Jun 07 12:42:39 ubuntu2004 su[18655]: pam_unix(su:session): session closed for user artifactory
Jun 07 12:42:39 ubuntu2004 systemd[1]: Started Artifactory service.

En este punto, Artifactory est谩 instalado y escuchando en el puerto 8082. Ahora puede continuar con el siguiente paso.

Configurar Nginx como proxy inverso

A continuaci贸n, deber谩 configurar Nginx como un proxy inverso para JFrog. Primero, instale el servidor web Nginx con el siguiente comando:

apt-get install nginx -y

Despu茅s de instalar Nginx, cree un nuevo archivo de configuraci贸n de host virtual de Nginx con el siguiente comando:

nano /etc/nginx/sites-available/jfrog.conf

Agregue las siguientes l铆neas:

upstream jfrog {
  server 127.0.0.1:8082 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     jfrog.linuxbuz.com;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://jfrog/;
  }
}

Guarde y cierre el archivo, luego active el host virtual Nginx con el siguiente comando:

ln -s /etc/nginx/sites-available/jfrog.conf /etc/nginx/sites-enabled/

Luego, verifique el Nginx para cualquier error de sintaxis con el siguiente comando:

nginx -t

Deber铆a ver el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finalmente, reinicie el servicio Nginx para implementar los cambios:

systemctl restart nginx

En este punto, Nginx est谩 configurado para servir al sitio JFrog. Ahora puede continuar con el siguiente paso.

Asegure JFrog con Let’s Encrypt SSL

Se recomienda asegurar JFrog con Let’s Encrypt SSL. Primero, agregue el repositorio de Certbot con el siguiente comando:

apt-get install software-properties-common -y
add-apt-repository ppa:ahasenack/certbot-tlssni01-1875471

A continuaci贸n, actualice el repositorio e instale el cliente Certbot con el siguiente comando:

apt-get update -y
apt-get install certbot python3-certbot-nginx -y

Una vez que el cliente de Certbot est茅 instalado, ejecute el siguiente comando para descargar e instalar Let’s Encrypt SSL para su sitio web:

certbot --nginx -d jfrog.linuxbuz.com

Se le pedir谩 que proporcione su correo electr贸nico v谩lido y acepte el t茅rmino del servicio como se muestra a continuaci贸n:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email聽protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for jfrog.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/jfrog.conf

A continuaci贸n, seleccione si desea redirigir o no el tr谩fico HTTP a HTTPS:Publicidad

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y pulsa enter para iniciar el proceso. Una vez que se haya instalado el certificado, deber铆a ver el siguiente resultado:

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/jfrog.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://jfrog.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=jfrog.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/jfrog.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/jfrog.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-09-07. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Acceder a la interfaz de usuario web de Artifactory

Ahora, abra su navegador web y escriba la URL https://jfrog.linuxbuz.com. Ser谩 redirigido a la siguiente p谩gina:

Iniciar sesi贸n

Proporcione el nombre de usuario predeterminado como 芦administrador禄 y la contrase帽a como 芦contrase帽a禄, y haga clic en el Acceso bot贸n. Deber铆as ver la siguiente p谩gina:

Primeros pasos con JFrog

Ahora, haga clic en el Obtener Empezado bot贸n. Deber铆a ver la pantalla de restablecimiento de contrase帽a:

Establecer una contrase帽a de administrador

Establezca la nueva contrase帽a de administrador y haga clic en el pr贸ximo bot贸n. Deber铆a ver la siguiente pantalla:

Establecer una URL base

Establezca su URL base y haga clic en el pr贸ximo bot贸n. Deber铆a ver la siguiente pantalla:

Crear repositorios en JFrog

Seleccione el repositorio deseado y haga clic en el pr贸ximo bot贸n. Deber铆as ver la siguiente p谩gina:

instalaci贸n exitosa

Ahora, haga clic en el bot贸n Finalizar. Deber铆a ver el panel de Artifactory en la siguiente pantalla:

Tablero JFrog

Conclusi贸n

En la gu铆a anterior, aprendimos c贸mo instalar JFrog Artifactory en Ubuntu 20.04. Tambi茅n aprendimos c贸mo asegurar JFrog con Let’s Encrypt SSL. Espero que ahora pueda instalar f谩cilmente JFrog en el entorno de producci贸n. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *