Crontab-UI és una interfície web d'usuari per administrar tasques programades en sistemes basats en Unix/Linux. Permet programar tasques recurrents en moments específics utilitzant el servei "cron", que està disponible en la majoria dels sistemes operatius de tipus Unix.
La interfície d'usuari de Crontab-UI és una eina gràfica que simplifica la creació, l'edició i l'eliminació de tasques cron. Permet als usuaris establir tasques en intervals regulars, com ara hores, dies, setmanes o mesos, i també ofereix la possibilitat de configurar tasques cron avançades, com ara tasques programades en dies de la setmana específics o dies festius.
En aquest article t'explicarem com instal·lar-lo i configurar-lo en un Ubuntu/Debian amb un servidor intermediari invers amb NGINX per utilitzar Certbot per obtenir i renovar el certificat SSL (també un servei systemd per a crontab-ui).
Com instal·lar Node.js, NPM i Crontab-UI
Primer, actualitza els repositoris i els paquets:
# apt update && apt upgrade -yI instal·la les dependències essencials:
# apt install build-essentialDesprés utilitza l'script oficial de Node.js:
# curl -sL https://deb.nodesource.com/setup_18.x | bash -Posteriorment instal·la Node.js (també instal·la NPM):
# apt install -y nodejsI utilitza NPM per a crontab-ui:
# npm install -g crontab-uiCom configurar un servidor intermediari invers per a Crontab-UI
Per configurar el servidor intermediari invers, primer instal·la NGINX:
# apt install nginx -yI instal·la les utilitats d'Apache per a auth_basic de NGINX:
# apt install apache2-utils -yDesprés utilitza htpasswd per crear el fitxer i l'usuari crontab:
# htpasswd -c /etc/nginx/.htpasswd crontabAssigna la contrasenya que vulguis i recorda que aquestes seran les credencials d'accés a crontab-ui. Després elimina la configuració per defecte de NGINX:
# rm /etc/nginx/sites-enabled/defaultCrea de nou el fitxer amb un editor:
# nano /etc/nginx/sites-enabled/defaultI afegeix-hi el contingut següent:
server {
listen 80;
server_name crontab.ejemplo.com;
auth_basic "Acceso restringido";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://localhost:8000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Per seguretat, modifica la propietat del fitxer htpasswd i els seus permisos:
# chown root:www-data /etc/nginx/.htpasswd && chmod 640 /etc/nginx/.htpasswdCom configurar un servei systemd per a Crontab-UI
Crea un usuari crontabui per iniciar un servei per a Crontab-UI (per seguretat, sense permisos sudo):
# adduser crontabuiAssigna-li la propietat del directori de Crontab-UI:
# chown -R crontabui:crontabui /usr/lib/node_modules/crontab-uiI posteriorment, crea el fitxer per al servei systemd amb un editor:
# nano /etc/systemd/system/crontab-ui.serviceAfegeix el contingut següent:
[Unit]
Description=Crontab UI
After=network.target
[Service]
ExecStart=/usr/bin/node /usr/bin/crontab-ui
WorkingDirectory=/home/crontabui
Restart=always
User=crontabui
[Install]
WantedBy=multi-user.target
Desa els canvis i surt de l'editor. Després activa el servei i inicia'l:
# systemctl enable crontab-ui.service && systemctl start crontab-ui.servicePots comprovar l'estat del servei executant:
# systemctl status crontab-ui.serviceCom configurar un certificat SSL al servidor intermediari invers
Instal·la Certbot per obtenir i configurar el certificat:
# apt install python3-certbot-nginx -yI executa certbot amb el registre configurat a la configuració de NGINX:
# certbot --nginx --redirect -d crontab.ejemplo.comUn cop hagis dut a terme aquesta última acció, tindràs Crontab-UI a punt i hi podràs accedir amb el registre DNS configurat; al navegador t'apareixerà una finestra per introduir l'usuari creat utilitzant htpasswd.
Esperem que aquest article t'hagi estat d'ajuda. Si tens consultes sobre aquesta qüestió o qualsevol altra relacionada amb els teus servidors a Clouding, no dubtis a contactar amb soporte@clouding.io. Som aquí per ajudar-te!