Wekan è una scheda kanban open source simile a Trello basata sul framework Meteor Javascript. È uno strumento di gestione basato sul Web che ti consente di creare una scheda per la collaborazione del tuo progetto. Con la bacheca wekan, devi solo invitare un membro nella bacheca e sei a posto. Nella bacheca wekan, puoi creare un'attività basata su carte e una gestione delle cose da fare, quindi assegnarla al membro.
In questo tutorial, ti mostrerò passo dopo passo come installare e configurare Kanban simile a Wekan Trello su un server CentOS 7. Utilizzeremo MongoDB come database e il server Web Nginx come proxy inverso per l'applicazione Wekan. Questo tutorial tratterà in dettaglio alcuni argomenti, tra cui la protezione del server di database MongoDB e la configurazione di Nginx come proxy inverso.
Prerequisiti
- Server CentOS 7
- Privilegi di root
Cosa faremo
- Installa Nodejs
- Installa e configura MongoDB
- Installa Wekan
- Esegui Wekan come servizio su CentOS 7
- Installa e configura Nginx come proxy inverso per Wekan
- Test
Passaggio 1:installa NodeJS utilizzando NVM Node Version Manager
Wekan è un'applicazione basata su nodejs e richiede la versione 4.8 di nodejs. In questo tutorial, non installeremo nodejs dal repository CentOS, ma installeremo nodejs 4.8 utilizzando nvm Node Version Manager.
Prima di installare nodejs, aggiungi il nuovo utente di sistema 'wekan' usando il comando seguente.
useradd -m -s /bin/bash wekan
passwd wekan
Accedi all'utente 'wekan', quindi scarica ed esegui lo script di installazione di nvm.
su - wekan
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
Il comando installerà nvm sotto l'utente 'wekan' e aggiungerà una nuova configurazione al file di configurazione '.bashrc'. Ora ricarica il file '.bashrc'.
source ~/.bashrc
Prova usando il comando nvm come di seguito.
command -v nvm
nvm --version
Ora puoi vedere nvm '0.33.8' installato sul sistema.
Quindi, installa nodejs 4.8 usando il comando nvm di seguito.
nvm install v4.8
nvm use node
Al termine dell'installazione, controlla la versione del nodo.
node -v
E vedrai che nodejs 4.8 è installato sul server CentOS 7, sotto l'utente 'wekan'.
Passaggio 2:installa e configura MongoDB
In questo passaggio, installeremo MongoDB 3.2.x utilizzando il repository ufficiale, quindi configureremo la sicurezza di base per il server di database MongoDB NoSQL.
Vai alla directory '/etc/yum.repos.d./ e crea un nuovo file .repo utilizzando l'editor vim.
cd /etc/yum.repos.d/
vim mongodb-org-3.2.repo
Incolla lì il seguente repository 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
Salva ed esci.
Ora installa MongoDB usando il comando yum qui sotto.
yum -y install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
Al termine dell'installazione, avvia il servizio MongoDB e abilitalo all'avvio all'avvio del sistema.
systemctl start mongod
systemctl enable mongod
MongoDB 3.2 è stato installato sul sistema CentOS 7.
Successivamente, è necessario configurare l'autenticazione MongoDB. Accedi alla mongo shell e crea un nuovo utente chiamato 'admin' per l'accesso come superutente.
Accedi alla shell mongo.
mongo
Ora crea un nuovo utente "admin" con password "MyAdminPassword" con ruolo come "root". Esegui le query MongoDB di seguito.
db.createUser(
{
user: "admin",
pwd: "MyAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
L'utente amministratore di MongoDB è stato creato.
Ora dobbiamo modificare il file di configurazione '/etc/mongod.conf' per abilitare l'autenticazione.
Modifica il file di configurazione 'mongod.conf' usando vim.
vim /etc/mongod.conf
Decommenta la riga 'security' e aggiungi la configurazione come mostrato di seguito.
security:
authorization: enabled
Salva ed esci.
Ora riavvia il servizio MongoDB.
systemctl restart mongod
L'autenticazione MongoDB è stata abilitata.
Successivamente, dobbiamo creare un nuovo database e un nuovo utente per Wekan. Creeremo un nuovo database chiamato 'wekan' con utente 'wekan' e password 'WekanPassword'.
Accedi a mongo shell come utente amministratore.
mongo -u admin -p
Digita la password amministratore 'MyAdminPassword'.
E quando ottieni la mongo shell, esegui le query MongoDB di seguito.
use wekan
db.createUser(
{
user: "wekan",
pwd: "WekanPassword",
roles: ["readWrite"]
}
)
Il database e l'utente per l'installazione di wekan sono stati creati.
Fase 3:installa Wekan
Accedi come utente wekan.
su - wekan
Scarica il codice sorgente di wekan usando il comando wget ed estrailo.
wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz
E otterrai una nuova directory denominata 'bundle':vai in quella directory e installa le dipendenze wekan usando il comando npm come mostrato di seguito.
cd bundle/programs/server
npm install
Al termine dell'installazione di tutte le dipendenze, otterrai il risultato come di seguito.
Successivamente, proveremo a eseguire Wekan sul sistema.
Esegui i seguenti comandi per impostare la variabile di ambiente per l'applicazione 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
Ora vai alla directory 'bundle' ed esegui l'applicazione wekan.
cd ~/bundle
node main.js
Il server Wekan è ora in esecuzione sotto la porta 8000. Apri il tuo browser web e digita l'indirizzo del tuo server con la porta 8000.
http://192.168.33.10:8000/
E otterrai la pagina di accesso di Wekan come di seguito.
Wekan è ora installato correttamente sul server CentOS 7.
Passaggio 4 - Esecuzione di Wekan come servizio su CentOS 7
Eseguiremo l'applicazione wekan come servizio sul sistema Ubuntu. Quindi dobbiamo creare un nuovo file di servizio nella directory di sistema systemd.
Prima di creare il file di servizio wekan, dobbiamo creare il file della variabile d'ambiente.
Accedi come utente wekan.
su - wekan
Vai alla directory 'bundle/' e crea un nuovo file di variabile d'ambiente '.env' usando vim.
cd bundle/
vim .env
Incolla lì la seguente configurazione.
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
Salva ed esci.
Quindi, torna al tuo terminale di root.
Vai alla directory '/etc/systemd/system' e crea un nuovo file di servizio 'wekan.service'.
cd /etc/systemd/system
vim wekan.service
Incolla lì la seguente configurazione.
[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
Salva ed esci.
Ricarica il sistema systemd usando il comando systemctl.
systemctl daemon-reload
Avvia il servizio wekan e abilitalo all'avvio ogni volta all'avvio del sistema.
systemctl start wekan
systemctl enable wekan
Ora controlla il servizio wekan usando i comandi seguenti.
netstat -plntu
systemctl status wekan
E quello che segue è il risultato nel nostro caso.
Wekan è ora in esecuzione come servizio sotto la porta 8000 su un sistema CentOS 7.
Passaggio 5:installare e configurare Nginx come proxy inverso per Wekan
In questo passaggio, installeremo il server Web Nginx e lo configureremo come proxy inverso per il servizio wekan in esecuzione sulla porta 8000.
Prima di installare il server web Nginx, aggiungi il nuovo repository EPEL (Extra Package for Enterprise Linux).
yum -y install epel-release
Ora installa nginx dal repository epel usando il comando yum qui sotto.
yum -y install nginx
Al termine dell'installazione, vai alla directory di configurazione '/etc/nginx/' e crea un nuovo file host virtuale 'wekan.conf' nella directory 'conf.d'.
cd /etc/nginx
vim conf.d/wekan.conf
Incolla lì la seguente configurazione dell'host virtuale.
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;
}
}
Salva ed esci.
Verifica la configurazione di nginx e assicurati che non ci siano errori.
nginx -t
Se non ci sono errori, avvia il servizio Nginx e abilitalo all'avvio all'avvio del sistema.
systemctl start nginx
systemctl enable nginx
Ora controlla la porta HTTP usando il comando netstat e assicurati che sia nello stato "LISTEN".
netstat -plntu
La configurazione dell'host virtuale Nginx per Wekan è stata completata.
Fase 6 - Test
Apri il tuo browser web e digita l'URL di installazione di wekan nella barra degli indirizzi.
http://wekan.hakase-labs.co/
E verrai reindirizzato alla pagina di accesso:fai clic sul link "Registrati".
Ora digita il tuo nome utente, e-mail, password e lascia vuoto il codice invito.
Fai clic sul pulsante blu "Registrati".
E riceverai il messaggio "Errore interno del server". Lascialo e torna al tuo terminale. Perché attiveremo il primo utente dal terminale.
Apri il tuo terminale e accedi a mongo shell come utente 'wekan'.
mongo -u wekan -p --authenticationDatabase "wekan"
Ora attiva l'utente utilizzando le query seguenti.
use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})
Esci dalla conchiglia mongo.
Torna al browser e riapri l'installazione dell'URL di Wekan.
http://wekan.hakase-labs.co/
Digita il tuo nome utente e password, quindi fai clic sul pulsante "Accedi".
E otterrai la dashboard utente di Wekan.
Di seguito è riportato il progetto di esempio wekan.
L'installazione di Wekan sul sistema CentOS 7 con MongoDB e il server web Nginx è stata completata con successo.