Kanboard è un software di gestione dei progetti open source che ti aiuta a gestire i tuoi progetti e visualizzare il tuo flusso di lavoro. Utilizza la metodologia Kanban ed è appositamente progettato per piccoli team che si concentrano sul minimalismo e sulla semplicità. Kanban fornisce un'interfaccia web semplice e facile da usare che ti permette di gestire il tuo progetto attraverso un browser web. Puoi anche integrare Kanban a servizi esterni utilizzando i plugin.
In questo tutorial, ti mostreremo come installare Kanban con Nginx e Let's Encrypt SSL su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Un nome di dominio valido puntato all'IP del tuo server.
- Sul tuo server è configurata una password di root.
Installa il server LEMP
Innanzitutto, dovrai installare Nginx, MariaDB, PHP e altre estensioni PHP sul tuo server. Puoi installarli tutti con il seguente comando:
dnf install nginx mariadb-server php php-fpm php-mbstring php-cli php-json php-opcache php-zip php-xml php-gd php-ldap php-mysqli php-sqlite3 php-json php-dom -y
Una volta installati tutti i pacchetti, avvia il servizio Nginx, PHP-FPM e MariaDB e abilita l'avvio al riavvio del sistema con il seguente comando:
systemctl start mariadb
systemctl enable mariadb
systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable php-fpm
Quindi, modifica il file di configurazione PHP-FPM e cambia l'utente e il gruppo da apache a nginx.
nano /etc/php-fpm.d/www.conf
Modifica le seguenti righe:
user = nginx group = nginx
Salva e chiudi il file, quindi riavvia il servizio PHP-FPM per applicare le modifiche:
systemctl restart php-fpm
Una volta terminato, puoi procedere al passaggio successivo.
Crea un database per Kanban
Kanban utilizza SQLite e MariaDB come backend del database. Quindi dovrai creare un database e un utente per Kanban.
Innanzitutto, connettiti a MariaDB con il seguente comando:
mysql
Una volta connesso, crea un database e un utente con il seguente comando:
MariaDB [(none)]> CREATE DATABASE kanboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboard'@'localhost' IDENTIFIED BY 'password';
Quindi, svuota i privilegi ed esci da MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una volta creati il database e l'utente, puoi procedere al passaggio successivo.
Scarica Kanban
Innanzitutto, dovrai scaricare l'ultima versione di Kanban dal repository Git Hub. Puoi scaricarlo con il seguente comando:
wget https://github.com/kanboard/kanboard/archive/v1.2.18.tar.gz
Una volta completato il download, estrai il file scaricato con il seguente comando:
tar -xvzf v1.2.18.tar.gz
Quindi, sposta la directory estratta nella directory principale web di Nginx con il seguente comando:
mv kanboard-1.2.18 /var/www/html/kanboard
Quindi, cambia la directory in Nginx web root e copia il file di configurazione di esempio:
cd /var/www/html/kanboard
cp config.default.php config.php
Quindi, modifica il file di configurazione e definisci le impostazioni del database:
nano config.php
Modifica le seguenti righe in base al tuo database:
define('DB_DRIVER', 'mysql'); // Mysql/Postgres username define('DB_USERNAME', 'kanboard'); // Mysql/Postgres password define('DB_PASSWORD', 'password'); // Mysql/Postgres hostname define('DB_HOSTNAME', 'localhost'); // Mysql/Postgres database name define('DB_NAME', 'kanboard');
Salva e chiudi il file quando hai finito. Quindi, imposta la proprietà e le autorizzazioni con il seguente comando:
chown -R nginx:nginx /var/www/html/kanboard
chmod -R 775 /var/www/html/kanboard
Una volta terminato, puoi procedere al passaggio successivo.
Configura Nginx per Kanban
Successivamente, dovrai creare un file di configurazione dell'host virtuale Nginx per ospitare Kanban. Puoi crearlo con il seguente comando:
nano /etc/nginx/conf.d/kanboard.conf
Aggiungi le seguenti righe:
server { listen 80; server_name kanboard.example.com; index index.php; root /var/www/html/kanboard; client_max_body_size 32M; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } location ~* ^.+\.(log|sqlite)$ { return 404; } location ~ /\.ht { return 404; } location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ { log_not_found off; expires 7d; etag on; } gzip on; gzip_comp_level 3; gzip_disable "msie6"; gzip_vary on; gzip_types text/javascript application/javascript application/json text/xml application/xml application/rss+xml text/css text/plain; }
Salva e chiudi il file quando hai finito. Quindi, verifica l'errore di sintassi di Nginx con il comando seguente:
nginx -t
Dovresti vedere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Infine, riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
A questo punto, Nginx è configurato per servire kanban. Ora puoi procedere per accedere alla dashboard kanban.
Configura SELinux e Firewall
Per impostazione predefinita, SELinux è abilitato in CentOS 8. Quindi dovrai configurare il contesto SELinux per Kanban. Puoi configurarlo con il seguente comando:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/kanban
Quindi, consenti la porta 80 e 443 attraverso il firewalld con il seguente comando:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Una volta terminato, puoi procedere al passaggio successivo.
Accedi al dashboard Kanban
Ora apri il tuo browser web e accedi alla dashboard kanban utilizzando l'URL http://kanban.example.com . Sarai
reindirizzato alla pagina di accesso dell'amministratore Kanban:
Fornisci nome utente e password predefiniti come amministratore/amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard Kanban nella pagina seguente:
Kanban sicuro con Let's Encrypt SSL
Successivamente, dovrai installare l'utilità Certbot nel tuo sistema per scaricare e installare Let's Encrypt SSL per il dominio Let's Chat.
Puoi installare il client Certbot con il seguente comando:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Quindi, ottieni e installa un certificato SSL per il tuo dominio Lets con il seguente comando:
certbot-auto --nginx -d kanban.example.com
Il comando precedente installerà prima tutte le dipendenze richieste sul tuo server. Una volta installato, ti verrà chiesto di fornire un indirizzo email e di accettare i termini del servizio come mostrato di seguito:
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 kanban.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/kanban.conf
Quindi, seleziona se reindirizzare o meno il traffico HTTP su HTTPS come mostrato di seguito:
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
Digita 2 e premi Invio per continuare. Al termine dell'installazione, dovresti vedere il seguente output:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/kanban.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://kanban.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=kanban.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/kanban.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/kanban.example.com/privkey.pem Your cert will expire on 2021-04-2. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - 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
Ora puoi accedere al tuo Kanban in modo sicuro utilizzando l'URL https://kanban.example.com .
Conclusione
Congratulazioni! hai installato correttamente Kanban con Nginx e Let's Encrypt SSL su CentOS 8. Ora puoi implementare Kanban nell'ambiente di sviluppo e iniziare a lavorare insieme. Sentiti libero di chiedermi se hai domande.