Cara Pasang dotCMS di Ubuntu 16.04

DotCMS adalah sistem pengurusan kandungan sumber terbuka kelas perusahaan yang ditulis di Java. Ini mengandungi hampir setiap ciri yang diperlukan untuk membuat laman web untuk perniagaan anda. Ia menyediakan RESTful API untuk diintegrasikan dengan perkhidmatan lain seperti CRM, aplikasi mudah alih dan banyak lagi. Ia menggunakan Elasticsearch untuk pengindeksan kandungan masa nyata dan Redis untuk melaksanakan cache pelbagai peringkat.

Prasyarat

  • Contoh pelayan Vultr Ubuntu 16.04.
  • Pengguna sudo .
  • Nama domain menunjuk ke pelayan.

Untuk tutorial ini, kami akan menggunakan 192.168.0.1 sebagai alamat IP awam dan cms.example.com sebagai nama domain menunjuk ke arah Vultr. Sila pastikan untuk menggantikan semua kejadian contoh nama domain dan alamat IP awam dengan yang sebenarnya.

Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Apabila sistem anda telah dikemas kini, teruskan untuk memasang Java.

Pasang Java

Tambahkan repositori Ubuntu untuk Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Pasang Java.

sudo apt -y install oracle-java8-installer

Anda akan dapat mengesahkan versi Java.

java -version

Anda akan melihat output berikut.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Tetapkan jalan lalai untuk Java dengan memasang pakej berikut.

sudo apt -y install oracle-java8-set-default

Anda boleh mengesahkan bahawa JAVA_HOMEia telah ditetapkan.

echo $JAVA_HOME

Anda sepatutnya melihat perkara berikut.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Sekiranya anda tidak melihat output sama sekali, anda perlu keluar dari shell semasa dan log masuk semula.

Pasang PostgreSQL

Secara lalai, dotCMS dikonfigurasi untuk menggunakan mesin pangkalan data H2. Enjin pangkalan data H2 adalah enjin pangkalan data berasaskan fail rata. Tidak digalakkan digunakan dalam pengeluaran. Dalam tutorial ini, kita akan menggunakan pelayan PostgreSQL untuk menyimpan pangkalan data dotCMS.

PostgreSQL adalah sistem pangkalan data hubungan objek, yang terkenal dengan kestabilan dan kepantasannya. Repositori lalai lalai mengandungi versi lama PostgreSQL, jadi tambahkan repositori PostgreSQL.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Pasang pelayan pangkalan data PostgreSQL.

sudo apt -y install postgresql

Mulakan pelayan PostgreSQL dan dayakannya secara automatik pada masa boot.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Tukar kata laluan untuk pengguna PostgreSQL lalai.

sudo passwd postgres

Log masuk sebagai pengguna PostgreSQL.

sudo su - postgres

Buat pengguna PostgreSQL baru untuk dotCMS.

createuser dotcms 

PostgreSQL menyediakan psql shell untuk menjalankan pertanyaan di pelayan pangkalan data. Beralih ke shell PostgreSQL.

psql

Tetapkan kata laluan untuk pengguna yang baru dibuat untuk pangkalan data dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Ganti kata laluan pengguna pangkalan data DBPassword dengan kata laluan yang selamat.

Buat pangkalan data baru untuk pemasangan dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Keluar dari psql cangkerang.

\q

Beralih kepada sudo pengguna.

exit

Pasang dotCMS

Muat turun arkib dotCMS.

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

Anda sentiasa boleh mendapatkan pautan ke aplikasi versi terbaru di halaman muat turun dotCMS .

Buat direktori baru untuk menyimpan fail dotCMS dan ekstrak ke dalamnya.

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

Buka fail konfigurasi pangkalan data.

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

Cari H2 blok.

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

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

Komen keseluruhannya H2 dengan memindahkan pembatas komen --> dari permulaan bahagian hingga ke bahagian akhir. Ia seperti yang berikut.

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

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

Tanggalkan bahagian PostgreSQL dengan membuang pembatas komen --> dari akhir bahagian dan meletakkannya di pembungkus atas POSTGRESQL. Juga, cari username= dan password= dan gantikan nilai sedia ada dengan nama pengguna dan kata laluan pengguna pangkalan data PostgreSQL anda. Sekiranya anda telah menggunakan nama pangkalan data selain dotcms, maka anda perlu menukar nama pangkalan data url=. Setelah dikonfigurasi, blok PostgreSQL dalam fail akan kelihatan seperti berikut.

<!-- 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" />

Berikan kebenaran pelaksanaan untuk semua fail yang boleh dilaksanakan.

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

DotCMS kini dipasang pada pelayan anda. Untuk segera menjalankan aplikasi, laksanakan perkara berikut.

cd /opt/dotcms
sudo bin/startup.sh

Anda akan melihat output berikut apabila pelayan berjaya dimulakan.

user@vultr:/opt/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:        /usr
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.

Perintah di atas akan memulakan pelayan web Tomcat untuk melayani aplikasi di port 8080.

Buka penyemak imbas kegemaran anda dan semak imbas http://192.168.0.1:8080. Anda akan melihat bahawa aplikasi tersebut menjalankan laman web demo. Sekiranya anda tidak melihat laman web anda, sila tunggu kerana permulaan pertama pelayan dotCMS memerlukan masa lima hingga sepuluh minit kerana ia menulis data ke dalam pangkalan data PostgreSQL dan membina cache. Anda juga boleh menyemak log permulaan.

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

Konfigurasikan Systemd

Pelayan dotCMS boleh dimulakan secara langsung menggunakan skrip permulaan yang disediakan dalam pakej pemasang. Untuk kemudahan, anda harus menyediakan fail unit Systemd untuk pelayan dotCMS. Ini akan memastikan bahawa pelayan aplikasi dimulakan secara automatik pada sistem dan kerosakan semula.

Hentikan pelayan dotCMS menggunakan skrip penutupan.

sudo bin/shutdown.sh

Buat pengguna yang tidak bernasib baik untuk menjalankan pelayan dotCMS, atas alasan keselamatan.

sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms

Menyediakan pemilikan fail ke pengguna dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Buat perkhidmatan Systemd baru.

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

Isi fail.

[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

Mulakan aplikasi dan aktifkannya secara automatik pada masa boot.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Pastikan perkhidmatan berjalan.

sudo systemctl status dotcms

Konfigurasikan Proksi Terbalik

Secara lalai, pelayan dotCMS mendengar pada port 8080. Kami akan mengkonfigurasi Nginx sebagai proksi terbalik supaya aplikasi boleh diakses melalui standard HTTP dan HTTPS port. Kami juga akan mengkonfigurasi Nginx untuk menggunakan SSL yang dihasilkan dengan Let's Encrypt.

Pasang Nginx.

sudo apt -y install nginx

Mula Nginx dan aktifkannya secara automatik pada masa boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Tambah repositori Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.

sudo apt -y install certbot

Nota: Untuk mendapatkan sijil dari Let's Encrypt CA, domain yang mana sijil yang akan dihasilkan mesti ditujukan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain dan tunggu DNS disebarkan sebelum membuat permintaan sijil lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.

Menjana sijil SSL.

sudo certbot certonly --webroot -w /var/www/html -d cms.example.com

Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/cms.example.com/. Mari Sulitkan sijil tamat dalam 90 hari, oleh itu disarankan untuk mengatur pembaharuan sijil secara automatik menggunakan pekerjaan Cron.

Buka fail kerja cron.

sudo crontab -e

Tambahkan garisan berikut pada akhir fail.

30 5 * * * /usr/bin/certbot renew --quiet

Pekerjaan cron di atas akan dijalankan setiap hari pada jam 5:30 pagi. Sekiranya sijil perlu tamat tempoh, ia akan diperbaharui secara automatik.

Buat fail blok pelayan baru untuk laman web dotCMS.

sudo nano /etc/nginx/sites-available/dotcms

Isi fail.

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;
    }
  }

Aktifkan konfigurasi.

sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms

Mulakan semula pelayan web Nginx supaya perubahan tersebut dapat berkuatkuasa.

sudo systemctl restart nginx

Aplikasi dotCMS kini dipasang pada pelayan anda untuk kegunaan pengeluaran. Akses papan pemuka pentadbiran pada alamat berikut.

https://cms.example.com/dotAdmin

Log masuk menggunakan akaun pentadbir awal [email protected] dan kata laluan admin. Tukar kata laluan lalai sebaik sahaja log masuk.

Tahniah, sistem pengurusan kandungan dotCMS kini dipasang di pelayan anda. Anda boleh mengubahsuai laman web demo atau mula membina laman web anda dari awal.



Leave a Comment

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang Neos CMS pada FreeBSD 12

Cara Pasang Neos CMS pada FreeBSD 12

Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan

Cara Memasang Subrion 4.1 CMS pada Ubuntu 16.04 LAMP VPS

Cara Memasang Subrion 4.1 CMS pada Ubuntu 16.04 LAMP VPS

Menggunakan Sistem Berbeza? Subrion 4.1 CMS adalah Sistem Pengurusan Kandungan sumber terbuka (CMS) yang kuat dan fleksibel yang membawa kandungan intuitif dan jelas

Cara Memasang WonderCMS di Fedora 29

Cara Memasang WonderCMS di Fedora 29

Menggunakan Sistem Berbeza? WonderCMS adalah sumber terbuka, cepat dan kecil fail CMS rata yang ditulis dalam PHP. Kod sumber WonderCMS dihoskan pada Github. Panduan ini wil

Cara Memasang Neos CMS pada Debian 9

Cara Memasang Neos CMS pada Debian 9

Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan

Bagaimana untuk Memasang ProcessWire CMS 3.0 pada FreeBSD 11 FAMP VPS

Bagaimana untuk Memasang ProcessWire CMS 3.0 pada FreeBSD 11 FAMP VPS

Menggunakan Sistem Berbeza? ProcessWire CMS 3.0 adalah Sistem Pengurusan Kandungan (CMS) yang mudah, fleksibel dan berkuasa, bebas dan terbuka. ProcessWire CMS 3.

Cara Memasang PyroCMS pada Ubuntu 16.04

Cara Memasang PyroCMS pada Ubuntu 16.04

Menggunakan Sistem Berbeza? PyroCMS adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber PyroCMS dihoskan pada GitHub. Dalam panduan ini berjalan dengan lancar

Cara Memasang Backdrop CMS 1.8.0 pada Fedora 26 LAMP VPS

Cara Memasang Backdrop CMS 1.8.0 pada Fedora 26 LAMP VPS

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Memasang Automad CMS di CentOS 7

Cara Memasang Automad CMS di CentOS 7

Menggunakan Sistem Berbeza? Automad adalah sistem pengurusan kandungan berasaskan fail sumber terbuka (CMS) dan mesin templat yang ditulis dalam PHP. Kod sumber Automad i

Cara Pasang WonderCMS pada FreeBSD 12

Cara Pasang WonderCMS pada FreeBSD 12

Menggunakan Sistem Berbeza? WonderCMS adalah sumber terbuka, cepat dan kecil fail CMS rata yang ditulis dalam PHP. Kod sumber WonderCMS dihoskan pada Github. Panduan ini wil

Cara Pasang CMS BlogoText pada FPS 26 LAMP VPS

Cara Pasang CMS BlogoText pada FPS 26 LAMP VPS

Menggunakan Sistem Berbeza? BlogoText CMS adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan ringan, percuma dan terbuka dan enjin blog minimalis

Pasang Tiki Wiki CMS Groupware pada Ubuntu 18.04 LTS

Pasang Tiki Wiki CMS Groupware pada Ubuntu 18.04 LTS

Menggunakan Sistem Berbeza? Pengenalan Tiki Wiki CMS Groupware, juga dikenali sebagai Tiki, adalah sistem pengurusan kandungan wiki sumber terbuka dan bebas. Ciri Tikis

Cara Pasang BoltWire pada Ubuntu 18.04

Cara Pasang BoltWire pada Ubuntu 18.04

Menggunakan Sistem Berbeza? Pengenalan BoltWire adalah sistem pengurusan kandungan percuma dan ringan yang ditulis dalam PHP. Berbanding dengan kebanyakan Pengurus Kandungan lain

Cara Pasang ImpressPages CMS 5.0 pada FPS VPS 26 LAMP

Cara Pasang ImpressPages CMS 5.0 pada FPS VPS 26 LAMP

Menggunakan Sistem Berbeza? ImpressPages CMS 5.0 adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan berkesan, bebas dan sumber terbuka, mesra pengguna, berasaskan MVC

Cara Pasang PyroCMS pada Fedora 28

Cara Pasang PyroCMS pada Fedora 28

Menggunakan Sistem Berbeza? PyroCMS adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber PyroCMS dihoskan pada GitHub. Dalam panduan ini berjalan dengan lancar

Cara Memasang CMS 1.0 Oktober pada Fedora 26 LAMP VPS

Cara Memasang CMS 1.0 Oktober pada Fedora 26 LAMP VPS

Menggunakan Sistem Berbeza? Oktober 1.0 CMS adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan boleh dipercayai, bebas yang dibina di atas rangka Laravel

Cara Pasang Microweber pada CentOS 7

Cara Pasang Microweber pada CentOS 7

Menggunakan Sistem Berbeza? Microweber adalah CMS drag and drop sumber terbuka dan kedai dalam talian. Kod sumber Microweber dihoskan di GitHub. Panduan ini akan menunjukkan kepada anda

Cara Pasang WonderCMS pada CentOS 7

Cara Pasang WonderCMS pada CentOS 7

Menggunakan Sistem Berbeza? WonderCMS adalah sumber terbuka, cepat dan kecil fail CMS rata yang ditulis dalam PHP. Kod sumber WonderCMS dihoskan pada Github. Panduan ini wil

Cara Memasang BlogoText CMS pada FreeBSD 11 FAMP VPS

Cara Memasang BlogoText CMS pada FreeBSD 11 FAMP VPS

Menggunakan Sistem Berbeza? BlogoText CMS adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan ringan, percuma dan terbuka dan enjin blog minimalis

Cara Memasang Pagekit 1.0 CMS pada Ubuntu 16.04 LAMP VPS

Cara Memasang Pagekit 1.0 CMS pada Ubuntu 16.04 LAMP VPS

Menggunakan Sistem Berbeza? Pagekit 1.0 CMS adalah Sistem Pengurusan Kandungan (CMS) yang indah, modular, diperluas dan ringan, bebas dan terbuka

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut