Како инсталирати Векан (Опен Соурце Канбан) на Убунту 16.04

Векан је канбан плоча направљена са Метеор ЈаваСцрипт оквиром. Сматра се алтернативом Трелло-у отвореног кода и самостално хостованом, пружајући скоро исте карактеристике. Омогућава вам да креирате листе управљања обавезама засноване на картицама. Векан је од велике помоћи за повећање продуктивности када радите у окружењу за сарадњу. Векан има потпуно прилагодљив веб интерфејс и активно се преводи на многе језике.

Предуслови

За овај водич користићемо wekan.example.comкао име домена усмерено на Вултр инстанцу. Обавезно замените сва појављивања примера имена домена стварним.

Ажурирајте свој основни систем користећи водич Како ажурирати Убунту 16.04 . Када се ваш систем ажурира, наставите са инсталирањем зависности.

Инсталирајте Ноде.јс

Векан подржава само Node.js LTS version 4.8. Да бисмо инсталирали Ноде.јс, користићемо менаџер верзија чвора. Инсталирајте nvmпокретањем скрипте за инсталацију.

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash

Да бисте одмах почели да користите nvm, покрените ово.

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Ако nvmје инсталиран успешно, требало би да можете да проверите његову верзију.

user@vultr:~$ nvm --version
0.33.4

Инсталирајте Ноде.јс.

nvm install v4.8

Подесите подразумевану верзију Ноде.јс.

nvm use node

Ако је Ноде.јс успешно инсталиран, требало би да можете да проверите његову верзију.

node -v

Видећете овај излаз.

user@vultr:~$ node -v
v4.8.4

НВМ инсталира Ноде.јс само за тренутног корисника. Да би Ноде.јс био доступан глобално, покрените ово.

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr

Ноде.јс је сада доступан као /usr/bin/node.

user@vultr:~$ sudo which node
/usr/bin/node

Инсталирајте МонгоДБ

МонгоДБ је бесплатни НоСКЛ сервер базе података отвореног кода. За разлику од традиционалних база података које користе табеле за организовање својих података, МонгоДБ је оријентисан на документе и користи документе сличне ЈСОН-у без шема. Векан користи МонгоДБ за складиштење својих података.

Векан је компатибилан само са MongoDB version 3.2. Креирајте нову датотеку спремишта.

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Увезите МонгоДБ јавни ГПГ кључ и ажурирајте листу пакета.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update

Инсталирајте МонгоДБ.

sudo apt install -y mongodb-org

Покрените МонгоДБ и омогућите његово аутоматско покретање.

sudo systemctl start mongod
sudo systemctl enable mongod

Обезбеђивање МонгоДБ инстанце

Подразумевано, није омогућена аутентификација на МонгоДБ серверу. Сваки корисник који има приступ терминалу сервера имаће пуне привилегије на инсталацију МонгоДБ. Да бисмо обезбедили сервер базе података и ограничили приступ непривилегованом кориснику, мораћемо да подесимо аутентификацију на серверу.

МонгоДБ обезбеђује mongoљуску која се користи за покретање упита на МонгоДБ. Пребаците се на mongoшкољку.

mongo

Креирајте новог МонгоДБ корисника са роот привилегијама. Можете користити било које корисничко име по вашем избору. Обавезно замените лозинку .

db.createUser(
  {
    user: "admin",
    pwd: "StrongAdminPassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)

Требало би да видите следећи излаз.

user@vultr:~$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.

...

2017-09-30T18:11:40.274+0000 I CONTROL  [initandlisten]
> db.createUser(
...   {
...     user: "admin",
...     pwd: "StrongAdminPassword",
...     roles: [ { role: "root", db: "admin" } ]
...   }
... )
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

Изађите из командног интерфејса МонгоДБ на Линук терминал притиском на " Ctrl+C".

Уредите конфигурациону датотеку МонгоДБ.

sudo nano /etc/mongod.conf

Додајте следећи ред на крај датотеке.

security:
 authorization: enabled

Поново покрените МонгоДБ да би промена конфигурације могла да ступи на снагу.

sudo systemctl restart mongod

Сада када је безбедност омогућена, можете тестирати да ли ради тако што ћете поново прећи на монго љуску користећи mongoкоманду. Овог пута, ако покренете упит, на пример show dbsда прикажете листу база података, видећете поруку која извештава о неуспешној ауторизацији. sudoПоново изађите на корисника након тестирања пријаве као новог корисника којег сте управо креирали.

Пријавите се као administratorкорисник којег сте управо креирали.

mongo -u admin -p

Наведите лозинку корисника за успешну пријаву. Креирајте новог корисника за wekanбазу података која ће се користити за складиштење Векан података.

use wekan
db.createUser(
    {
      user: "wekan",
      pwd: "StrongPassword",
      roles: ["readWrite"]
    }
 ) 

Обавезно замените StrongPasswordјаком лозинком. Видећете следећи излаз.

user@vultr:~$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test

...

2017-09-30T18:13:26.007+0000 I CONTROL  [initandlisten]
>
> use wekan
switched to db wekan
> db.createUser(
...     {
...       user: "wekan",
...       pwd: "StrongPassword",
...       roles: ["readWrite"]
...     }
...  )
Successfully added user: { "user" : "wekan", "roles" : [ "readWrite" ] }

Инсталирајте Векан

Check for the latest link to the Wekan release on Github as new releases are very frequent. Download the latest version of Wekan from Github replacing the link to the installer package.

cd ~
wget https://github.com/wekan/wekan/releases/download/v0.44/wekan-0.44.tar.gz

Extract the downloaded archive into a new directory named wekan.

mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan

Install the Node.js dependencies.

cd wekan/bundle/programs/server && npm install

The Wekan server reads configurations from the environment variables. Run the following commands to set the configurations as environment variables.

export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=4000

Make sure to replace the MongoDB password for the wekan user you have created. Also, update the mail URL according to your SMTP server settings. If you do not have an email server ready, you can always change this configuration later.

To immediately start the application.

cd ~/wekan/bundle
node main.js

You can now access the application by going to http://wekan.example.com:4000. You will see the interface to log-in into the Wekan kanban board.

For production use, it is recommended to set up a reverse proxy to serve the application on the standard HTTP port and a systemd service to manage the application process. In this tutorial, we will use the Nginx web server as a reverse proxy, secured with a Let's Encrypt free SSL.

Setting up the Nginx Reverse Proxy

Add the Certbot PPA repository to the system.

sudo add-apt-repository ppa:certbot/certbot
sudo apt update

Install Nginx and Certbot, which is the client application for Let's Encrypt CA.

sudo apt -y install certbot nginx

Note: The domain name which you are using to obtain the certificates from the Let's Encrypt CA must be pointed towards the server. The client verifies the domain authority before issuing the certificates.

Generate the SSL certificates.

sudo certbot certonly --standalone -d wekan.example.com

The generated certificates are likely to be stored in the /etc/letsencrypt/live/wekan.example.com/ directory. The SSL certificate will be stored as fullchain.pem, and private key will be stored as privkey.pem.

Let's Encrypt certificates expire in 90 days, so it is recommended to set up auto-renewal of the certificates using Cronjob. Cron is a system service which is used to run periodic tasks.

Open the cron job file.

sudo crontab -e

Add the following line at the end of the file.

30 5 * * * /usr/bin/certbot renew --quiet

The above cron job will run every day at 5:30 AM. If the certificates are due for expiration, it will automatically renew them.

Create a new virtual host.

sudo nano /etc/nginx/sites-available/wekan.example.com.conf

Populate the file with the following.

upstream wekan {
        server 127.0.0.1:4000;
}
server {
        listen  80;
        listen [::]:80;
        server_name  wekan.example.com;

        location / {
                if ($ssl_protocol = "") {
                        rewrite     ^   https://$server_name$request_uri? permanent;
                }
        }
}

server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name wekan.example.com;

        add_header Strict-Transport-Security "max-age=15768000";

        ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;

        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:10m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;

        ssl_stapling on;
        ssl_stapling_verify on;

        error_page 497  https://$host:$server_port$request_uri;
        location / {
            proxy_pass http://wekan;
            proxy_http_version 1.1;
            proxy_set_header Host $host:$server_port;
            proxy_set_header Referer $http_referer;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header X-Nginx-Proxy true;

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

            proxy_redirect off;

            proxy_send_timeout 86400;
            proxy_read_timeout 86400;
        }
}

Replace wekan.example.com with your actual domain name in the above configuration.

Enable the newly added site.

sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf

Restart Nginx so that the changes can take effect.

sudo systemctl restart nginx

Омогућите да се Нгинк аутоматски покреће при покретању.

sudo systemctl enable nginx

Подешавање Системд услуге

Креирајте новог корисника за покретање процеса.

sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan

Сада преместите све датотеке у /opt/wekanдиректоријум.

sudo mv ~/wekan/* /opt/wekan/

Омогућите власништво над датотекама новокреираном кориснику.

sudo chown -R wekan:wekan /opt/wekan

Векан не преузима податке из било које конфигурационе датотеке. Уместо тога, приступа му из варијабли окружења. Направићемо нову датотеку за чување променљивих окружења. Датотека која садржи променљиве окружења биће прослеђена кроз Systemdуслугу.

Креирајте нову датотеку за чување променљивих окружења.

 sudo nano /opt/wekan/config.env

Попуните датотеку следећим садржајем.

MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=4000
HTTP_FORWARDED_COUNT=1

Обавезно замените usernameи password.

Обезбедите власништво wekanкориснику покретањем.

sudo chown -R wekan:wekan /opt/wekan/config.env

Креирајте нови сервисни фајл за Векан системд услугу.

sudo nano /etc/systemd/system/wekan.service

Попуните датотеку следећим.

[Unit]
Description=Wekan Server
After=syslog.target
After=network.target

[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/usr/bin/node /opt/wekan/bundle/main.js
EnvironmentFile=/opt/wekan/config.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/opt/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan

[Install]
WantedBy=multi-user.target

Сачувајте датотеку и изађите из уређивача. Сада можете лако да покренете Векан.

sudo systemctl start wekan

Да бисте омогућили да се Векан аутоматски покрене при покретању.

sudo systemctl enable wekan

Да бисте проверили статус услуге Векан.

sudo systemctl status wekan

Окончање

Сада можете приступити Векан инстанци на https://wekan.example.com. Почните тако што ћете креирати нови налог. Када креирате налог, можете омогућити административни приступ новокреираном кориснику. Пријавите се на љуску МонгоДБ као административни корисник.

mongo -u wekan -p --authenticationDatabase "wekan"

Сада изаберите wekanбазу података и ажурирајте објекат да бисте унапредили корисника у администраторског корисника.

use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})

Обавезно замените admin_userстварним корисничким именом корисника којег сте креирали. Из административног интерфејса, моћи ћете да онемогућите саморегистрацију и ажурирате СМТП подешавања.

Честитамо, успешно сте инсталирали Векан Канбан плочу на своју Вултр Убунту инстанцу.


Leave a Comment

Инсталирајте Плеск на ЦентОС 7

Инсталирајте Плеск на ЦентОС 7

Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података

Подесите Цацти на Дебиан Јессие

Подесите Цацти на Дебиан Јессие

Увод Цацти је алатка отвореног кода за праћење и графику која је у потпуности заснована на РРД подацима. Преко Цацтуса можете надгледати скоро сваку врсту уређаја

Инсталирајте Летс Енцрипт ССЛ на ВордПресс апликацију једним кликом

Инсталирајте Летс Енцрипт ССЛ на ВордПресс апликацију једним кликом

Увод Летс Енцрипт је услуга ауторитета за сертификате која нуди бесплатне ТЛС/ССЛ сертификате. Цертбот поједностављује процес инсталације,

Подесите иРедМаил на Дебиан Вхеези

Подесите иРедМаил на Дебиан Вхеези

Користите другачији систем? Овај водич ће вам показати како да инсталирате групни софтвер иРедМаил на нову инсталацију Дебиан Вхеези-а. Требало би да користите сервис

Креирање Јекилл блога на Убунту 16.04

Креирање Јекилл блога на Убунту 16.04

Користите другачији систем? Јекилл је одлична алтернатива ВордПресс-у за блоговање или дељење садржаја. Не захтева никакве базе података и веома је лако и

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Користите другачији систем? Ако купите Дебиан сервер, увек би требало да имате најновије безбедносне закрпе и ажурирања, без обзира да ли спавате или не

Како инсталирати и конфигурисати ПХП 7.0 или ПХП 7.1 на Убунту 16.04

Како инсталирати и конфигурисати ПХП 7.0 или ПХП 7.1 на Убунту 16.04

ПХП и повезани пакети су најчешће коришћене компоненте приликом постављања веб сервера. У овом чланку ћемо научити како да подесите ПХП 7.0 или ПХП 7.1 о

Како инсталирати Скуид проки на ЦентОС

Како инсталирати Скуид проки на ЦентОС

Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Увод Лигхттпд је форк Апацхе-а који има за циљ да буде много мање интензиван према ресурсима. Лаган је, отуда и његово име, и прилично је једноставан за употребу. Инсталлин

Три бесплатна контролна панела сервера (брза инсталација)

Три бесплатна контролна панела сервера (брза инсталација)

1. Виртуалмин/Вебмин Виртуалмин је моћна и флексибилна контролна табла за веб хостинг за Линук и УНИКС системе заснована на добро познатој веб бази отвореног кода

Подешавање Иии апликације на Убунту 14.04

Подешавање Иии апликације на Убунту 14.04

Иии је ПХП оквир који вам омогућава да брже и лакше развијате апликације. Инсталирање Иии-а на Убунту је једноставно, као што ћете тачно научити

Коришћење екрана на Убунту 14.04

Коришћење екрана на Убунту 14.04

Сцреен је апликација која омогућава вишеструку употребу терминалских сесија унутар једног прозора. Ово вам омогућава да симулирате више прозора терминала где је ма

Подесите сопствени ДНС сервер на Дебиан/Убунту

Подесите сопствени ДНС сервер на Дебиан/Убунту

Овај водич објашњава како да подесите ДНС сервер користећи Бинд9 на Дебиан-у или Убунту-у. У целом чланку замените иоур-домаин-наме.цом у складу са тим. Ат тх

Коришћење Логротате за управљање датотекама евиденције

Коришћење Логротате за управљање датотекама евиденције

Увод Логротате је Линук услужни програм који поједностављује администрацију датотека евиденције. Обично се покреће једном дневно преко црон посла и управља базом евиденције

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

ВУЛТР је недавно направио измене на њиховој страни, и сада би све требало да ради добро из кутије са омогућеним НетворкМанагер-ом. Ако желите да онемогућите

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Ицинга2 је моћан систем за праћење, и када се користи у моделу мастер-цлиент, може да замени потребу за провером праћења заснованом на НРПЕ. Главни клијент

Подесите Ред5 Медиа Сервер на Убунту 16.04

Подесите Ред5 Медиа Сервер на Убунту 16.04

Користите другачији систем? Ред5 је медијски сервер отвореног кода имплементиран у Јави који вам омогућава да покренете Фласх вишекорисничке апликације као што је ливе стреамин

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

У овом чланку ћемо видети како да компајлирате и инсталирате Нгинк маинлине из званичних извора Нгинк-а помоћу модула ПагеСпеед, који вам омогућава да

Како инсталирати Апацхе Цассандра 3.11.к на Убунту 16.04 ЛТС

Како инсталирати Апацхе Цассандра 3.11.к на Убунту 16.04 ЛТС

Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу

Како инсталирати Ванилла Форум на Убунту 16.04

Како инсталирати Ванилла Форум на Убунту 16.04

Користите другачији систем? Ванилла форум је апликација отвореног кода написана у ПХП-у. Потпуно је прилагодљив, једноставан за коришћење и подржава екстерне

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више