Wekan je open source kanban deska podobná Trello, založená na frameworku Meteor Javascript. Je to webový nástroj pro správu, který vám umožňuje vytvořit nástěnku pro spolupráci na projektu. S wekan boardem stačí pozvat člena do boardu a můžete jít. Na nástěnce wekan můžete vytvořit správu úkolů a úkolů založených na kartách a poté je přiřadit členovi.
V tomto tutoriálu vám krok za krokem ukážu, jak nainstalovat a nakonfigurovat Kanban podobný Wekan Trello na serveru CentOS 7. Budeme používat MongoDB jako databázi a webový server Nginx jako reverzní proxy pro aplikaci Wekan. Tento tutoriál podrobně pokryje některá témata včetně zabezpečení databázového serveru MongoDB a konfigurace Nginx jako reverzního proxy.
Předpoklady
- Server CentOS 7
- Oprávnění uživatele root
Co uděláme
- Nainstalujte Nodejs
- Nainstalujte a nakonfigurujte MongoDB
- Nainstalujte Wekan
- Spusťte Wekan jako službu na CentOS 7
- Nainstalujte a nakonfigurujte Nginx jako reverzní proxy pro Wekan
- Testování
Krok 1 – Instalace NodeJS pomocí NVM Node Version Manager
Wekan je aplikace založená na nodejs a vyžaduje nodejs verze 4.8. V tomto tutoriálu nebudeme instalovat nodejs z úložiště CentOS, spíše nainstalujeme nodejs 4.8 pomocí nvm Node Version Manager.
Před instalací nodejs přidejte nového systémového uživatele 'wekan' pomocí příkazu níže.
useradd -m -s /bin/bash wekan
passwd wekan
Přihlaste se k uživateli „wekan“, poté si stáhněte a spusťte instalační skript nvm.
su - wekan
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
Příkaz nainstaluje nvm pod uživatelem 'wekan' a přidá novou konfiguraci do konfiguračního souboru '.bashrc'. Nyní znovu načtěte soubor '.bashrc'.
source ~/.bashrc
Otestujte pomocí příkazu nvm, jak je uvedeno níže.
command -v nvm
nvm --version
Nyní můžete vidět nvm '0.33.8' nainstalovaný v systému.
Dále nainstalujte nodejs 4.8 pomocí příkazu nvm níže.
nvm install v4.8
nvm use node
Po dokončení instalace zkontrolujte verzi uzlu.
node -v
A uvidíte, že nodejs 4.8 je nainstalován na serveru CentOS 7 pod uživatelem 'wekan'.
Krok 2 – Instalace a konfigurace MongoDB
V tomto kroku nainstalujeme MongoDB 3.2.x pomocí oficiálního úložiště a poté nakonfigurujeme základní zabezpečení pro databázový server MongoDB NoSQL.
Přejděte do adresáře '/etc/yum.repos.d./ a vytvořte nový soubor .repo pomocí editoru vim.
cd /etc/yum.repos.d/
vim mongodb-org-3.2.repo
Vložte tam následující úložiště MongoDB.
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Uložte a ukončete.
Nyní nainstalujte MongoDB pomocí příkazu yum níže.
yum -y install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
Po dokončení instalace spusťte službu MongoDB a povolte její spuštění při spouštění systému.
systemctl start mongod
systemctl enable mongod
MongoDB 3.2 byl nainstalován na systém CentOS 7.
Dále musíme nakonfigurovat ověřování MongoDB. Přihlaste se do mongo shellu a vytvořte nového uživatele s názvem 'admin' pro superuživatelský přístup.
Přihlaste se do mongo shellu.
mongo
Nyní vytvořte nového uživatele „admin“ s heslem „MyAdminPassword“ s rolí „root“. Spusťte níže uvedené dotazy MongoDB.
db.createUser(
{
user: "admin",
pwd: "MyAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Uživatel MongoDB admin byl vytvořen.
Nyní musíme upravit konfigurační soubor '/etc/mongod.conf', abychom povolili ověřování.
Upravte konfigurační soubor 'mongod.conf' pomocí vim.
vim /etc/mongod.conf
Odkomentujte řádek „security“ a přidejte konfiguraci, jak je uvedeno níže.
security:
authorization: enabled
Uložte a ukončete.
Nyní restartujte službu MongoDB.
systemctl restart mongod
Ověření MongoDB bylo povoleno.
Dále musíme vytvořit novou databázi a uživatele pro Wekan. Vytvoříme novou databázi s názvem 'wekan' s uživatelem 'wekan' a heslem 'WekanPassword'.
Přihlaste se do mongo shellu jako uživatel admin.
mongo -u admin -p
Zadejte heslo správce 'MyAdminPassword'.
A až získáte mongo shell, spusťte níže uvedené dotazy MongoDB.
use wekan
db.createUser(
{
user: "wekan",
pwd: "WekanPassword",
roles: ["readWrite"]
}
)
Databáze a uživatel pro instalaci wekan byly vytvořeny.
Krok 3 – Instalace Wekan
Přihlaste se jako wekan uživatel.
su - wekan
Stáhněte si zdrojový kód wekan pomocí příkazu wget a rozbalte jej.
wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz
A získáte nový adresář s názvem 'bundle' - přejděte do tohoto adresáře a nainstalujte wekan závislosti pomocí příkazu npm, jak je ukázáno níže.
cd bundle/programs/server
npm install
Po dokončení instalace všech závislostí získáte výsledek, jak je uvedeno níže.
Dále se pokusíme spustit Wekan v systému.
Spuštěním následujících příkazů nastavte proměnnou prostředí pro aplikaci Wekan.
export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://192.168.33.10'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=8000
Nyní přejděte do adresáře 'bundle' a spusťte aplikaci wekan.
cd ~/bundle
node main.js
Server Wekan nyní běží pod portem 8000. Otevřete webový prohlížeč a zadejte adresu serveru s portem 8000.
http://192.168.33.10:8000/
A získáte přihlašovací stránku Wekan, jak je uvedeno níže.
Wekan je nyní úspěšně nainstalován na serveru CentOS 7.
Krok 4 – Spuštění Wekan jako služby na CentOS 7
Aplikaci wekan budeme provozovat jako službu na systému Ubuntu. Potřebujeme tedy vytvořit nový soubor služby v systémovém adresáři systemd.
Před vytvořením souboru služby wekan musíme vytvořit soubor proměnné prostředí.
Přihlaste se jako wekan uživatel.
su - wekan
Přejděte do adresáře 'bundle/' a vytvořte nový soubor proměnných prostředí '.env' pomocí vim.
cd bundle/
vim .env
Zde vložte následující konfiguraci.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.hakase-labs.co'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=8000
HTTP_FORWARDED_COUNT=1
Uložte a ukončete.
Dále se vraťte do svého kořenového terminálu.
Přejděte do adresáře '/etc/systemd/system' a vytvořte nový soubor služby 'wekan.service'.
cd /etc/systemd/system
vim wekan.service
Zde vložte následující konfiguraci.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/home/wekan/.nvm/versions/node/v4.8.7/bin/node bundle/main.js
EnvironmentFile=/home/wekan/bundle/.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/home/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
[Install]
WantedBy=multi-user.target
Uložte a ukončete.
Znovu načtěte systém systemd pomocí příkazu systemctl.
systemctl daemon-reload
Spusťte službu wekan a povolte její spuštění při každém spuštění systému.
systemctl start wekan
systemctl enable wekan
Nyní zkontrolujte službu wekan pomocí příkazů níže.
netstat -plntu
systemctl status wekan
A následuje výsledek v našem případě.
Wekan nyní běží jako služba pod portem 8000 na systému CentOS 7.
Krok 5 – Instalace a konfigurace Nginx jako reverzního proxy pro Wekan
V tomto kroku nainstalujeme webový server Nginx a nakonfigurujeme jej jako reverzní proxy pro službu wekan, která běží pod portem 8000.
Před instalací webového serveru Nginx přidejte nové úložiště EPEL (Extra Package for Enterprise Linux).
yum -y install epel-release
Nyní nainstalujte nginx z úložiště epel pomocí příkazu yum níže.
yum -y install nginx
Po dokončení instalace přejděte do konfiguračního adresáře '/etc/nginx/' a vytvořte nový soubor virtuálního hostitele 'wekan.conf' v adresáři 'conf.d'.
cd /etc/nginx
vim conf.d/wekan.conf
Zde vložte následující konfiguraci virtuálního hostitele.
server {
server_name wekan.hakase-labs.co;
listen 80;
access_log /var/log/nginx/wekan-access.log;
error_log /var/log/nginx/wekan-error.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass http://127.0.0.1:8000;
}
}
Uložte a ukončete.
Otestujte konfiguraci nginx a ujistěte se, že nedochází k chybě.
nginx -t
Pokud nedojde k žádné chybě, spusťte službu Nginx a povolte její spuštění při spouštění systému.
systemctl start nginx
systemctl enable nginx
Nyní zkontrolujte port HTTP pomocí příkazu netstat a ujistěte se, že je ve stavu 'LISTEN'.
netstat -plntu
Konfigurace virtuálního hostitele Nginx pro Wekan byla dokončena.
Krok 6 – Testování
Otevřete webový prohlížeč a do adresního řádku zadejte instalaci wekan url.
http://wekan.hakase-labs.co/
A budete přesměrováni na přihlašovací stránku - klikněte na odkaz 'Registrovat'.
Nyní zadejte své uživatelské jméno, e-mail, heslo a ponechte zvací kód prázdný.
Klikněte na modré tlačítko 'Registrovat'.
A zobrazí se zpráva „Interní chyba serveru“. Nechte toho a vraťte se ke svému terminálu. Protože z terminálu aktivujeme prvního uživatele.
Otevřete svůj terminál a přihlaste se do prostředí mongo jako uživatel „wekan“.
mongo -u wekan -p --authenticationDatabase "wekan"
Nyní aktivujte uživatele pomocí níže uvedených dotazů.
use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})
Vyjděte z mongo shell.
Vraťte se do prohlížeče a znovu otevřete instalaci Wekan url.
http://wekan.hakase-labs.co/
Zadejte své uživatelské jméno a heslo a klikněte na tlačítko 'Přihlásit se'.
A získáte uživatelský panel Wekan.
Níže je ukázkový projekt wekan.
Instalace Wekan na systém CentOS 7 s webovým serverem MongoDB a Nginx byla úspěšně dokončena.