Cum se instalează dotCMS pe CentOS 7

dotCMS este un sistem open source de gestionare a conținutului pentru întreprinderi, scris în Java. Conține aproape fiecare caracteristică necesară pentru a crea un site web pentru afacerea dvs. Oferă o API RESTful pentru a se integra cu alte servicii, cum ar fi CRM, aplicații mobile și multe altele. Folosește Elasticsearch pentru indexarea conținutului în timp real și Redis pentru implementarea cache-ului multistrat.

Acest articol a fost scris pentru dotCMS 4.2.2, însă instrucțiunile furnizate pot funcționa și pentru versiuni mai noi.

Cerințe preliminare

  • O instanță a serverului Vultr CentOS 7.
  • Un utilizator sudo .
  • Un nume de domeniu îndreptat către server.

Pentru acest tutorial, vom folosi 192.168.0.1ca adresă IP publică și cms.example.comca 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 publică 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.

Instalați Java

OpenJDK poate fi instalat cu ușurință, deoarece pachetul este disponibil în depozitul YUM 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ă.

[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_HOMEmediul. Găsiți calea absolută a executării Java pe sistemul dvs.

readlink -f $(which java)

Veți vedea o ieșire similară.

[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java

Acum, setați variabilele JAVA_HOMEși JRE_HOMEmediul în funcție de calea directorului Java.

echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile

Executați bash_profilefișierul.

source ~/.bash_profile

Acum puteți rula echo $JAVA_HOMEcomanda 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

Instalați PostgreSQL

În mod implicit, dotCMS este configurat pentru a utiliza motorul bazei de date H2. Motorul bazei de date H2 este un motor de baze de date bazat pe fișiere plate. Nu se recomandă utilizarea în producție. În acest tutorial, vom folosi serverul PostgreSQL pentru a stoca baza de date dotCMS.

PostgreSQL este un sistem de baze de date relațional cu obiecte și cunoscut pentru stabilitatea și viteza sa. Adăugați depozitul celei mai recente versiuni de PostgreSQL în sistem.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Instalați serverul de baze de date PostgreSQL.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Inițializează baza de date.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Porniți serverul PostgreSQL și permiteți-l să pornească automat la momentul de pornire.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Modificați parola pentru utilizatorul implicit PostgreSQL.

sudo passwd postgres

Conectați-vă ca utilizator implicit PostgreSQL.

sudo su - postgres

Creați un nou utilizator PostgreSQL pentru dotCMS.

createuser dotcms 

PostgreSQL furnizează psqlshell - ul pentru a rula interogări pe serverul de baze de date. Comutați la shell-ul PostgreSQL.

psql

Setați o parolă pentru utilizatorul nou creat pentru baza de date dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Înlocuiți parola utilizatorului bazei de date DBPasswordcu o parolă sigură. Creați o nouă bază de date pentru instalarea dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Ieșiți din psqlcoajă.

\q

Comutați la sudoutilizator.

exit

Instalați dotCMS

Descărcați arhiva dotCMS.

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.2.tar.gz

Puteți găsi întotdeauna linkul la cea mai recentă versiune a aplicației pe pagina de descărcare dotCMS .

Creați un nou director pentru a stoca fișierele dotCMS și a le extrage în acesta.

sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms

Deschideți fișierul de configurare a bazei de date.

cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml

Găsiți H2blocul.

<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Comentați întreaga H2secțiune înlocuind delimitatorul de comentarii -->de la începutul secțiunii până la sfârșitul secțiunii. Ar trebui să arate după cum urmează.

<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->

Decomandați secțiunea PostgreSQL prin eliminarea delimiterului de comentarii -->de la sfârșitul secțiunii și plasarea acesteia pe ambalajul de sus POSTGRESQL. De asemenea, găsiți username=și password=înlocuiți valorile existente cu numele de utilizator și parola utilizatorului dvs. de bază de date PostgreSQL. Dacă ați utilizat o altă bază de date decât dotcms, atunci va trebui să modificați numele bazei de date în url=. Odată configurat, blocul PostgreSQL din fișier ar trebui să arate după cum urmează.

<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      driverClassName="org.postgresql.Driver"
      url="jdbc:postgresql://localhost/dotcms"
      username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
      removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
      timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Furnizați permisiunea de execuție pentru toate fișierele executabile.

sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh

dotCMS este acum instalat pe serverul dvs. Pentru a rula imediat aplicația, executați următoarele.

cd /opt/dotcms
sudo bin/startup.sh

Veți vedea următoarea ieșire atunci când serverul a început cu succes.

[user@vultr dotcms]$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS =  -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME:        /
Using CLASSPATH:       /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID:    /tmp/dotcms.pid
Tomcat started.

Comanda de mai sus va porni serverul web Tomcat pentru a servi aplicația pe port 8080. Pentru a verifica dacă site-ul web dotCMS funcționează, permiteți portul necesar 8080prin firewall-ul sistemului.

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Deschideți browserul preferat și răsfoiți la http://192.168.0.1:8080. Ar trebui să vedeți că aplicația rulează un site web demo. Dacă nu vedeți site-ul dvs. web, vă rugăm să așteptați, deoarece prima pornire a serverului dotCMS durează câteva minute în timp ce scrie date în baza de date PostgreSQL și creează memoria cache. Puteți verifica, de asemenea, jurnalele de pornire.

tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log

Configurați serviciul Systemd

Serverul dotCMS poate fi pornit direct folosind scriptul de pornire furnizat în pachetul de instalare. Ca și comoditate, ar trebui să configurați un fișier unitate Systemd pentru serverul dotCMS. Acest lucru vă va asigura că serverul de aplicații este pornit automat la repornirea sistemului și a eșecurilor.

Opriți rularea serverului dotCMS folosind scriptul de oprire.

sudo bin/shutdown.sh

Creați un utilizator neprivitat pentru a rula serverul dotCMS, din motive de securitate.

sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms

Oferiți proprietatea fișierelor utilizatorului dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Creați un nou serviciu Systemd.

sudo nano /etc/systemd/system/dotcms.service

Populați fișierul.

[Unit]
Description=dotCMS service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always

[Install]
WantedBy=multi-user.target

Porniți aplicația și activați-o pentru a porni automat la momentul de pornire.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Asigurați-vă că serviciul este în funcțiune.

sudo systemctl status dotcms

Configurați proxy-ul invers

În mod implicit, serverul dotCMS ascultă port 8080. Vom configura Nginx ca proxy invers, astfel încât aplicația să poată fi accesată prin standard HTTPși HTTPSporturi. De asemenea, vom configura Nginx pentru a utiliza SSL-ul generat cu ajutorul programului Let's Encrypt SSL free.

Instalați serverul web Nginx.

sudo yum -y install nginx

Porniți serverul web și permiteți-l să pornească automat la momentul de pornire.

sudo systemctl start nginx
sudo systemctl enable nginx

Instalați Certbot, care este o aplicație client pentru Let's Encrypt CA.

sudo yum -y install certbot

Înainte de a putea solicita certificatele, va trebui să permiteți porturile 80și 443standardul HTTPși HTTPSserviciile prin firewall. De asemenea, eliminați portul 8080din lista de excepții pentru firewall, deoarece nu mai este necesar.

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --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 cms.example.com

Este posibil ca certificatele generate să fie stocate în /etc/letsencrypt/live/cms.example.com/. 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. Dacă certificatul expiră, acesta va fi reînnoit automat.

Creați un nou fișier de bloc de server pentru site-ul dotCMS.

sudo nano /etc/nginx/conf.d/cms.example.com.conf

Populați fișierul.

server {
    listen 80;
    server_name cms.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name cms.example.com;

    ssl_certificate           /etc/letsencrypt/live/cms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/cms.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/dotcms.access.log;

    location / {

      proxy_set_header        Host $host;
      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 $scheme;

      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://cms.example.com;
    }
  }

Reporniți serverul web Nginx pentru ca modificările să aibă efect.

sudo systemctl restart nginx

Aplicația dotCMS este acum instalată pe serverul dvs. pentru utilizare. Accesați tabloul de bord administrativ pe următoarea adresă.

https://cms.example.com/dotAdmin

Conectați-vă folosind contul inițial de administrator [email protected]și admin. Modificați parola implicită imediat după autentificare.

Felicitări, sistemul de gestionare a conținutului dotCMS este acum instalat pe serverul dvs. Puteți modifica site-ul demo sau puteți începe să vă construiți site-ul de la zero.



Leave a Comment

Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP

Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Cum se instalează Thelia 2.3 pe Debian 9

Cum se instalează Thelia 2.3 pe Debian 9

Folosind un sistem diferit? Thelia este un instrument open source pentru crearea de site-uri web pentru e-business și gestionarea conținutului online scris în PHP. Codul sursă Thelia i

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ă Automad CMS pe FreeBSD 12

Cum se instalează Automad CMS pe FreeBSD 12

Folosind un sistem diferit? Automad este un sistem open source de conținut bazat pe fișiere (CMS) și motor de șabloane, scris în PHP. Codul sursă Automad i

Cum se instalează BlogoText CMS pe un VPS Debian 9 LAMP

Cum se instalează BlogoText CMS pe un VPS Debian 9 LAMP

Folosind un sistem diferit? BlogoText CMS este un sistem simplu și ușor, gratuit și liber de gestionare a conținutului de conținut (CMS) și un motor de blog minimalist

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ă Backdrop CMS 1.8.0 pe un Debian 9 LAMP VPS

Cum se instalează Backdrop CMS 1.8.0 pe un Debian 9 LAMP VPS

Folosind un sistem diferit? Fundalul CMS 1.8.0 este un sistem de management al conținutului (CMS), simplu și flexibil, mobil, prietenos și gratuit, care ne permite

Cum se instalează Pagekit 1.0 CMS pe un VPS Debian 9 LAMP

Cum se instalează Pagekit 1.0 CMS pe un VPS Debian 9 LAMP

Folosind un sistem diferit? Pagekit 1.0 CMS este un sistem frumos de gestionare a conținutului (CMS), modular, extensibil și ușor, gratuit și deschis, cu

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Cum se instalează MODX CMS și Nginx pe CentOS 7

Cum se instalează MODX CMS și Nginx pe CentOS 7

MODX este un sistem de gestionare a conținutului liber și open source scris în PHP. Folosește MySQL sau MariaDB pentru a stoca baza de date. MODX este proiectat pentru business i

Cum se instalează WonderCMS pe FreeBSD 12

Cum se instalează WonderCMS pe FreeBSD 12

Folosind un sistem diferit? WonderCMS este un CMS cu fișier plat, de tip open source, rapid și mic, scris în PHP. Codul sursă WonderCMS este găzduit pe Github. Acest ghid va fi

Cum se instalează Neos CMS pe Ubuntu 18.04 LTS

Cum se instalează Neos CMS pe Ubuntu 18.04 LTS

Folosind un sistem diferit? Neos este o platformă de aplicații de conținut cu un CMS și un cadru de aplicații în centrul său. Acest ghid vă va arăta cum să instalați

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Pagekit 1.0 CMS este un sistem frumos de gestionare a conținutului (CMS), modular, extensibil și ușor, gratuit și deschis, cu

Cum se instalează Redaxscript 3.2 CMS pe un VPS Debian 9 LAMP

Cum se instalează Redaxscript 3.2 CMS pe un VPS Debian 9 LAMP

Folosind un sistem diferit? Redaxscript 3.2 CMS este un sistem de gestionare a conținutului (CMS) modern și ultra ușor, gratuit și deschis, cu rachetă

Instalați Tiki Wiki CMS Groupware pe Ubuntu 18.04 LTS

Instalați Tiki Wiki CMS Groupware pe Ubuntu 18.04 LTS

Folosind un sistem diferit? Introducere Tiki Wiki CMS Groupware, cunoscut și sub numele de Tiki, este un sistem gratuit și deschis de gestionare a conținutului wiki. Funcția Tikis

Cum se instalează Anchor CMS pe un Ubuntu 16.04 LAMP VPS

Cum se instalează Anchor CMS pe un Ubuntu 16.04 LAMP VPS

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Cum se instalează Subrion 4.1 CMS pe un VPS Fedora 26 LAMP

Cum se instalează Subrion 4.1 CMS pe un VPS Fedora 26 LAMP

Folosind un sistem diferit? Subrion 4.1 CMS este un sistem puternic și flexibil de gestionare a conținutului de surse deschise (CMS), care aduce un conținut intuitiv și clar

Cum se instalează BoltWire pe Ubuntu 18.04

Cum se instalează BoltWire pe Ubuntu 18.04

Folosind un sistem diferit? Introducere BoltWire este un sistem gratuit și ușor de gestionare a conținutului scris în PHP. Comparativ cu majoritatea celorlalți manageri de conținut

Cum se instalează Anchor CMS pe un VPS Debian 9 LAMP

Cum se instalează Anchor CMS pe un VPS Debian 9 LAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Cum se instalează BigTree CMS 4.2 pe un VPS CentOS 7 LAMP

Cum se instalează BigTree CMS 4.2 pe un VPS CentOS 7 LAMP

Folosind un sistem diferit? BigTree CMS 4.2 este un sistem de gestionare a conținutului (CMS) rapid și ușor, gratuit și liber, cu o întreprindere

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