Cum să configurați un server Leanote pe CentOS 7

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 supportutilizării unui certificat SSL Encrypt SSL și Nginx vor fi de asemenea acoperite.

Cerințe preliminare

  • O instanță recent instalată a serverului Vultr CentOS 7. Spune că adresa sa IPv4 este 203.0.113.1.
  • Un utilizator sudo numit leanote.
  • Toate pachetele software de pe mașină au fost actualizate la starea cea mai recentă stabilă utilizând repoziția EPEL YUM Vezi detalii aici .
  • Un domeniu leanote.example.comfiind indicat spre instanța de server menționată mai sus.

Pasul 1: Creați un fișier swap

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.

Pasul 2: Obțineți fișiere binare Leanote 2.6.1

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

Pasul 3: Instalați MongoDB Community Edition 4.0

Așa cum a cerut Leanote, DBMS MongoDB NoSQL trebuie să fie pe loc înainte de a putea configura cu succes un server Leanote.

Configurați repoziția MongoDB 4.0 YUM

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 pachetele MongoDB 4.0 utilizând YUM

Instalați toate componentele și instrumentele MongoDB folosind repoțiunea MongoDB 4.0 YUM creată anterior:

sudo yum install -y mongodb-org

Configurați SELinux pentru MongoDB 4.0

În mod implicit, MongoDB ar utiliza 27017portul atunci când lucrează, ceea ce nu este permis dacă SELinux este în enforcingmodul 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 27017portul

    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 permissivemod

    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

Pasul 4: Importați datele inițiale ale Leanote în MongoDB

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/

Pasul 5: Activați autentificarea MongoDB

Î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 adminbaza de date:

use admin

Creați un administrator de nume useradmincare utilizează o parolă useradminpassword:

db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

Notă: Se useradminpresupune 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 useradmincu un nume de utilizator greu de ghicit.

Comutați la leanotebaza de date:

use leanote

Creați un administrator de bază de date numit leanoteadmincare 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 1ca 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, useradminpentru gestionarea tuturor utilizatorilor MongoDB și leanoteadminpentru gestionarea leanotebazei de date numai.

Pasul 6: Configurați Leanote

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 vieditorul 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.secretparametrului 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 E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sAcu propria valoare aleatorie pe 64 de biți.

Salvează și închide:

:wq!

Pasul 7: Porniți Leanote

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:9000a începe să utilizați site-ul Leanote.

Folosiți contul implicit de administrare Leanote pentru a vă conecta:

  • Nume de utilizator: admin
  • Parola: abc123

În scopuri de securitate, ar trebui să schimbați parola implicită imediat după conectare.

Pasul 8: Activați HTTPSaccesul

Deocamdată, 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 HTTPSutilizând atât un certificat Let's Encrypt SSL, cât și un proxy Nginx reverse pe mașina dvs.

Configurați corect un nume de gazdă și un nume de domeniu complet calificat (FQDN)

Î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

Modificați regulile firewall-ului

Blocați traficul de intrare în port 9000și permiteți traficul de intrare în porturi HTTPși HTTPSservicii:

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

Aplicați pentru un certificat Let's Encrypt SSL

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 insertmodul, 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 ca proxy invers

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.urlsetarea î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ă HTTPSprotocolul este activat automat. adminTrebuie 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.

Pasul 9: Instalează wkhtmltopdfprogramul

Leanote alege să utilizeze wkhtmltopdfprogramul 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 wkhtmltopdfcalea binară /usr/local/bin/wkhtmltopdfîn Export PDFsecț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.

Pasul 10: Utilizați Supervizorul pentru a menține scriptul Leanote în funcțiune

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 .inifiș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


Leave a Comment

Instalare RethinkDB Cluster pe CentOS 7

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

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

Î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

Cum să compilați Nginx din sursă pe CentOS 7

Cum să compilați Nginx din sursă pe CentOS 7

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

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Cum se instalează Chamilo 1.11.8 pe CentOS 7

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ă

Instalarea comunității Odoo 9 pe CentOS 7

Instalarea comunității Odoo 9 pe CentOS 7

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

Cum se instalează Couch CMS 2.0 pe un VPS CentOS 7 LAMP

Cum se instalează Couch CMS 2.0 pe un VPS CentOS 7 LAMP

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

Cum se instalează SonarQube pe CentOS 7

Cum se instalează SonarQube pe CentOS 7

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ă

Cum se instalează NextCloud 9 pe CentOS 7

Cum se instalează NextCloud 9 pe CentOS 7

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

Instalarea Netdata pe CentOS 7

Instalarea Netdata pe CentOS 7

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:

Cum se instalează Starbound Server pe CentOS 7

Cum se instalează Starbound Server pe CentOS 7

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.

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

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

Instalați Elgg pe CentOS 7

Instalați Elgg pe CentOS 7

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

Cum se instalează RStudio Server pe CentOS 7

Cum se instalează RStudio Server pe CentOS 7

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

Instalarea Bolt CMS pe CentOS 7

Instalarea Bolt CMS pe CentOS 7

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

Cum se instalează Bugzilla 5.0.x pe CentOS 7

Cum se instalează Bugzilla 5.0.x pe CentOS 7

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

Implementați Kubernetes cu Kubeadm pe CentOS 7

Implementați Kubernetes cu Kubeadm pe CentOS 7

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

Configurare Sails.js pentru dezvoltare pe CentOS 7

Configurare Sails.js pentru dezvoltare pe CentOS 7

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

Configurarea BGP folosind Quagga pe Vultr (CentOS 7)

Configurarea BGP folosind Quagga pe Vultr (CentOS 7)

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

Configurarea unui server Half Life 2 pe CentOS 6

Configurarea unui server Half Life 2 pe CentOS 6

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

Instrumente de monitorizare mai bune pentru Ubuntu și CentOS

Instrumente de monitorizare mai bune pentru Ubuntu și CentOS

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

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

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”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

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: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

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?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

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.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

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!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

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.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

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