Cara Menyebarkan Ghost v0.11 LTS pada Debian 8

Ghost adalah platform blogging sumber terbuka yang telah mendapatkan popularitas di kalangan pengembang dan pengguna biasa sejak dirilis pada 2013. Ini menempatkan fokus pada konten dan blogging. Yang paling menarik tentang Ghost adalah desainnya yang sederhana, bersih, dan responsif. Anda dapat menulis posting blog Anda dari ponsel. Konten untuk Hantu ditulis menggunakan bahasa Penurunan harga. Hantu sangat cocok untuk individu atau kelompok kecil penulis.

Dalam panduan ini, kita akan mengatur dan menggunakan blog Ghost v0.11.x LTS aman pada VPS Debian 8 menggunakan Let's Encrypt , Certbot , Node.js , NPM , NGINX dan MySQL .

Persyaratan

  • Daftarkan (beli) nama domain.
  • Contoh server Debian 8 dengan minimal 1GB RAM .
  • Pengguna sudo.

Sebelum kamu memulai

  1. Periksa versi Debian:

    lsb_release -ds
    # Debian GNU/Linux 8.9 (jessie)
    
  2. Buat akun pengguna non-root baru :

    adduser johndoe --gecos "John Doe"
    
  3. Jadikan superuser dengan menambahkannya ke sudogrup:

    usermod -aG sudo johndoe
    
  4. Beralih ke pengguna baru:

    su - johndoe
    
  5. Perbarui perangkat lunak sistem operasi Anda:

    sudo apt-get update && sudo apt-get upgrade -y
    
  6. Siapkan zona waktu:

    sudo dpkg-reconfigure tzdata
    
  7. Instal alat yang diperlukan:

    sudo apt-get install -y build-essential zip unzip git apt-transport-https
    
  8. Reboot sistem jika diperlukan:

    sudo shutdown -r now
    

Instal Certbot

CATATAN : Sebelum memulai langkah ini, pastikan Anda telah menetapkan catatan DNS untuk domain Anda.

Kita akan menggunakan Let's Encrypt CA dan klien EFF 's Certbot untuk mendapatkan sertifikat SSL / TLS untuk blog Ghost kami. Jangan lupa ganti semua instance blog.domain.tlddengan nama domain Anda.

  1. Instal perangkat lunak manajemen sertifikat Certbot (sebelumnya Let's Encrypt client ) yang dibuat dengan Python:

    sudo -s
    printf "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list.d/jessie-backports.list
    exit        
    sudo apt-get update
    sudo apt-get install -y certbot -t jessie-backports
    
  2. Periksa versi Certbot:

    certbot --version
    # certbot 0.10.2
    
  3. Dapatkan sertifikat RSA dengan menggunakan metode otentikasi mandiri (plugin):

    sudo certbot certonly --standalone --domains blog.domain.tld --rsa-key-size 2048 --must-staple --email [email protected] --agree-tos
    
    # IMPORTANT NOTES:
    #  - Congratulations! Your certificate and chain have been saved at 
    /etc/letsencrypt/live/blog.domain.tld/fullchain.pem. 
    #  Your cert will expire on YYYY-MM-DD. . . .
    #  . . .
    

    Setelah melalui langkah-langkah sebelumnya, sertifikat dan kunci pribadi Anda akan ada di /etc/letsencrypt/live/blog.domain.tlddirektori.

Instal Node.js dan NPM

CATATAN : Ghost saat ini hanya mendukung versi Node.js 4.5+ dan 6.9+.

Hantu dibangun di atas Node.js. Kami akan menginstal versi yang direkomendasikan untuk Ghost yang v6 Boron LTSsaat ini ditulis.

  1. Unduh dan instal Node.js v6 LTS:

    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  2. Periksa versi Node.js dan NPM:

    node -v && npm -v
    # v6.11.2
    # 3.10.10
    

Instal MySQL

Secara default, Ghost dikonfigurasikan untuk menggunakan database SQLite, yang tidak memerlukan konfigurasi.

Atau Ghost juga dapat digunakan dengan database MySQL dengan mengubah konfigurasi database. Anda harus membuat database dan pengguna terlebih dahulu, Anda kemudian dapat mengubah konfigurasi sqlite3 yang ada.

  1. Unduh dan pasang MySQL:

    sudo apt-get install -y mysql-server
    

    CATATAN : Selama instalasi, Anda akan dimintai kata sandi pengguna "root" MySQL. Anda harus menetapkan kata sandi aman untuk pengguna "root" MySQL.

  2. Periksa versi MySQL:

    mysql --version
    # mysql  Ver 14.14 Distrib 5.5.57, for debian-linux-gnu (x86_64) using readline 6.3
    
  3. Periksa apakah daemon MySQL sudah mulai dan sedang berjalan:

    sudo systemctl status mysql.service
    sudo systemctl is-enabled mysql.service
    
  4. Jalankan mysql_secure_installationskrip untuk sedikit mengamankan basis data Anda:

    sudo mysql_secure_installation
    
  5. Masuk ke MySQL sebagai pengguna root:

    mysql -u root -p
    # Enter password:
    
  6. Buat database dan pengguna MySQL baru:

    create database dbname;
    grant all on dbname.* to 'user' identified by 'password';
    
  7. Keluar dari MySQL:

    exit
    

Instal NGINX

  1. Unduh dan pasang versi arus utama NGINX terbaru dari repositori NGINX resmi:

    wget https://nginx.org/keys/nginx_signing.key
    sudo apt-key add nginx_signing.key
    rm nginx_signing.key
    sudo -s
    printf "deb https://nginx.org/packages/mainline/debian/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/debian/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
    exit
    sudo apt-get update
    sudo apt-get install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt nginx-nr-agent
    
  2. Pastikan sudah diinstal dengan memeriksa versi NGINX:

    sudo nginx -v
    # nginx version: nginx/1.13.4
    
  3. Periksa status, aktifkan dan mulai layanan NGINX (daemon):

    sudo systemctl status nginx.service # inactive (dead)
    sudo systemctl enable nginx.service
    sudo systemctl start nginx.service
    
  4. Buat /etc/nginx/ssldirektori dan hasilkan grup Diffie-Hellman ( DH ) baru:

    sudo mkdir -p /etc/nginx/ssl
    sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
    
  5. Buat direktori log untuk blog.domain.tldvirtual host:

    sudo mkdir -p /var/log/nginx/blog.domain.tld
    
  6. Konfigurasikan NGINX sebagai server proxy terbalik HTTP ( S ):

    sudo vim /etc/nginx/conf.d/ghost.conf
    
  7. Rekatkan yang berikut ini di /etc/nginx/conf.d/ghost.conf:

    # domain: blog.domain.tld
    # public: /var/www/ghost
    
    upstream ghost_app {
        server 127.0.0.1:2368;
        keepalive 32;
    }
    
    server {
        listen [::]:80 default_server;
        listen 80 default_server;
        listen [::]:443 ssl http2 default_server;
        listen 443 ssl http2 default_server;
    
        server_name blog.domain.tld; # Change to your domain/hostname
        root /var/www/ghost; # Change to the path where Ghost is
    
        error_log /var/log/nginx/blog.domain.tld/error.log;
        access_log /var/log/nginx/blog.domain.tld/access.log;
    
        client_max_body_size 100M;
    
        ssl_certificate /etc/letsencrypt/live/blog.domain.tld/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/blog.domain.tld/privkey.pem;
        ssl_dhparam ssl/dhparams-2048.pem;
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;
    
        ssl_buffer_size 4K;
    
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50M;
        ssl_session_tickets off;
    
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/letsencrypt/live/blog.domain.tld/chain.pem;
    
        resolver 8.8.8.8 8.8.4.4 valid=300s;
    
        location / {
            proxy_pass http://ghost_app;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_hide_header X-Powered-By;
    
            proxy_http_version 1.1;
            proxy_set_header Connection "";
    
        }
    }
    
  8. Simpan dan uji konfigurasi NGINX untuk kesalahan sintaks:

    sudo nginx -t
    
  9. Muat ulang konfigurasi NGINX:

    sudo systemctl reload nginx.service
    

Instal Ghost

CATATAN : Jika Anda ingin meng-host beberapa blog Ghost pada VPS yang sama, setiap instance Ghost harus dijalankan pada port terpisah.

  1. Buat direktori root dokumen:

    sudo mkdir -p /var/www/
    
  2. Buat ghostpengguna baru :

    sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
    
  3. Unduh Ghost:

    curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
    
  4. Unzip Ghost ke /var/www/ghostdirektori (lokasi pemasangan yang disarankan):

    sudo unzip -uo ghost.zip -d /var/www/ghost
    rm ghost.zip
    
  5. Arahkan ke ghostdirektori baru :

    cd /var/www/ghost
    
  6. Ubah kepemilikan /var/www/ghostdirektori:

    sudo chown -R ghost:ghost .
    
  7. Beralih ke ghostpengguna baru :

    sudo su - ghost
    
  8. Arahkan ke dokumen root /var/www/ghost:

    cd /var/www/ghost
    
  9. Instal Ghost hanya dengan dependensi produksi. Ketika ini selesai, Ghost diinstal:

    npm install --production
    
  10. Konfigurasikan Hantu dengan mengubah url, maildan databaseproperti objek produksi di dalam config.jsfile:

    cp config.example.js config.js
    vim /var/www/ghost/config.js
    
    
    var path = require('path'),
        config;
    
    config = {
    // ### Production
    // When running Ghost in the wild, use the production environment.
    // Configure your URL and mail settings here
    production: {
        url: 'https://blog.domain.tld',
        mail: {
            transport: 'SMTP',
            options: {
                service: 'Mailgun',
                auth: {
                    user: '',
                    pass: ''
                }
            }
        },
        database: {
            client: 'mysql',
            connection: {
                host: '127.0.0.1',
                user: 'your_database_user',
                password: 'your_database_password',
                database: 'your_database_name',
                charset: 'utf8'
            },
            debug: false
        },
        // . . .
        // . . .
    

    CATATAN : Anda juga harus mengonfigurasi pengaturan email. Konsultasikan dokumentasi Ghost resmi tentang cara melakukannya.

  11. Mulai Ghost di lingkungan produksi:

    npm start --production
    

    Hantu sekarang akan berjalan. Baik front-end blog dan antarmuka admin diamankan dengan HTTPS dan HTTP / 2 juga berfungsi. Anda dapat membuka browser dan mengunjungi situs di https://blog.domain.tld. Jangan lupa ganti blog.domain.tlddengan nama domain Anda.

  12. Matikan proses Ghost dengan menekan CTRL+ Cdan keluar dari ghostpengguna kembali ke pengguna root:

    exit
    

Menjalankan Ghost sebagai layanan sistem

Jika Anda menutup sesi terminal Anda dengan VPS Anda, blog Anda juga akan turun. Itu tidak baik. Untuk menghindari ini, kita akan menggunakan Systemd. Ini akan membuat blog kita aktif 24/7.

  1. Buat ghost.servicefile unit Systemd. Jalankan sudo vim /etc/systemd/system/ghost.servicedan salin / tempel konten berikut:

    [Unit]
    Description=Ghost - the professional publishing platform
    Documentation=https://docs.ghost.org/v0.11.11/docs
    After=network.target
    
    [Service]
    Type=simple
    # Edit WorkingDirectory, User and Group as needed
    WorkingDirectory=/var/www/ghost
    User=ghost
    Group=ghost
    ExecStart=/usr/bin/npm start --production
    ExecStop=/usr/bin/npm stop --production
    Restart=always
    SyslogIdentifier=Ghost
    
    [Install]
    WantedBy=multi-user.target
    
  2. Aktifkan dan mulai ghost.service:

    sudo systemctl enable ghost.service && sudo systemctl start ghost.service
    
  3. Periksa ghost.servicestatus:

    sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
    
  4. Arahkan ke https://blog.domain.tld/ghost/dan buat pengguna admin Ghost. Lakukan ini sesegera mungkin!

Kesimpulan

Itu dia. Kami sekarang memiliki blog Ghost yang berfungsi penuh. Server Anda mengirimkan konten melalui HTTP / 2 saat didukung oleh klien. Jika Anda ingin mengubah tema Hantu default yang disebut Casper menjadi tema khusus, Anda bisa mengunduh dan meng-unzip tema ke dalam /var/www/ghost/content/themesfolder dan memilihnya melalui antarmuka admin Ghost, yang terletak di https://blog.domain.tld/ghost.



Leave a Comment

Instal WordPress di OpenBSD 6.2

Instal WordPress di OpenBSD 6.2

Pendahuluan WordPress adalah sistem manajemen konten yang dominan di internet. Ini memberdayakan semuanya, mulai dari blog hingga situs web kompleks dengan konten dinamis

Instal dan Konfigurasi Blog Ghost v1.0.0 di Ubuntu 16.04

Instal dan Konfigurasi Blog Ghost v1.0.0 di Ubuntu 16.04

Ghost adalah platform penerbitan sumber terbuka modern yang dibangun di atas Node.js dengan klien admin Ember.js, API JSON, dan API tema yang ditenagai oleh Handlebars.js. Ghos

Cara Menyebarkan Ghost v0.11 LTS di Ubuntu 16.04

Cara Menyebarkan Ghost v0.11 LTS di Ubuntu 16.04

Menggunakan Sistem yang Berbeda? Ghost adalah platform blogging sumber terbuka yang telah mendapatkan popularitas di kalangan pengembang dan pengguna biasa sejak 201 nya

Cara Menyebarkan Hantu di Debian 8.7

Cara Menyebarkan Hantu di Debian 8.7

Menggunakan Sistem yang Berbeda? Ghost adalah platform blogging sumber terbuka yang mulai populer di kalangan pengembang dan pengguna biasa sejak dirilis pada 2013. saya

Cara Memasang Dotclear di Debian 9 (Stretch)

Cara Memasang Dotclear di Debian 9 (Stretch)

Menggunakan Sistem yang Berbeda? Dotclear adalah mesin blog yang sangat sederhana. Ini adalah open-source dan mudah digunakan. Tutorial ini akan melalui instalasi pada

Menyiapkan Platform Penerbitan Ghost Profesional di OpenBSD 6

Menyiapkan Platform Penerbitan Ghost Profesional di OpenBSD 6

Ghost adalah pemula baru dan terbaik untuk menyaingi WordPress. Pengembangan tema cepat dan mudah dipelajari karena pengembang Ghost memutuskan untuk menggunakan keduanya

Menjalankan WordPress di OpenBSD 6.5 dengan OpenBSDs HTTPD

Menjalankan WordPress di OpenBSD 6.5 dengan OpenBSDs HTTPD

Pendahuluan Semakin dekat Anda memasang OpenBSD ke default dan tanpa banyak paket tambahan, semakin aman. Sementara yang lebih umum

Cara Memasang MODX Revolution pada VPS LAMPU Fedora 26

Cara Memasang MODX Revolution pada VPS LAMPU Fedora 26

Menggunakan Sistem yang Berbeda? MODX Revolution adalah Sistem Manajemen Konten (CMS) yang cepat, fleksibel, dapat diskalakan, gratis, dan sumber terbuka.

Memasang Fork CMS pada CentOS 7

Memasang Fork CMS pada CentOS 7

Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM

Cara Memasang Penata Jenis CMS pada CentOS 7

Cara Memasang Penata Jenis CMS pada CentOS 7

Typesetter adalah CMS open source yang ditulis dalam PHP yang berfokus pada kemudahan penggunaan dengan pengeditan True WYSIWYG dan penyimpanan file-datar. Pada artikel ini, kita akan menginstalin

Cara Memasang MODX Revolution pada CentOS 7 LAMP VPS

Cara Memasang MODX Revolution pada CentOS 7 LAMP VPS

Menggunakan Sistem yang Berbeda? MODX Revolution adalah Sistem Manajemen Konten (CMS) yang cepat, fleksibel, dapat diskalakan, gratis, dan sumber terbuka.

Cara Memasang Dotclear di Ubuntu 16.04

Cara Memasang Dotclear di Ubuntu 16.04

Menggunakan Sistem yang Berbeda? Dotclear adalah mesin blog yang sangat sederhana yang telah dibangun di atas PHP. Dalam tutorial ini, kita akan menginstal Dotclear di Ubunt

Cara Memasang Neos CMS pada CentOS 7

Cara Memasang Neos CMS pada CentOS 7

Neos adalah sistem manajemen konten sumber terbuka inovatif yang bagus untuk membuat dan mengedit konten online. Dengan mengingat penulis dan editor, Neo

Membuat Blog Jekyll di CentOS 7

Membuat Blog Jekyll di CentOS 7

Menggunakan Sistem yang Berbeda? Jekyll adalah alternatif yang bagus untuk WordPress. Itu tidak memerlukan basis data apa pun dan berfungsi dengan bahasa yang banyak dikenalnya

Menginstal Fork CMS di Ubuntu 16.04 LTS

Menginstal Fork CMS di Ubuntu 16.04 LTS

Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM

Membuat Blog Jekyll di Ubuntu 16.04

Membuat Blog Jekyll di Ubuntu 16.04

Menggunakan Sistem yang Berbeda? Jekyll adalah alternatif yang bagus untuk WordPress untuk blogging atau berbagi konten. Itu tidak memerlukan database apa pun dan sangat mudah saya

Menyiapkan WordPress Dengan WooCommerce di CentOS 6

Menyiapkan WordPress Dengan WooCommerce di CentOS 6

Contoh Vultr adalah cara yang bagus untuk menjalankan blog WordPress Anda, tetapi ekstensi yang lebih penting untuk WordPress adalah WooCommerce, sebuah plugin eCommerce yang memperluas

Memasang Fork CMS pada Debian 9

Memasang Fork CMS pada Debian 9

Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM

Cara Menyebarkan Ghost di Ubuntu 16.04

Cara Menyebarkan Ghost di Ubuntu 16.04

Menggunakan Sistem yang Berbeda? Ghost adalah platform blogging sumber terbuka yang mulai populer di kalangan pengembang dan pengguna biasa sejak dirilis pada 2013. saya

Memasang Fork CMS di Fedora 28

Memasang Fork CMS di Fedora 28

Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM

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