Kuidas installida Wekani (avatud lähtekoodiga Kanban) Ubuntu 16.04

Wekan on kanbani tahvel, mis on ehitatud Meteor JavaScripti raamistikuga. Seda peetakse Trellole avatud lähtekoodiga ja isehostitavaks alternatiiviks, mis pakub peaaegu samu funktsioone. See võimaldab teil luua kaardipõhiseid "ülesannete" haldusloendeid. Wekan on koostöökeskkonnas töötades suureks abiks tootlikkuse tõstmisel. Wekanil on täielikult reageeriv veebiliides ja seda tõlgitakse aktiivselt paljudesse keeltesse.

Eeltingimused

Selle õpetuse jaoks kasutame wekan.example.comdomeeninimena, mis on suunatud Vultri eksemplarile. Asendage kindlasti kõik näidisdomeeninime esinemised tegeliku nimega.

Värskendage oma baassüsteemi, kasutades juhendit Kuidas värskendada Ubuntu 16.04 . Kui teie süsteem on värskendatud, jätkake sõltuvuste installimisega.

Installige Node.js

Wekan toetab ainult Node.js LTS version 4.8. Node.js installimiseks kasutame sõlme versioonihaldurit. Installige installiskripti nvmkäivitamisega.

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

Kohe kasutamise alustamiseks nvmkäivitage see.

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

Kui nvminstallimine õnnestus, peaksite saama selle versiooni kontrollida.

user@vultr:~$ nvm --version
0.33.4

Installige Node.js.

nvm install v4.8

Määrake Node.js vaikeversioon.

nvm use node

Kui Node.js on installitud edukalt, peaksite saama selle versiooni kontrollida.

node -v

Näete seda väljundit.

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

NVM installib faili Node.js ainult praegusele kasutajale. Selleks, et Node.js oleks globaalselt juurdepääsetav, käivitage see.

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

Node.js on nüüd saadaval kui /usr/bin/node.

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

Installige MongoDB

MongoDB on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasiserver. Erinevalt traditsioonilistest andmebaasidest, mis kasutavad andmete korraldamiseks tabeleid, on MongoDB dokumendile orienteeritud ja kasutab JSON-i sarnaseid dokumente ilma skeemideta. Wekan kasutab oma andmete salvestamiseks MongoDB-d.

Wekan ühildub ainult MongoDB version 3.2. Looge uus hoidla fail.

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

Importige MongoDB avalik GPG võti ja värskendage pakettide loendit.

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

Installige MongoDB.

sudo apt install -y mongodb-org

Käivitage MongoDB ja lubage see automaatselt käivituda.

sudo systemctl start mongod
sudo systemctl enable mongod

MongoDB eksemplari turvamine

Vaikimisi pole MongoDB serveris autentimine lubatud. Igal kasutajal, kellel on juurdepääs serveri terminalile, on MongoDB installimisel täielikud õigused. Andmebaasiserveri kaitsmiseks ja privilegeerimata kasutaja juurdepääsu piiramiseks peame seadistama serveris autentimise.

MongoDB pakub mongokesta, mida kasutatakse päringute käitamiseks MongoDB-s. Lülituge mongokestale.

mongo

Looge uus MongoDB kasutaja juurõigustega. Võite kasutada mis tahes enda valitud kasutajanime. Palun asenda kindlasti parool .

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

Peaksite nägema järgmist väljundit.

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"
                }
        ]
}

Väljuge MongoDB käsuliidesest Linuxi terminali, vajutades nuppu " Ctrl+C".

Redigeerige MongoDB konfiguratsioonifaili.

sudo nano /etc/mongod.conf

Lisage faili lõppu järgmine rida.

security:
 authorization: enabled

Taaskäivitage MongoDB, et konfiguratsioonimuudatus jõustuks.

sudo systemctl restart mongod

Nüüd, kui turvalisus on lubatud, saate kontrollida, kas see töötab, lülitudes mongokäsuga uuesti mongo kestale . Seekord, kui käivitate päringu, näiteks show dbsandmebaaside loendi kuvamiseks, näete teadet, mis teatab ebaõnnestunud autoriseerimisest. Väljuge sudouuesti kasutaja juurde pärast sisselogimise testimist äsja loodud uue kasutajana.

Logige sisse administratoräsja loodud kasutajana.

mongo -u admin -p

Edukaks sisselogimiseks sisestage kasutaja parool. Looge wekanandmebaasi jaoks uus kasutaja, mida kasutatakse Wekani andmete salvestamiseks.

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

Asendage kindlasti StrongPasswordtugeva parooliga. Näete järgmist väljundit.

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" ] }

Installige Wekan

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:StrongPassword@127.0.0.1:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:pass@mail.example.com:25/'
export MAIL_FROM='wekan@example.com'
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.

Looge SSL-sertifikaadid.

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

Loodud sertifikaadid salvestatakse tõenäoliselt /etc/letsencrypt/live/wekan.example.com/kataloogi. SSL-sertifikaat salvestatakse kui fullchain.pemja privaatvõti kui privkey.pem.

Let's Encrypt sertifikaadid aeguvad 90 päeva pärast, seega on soovitatav seadistada sertifikaatide automaatne uuendamine Cronjobi abil. Cron on süsteemiteenus, mida kasutatakse perioodiliste toimingute käitamiseks.

Avage cron tööfail.

sudo crontab -e

Lisage faili lõppu järgmine rida.

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

Ülaltoodud cron-töö käivitub iga päev kell 5.30. Kui sertifikaatide kehtivusaeg hakkab lõppema, uuendab see neid automaatselt.

Looge uus virtuaalne host.

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

Täitke fail järgmisega.

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

Asendage wekan.example.comülaltoodud konfiguratsioonis oma tegeliku domeeninimega.

Lubage äsja lisatud sait.

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

Taaskäivitage Nginx, et muudatused jõustuksid.

sudo systemctl restart nginx

Lubage Nginxi automaatne käivitumine alglaadimise ajal.

sudo systemctl enable nginx

Süsteemi teenuse seadistamine

Looge protsessi käivitamiseks uus kasutaja.

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

Nüüd teisaldage kõik failid /opt/wekankataloogi.

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

Andke failide omandiõigus vastloodud kasutajale.

sudo chown -R wekan:wekan /opt/wekan

Wekan ei võta andmeid ühestki konfiguratsioonifailist. Selle asemel pääseb see sellele juurde keskkonnamuutujate kaudu. Loome keskkonnamuutujate salvestamiseks uue faili. Keskkonnamuutujaid sisaldav fail edastatakse Systemdteenuse kaudu .

Looge keskkonnamuutujate salvestamiseks uus fail.

 sudo nano /opt/wekan/config.env

Täitke fail järgmise sisuga.

MONGO_URL='mongodb://wekan:StrongPassword@127.0.0.1:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:pass@mail.example.com:25/'
MAIL_FROM='wekan@example.com'
PORT=4000
HTTP_FORWARDED_COUNT=1

Palun asendage usernameja password.

Andke wekankasutajale omandiõigus , käivitades.

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

Looge Wekan systemd teenuse jaoks uus teenusefail.

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

Täitke fail järgmisega.

[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

Salvestage fail ja väljuge redaktorist. Nüüd saate Wekani hõlpsalt käivitada.

sudo systemctl start wekan

Et võimaldada Wekanil käivitumisel automaatselt käivituda.

sudo systemctl enable wekan

Wekani teenuse oleku kontrollimiseks.

sudo systemctl status wekan

Pakkimine

Nüüd pääsete Wekani eksemplarile juurde saidil https://wekan.example.com. Alustage uue konto loomisega. Kui olete konto loonud, saate lubada vastloodud kasutajale administraatorijuurdepääsu. Logige sisse MongoDB kesta administraatori kasutajana.

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

Nüüd valige wekanandmebaas ja värskendage objekti, et ülendada kasutaja administraatoriks.

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

Asendage kindlasti admin_userloodud kasutaja tegeliku kasutajanimega. Administraatoriliidese kaudu saate keelata eneseregistreerimise ja värskendada SMTP sätteid.

Õnnitleme, olete edukalt installinud Wekan Kanbani tahvli oma Vultr Ubuntu eksemplari.

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit