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
GoCD este un sistem de livrare și automatizare continuă a surselor deschise. Vă permite să modelați fluxuri de lucru complexe folosind execuția sa paralelă și secvențială. Harta fluxului de valori vă permite să vizualizați cu ușurință un flux de lucru complex. GoCD vă permite să comparați cu ușurință două versiuni și să implementați orice versiune a aplicației dorite. Ecosistemul GoCD este format din server GoCD și agent GoCD. GoCD este responsabil pentru controlul a orice, cum ar fi rularea interfeței de utilizator bazate pe web și gestionarea și furnizarea de locuri de muncă agentului. Agenții Go sunt responsabili de executarea locurilor de muncă și a implementărilor.
Pentru acest tutorial, vom folosi 192.168.1.1
ca adresă IP publică și gocd.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 și adresa IP de exemplu cu una 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 Java.
GoCD necesită Java versiunea 8 și acceptă atât Oracle Java cât și OpenJDK. În acest tutorial, vom instala Java 8 de la OpenJDK.
OpenJDK poate fi instalat cu ușurință, deoarece pachetul este disponibil în YUM
depozitul implicit .
sudo yum -y install java-1.8.0-openjdk-devel
Dacă Java este instalat corect, atunci veți putea verifica versiunea sa.
java -version
Veți obține o ieșire similară cu textul următor.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Înainte de a putea merge mai departe, va trebui să stabilim variabilele JAVA_HOME
și JRE_HOME
mediul. Găsiți calea absolută a executabilului Java în sistemul dvs.
readlink -f $(which java)
Următorul text va fi transmis către terminalul dvs.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java
Acum, setați variabilele JAVA_HOME
și JRE_HOME
mediul în funcție de calea directorului Java.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Notă: Asigurați-vă că utilizați calea Java obținută pe sistemul dvs. Calea folosită în acest tutorial se poate schimba atunci când este lansată o nouă versiune de Java 8.
Executați bash_profile
fișierul.
source ~/.bash_profile
Acum puteți rula echo $JAVA_HOME
comanda pentru a vă asigura că variabila de mediu este setată.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD este scris în Java, prin urmare Java este singura dependență care rulează GoCD. GoCD poate fi instalat cu ajutorul YUM
. Instalați depozitul său oficial în sistem.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Instalați serverul GoCD în sistemul dvs.
sudo yum install -y go-server
Porniți GoCD și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl start go-server
sudo systemctl enable go-server
Înainte de a accesa tabloul de bord GoCD, să creăm un nou director care să stocheze artefactele. Artifactele pot fi stocate pe același disc în care sunt instalate sistemul de operare și aplicațiile. În mod alternativ, puteți utiliza un disc dedicat sau o unitate de stocare blocată pentru a stoca artefactele.
Dacă doriți să utilizați același disc pentru a stoca artefactele, trebuie doar să creați un nou director și să oferiți proprietatea utilizatorului GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
Software-ul GoCD recomandă utilizarea unei partiții suplimentare sau a unei unități pentru a stoca artefactele. Într-o platformă de integrare și livrare continuă, artefacte sunt generate foarte des. Spațiul pe disc scade în timp, atunci când se generează continuu noi artefacte. La un moment dat, sistemul dvs. va rămâne fără spațiu pe disc liber, iar serviciile care rulează pe sistemul dvs. vor eșua. Pentru a depăși această problemă, puteți atașa o nouă unitate de stocare bloc Vultr pentru a stoca artefactele. Dacă mai doriți să mergeți cu stocarea artefactelor pe aceeași unitate, treceți la secțiunea „Firewall de configurare”.
Implementați o nouă unitate de stocare bloc și atașați-o la instanța serverului dvs. GoCD. Acum creați o nouă partiție pe dispozitivul de stocare bloc.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Creați sistemul de fișiere pe noul disc.
sudo mkfs.ext4 /dev/vdb1
Montați unitatea de stocare bloc.
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
Acum, executați df
și veți vedea noua unitate de stocare bloc blocată /mnt/artifacts
.
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
Furnizați proprietatea directorului utilizatorului GoCD.
sudo chown -R go:go /mnt/artifacts
Modificați configurația firewallului pentru a permite porturile 8153
și 8154
prin firewall. Portul 8153
ascultă conexiunile nesecurizate și portul 8154
pentru conexiunile securizate.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
Acum puteți accesa tabloul de bord GoCD pe http://192.168.1.1:8153
. Pentru a accesa tabloul de bord GoCD pe o conexiune securizată, accesați https://192.168.1.1:8154
. Veți primi unele erori care arată că certificatele nu sunt valide. Puteți ignora în siguranță eroarea, deoarece certificatele sunt autofirmate. În scopuri de securitate, ar trebui să utilizați întotdeauna tabloul de bord printr-o conexiune securizată.
Înainte de a configura o conductă nouă, navigați la " Admin >> Server Configuration
" din bara de navigare de sus.
Introduceți adresa URL către site-ul dvs. nesecurizat în câmpul " Site URL
" și site-ul securizat în câmpul " Secure Site URL
".
Apoi, furnizați detaliile serverului dvs. SMTP pentru a trimite notificări prin e-mail de la GoCD.
În cele din urmă, furnizați calea către locația în care doriți să depozitați artefactele. Dacă ați ales să stocați artefactele pe același disc cu sistemul de operare, introduceți /opt/artifacts
; dacă ați ales să atașați o unitate de stocare bloc, atunci puteți introduce /mnt/artifacts
.
De asemenea, puteți configura GoCD pentru a șterge automat artefactele vechi. Configurați următoarea opțiune în funcție de dimensiunea discului. Cu toate acestea, opțiunea de ștergere automată nu necesită o copie de rezervă a vechilor artefacte. Pentru a lua manual o copie de rezervă și a șterge vechile artefacte, dezactivați ștergerea automată, alegând opțiunea " Never
" pentru opțiunea " Auto delete old artifacts
".
Va trebui să reporniți serverul GoCD pentru ca noile modificări să fie aplicate.
sudo systemctl restart go-server
În mod implicit, tabloul de bord GoCD nu este configurat pentru a utiliza niciun fel de autentificare, dar acceptă autentificarea folosind un fișier de parolă și LDAP. În acest tutorial, vom configura autentificarea bazată pe parolă.
Notă : Configurarea autentificării este o etapă opțională, dar este recomandată pentru serverele care se confruntă cu public, cum ar fi Vultr.
Instalați instrumentele Apache, astfel încât să putem folosi htpasswd
comanda pentru a crea un fișier cu parolă criptată.
sudo yum -y install httpd-tools
Creați un fișier cu parolă cu htpasswd
comanda utilizând criptarea Bcrypt.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Furnizați parola pentru utilizator de două ori. Veți vedea următoarea ieșire.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Puteți adăuga cât mai mulți utilizatori doriți folosind aceeași comandă de mai sus, dar eliminând -c
opțiunea. -c
Opțiunea va înlocui fișierul existent, înlocuind utilizatorii vechi cu noul utilizator.
sudo htpasswd -B /etc/go/passwd_auth gouser1
De când am creat fișierul cu parolă, accesați din nou tabloul de bord GoCD. Navigați la " Admin >> Security >> Authorization Configurations
" din bara de navigare de sus. Faceți clic pe Add
buton și furnizați un ID. Alegeți " Password File Authentication Plugin for GoCD
" pentru ID-ul pluginului și direcționați calea către fișierul cu parolă. Acum faceți clic pe butonul " Check Connection
" pentru a verifica dacă GoCD poate utiliza fișierul cu parolă pentru autentificare.
În cele din urmă, salvați metoda de autentificare. Reîncărcați tabloul de bord și vă va deconecta automat. Acum veți vedea un ecran de conectare. Conectați-vă folosind datele de autentificare create anterior.
Va trebui să promovați manual utilizatorul de administrator, în caz contrar, toți utilizatorii vor avea privilegii de administrator. Navigați la " Admin >> User Summary
" din bara de navigare de sus.
Acum selectați administratorul pe care l-ați creat și faceți clic pe Roles
meniul derulant " ". Promovați utilizatorul la singurul administrator, selectând Go System Administrator
caseta de selectare.
Pentru a adăuga utilizatorii din GoCD creat în fișierul cu parolă, faceți clic pe butonul " ADD
" și căutați utilizatorul pentru a le adăuga. Utilizatorii sunt de asemenea adăugați automat la tabloul de bord GoCD la prima autentificare. Evident, pentru ca utilizatorii să se autentifice, trebuie să fie adăugați la fișierul de parole pe care l-am creat anterior.
În mod implicit, GoCD ascultă porturile 8153
și 8154
conexiunile sigure. Deși portul 8154
oferă o conexiune sigură la aplicație, acesta afișează, de asemenea, erori ale browserului, deoarece folosește un certificat auto-semnat. În această secțiune a tutorialului, vom instala și securiza Nginx cu certificatul SSL gratuit Let's Encrypt. Serverul web Nginx va funcționa ca un proxy invers pentru a trimite solicitările primite către punctul HTTP
final al GoCD .
Instalați Nginx.
sudo yum -y install nginx
Porniți Nginx și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl start nginx
sudo systemctl enable nginx
Instalați Certbot, care este aplicația client pentru Let's Encrypt CA.
sudo yum -y install certbot
Înainte de a putea solicita certificate, va trebui să permiteți porturi 80
și 443
, sau standard HTTP
și HTTPS
servicii, prin firewall. De asemenea, eliminați portul 8153
, care ascultă conexiunile nesecurizate.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8153/tcp --permanent
sudo firewall-cmd --reload
Notă : Pentru a obține certificate de la Let's Encrypt CA, domeniul pentru care se vor genera certificatele trebuie îndreptat către server. Dacă nu, faceți modificările necesare în înregistrările DNS ale domeniului și așteptați propagarea DNS înainte de a face din nou cererea de certificare. Certbot verifică autoritatea domeniului înainte de furnizarea certificatelor.
Generați certificatele SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
Este posibil ca certificatele generate să fie stocate în /etc/letsencrypt/live/gocd.example.com/
. Certificatul SSL va fi stocate ca fullchain.pem
și cheia privată vor fi stocate ca privkey.pem
.
Să criptăm certificatele să expire în 90 de zile, de aceea este recomandat să configurați reînnoirea automată a certificatelor folosind joburi cron.
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. În cazul în care certificatul expiră, acesta se va reînnoi automat.
Acum, schimbați fișierul de configurare implicit Nginx pentru a scoate default_server
linia.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Creați un nou fișier de configurare pentru interfața web GoCD.
sudo nano /etc/nginx/conf.d/gocd.conf
Populați fișierul.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80 default_server;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Verificați dacă există erori în noul fișier de configurare.
sudo nginx -t
Dacă vedeți următoarea ieșire, configurația este fără erori.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Dacă ați primit un fel de eroare, asigurați-vă că verificați de două ori calea către certificatele SSL. Reporniți serverul web Nginx pentru a implementa modificarea configurației.
sudo systemctl restart nginx
Acum puteți accesa tabloul de bord GoCD la https://gocd.example.com
. Conectați-vă la tabloul de bord utilizând acreditările de administrator și navigați la " Admin >> Server Configuration
" din bara de navigare de sus.
Setați " Site URL
" și " Secure Site URL
" la https://gocd.example.com
. Portul 8154
trebuie să fie accesibil încă prin firewall, astfel încât agenții la distanță să se poată conecta la server prin port 8154
, în cazul în care nu se pot conecta prin HTTP
portul standard .
În mediul de integrare continuă GoCD, agenții GoCD sunt lucrătorii care sunt responsabili de executarea tuturor sarcinilor. Când este detectată o modificare a sursei, conducta este declanșată și lucrările sunt atribuite lucrătorilor disponibili pentru execuție. Apoi, agentul execută sarcina și raportează starea finală după executare.
Pentru a rula o conductă, trebuie configurat cel puțin un agent. Continuați să instalați agentul GoCD pe serverul GoCD.
Întrucât am importat deja depozitul GoCD în server, putem instala direct agentul Go.
sudo yum install -y go-agent
Acum, porniți serverul GoCD și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl start go-agent
sudo systemctl enable go-agent
Agentul GoCD care rulează pe localhost este activat automat atunci când este detectat.
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