Поиск по сайту:

Как установить программное обеспечение для управления проектами Kanboard на CentOS 8


На этой странице

  1. Предпосылки
  2. Установить сервер LEMP
  3. Создание базы данных для канбана
  4. Загрузить канбан
  5. Настройка Nginx для Канбана
  6. Настройка SELinux и брандмауэра
  7. Доступ к канбан-панели
  8. Защита Канбана с помощью Lets Encrypt SSL
  9. Заключение

Kanboard — это программное обеспечение для управления проектами с открытым исходным кодом, которое помогает вам управлять своими проектами и визуализировать рабочий процесс. Он использует методологию Канбан и специально разработан для небольших команд, ориентированных на минимализм и простоту. Канбан предоставляет простой и удобный веб-интерфейс, который позволяет вам управлять своим проектом через веб-браузер. Вы также можете интегрировать Канбан во внешние сервисы с помощью плагинов.

В этом руководстве мы покажем вам, как установить Канбан с Nginx и Lets Encrypt SSL на CentOS 8.

Предпосылки

  • Сервер под управлением CentOS 8.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На вашем сервере настроен пароль root.

Установить LEMP-сервер

Во-первых, вам нужно будет установить Nginx, MariaDB, PHP и другие расширения PHP на ваш сервер. Вы можете установить их все с помощью следующей команды:

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

После установки всех пакетов запустите службы Nginx, PHP-FPM и MariaDB и включите их запуск при перезагрузке системы с помощью следующей команды:

systemctl start mariadb
systemctl enable mariadb
systemctl start nginx
systemctl start php-fpm
systemctl enable nginx
systemctl enable php-fpm

Затем отредактируйте файл конфигурации PHP-FPM и измените пользователя и группу с apache на nginx.

nano /etc/php-fpm.d/www.conf

Измените следующие строки:

user = nginx
group = nginx

Сохраните и закройте файл, затем перезапустите службу PHP-FPM, чтобы применить изменения:

systemctl restart php-fpm

Как только вы закончите, вы можете перейти к следующему шагу.

Создайте базу данных для Канбана

Канбан использует SQLite и MariaDB в качестве базы данных. Итак, вам нужно будет создать базу данных и пользователя для Канбана.

Сначала подключитесь к MariaDB с помощью следующей команды:

mysql

После подключения создайте базу данных и пользователя с помощью следующей команды:

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';

Затем сбросьте привилегии и выйдите из MariaDB с помощью следующей команды:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

После создания базы данных и пользователя можно переходить к следующему шагу.

Скачать Канбан

Во-первых, вам нужно скачать последнюю версию Канбана из репозитория Git Hub. Вы можете скачать его с помощью следующей команды:

wget https://github.com/kanboard/kanboard/archive/v1.2.18.tar.gz

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

tar -xvzf v1.2.18.tar.gz

Затем переместите извлеченный каталог в корневой веб-каталог Nginx с помощью следующей команды:

mv kanboard-1.2.18 /var/www/html/kanboard

Затем измените каталог на корневой веб-сайт Nginx и скопируйте образец файла конфигурации:

cd /var/www/html/kanboard
cp config.default.php config.php

Затем отредактируйте файл конфигурации и определите параметры вашей базы данных:

nano config.php

Измените следующие строки в соответствии с вашей базой данных:

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');

Сохраните и закройте файл, когда закончите. Затем установите владельца и разрешения с помощью следующей команды:

chown -R nginx:nginx /var/www/html/kanboard
chmod -R 775 /var/www/html/kanboard

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте Nginx для Канбана

Далее вам нужно будет создать файл конфигурации виртуального хоста Nginx для размещения Канбана. Вы можете создать его с помощью следующей команды:

nano /etc/nginx/conf.d/kanboard.conf

Добавьте следующие строки:

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;
    }

Сохраните и закройте файл, когда закончите. Затем проверьте синтаксическую ошибку Nginx с помощью следующей команды:

nginx -t

Вы должны увидеть следующий вывод:

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

Наконец, перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

На данный момент Nginx настроен для обслуживания канбана. Теперь вы можете приступить к доступу к панели управления канбан.

Настройте SELinux и брандмауэр

По умолчанию SELinux включен в CentOS 8. Поэтому вам нужно будет настроить контекст SELinux для Канбана. Вы можете настроить его с помощью следующей команды:

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

Затем разрешите порты 80 и 443 через firewalld с помощью следующей команды:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к канбан-панели

Теперь откройте веб-браузер и получите доступ к панели управления канбан, используя URL-адрес http://kanban.example.com. Вы будете

перенаправлены на страницу входа администратора Kanban:

Укажите имя пользователя и пароль по умолчанию как admin/admin и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Канбан на следующей странице:

Безопасный канбан с Lets Encrypt SSL

Затем вам нужно будет установить утилиту Certbot в вашей системе, чтобы загрузить и установить Lets Encrypt SSL для домена Lets Chat.

Вы можете установить клиент Certbot с помощью следующей команды:

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

Затем получите и установите SSL-сертификат для вашего домена lets с помощью следующей команды:

certbot-auto --nginx -d kanban.example.com

Приведенная выше команда сначала установит все необходимые зависимости на ваш сервер. После установки вам будет предложено указать адрес электронной почты и принять условия обслуживания, как показано ниже:

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): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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

Затем выберите, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:

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

Введите 2 и нажмите Enter, чтобы продолжить. После завершения установки вы должны увидеть следующий вывод:

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

Теперь вы можете безопасно получить доступ к своему Канбану, используя URL-адрес https://kanban.example.com.

Заключение

Поздравляем! вы успешно установили Канбан с Nginx и Lets Encrypt SSL на CentOS 8. Теперь вы можете внедрить Канбан в среду разработки и начать совместную работу. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.