Как установить программное обеспечение для управления проектами Kanboard на CentOS 8
На этой странице
- Предпосылки
- Установить сервер LEMP
- Создание базы данных для канбана
- Загрузить канбан
- Настройка Nginx для Канбана
- Настройка SELinux и брандмауэра
- Доступ к канбан-панели
- Защита Канбана с помощью Lets Encrypt SSL
- Заключение
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. Теперь вы можете внедрить Канбан в среду разработки и начать совместную работу. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.