Instalare RethinkDB Cluster pe CentOS 7
Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit
Wekan este o placă kanban construită cu cadrul JavaScript Meteor. Este considerată o alternativă open source și self-gazdată la Trello, oferind aproape aceleași caracteristici. Vă permite să creați liste de gestionare bazate pe carduri „de făcut”. Wekan este foarte util pentru a crește productivitatea atunci când lucrați într-un mediu de colaborare. Wekan are o interfață web plină de reacție și este tradusă activ în multe limbi.
Pentru acest tutorial, vom folosi wekan.example.com
ca nume de domeniu indicat spre instanța Vultr. Vă rugăm să vă asigurați că înlocuiți toate aparițiile numelui de domeniu exemplu cu cel real.
Actualizați-vă sistemul de bază utilizând ghidul Cum actualizați CentOS 7 . După ce sistemul dvs. a fost actualizat, continuați să instalați dependențele.
Wekan acceptă doar Node.js LTS version 4.8
. Pentru a instala Node.js, vom folosi managerul versiunii nodului. Instalați nvm
rulând scriptul de instalare.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Pentru a începe imediat să folosiți nvm
, rulați acest lucru.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Dacă s- nvm
a instalat cu succes, atunci ar trebui să puteți verifica versiunea sa.
[user@vultr ~]$ nvm --version
0.33.4
Instalează Node.js.
nvm install v4.8
Setați versiunea implicită a Node.js.
nvm use node
Dacă Node.js s-a instalat cu succes, atunci ar trebui să puteți verifica versiunea sa.
node -v
Veți vedea această ieșire.
[user@vultr ~]$ node -v
v4.8.4
NVM instalează Node.js doar pentru utilizatorul curent. Pentru ca Node.js să fie accesibil la nivel global, executați acest lucru.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js în prezent disponibil ca /bin/node
.
[user@vultr ~]$ sudo which node
/bin/node
MongoDB este un server de baze de date NoSQL gratuit și open source. Spre deosebire de bazele de date tradiționale care utilizează tabele pentru a-și organiza datele, MongoDB este orientat pe documente și folosește documente asemănătoare JSON fără scheme. Wekan folosește MongoDB pentru a stoca datele sale.
Wekan este compatibil numai cu MongoDB version 3.2
. MongoDB nu este disponibil în YUM
depozitul implicit , deci va trebui să creați un nou fișier de depozitare.
sudo nano /etc/yum.repos.d/mongodb-org-3.2.repo
Populați fișierul cu următorul conținut.
[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
Instalați MongoDB.
sudo yum install -y mongodb-org
Porniți serverul MongoDB și permiteți-l să pornească automat.
sudo systemctl start mongod
sudo systemctl enable mongod
În mod implicit, nu există o autentificare activată pe un server MongoDB. Orice utilizator care are acces la terminalul serverului va avea privilegii complete cu privire la instalarea MongoDB. Pentru a securiza serverul de baze de date și a restricționa accesul unui utilizator neprivilegiat, va trebui să configurați autentificarea pe server.
MongoDB oferă un mongo
shell, care este utilizat pentru a rula interogări pe MongoDB. Comutați la mongo
coajă tastând.
mongo
Creați un nou utilizator MongoDB cu privilegii root. Puteți utiliza orice nume de utilizator la alegere. Vă rugăm să vă asigurați că înlocuiți parola .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Ar trebui să vedeți următoarea ieșire.
[user@vultr ~]$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-29T20:42:29.042+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"
}
]
}
Ieșiți de interfața de comandă MongoDB la terminalul Linux apăsând " Ctrl+C
".
Editați fișierul de configurare MongoDB.
sudo nano /etc/mongod.conf
Adăugați următoarea linie la sfârșitul fișierului.
security:
authorization: enabled
Reporniți MongoDB pentru ca modificarea configurației să poată produce efect.
sudo systemctl restart mongod
Acum că securitatea a fost activată, puteți testa dacă funcționează trecând din nou la coaja mongo folosind mongo
comanda. De data aceasta, dacă executați o interogare, de exemplu, show dbs
pentru a afișa lista bazelor de date, veți vedea un mesaj care raportează autorizarea eșuată. Ieșiți din sudo
nou la utilizator după testarea log-in-ului ca nou utilizator pe care tocmai l-ați creat.
Conectați-vă ca administrator
utilizatorul pe care tocmai l-ați creat.
mongo -u admin -p
Furnizați parola utilizatorului pentru conectarea reușită. Creați un utilizator nou pentru Wekan
baza de date care va fi utilizat pentru stocarea datelor Wekan.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Asigurați-vă că schimbați StrongPassword
parola cu o parolă puternică. Veți vedea următoarea ieșire.
[user@vultr ~]$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-29T20:52:32.450+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" ] }
Verificați cel mai recent link către lansarea Wekan pe Github, deoarece noile versiuni sunt foarte frecvente. Descărcați cea mai recentă versiune a Wekan de la Github înlocuind linkul către pachetul de instalare.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.41/wekan-0.41.tar.gz
Extrageți arhiva descărcată într-un director nou numit wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Instalați Bzip2
, care este necesar pentru a extrage dependențele Node.js.
sudo yum -y install bzip2
Instalați dependențele Node.js.
cd wekan/bundle/programs/server && npm install
Serverul Wekan citește configurații din variabilele de mediu. Executați următoarele comenzi pentru a seta configurațiile ca variabile de mediu.
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
Asigurați-vă că înlocuiți parola MongoDB pentru wekan
utilizatorul pe care l-ați creat. De asemenea, actualizați adresa URL de e-mail în conformitate cu setările serverului dvs. SMTP. Dacă nu aveți serverul de e-mail gata, puteți schimba această configurație mai târziu. Deschideți firewallul pentru a permite portul 4000
prin firewall.
sudo firewall-cmd --zone=public --add-port=4000/tcp --permanent
sudo firewall-cmd --reload
Pentru a porni imediat cererea.
cd ~/wekan/bundle
node main.js
Acum puteți accesa aplicația accesând http://wekan.example.com:4000
. Veți vedea interfața pentru a vă conecta la Wekan kanban board.
Pentru utilizare în producție, este recomandat să configurați un proxy invers pentru a servi aplicația pe HTTP
portul standard și un systemd
serviciu pentru a gestiona procesul de aplicare. În acest tutorial, vom folosi serverul web Nginx ca proxy invers, securizat cu un SSL gratuit Let's Encrypt.
Instalați serverul web Nginx și Certbot, care este aplicația client pentru Let's Encrypt CA.
sudo yum -y install certbot nginx
Înainte de a putea solicita certificatele SSL, va trebui să permiteți portul 80
și 443
prin firewall. Certbot va verifica autoritatea domeniului înainte de a emite certificate.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Acum, când rulăm Wekan pe un HTTPS
port standard , nu trebuie să permitem portul 4000
prin firewall. Reglați firewallul pentru a elimina portul 4000
.
sudo firewall-cmd --zone=public --remove-port=4000/tcp --permanent
sudo firewall-cmd --reload
Notă: Numele de domeniu pe care îl utilizați pentru a obține certificatele de la Let's Encrypt CA trebuie să fie îndreptat către server. Clientul verifică autoritatea domeniului înainte de emiterea certificatelor .
Generați certificatele SSL.
sudo certbot certonly --standalone -d wekan.example.com
Este posibil ca certificatele generate să fie stocate în /etc/letsencrypt/live/wekan.example.com/
director. Certificatul SSL va fi stocate ca fullchain.pem
și cheia privată vor fi stocate ca privkey.pem
.
Haideți să criptați certificatele expiră în 90 de zile, de aceea este recomandat să setați reînnoirea automată a certificatelor folosind Cronjob. Cron este un serviciu de sistem care este utilizat pentru a executa sarcini periodice.
Deschideți fișierul de job cron.
sudo crontab -e
Adăugați următoarea linie la sfârșitul fișierului.
30 5 * * * /usr/bin/certbot renew --quiet
Slujba cron de mai sus va rula în fiecare zi la 5:30 AM. Dacă certificatele sunt expirate, acestea le vor reînnoi automat.
Creați o nouă gazdă virtuală.
sudo nano /etc/nginx/conf.d/wekan.example.com.conf
Populați fișierul cu următoarele.
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;
}
}
Înlocuiți wekan.example.com
numele dvs. de domeniu real în configurația de mai sus.
Reporniți Nginx pentru ca modificările să aibă efect.
sudo systemctl restart nginx
Activați Nginx pentru a porni automat la momentul de pornire.
sudo systemctl enable nginx
Creați un utilizator nou pentru proces.
sudo adduser wekan -s /usr/sbin/nologin -d /opt/wekan
Acum mutați toate fișierele în /opt/wekan
director.
sudo mv ~/wekan/* /opt/wekan/
Oferiți proprietatea fișierelor utilizatorului nou creat.
sudo chown -R wekan:wekan /opt/wekan
Wekan nu preia date din niciun fișier de configurare. În schimb, îl accesează din variabile de mediu. Vom crea un nou fișier pentru a stoca variabilele de mediu. Fișierul care conține variabilele de mediu va fi trecut prin Systemd
serviciu.
Creați un nou fișier pentru a stoca variabilele de mediu.
sudo nano /opt/wekan/config.env
Populați fișierul cu următorul conținut.
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
Vă rugăm să vă asigurați că înlocuiți username
și password
.
Oferiți proprietatea wekan
utilizatorului.
sudo chown -R wekan:wekan /opt/wekan/config.env
Creați un nou fișier de serviciu pentru serviciul de sistem Wekan.
sudo nano /etc/systemd/system/wekan.service
Populați fișierul cu următoarele.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/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
Salvați fișierul și ieșiți din editor. Acum puteți porni cu ușurință Wekan.
sudo systemctl start wekan
Pentru a activa Wekan să pornească automat la momentul de pornire.
sudo systemctl enable wekan
Pentru a verifica starea serviciului Wekan.
sudo systemctl status wekan
Acum puteți accesa instanța Wekan pe https://wekan.example.com
. Începeți prin crearea unui cont nou. După ce ați creat contul, puteți activa accesul administrativ al utilizatorului nou creat. Conectați-vă la shell-ul MongoDB ca utilizator administrativ.
mongo -u wekan -p --authenticationDatabase "wekan"
Acum selectați wekan
baza de date și actualizați obiectul pentru a-l promova pe utilizator la administrator.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Vă rugăm să vă asigurați că înlocuiți admin_user
cu numele de utilizator real al utilizatorului pe care l-ați creat. Din interfața admin, veți putea dezactiva auto-înregistrarea și actualiza setările SMTP.
Felicitări, ați instalat cu succes placa Wekan Kanban pe instanța dvs. Vultr CentOS.
Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit
În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b
Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin
Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă
Odoo, cunoscută anterior drept OpenERP, este o cunoscută platformă de afaceri ERP open source. Întreprinderile de orice dimensiune pot beneficia de Odoo, datorită licenței sale abundente
Folosind un sistem diferit? Couch CMS este un sistem de gestionare a conținutului (CMS) simplu și flexibil, gratuit și deschis, care permite proiectanților web să deseneze
Folosind un sistem diferit? SonarQube este un instrument open source pentru dezvoltarea sistemului de calitate. Este scris în Java și acceptă mai multe baze de date. Oferă
NextCloud, așa cum sugerează și numele său, este o alternativă promițătoare a unei alte soluții de hosting de fișiere open source OwnCloud. În acest articol, vă voi arăta
Folosind un sistem diferit? Netdata este o stea în creștere în domeniul monitorizării în timp real a metricilor sistemului. Comparativ cu alte instrumente de același fel, Netdata:
Folosind un sistem diferit? În acest tutorial, voi explica cum să configurați un server Starbound pe CentOS 7. Condiții preliminare Trebuie să dețineți acest joc pe dvs.
Bine ați venit la un alt tutorial Vultr. Aici, veți învăța cum să instalați și să rulați un server SAMP. Acest ghid a fost scris pentru CentOS 6. Condiții preliminare pe care le veți obține
Folosind un sistem diferit? Elgg este un motor de rețea socială open source care permite crearea de medii sociale, cum ar fi rețelele sociale din campus
RStudio Server este ediția web a RStudio care este o serie de instrumente concepute pentru a facilita munca de codare folosind limbajul de programare R. În ti
Bolt este un CMS open source scris în PHP. Codul sursă Bolts este găzduit pe GitHub. Acest ghid vă va arăta cum instalați Bolt CMS pe un nou CentOS 7 Vult
Bugzilla este un sistem gratuit și open source de urmărire a erorilor, care este utilizat pe scară largă de diverși furnizori pentru a-și îmbunătăți continuu softwar-ul
Prezentare generală Acest articol este menit să vă ajute să obțineți un cluster Kubernetes și să funcționeze cu kubeadm în cel mai scurt timp. Acest ghid va implementa două servere, pe
Folosind un sistem diferit? Introducere Sails.js este un cadru MVC pentru Node.js, similar cu Ruby on Rails. Face pentru dezvoltarea aplicațiilor moderne ver
Funcțiile Vultrs Adu-ți spațiul IP permite o libertate fără precedent în alocarea propriilor resurse IP serverelor din norul Vultr. Noi generall
Acest tutorial va acoperi procesul de instalare a unui server de joc Half Life 2 pe CentOS 6 System. Pasul 1: Instalarea condițiilor preliminare Pentru a configura ou
Introducere Sistemele Linux sunt livrate cu instrumente de monitorizare în mod implicit, cum ar fi top, df și du care ajută la monitorizarea proceselor și a spațiului pe disc. De multe ori însă, acestea sunt
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe