Cara Memasang dotCMS di Ubuntu 16.04

DotCMS adalah sumber terbuka, sistem manajemen konten tingkat perusahaan yang ditulis dalam Java. Ini berisi hampir setiap fitur yang diperlukan untuk membuat situs web untuk bisnis Anda. Ini menyediakan API tenang untuk mengintegrasikan dengan layanan lain seperti CRM, aplikasi seluler dan banyak lagi. Ini menggunakan Elasticsearch untuk pengindeksan konten real-time dan Redis untuk menerapkan cache multi-tier.

Prasyarat

  • Contoh server Vultr Ubuntu 16.04.
  • Seorang pengguna sudo .
  • Nama domain menunjuk ke arah server.

Untuk tutorial ini, kita akan menggunakan 192.168.0.1 sebagai alamat IP publik dan cms.example.com sebagai nama domain yang menunjuk ke instance Vultr. Pastikan untuk mengganti semua kemunculan nama domain contoh dan alamat IP publik dengan yang sebenarnya.

Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui Ubuntu 16.04 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal Java.

Instal Java

Tambahkan repositori Ubuntu untuk Oracle Java 8.

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

Instal Java.

sudo apt -y install oracle-java8-installer

Anda akan dapat memverifikasi 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 jalur default untuk Java dengan menginstal paket berikut.

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

Anda dapat memverifikasi yang JAVA_HOMEdiatur.

echo $JAVA_HOME

Anda harus melihat yang berikut ini.

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

Jika Anda tidak melihat output sama sekali, Anda harus keluar dari shell saat ini dan masuk kembali.

Instal PostgreSQL

Secara default, dotCMS dikonfigurasi untuk menggunakan mesin database H2. Mesin basis data H2 adalah mesin basis data berbasis file datar. Tidak dianjurkan untuk digunakan dalam produksi. Dalam tutorial ini, kita akan menggunakan server PostgreSQL untuk menyimpan basis data dotCMS.

PostgreSQL adalah sistem basis data objek-relasional, yang dikenal karena stabilitas dan kecepatannya. Repositori Ubuntu default berisi PostgreSQL versi lama, 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

Instal server database PostgreSQL.

sudo apt -y install postgresql

Mulai server PostgreSQL dan aktifkan untuk memulai secara otomatis saat boot.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Ubah kata sandi untuk pengguna PostgreSQL default.

sudo passwd postgres

Masuk sebagai pengguna PostgreSQL.

sudo su - postgres

Buat pengguna PostgreSQL baru untuk dotCMS.

createuser dotcms 

PostgreSQL menyediakan psql shell untuk menjalankan query pada server database. Beralih ke shell PostgreSQL.

psql

Tetapkan kata sandi untuk pengguna yang baru dibuat untuk basis data dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Ganti kata sandi pengguna basis data DBPassword dengan kata sandi aman.

Buat database baru untuk instalasi dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Keluar dari psql shell.

\q

Beralih ke sudo pengguna.

exit

Instal dotCMS

Unduh arsip dotCMS.

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

Anda selalu dapat menemukan tautan ke versi terbaru aplikasi pada halaman unduhan dotCMS .

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

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

Buka file konfigurasi basis data.

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

Temukan H2 bloknya.

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

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

Komentari seluruh H2 bagian dengan memindahkan pembatas komentar --> dari awal bagian ke akhir bagian. Seharusnya terlihat seperti berikut.

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

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

Batalkan komentar pada bagian PostgreSQL dengan menghapus pembatas komentar --> dari akhir bagian dan menempatkannya di atas pembungkus POSTGRESQL. Juga, temukan username= dan password= ganti nilai yang ada dengan nama pengguna dan kata sandi pengguna basis data PostgreSQL Anda. Jika Anda telah menggunakan nama basis data selain dotcms, maka Anda harus mengubah nama basis data di url=. Setelah dikonfigurasi, blok PostgreSQL dalam file akan terlihat 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 izin eksekusi untuk semua file yang dapat dieksekusi.

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

DotCMS sekarang diinstal di server Anda. Untuk segera menjalankan aplikasi, jalankan yang berikut ini.

cd /opt/dotcms
sudo bin/startup.sh

Anda akan melihat output berikut ketika server sudah mulai berhasil.

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 memulai server web Tomcat untuk melayani aplikasi pada port 8080.

Buka browser favorit Anda dan jelajahi http://192.168.0.1:8080. Anda akan melihat bahwa aplikasi tersebut menjalankan situs web demo. Jika Anda tidak melihat situs web Anda, silakan tunggu karena startup pertama dari server dotCMS membutuhkan waktu lima hingga sepuluh menit saat menulis data ke dalam database PostgreSQL dan membuat cache. Anda juga dapat memeriksa log startup.

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

Konfigurasikan Systemd

Server dotCMS dapat dimulai secara langsung menggunakan skrip startup yang disediakan dalam paket installer. Demi kenyamanan, Anda harus menyiapkan file unit Systemd untuk server dotCMS. Ini akan memastikan bahwa server aplikasi secara otomatis dimulai pada restart dan kegagalan sistem.

Hentikan server dotCMS yang sedang berjalan menggunakan skrip shutdown.

sudo bin/shutdown.sh

Buat pengguna yang tidak memiliki hak istimewa untuk menjalankan server dotCMS, untuk alasan keamanan.

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

Berikan kepemilikan file kepada pengguna dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Buat layanan Systemd baru.

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

Mengisi file.

[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

Mulai aplikasi dan aktifkan untuk memulai secara otomatis saat boot.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Pastikan layanan berjalan.

sudo systemctl status dotcms

Konfigurasikan Proksi Balik

Secara default, server dotCMS mendengarkan pada port 8080. Kami akan mengkonfigurasi Nginx sebagai proxy terbalik sehingga aplikasi dapat diakses melalui standar HTTP dan HTTPS port. Kami juga akan mengkonfigurasi Nginx untuk menggunakan SSL yang dihasilkan dengan Let's Encrypt.

Instal Nginx.

sudo apt -y install nginx

Mulai Nginx dan aktifkan untuk mulai secara otomatis saat boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Tambahkan repositori Certbot.

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

Instal Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.

sudo apt -y install certbot

Catatan: Untuk mendapatkan sertifikat dari Let's Encrypt CA, domain tempat sertifikat akan dibuat harus diarahkan ke server. Jika tidak, buat perubahan yang diperlukan pada catatan DNS domain dan tunggu hingga DNS menyebar sebelum membuat permintaan sertifikat lagi. Certbot memeriksa otoritas domain sebelum memberikan sertifikat.

Buat sertifikat SSL.

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

Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/cms.example.com/. Mari Enkripsi sertifikat kedaluwarsa dalam 90 hari, oleh karena itu disarankan untuk mengatur perpanjangan otomatis sertifikat menggunakan pekerjaan Cron.

Buka file tugas cron.

sudo crontab -e

Tambahkan baris berikut di akhir file.

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

Pekerjaan cron di atas akan berjalan setiap hari pada pukul 5:30 pagi. Jika sertifikat akan kedaluwarsa, maka secara otomatis akan diperpanjang.

Buat file blok server baru untuk situs dotCMS.

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

Mengisi file.

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

Mulai ulang server web Nginx agar perubahan dapat terjadi.

sudo systemctl restart nginx

Aplikasi dotCMS sekarang diinstal pada server Anda untuk penggunaan produksi. Akses dasbor administratif pada alamat berikut.

https://cms.example.com/dotAdmin

Masuk menggunakan akun administrator awal, [email protected] dan kata sandi admin. Ganti kata sandi default segera setelah login.

Selamat, sistem manajemen konten dotCMS sekarang diinstal di server Anda. Anda dapat memodifikasi situs demo atau mulai membangun situs Anda dari awal.



Leave a Comment

Cara Memasang Anchor CMS pada Fedora 26 LAMP VPS

Cara Memasang Anchor CMS pada Fedora 26 LAMP VPS

Menggunakan Sistem yang Berbeda? Anchor CMS adalah Content Engine System (CMS) Blog Engine yang super-sederhana dan sangat ringan, gratis, dan terbuka

Cara Memasang Directus 6.4 CMS pada Fedora 26 LAMP VPS

Cara Memasang Directus 6.4 CMS pada Fedora 26 LAMP VPS

Menggunakan Sistem yang Berbeda? Directus 6.4 CMS adalah Headless Content Management System (CMS) yang kuat dan fleksibel, gratis dan open source yang menyediakan pengembang

Cara Memasang Thelia 2.3 pada Debian 9

Cara Memasang Thelia 2.3 pada Debian 9

Menggunakan Sistem yang Berbeda? Thelia adalah alat sumber terbuka untuk membuat situs web e-bisnis dan mengelola konten online yang ditulis dalam PHP. Kode sumber thelia i

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain

Cara Memasang Automad CMS di FreeBSD 12

Cara Memasang Automad CMS di FreeBSD 12

Menggunakan Sistem yang Berbeda? Automad adalah open source berbasis sistem manajemen konten (CMS) dan mesin template yang ditulis dalam PHP. Kode sumber Automad i

Cara Memasang CMS 1.0 Oktober di VPS LAM Ubuntu 16.04

Cara Memasang CMS 1.0 Oktober di VPS LAM Ubuntu 16.04

Menggunakan Sistem yang Berbeda? 1.0 Oktober CMS adalah Content Management System (CMS) yang sederhana dan dapat diandalkan, gratis dan open source yang dibangun di atas kerangka Laravel

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? BlogoText CMS adalah Content Management System (CMS) yang sederhana dan ringan, gratis, dan engine blog minimalis

Menginstal Bolt CMS pada CentOS 7

Menginstal Bolt CMS pada CentOS 7

Bolt adalah CMS open source yang ditulis dalam PHP. Kode sumber baut di-host di GitHub. Panduan ini akan menunjukkan kepada Anda cara menginstal Bolt CMS pada CentOS 7 Vult yang baru

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Backdrop CMS 1.8.0 adalah Content Management System (CMS) yang sederhana dan fleksibel, ramah seluler, gratis dan terbuka yang memungkinkan kami

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Pagekit 1.0 CMS adalah Content Management System (CMS) yang indah, modular, dapat diperpanjang dan ringan, dengan

Cara Memasang WonderCMS di FreeBSD 12

Cara Memasang WonderCMS di FreeBSD 12

Menggunakan Sistem yang Berbeda? WonderCMS adalah open source, CMS file flat dan kecil yang ditulis dalam PHP. Kode sumber WonderCMS di-host di Github. Panduan ini wil

Cara Menginstal Neos CMS di Ubuntu 18.04 LTS

Cara Menginstal Neos CMS di Ubuntu 18.04 LTS

Menggunakan Sistem yang Berbeda? Neos adalah Platform Aplikasi Konten dengan CMS dan kerangka kerja aplikasi pada intinya. Panduan ini akan menunjukkan cara menginstal

Cara Memasang Pagekit 1.0 CMS pada VPS FreeBSD 11 FAMP

Cara Memasang Pagekit 1.0 CMS pada VPS FreeBSD 11 FAMP

Menggunakan Sistem yang Berbeda? Pagekit 1.0 CMS adalah Content Management System (CMS) yang indah, modular, dapat diperpanjang dan ringan, dengan

Cara Memasang PyroCMS di Debian 9

Cara Memasang PyroCMS di Debian 9

Menggunakan Sistem yang Berbeda? PyroCMS adalah CMS open source yang ditulis dalam PHP. Kode sumber PyroCMS dihosting di GitHub. Dalam panduan ini berjalan dengan baik melalui keseluruhan

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Menggunakan Sistem yang Berbeda? Redaxscript 3.2 CMS adalah Content Management System (CMS) yang modern dan sangat ringan, gratis dan open source dengan roket

Instal Tiki Wiki CMS Groupware di Ubuntu 18.04 LTS

Instal Tiki Wiki CMS Groupware di Ubuntu 18.04 LTS

Menggunakan Sistem yang Berbeda? Pendahuluan Tiki Wiki CMS Groupware, juga dikenal sebagai Tiki, adalah sistem manajemen konten wiki sumber terbuka dan gratis. Fitur Tikis

Cara Memasang Anchor CMS pada Ubuntu 16.04 LAMP VPS

Cara Memasang Anchor CMS pada Ubuntu 16.04 LAMP VPS

Menggunakan Sistem yang Berbeda? Anchor CMS adalah Content Engine System (CMS) Blog Engine yang super-sederhana dan sangat ringan, gratis, dan terbuka

Cara Memasang Subrion 4.1 CMS pada Fedora 26 LAMP VPS

Cara Memasang Subrion 4.1 CMS pada Fedora 26 LAMP VPS

Menggunakan Sistem yang Berbeda? Subrion 4.1 CMS adalah Content Management System (CMS) open source yang kuat dan fleksibel yang menghadirkan konten yang intuitif dan jelas

Cara Memasang BoltWire di Ubuntu 18.04

Cara Memasang BoltWire di Ubuntu 18.04

Menggunakan Sistem yang Berbeda? Pendahuluan BoltWire adalah sistem manajemen konten gratis dan ringan yang ditulis dalam PHP. Dibandingkan dengan sebagian besar Pengelola Konten lainnya

Cara Memasang Anchor CMS pada Debian 9 LAMP VPS

Cara Memasang Anchor CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Anchor CMS adalah Content Engine System (CMS) Blog Engine yang super-sederhana dan sangat ringan, gratis, dan terbuka

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut