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

Как установить Wekan Kanban с Nginx и Lets Encrypt SSL в Debian 10


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

  1. Предпосылки
  2. Начало работы
  3. Установить Wekan
  4. Управление службами Wekan и MongoDB
  5. Настройка Nginx в качестве обратного прокси-сервера
  6. Защитите Wekan с помощью Lets Encrypt Free SSL
  7. Доступ к веб-интерфейсу Wekan

Wekan — это бесплатная канбан-доска с открытым исходным кодом, созданная на основе JavaScript-фреймворка Meteor и распространяемая по лицензии MIT. Он очень похож на Workflowy и Trello, которые помогают вам управлять повседневными задачами, составлять списки задач, управлять другими людьми и т. д. Он имеет полностью адаптивный веб-интерфейс и переведен на многие языки. Wekan поставляется с богатым набором функций, включая экспорт доски Wekan, импорт доски Trello, настройки SMTP, восстановление заархивированной доски, модуль управления пользователями, функции перетаскивания и многое другое.

В этом руководстве мы покажем вам, как установить доску Wekan Kanban с Nginx в качестве прокси-сервера на Debian 10.

Предпосылки

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

Начиная

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

apt-get update -y
apt-get upgrade -y

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

Установить Wekan

Самый простой способ установить Wekan на Debian 10 — использовать оснастку. По умолчанию пакет Snap доступен в репозитории Debian 10. Вы можете установить его, выполнив следующую команду:

apt-get install snapd -y

После того, как оснастка будет запущена или остановлена, вы можете установить Wekan, выполнив следующую команду:

snap install wekan

Как только Wekan будет установлен, он автоматически запустит службы Wekan и Mongodb.

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

systemctl status snap.wekan.wekan

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

? snap.wekan.wekan.service - Service for snap application wekan.wekan
   Loaded: loaded (/etc/systemd/system/snap.wekan.wekan.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-12-22 07:43:34 UTC; 7s ago
 Main PID: 7836 (wekan-control)
    Tasks: 11 (limit: 2359)
   Memory: 156.3M
   CGroup: /system.slice/snap.wekan.wekan.service
           ??7836 /bin/bash /snap/wekan/678/bin/wekan-control
           ??8522 /snap/wekan/678/bin/node main.js

Dec 22 07:43:35 debian10 wekan.wekan[7836]: HEADER_LOGIN_EMAIL=Header login email. Example for siteminder: HEADEREMAILADDRESS (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_WITH_TIMER=false (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_IN= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_ON_HOURS= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: LOGOUT_ON_MINUTES= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: DEFAULT_AUTHENTICATION_METHOD= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: ATTACHMENTS_STORE_PATH= (default value)
Dec 22 07:43:35 debian10 wekan.wekan[7836]: MONGO_URL=mongodb://127.0.0.1:27019/wekan
Dec 22 07:43:37 debian10 wekan.wekan[7836]: Presence started serverId=ijqY8RbEWv8Hg9RSb
Dec 22 07:43:38 debian10 wekan.wekan[7836]: Meteor APM: completed instrumenting the app

По умолчанию Wekan работает на порту 8080. Если вы хотите изменить порт Wekan на 3001, выполните следующую команду:

snap set wekan port='3001'

Затем перезапустите службу Wekan и MongoDB, чтобы применить изменения:

systemctl restart snap.wekan.mongodb
systemctl restart snap.wekan.wekan

Управление службами Wekan и MongoDB

Чтобы запустить и остановить службу Wekan, выполните следующую команду:

systemctl stop snap.wekan.wekan
systemctl start snap.wekan.wekan

Чтобы запустить и остановить службу MongoDB, выполните следующую команду:

systemctl stop snap.wekan.mongodb
systemctl start snap.wekan.mongodb

Настройте Nginx в качестве обратного прокси

Теперь Wekan установлен и прослушивает порт 3001. Затем рекомендуется запустить Wekan за прокси-сервером Nginx.

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

apt-get install nginx -y

После установки откройте файл /etc/nginx/nginx.conf и установите hash_bucket_size:

nano /etc/nginx/nginx.conf

Раскомментируйте следующую строку:

        server_names_hash_bucket_size 64;

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

systemctl restart nginx

Затем создайте файл виртуального хоста Nginx для Wekan, как показано ниже:

nano /etc/nginx/conf.d/wekan.conf

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

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}
server {
    listen 80;
    server_name wekan.linuxbuz.com;
    if ($http_user_agent ~ "MSIE" ) {
        return 303 https://browser-update.org/update.html;
    }
    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; # allow websockets
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP
    }
}

Сохраните и закройте файл, когда закончите. Затем проверьте 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 настроен на пересылку запроса на порт Wekan 3001.

Безопасный Wekan с Lets Encrypt Free SSL

Далее рекомендуется защитить Wekan с помощью бесплатного SSL от Lets Encrypt. Для этого вам необходимо установить клиент Certbot на свой сервер. Certbot — это клиент Lets Encrypt, который можно использовать для загрузки бесплатного SSL и настройки Nginx для использования этого сертификата.

По умолчанию последняя версия Certbot недоступна в репозитории по умолчанию Debian 10. Итак, вам нужно будет добавить репозиторий Certbot на свой сервер.

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

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

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

apt-get update -y
apt-get install python-certbot-nginx -t buster-backports

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

certbot --nginx -d wekan.linuxbuz.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: N
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wekan.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wekan.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/wekan.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wekan.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=wekan.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wekan.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wekan.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-03-25. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

Доступ к веб-интерфейсу Wekan

Теперь откройте веб-браузер и введите URL-адрес https://wekan.linuxbuz.com. Вы будете перенаправлены на следующую страницу:

Нажмите на кнопку Зарегистрироваться. Вы должны увидеть следующую страницу:

Укажите желаемое имя пользователя, пароль, адрес электронной почты и нажмите кнопку «Регистрация». Далее нажмите на кнопку входа. Вы должны увидеть следующую страницу:

Введите имя пользователя, пароль и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Wekan на следующей странице:

Вот и все на данный момент. Вы успешно установили Wekan Kanban на сервер Debian 10 и защитили его с помощью бесплатного SSL от Lets Encrypt.