Kanboard je software pro správu projektů s otevřeným zdrojovým kódem, který vám pomůže spravovat vaše projekty a vizualizovat váš pracovní postup. Využívá metodologii Kanban a je speciálně navržen pro malé týmy, které se zaměřují na minimalismus a jednoduchost. Kanban poskytuje jednoduché a snadno použitelné webové rozhraní, které vám umožňuje spravovat váš projekt prostřednictvím webového prohlížeče. Kanban můžete také integrovat do externích služeb pomocí pluginů.
V tomto tutoriálu vám ukážeme, jak nainstalovat Kanban s Nginx a Let's Encrypt SSL na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Platný název domény s adresou IP vašeho serveru.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat LEMP Server
Nejprve budete muset na svůj server nainstalovat rozšíření Nginx, MariaDB, PHP a další PHP. Všechny je můžete nainstalovat pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, spusťte službu Nginx, PHP-FPM a MariaDB a povolte jim spuštění při restartu systému pomocí následujícího příkazu:
systemctl start mariadb
systemctl enable mariadb
systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable php-fpm
Dále upravte konfigurační soubor PHP-FPM a změňte uživatele a skupinu z apache na nginx.
nano /etc/php-fpm.d/www.conf
Změňte následující řádky:
user = nginx group = nginx
Uložte a zavřete soubor a poté restartujte službu PHP-FPM, aby se změny projevily:
systemctl restart php-fpm
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvořit databázi pro Kanban
Kanban používá SQLite a MariaDB jako databázový backend. Takže budete muset vytvořit databázi a uživatele pro Kanban.
Nejprve se připojte k MariaDB pomocí následujícího příkazu:
mysql
Po připojení vytvořte databázi a uživatele pomocí následujícího příkazu:
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';
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Jakmile je databáze a uživatel vytvořen, můžete přejít k dalšímu kroku.
Stáhnout Kanban
Nejprve si budete muset stáhnout nejnovější verzi Kanban z úložiště Git Hub. Můžete si jej stáhnout pomocí následujícího příkazu:
wget https://github.com/kanboard/kanboard/archive/v1.2.18.tar.gz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf v1.2.18.tar.gz
Dále přesuňte extrahovaný adresář do kořenového webového adresáře Nginx pomocí následujícího příkazu:
mv kanboard-1.2.18 /var/www/html/kanboard
Dále změňte adresář na webový kořenový adresář Nginx a zkopírujte vzorový konfigurační soubor:
cd /var/www/html/kanboard
cp config.default.php config.php
Dále upravte konfigurační soubor a definujte nastavení databáze:
nano config.php
Změňte následující řádky podle vaší databáze:
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');
Po dokončení uložte a zavřete soubor. Dále nastavte vlastnictví a oprávnění pomocí následujícího příkazu:
chown -R nginx:nginx /var/www/html/kanboard
chmod -R 775 /var/www/html/kanboard
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Nginx pro Kanban
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Nginx pro hostitele Kanban. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/nginx/conf.d/kanboard.conf
Přidejte následující řádky:
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; }
Po dokončení uložte a zavřete soubor. Poté ověřte chybu syntaxe Nginx pomocí následujícího příkazu:
nginx -t
Měli byste vidět následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Nakonec restartujte službu Nginx, aby se změny projevily:
systemctl restart nginx
V tomto okamžiku je Nginx nakonfigurován pro obsluhu kanbanu. Nyní můžete přejít na přístup k řídicímu panelu kanban.
Konfigurovat SELinux a bránu firewall
Ve výchozím nastavení je SELinux povolen v CentOS 8. Takže budete muset nakonfigurovat kontext SELinux pro Kanban. Můžete jej nakonfigurovat pomocí následujícího příkazu:
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
Dále povolte port 80 a 443 přes firewalld pomocí následujícího příkazu:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k řídicímu panelu Kanban
Nyní otevřete webový prohlížeč a přejděte na řídicí panel kanban pomocí adresy URL http://kanban.example.com . Budete
přesměrován na přihlašovací stránku správce Kanban:
Zadejte výchozí uživatelské jméno a heslo jako admin / admin a klikněte na Přihlásit se knoflík. Na následující stránce byste měli vidět řídicí panel Kanban:
Bezpečný kanban pomocí Let's Encrypt SSL
Dále budete muset do svého systému nainstalovat nástroj Certbot, abyste si mohli stáhnout a nainstalovat Let's Encrypt SSL pro doménu Let's Chat.
Klienta Certbot můžete nainstalovat pomocí následujícího příkazu:
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
Dále získejte a nainstalujte certifikát SSL pro vaši doménu lets pomocí následujícího příkazu:
certbot-auto --nginx -d kanban.example.com
Výše uvedený příkaz nejprve nainstaluje všechny požadované závislosti na váš server. Po instalaci budete požádáni o zadání e-mailové adresy a přijetí podmínek služby, jak je uvedeno níže:
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
Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:
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
Zadejte 2 a pokračujte stisknutím klávesy Enter. Po dokončení instalace byste měli vidět následující výstup:
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
Nyní můžete ke svému Kanbanu přistupovat bezpečně pomocí adresy URL https://kanban.example.com .
Závěr
Gratulujeme! úspěšně jste nainstalovali Kanban s Nginx a Let's Encrypt SSL na CentOS 8. Nyní můžete Kanban implementovat do vývojového prostředí a začít spolupracovat. Pokud máte nějaké dotazy, neváhejte se mě zeptat.