Cara Memasang OpenMeetings pada CentOS 7

Apache OpenMeetings adalah aplikasi konferensi web open source. Ini ditulis dalam Java dan mendukung beberapa server basis data. Ini menyediakan banyak fitur, seperti konferensi audio dan video, berbagi layar, penjelajah file, sistem moderasi pengguna, pesan pribadi dan kontak, kalender terintegrasi untuk rencana pertemuan dan banyak lagi. Anda juga dapat merekam sesi konferensi. Ini menyediakan SOAP / REST API dan beberapa plugin untuk dengan mudah diintegrasikan dengan Moodle, Jira, Joomla, Confluence dan banyak lagi.

Prasyarat

  • Contoh server Vultr CentOS 7 dengan setidaknya 4GB RAM.
  • Seorang pengguna sudo .
  • Nama domain menunjuk ke arah server.

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

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

Instal Java

OpenMeetings ditulis dalam Java, sehingga membutuhkan Java Runtime Environment (JRE) untuk bekerja. Unduh paket Oracle SE JDK 8 RPM terbaru yang tersedia, yang mencakup JRE dan JDK.

wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm

Instal paket yang diunduh.

sudo rpm -Uvh jdk-8u161-linux-x64.rpm

Jika Java telah diinstal dengan sukses, maka Anda akan dapat memverifikasi versinya.

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)

Sebelum kita dapat melangkah lebih jauh, kita perlu mengatur variabel JAVA_HOMEdan JRE_HOMElingkungan. Temukan jalur absolut dari JAVA yang dapat dieksekusi di sistem Anda.

readlink -f $(which java)

Anda akan melihat output yang serupa.

[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java

Sekarang, setel JAVA_HOMEdan JRE_HOMEvariabel lingkungan sesuai dengan jalur direktori Java.

echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile

Jalankan bash_profilefile.

source ~/.bash_profile

Sekarang Anda dapat menjalankan echo $JAVA_HOMEperintah untuk memastikan bahwa variabel lingkungan diatur.

[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161

Instal Ketergantungan

Instal pustaka ImageMagick dan GhostScript.

sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript

ImageMagick menyediakan dukungan untuk mengunggah gambar dan mengimpornya ke papan tulis. GhostScript memungkinkan Anda untuk mengunggah PDF ke papan tulis.

Verifikasi versi ImageMagick dan GhostScript untuk memastikan bahwa mereka diinstal dengan sukses.

[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc.  All rights reserved.

Selanjutnya, kita juga perlu menginstal Apache OpenOffice atau LibreOffice pada sistem. Instalasi salah satu dari ini akan memungkinkan OpenMeetings untuk mengimpor file dalam format dokumen Office seperti .doc, .docx, .ppt, .pptx, atau .xlx. Dalam tutorial ini, kita akan menginstal Apache OpenOffice.

Beralihlah ke direktori sementara dan unduh RPM Apache OpenOffice.

cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz

Ekstrak arsip dan instal semua paket RPM.

tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm

Untuk memeriksa apakah OpenOffice diinstal dengan benar dan berfungsi, ketik openoffice4 -hbaris perintah. Ini akan mencetak versinya dan bantuan singkat.

[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5  415m1(Build:9789)

Usage: soffice [options] [documents...]

Options:

-minimized      keep startup bitmap minimized.
...

Instal repositori RPMFusion di sistem Anda karena menyediakan paket pre-built untuk FFmpeg dan Sound eXchange (SoX).

sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

Instal FFmpeg dan SoX.

sudo yum -y install ffmpeg sox

FFmpeg dan SoX akan memungkinkan perekaman pertemuan. Mereka juga akan membantu dalam media yang mengimpor file seperti .avi, .flv, .movdan .mp4ke papan tulis. Verifikasi instalasi dengan memeriksa versi FFmpeg dan SoX.

[user@vultr ~]$ sox --version
sox:      SoX v14.4.1

[user@vultr ~]$ ffmpeg -version
ffmpeg version 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)

Instal PostgreSQL

OpenMeetings mendukung beberapa jenis server basis data, seperti MySQL, PostgreSQL, Apache, Derby, dan Oracle. Dalam tutorial ini, kita akan menggunakan server PostgreSQL untuk meng-host database OpenMeeting.

PostgreSQL adalah sistem basis data objek-relasional dan dikenal karena stabilitas dan kecepatannya. yumRepositori default berisi PostgreSQL versi lama, jadi tambahkan repositori PostgreSQL untuk versi terbaru aplikasi ke dalam sistem.

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

Instal server database PostgreSQL.

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

Inisialisasi basis data.

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

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

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

Ubah kata sandi untuk pengguna PostgreSQL default.

sudo passwd postgres

Masuk sebagai pengguna PostgreSQL.

sudo su - postgres

Buat pengguna PostgreSQL baru untuk pengguna OpenMeetings.

createuser openmeetings

Anda dapat menggunakan nama pengguna apa saja alih-alih openmeetings. Beralih ke shell PostgreSQL.

psql

Tetapkan kata sandi untuk pengguna yang baru dibuat untuk database OpenMeetings.

ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';

Ganti DBPassworddengan kata sandi aman. Buat database baru untuk instalasi OpenMeetings.

CREATE DATABASE openmeetings OWNER openmeetings;

Keluar dari psqlshell.

\q

Beralih ke sudopengguna.

exit

Edit pg_hba.conffile untuk mengaktifkan otentikasi berbasis MD5.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Temukan baris berikut dan ubah nilainya di METHODkolom dari identmenjadi md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Setelah diperbarui, konfigurasi akan terlihat seperti ini.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Simpan file dan keluar dari editor. Mulai ulang PostgreSQL agar perubahan dapat diterapkan.

sudo systemctl restart postgresql-10

Menginstal OpenMeetings

Karena semua dependensi yang diperlukan diinstal. Buat pengguna baru untuk OpenMeetings. Menggunakan pengguna non-root untuk menjalankan OpenMeetings disarankan untuk keamanan server.

 sudo adduser -b /var -s /sbin/nologin openmeetings

Perintah di atas juga akan membuat direktori home openmeetingspengguna di /var/openmeetings.

Periksa halaman unduhan Apache OpenMeetings untuk mendapatkan tautan ke rilis terbaru yang tersedia. Unduh arsip OpenMeetings.

cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz

Ekstrak arsip ke dalam /var/openmeetingsdirektori.

sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings

Berikan kepemilikan file kepada pengguna OpenMeetings yang telah kami buat sebelumnya.

sudo chown -R openmeetings:openmeetings /var/openmeetings

Sebelum kita memulai aplikasi, kita perlu memodifikasi firewall untuk mengizinkan port 5080dan 1935.

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

Anda sekarang dapat memulai aplikasi.

sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings

Anda sekarang dapat mengakses http://192.168.1.1:5080/openmeetingsdi browser favorit Anda. Anda akan melihat layar pembuka dengan instruksi untuk menginstal GhostScript.

Cara Memasang OpenMeetings pada CentOS 7

Karena kami telah menginstal GhostScript, lanjutkan. Pada antarmuka berikutnya, Anda akan diminta untuk memberikan detail server database. Pilih tipe database " PostgreSql" dan berikan detail server database Anda yang Anda konfigurasikan selama instalasi PostgreSQL.

Cara Memasang OpenMeetings pada CentOS 7

Klik tombol " Check" dan Anda akan mendapat pesan: " Database check was successful". Berikan detail akun administrator Anda dan nama grup di antarmuka berikutnya.

Cara Memasang OpenMeetings pada CentOS 7

Konfigurasikan pengaturan dasar instalasi Anda; seperti mengizinkan pendaftaran mandiri, verifikasi email, dan bahasa default. Juga, berikan detail server SMTP Anda. Jika Anda belum menyiapkan server SMTP, Anda juga dapat memberikan detail SMTP di dasbor administrator.

Cara Memasang OpenMeetings pada CentOS 7

Ini akan meminta Anda untuk path ke binari aplikasi yang berbeda. Berikan /usr/binsebagai jalur untuk ImageMagick, FFmpeg, dan SoX. Jika aplikasi memberikan kesalahan untuk lintasan yang dimasukkan, maka Anda dapat menggunakan which <binary_name>untuk menemukan lintasan absolut ke biner. Misalnya, which ffmpegharus memberi Anda /usr/bin/ffmpegsebagai output. Gunakan /opt/openoffice4sebagai jalur ke binari OpenOffice.

Cara Memasang OpenMeetings pada CentOS 7

Anda dapat melewati konfigurasi pada antarmuka berikutnya karena kita akan menggunakan nilai default. Akhirnya, klik tombol " Finish" untuk menginstal aplikasi dan menulis database.

OpenMeetings sekarang diinstal di server Anda. Untuk membuatnya lebih ramah produksi, kami akan menyiapkan Systemd untuk mengelola server OpenMeetings. Kami juga akan mengkonfigurasi Nginx dengan Let's Encrypt SSL sebagai proxy terbalik yang aman untuk melayani aplikasi.

Menyiapkan Systemd

Meskipun kita dapat dengan mudah memulai dan menghentikan aplikasi menggunakan perintah di atas, disarankan untuk mengatur unit layanan Systemd untuk mengelola aplikasi. Ini juga akan memastikan bahwa layanan secara otomatis dimulai pada saat boot dan kegagalan.

Hentikan server OpenMeetings dengan menekan " Ctrl+C" atau dengan mematikan shell openmeetingspengguna.

sudo pkill -KILL -u openmeetings

Buat file unit Systemd baru untuk Server OpenMeetings.

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

Mengisi file.

[Unit]
Description=OpenMeeting Service 
After=network.target

[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings 
ExecStart=/var/openmeetings/red5.sh
Restart=always

[Install]
WantedBy=multi-user.target

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

sudo systemctl start openmeetings
sudo systemctl enable openmeetings

Untuk memeriksa status layanan, Anda dapat menjalankan yang berikut ini.

sudo systemctl status openmeetings

Anda akan melihat output yang serupa.

[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
   Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
 Main PID: 10522 (java)
   CGroup: /system.slice/openmeetings.service
           └─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...

Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                              Openmeetings is up ...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                      4.0.1 3795f14 2017-12-05T16...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: #                               and ready to use  ...  #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.

Atur Nginx sebagai Reverse Proxy

Secara default, OpenMeetings mendengarkan port 5080. Jika koneksi antara browser dan server tidak dienkripsi dengan SSL, maka login dan informasi lainnya akan dikirim menggunakan teks biasa. Ini mungkin menjadi ancaman potensial karena seseorang yang menguping di jaringan mungkin mendapatkan informasi. Untuk mengatasi masalah ini, kami akan mengatur Nginx sebagai proksi terbalik yang akan mendengarkan port HTTPS default dan akan mem-proksi semua permintaan ke server OpenMeetings.

Instal Nginx.

sudo yum -y install nginx

Mulai Nginx dan aktifkan untuk mulai secara otomatis saat boot.

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo yum -y install certbot

Sebelum Anda dapat meminta sertifikat, Anda harus mengizinkan port 80dan 443atau standar HTTPdan HTTPSlayanan melalui firewall.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

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 /usr/share/nginx/html -d meetings.example.com

Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/meetings.example.com/. Sertifikat SSL akan disimpan sebagai fullchain.pemdan kunci pribadi akan disimpan sebagai privkey.pem.

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 jatuh tempo, maka secara otomatis akan diperpanjang.

Sekarang, ubah file konfigurasi default Nginx untuk menghapusnya default_server.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Buat file konfigurasi baru untuk Server OpenMeetings.

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

Mengisi file.

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

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

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

location / {
    proxy_pass            http://localhost:5080;        
    proxy_set_header    host $host;
    proxy_http_version  1.1;
    proxy_set_header upgrade $http_upgrade;         
    proxy_set_header connection "upgrade";     
    } 
}

Periksa kesalahan dalam file konfigurasi baru.

sudo nginx -t

Jika Anda melihat output berikut, konfigurasinya bebas kesalahan.

[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

Jika Anda telah menerima beberapa jenis kesalahan, pastikan untuk memeriksa jalur untuk sertifikat SSL. Mulai ulang server web Nginx untuk mengimplementasikan perubahan konfigurasi.

sudo systemctl restart nginx

Sebelum Anda dapat mulai menggunakan aplikasi di situs aman SSL, Anda perlu membuat perubahan konfigurasi di OpenMeetings. Masuk ke dasbor administratif OpenMeetings Anda dan navigasikan ke " Administration >> Configuration". Dalam tabel ID, kunci dan nilai; temukan application.base.url. Ubah nilainya https://meetings.example.comsesuai dengan nama domain Anda. Simpan konfigurasi dengan mengklik ikon simpan di atas.

Cara Memasang OpenMeetings pada CentOS 7

Mulai ulang layanan OpenMeetings.

sudo systemctl restart openmeetings

Sekarang, Anda dapat menjelajah untuk https://meetings.example.commenggunakan browser web favorit Anda dan masuk untuk menggunakan aplikasi.

Selamat, OpenMeetings Apache sekarang diinstal di server Anda. Anda dapat mengundang teman dan mulai menggunakan OpenMeetings untuk konferensi online.



Leave a Comment

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