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
Leanote este o alternativă liberă, ușoară și open source la Evernote, care este scrisă în Golang. Având în vedere experiența utilizatorului, Leanote oferă utilizatorilor o mulțime de caracteristici practice, inclusiv suport multiplă platformă, scriere în sintaxa MarkDown, bloguri publice sau private, colectarea și distribuirea cunoștințelor și colaborarea în echipă.
În acest articol, vă voi ghida prin Configurarea unui server Leanote pe o instanță a serverului CentOS 7. În scopuri de securitate, activarea HTTPS support
utilizării unui certificat SSL Encrypt SSL și Nginx vor fi de asemenea acoperite.
203.0.113.1
.leanote
.leanote.example.com
fiind indicat spre instanța de server menționată mai sus.Când se lansează o nouă instanță a serverului Vultr CentOS 7, se recomandă întotdeauna configurarea unui fișier swap pentru a vă asigura că sistemul funcționează fără probleme. De exemplu, crearea unui fișier swap de dimensiune 2048MB este potrivită pentru o mașină cu 2 GB memorie.
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Notă: Dacă utilizați o dimensiune diferită a serverului, poate fi necesar să modificați dimensiunea fișierului swap.
Descărcați și extrageți cea mai recentă versiune stabilă a Leanote pentru sistemul Linux pe 64 de biți:
cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz
Așa cum a cerut Leanote, DBMS MongoDB NoSQL trebuie să fie pe loc înainte de a putea configura cu succes un server Leanote.
Creați repetiția MongoDB 4.0 YUM după cum urmează:
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Instalați toate componentele și instrumentele MongoDB folosind repoțiunea MongoDB 4.0 YUM creată anterior:
sudo yum install -y mongodb-org
În mod implicit, MongoDB ar utiliza 27017
portul atunci când lucrează, ceea ce nu este permis dacă SELinux este în enforcing
modul de pe aparatul CentOS 7. Folosiți următoarea comandă pentru a confirma modul SELinux curent:
sudo getenforce
Pe o instanță a serverului Vultr CentOS 7, SELinux este dezactivat implicit. Deci rezultatul comenzii de mai sus ar fi:
Disabled
În acest caz, puteți să nu ezitați să ignorați următoarele instrucțiuni privind configurarea SELinux și să continuați.
Cu toate acestea, dacă executați o instanță de server CentOS 7 originală, rezultatul comenzii de mai sus ar fi Enforcing
. Trebuie să efectuați oricare dintre cele trei opțiuni de mai jos înainte de a putea porni și activa serviciul MongoDB.
Opțiunea 1: Permiteți MongoDB să utilizeze 27017
portul
sudo semanage port -a -t mongod_port_t -p tcp 27017
Opțiunea 2: Dezactivați SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Opțiunea 3: Modificați SELinux în permissive
mod
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Porniți serviciul MongoDB și faceți-l să înceapă după o repornire a sistemului:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Utilizați comenzile de mai jos pentru a importa datele inițiale ale Leanote în MongoDB:
rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/
În scopuri de securitate, trebuie să activați controlul de acces la MongoDB imediat după ce serviciul MongoDB este pornit. În acest scop, trebuie să creați cel puțin două conturi de utilizator MongoDB: un cont de utilizator de utilizator și un cont de administrator de bază de date. De asemenea, va trebui să modificați configurația MongoDB.
Introduceți shell-ul MongoDB:
mongo --host 127.0.0.1:27017
Comutați la admin
baza de date:
use admin
Creați un administrator de nume useradmin
care utilizează o parolă useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Notă: Se useradmin
presupune că administratorul utilizatorului gestionează toți utilizatorii MongoDB, deci este înțelept să alegeți o parolă puternică. Desigur, un sfat mai sigur este înlocuirea useradmin
cu un nume de utilizator greu de ghicit.
Comutați la leanote
baza de date:
use leanote
Creați un administrator de bază de date numit leanoteadmin
care utilizează o parolă leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Notă : din nou, este recomandat să alegeți un nume de utilizator mai puțin cunoscut și o parolă greu de ghicit.
După crearea utilizatorilor MongoDB, puteți confirma rezultatele:
use admin
db.auth("useradmin", "useradminpassword")
Confirmați administratorul bazei de date:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
Ambele vor ieși 1
ca confirmare.
Ieșiți de shell-ul MongoDB:
exit
Pentru a activa controlul accesului la MongoDB, trebuie să adăugați două linii la fișierul de configurare MongoDB /etc/mongod.conf
, după cum urmează:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Reporniți serviciul MongoDB pentru ca modificările să aibă efect:
sudo systemctl restart mongod.service
De acum, puteți utiliza cele două conturi de utilizator pentru a accesa și gestiona MongoDB, useradmin
pentru gestionarea tuturor utilizatorilor MongoDB și leanoteadmin
pentru gestionarea leanote
bazei de date numai.
Copia de rezervă a fișierului de configurare Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Folosiți vi
editorul pentru a deschide fișierul de configurare Leanote:
vi app.conf
Găsiți rândurile următoare una câte una:
site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
Înlocuiți-le, așa cum se arată mai jos:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Notă: în scopuri de securitate, valoarea app.secret
parametrului TREBUIE să fie un șir de caractere aleatoriu pe 64 de biți diferit de cel inițial. Asigurați-vă că înlocuiți valoarea E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
cu propria valoare aleatorie pe 64 de biți.
Salvează și închide:
:wq!
Modificați regulile firewallului pentru a permite traficul TCP de intrare în port 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Porniți Leanote folosind scriptul oficial:
cd /home/leanote/leanote/bin
bash run.sh
Când vedeți Listening on.. 0.0.0.0:9000
, indicați browserul dvs. web preferat pentru http://leanote.example.com:9000
a începe să utilizați site-ul Leanote.
Folosiți contul implicit de administrare Leanote pentru a vă conecta:
admin
abc123
În scopuri de securitate, ar trebui să schimbați parola implicită imediat după conectare.
HTTPS
accesulDeocamdată, puteți accesa deja serverul Leanote folosind protocolul HTTP, un protocol mai puțin sigur. Pentru a îmbunătăți securitatea sistemului, puteți activa HTTPS
utilizând atât un certificat Let's Encrypt SSL, cât și un proxy Nginx reverse pe mașina dvs.
Înainte de a putea obține certificatul Let's Encrypt SSL, trebuie să configurați corect numele de gazdă și FQDN pe aparatul dvs.
Mai întâi, apăsați CTRL+ Cpentru a opri scriptul Leanote run.sh
.
În continuare, configurați numele de gazdă și FQDN după cum urmează:
sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF
Puteți confirma și rezultatele:
hostname
hostname -f
Blocați traficul de intrare în port 9000
și permiteți traficul de intrare în porturi HTTP
și HTTPS
servicii:
sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Instalați utilitarul Certbot:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
Solicitați un certificat SSL Let's Encrypt pentru domeniu leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
Certificatul și lanțul vor fi salvate după cum urmează:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
Fișierul cu cheie privată va fi salvat după cum urmează:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
În mod implicit, certificatul Let's Encrypt SSL va expira în trei luni. Puteți configura o lucrare cron, după cum se arată mai jos, pentru reînnoirea automată a certificatelor Let's Encrypt:
sudo crontab -e
Apăsați Ipentru a intra în insert
modul, apoi introduceți următoarea linie:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Salvează și închide:
:wq!
Acest job cron va încerca să reînnoiască certificatul Let's Encrypt în fiecare zi la prânz.
Instalați Nginx folosind repetiția EPEL YUM:
sudo yum install -y nginx
Creați un fișier de configurare pentru Leanote:
cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name leanote.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name leanote.example.com;
ssl_certificate /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leanote.example.com/privkey.pem;
# Proxy to the Leanote server
location / {
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-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
EOF
Reporniți Nginx pentru a aplica modificările:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Modificați site.url
setarea în fișierul de configurare Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
Găsiți următoarea linie:
site.url=http://leanote.example.com:9000
Inlocuieste-l:
site.url=https://leanote.example.com
Salvează și închide:
:wq!
Executați scriptul Leanote din nou:
cd /home/leanote/leanote/bin
bash run.sh
Acum, îndreaptă-ți browserul web preferat http://leanote.example.com/
și vei vedea că HTTPS
protocolul este activat automat. admin
Trebuie doar să vă conectați ca utilizator cu noua parolă pe care ați configurat-o mai devreme sau să înregistrați noi conturi de utilizator pentru colaborarea în echipă.
Din nou, apăsați CTRL+ Cpentru a opri scriptul Leanote. Vom daemoniza acest script mai târziu.
wkhtmltopdf
programulLeanote alege să utilizeze wkhtmltopdf
programul pentru a exporta pagini HTML ca fișiere PDF. Instalați wkhtmltopdf
:
cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf
Nu uitați să trimiteți wkhtmltopdf
calea binară /usr/local/bin/wkhtmltopdf
în Export PDF
secțiunea din tabloul de bord Leanote web adminboard atunci când Leanote este pornit din nou.
Notă: Dacă găsiți caractere necitibile în fișierele PDF exportate, puteți încerca să remediați problema adăugând fișierele de caractere necesare în /usr/share/fonts/
director.
Pentru a vă menține site-ul Leanote online, puteți utiliza utilitarul Supervisor pentru a porni automat scriptul Leanote dacă se blochează.
Instalați Supervisor folosind YUM:
sudo yum install -y supervisor
Creați un .ini
fișier simplu de Supervizor pentru Leanote:
cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF
Porniți serviciul de Supervizor, precum și serviciul Leanote:
sudo supervisord -c /etc/supervisord.conf
Confirmați starea serviciului Leanote:
sudo supervisorctl status leanote
Rezultatul va fi asemănător cu următoarele:
leanote RUNNING pid 3707, uptime 0:02:36
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