Cara Pasang OpenMeetings pada CentOS 7

Apache OpenMeetings adalah aplikasi persidangan web sumber terbuka. Ia ditulis di Jawa dan menyokong beberapa pelayan pangkalan data. Ia menyediakan banyak ciri, seperti persidangan audio dan video, perkongsian skrin, fail explorer, sistem penyederhanaan pengguna, mesej peribadi dan kenalan, kalendar bersepadu untuk rancangan mesyuarat dan banyak lagi. Anda juga boleh merakam sesi persidangan. Ia menyediakan SOAP / REST API dan pelbagai plugin untuk disatukan dengan mudah dengan Moodle, Jira, Joomla, Confluence dan banyak lagi.

Prasyarat

  • Contoh pelayan Vultr CentOS 7 dengan sekurang-kurangnya 4GB RAM.
  • Pengguna sudo .
  • Nama domain menunjuk ke pelayan.

Untuk tutorial ini, kami akan menggunakan 192.168.1.1sebagai alamat IP awam dan meetings.example.comsebagai nama domain menunjuk ke arah Vultr. Pastikan untuk mengganti semua kejadian contoh alamat IP dan nama domain dengan yang sebenarnya.

Kemas kini sistem asas anda menggunakan panduan Cara Mengemas kini CentOS 7 . Apabila sistem anda telah dikemas kini, teruskan untuk memasang Java.

Pasang Java

OpenMeetings ditulis dalam Java, sehingga memerlukan Java Runtime Environment (JRE) untuk berfungsi. Muat turun pakej Oracle SE JDK 8 RPM yang terkini, yang merangkumi JRE dan JDK.

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

Pasang pakej yang dimuat turun.

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

Sekiranya Java berjaya dipasang, anda akan dapat mengesahkan 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 pemboleh ubah JAVA_HOMEdan JRE_HOMEpersekitaran. Cari laluan mutlak JAVA yang dapat dilaksanakan dalam 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, tetapkan pemboleh ubah JAVA_HOMEdan JRE_HOMEpersekitaran mengikut laluan 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_profilefail.

source ~/.bash_profile

Sekarang anda boleh menjalankan echo $JAVA_HOMEarahan untuk memastikan pembolehubah persekitaran ditetapkan.

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

Pasang Ketergantungan

Pasang pustaka ImageMagick dan GhostScript.

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

ImageMagick menyediakan sokongan untuk memuat naik imej dan mengimportnya ke papan putih. GhostScript membolehkan anda memuat naik PDF ke papan putih.

Sahkan versi ImageMagick dan GhostScript untuk memastikan ia berjaya dipasang.

[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.

Furthur, kami juga perlu memasang Apache OpenOffice atau LibreOffice pada sistem. Memasang sama ada ini akan membolehkan OpenMeetings untuk mengimport fail dalam format dokumen Office seperti .doc, .docx, .ppt, .pptx, atau .xlx. Dalam tutorial ini, kami akan memasang Apache OpenOffice.

Beralih ke direktori sementara dan muat turun Apache OpenOffice RPM.

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 arkib dan pasang semua pakej 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 sama ada OpenOffice dipasang dengan betul dan berfungsi, taipkan openoffice4 -hbaris arahan. Ia akan mencetak versi dan bantuan pendeknya.

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

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

Options:

-minimized      keep startup bitmap minimized.
...

Pasang repositori RPMFusion dalam sistem anda kerana ia menyediakan pakej pra-dibina untuk FFmpeg dan Sound eXchange (SoX).

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

Pasang FFmpeg dan SoX.

sudo yum -y install ffmpeg sox

FFmpeg dan SoX akan membolehkan rakaman mesyuarat. Mereka juga akan membantu dalam media mengimport fail seperti .avi, .flv, .movdan .mp4ke dalam papan putih. Sahkan pemasangan dengan memeriksa versi kedua-dua 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)

Pasang PostgreSQL

OpenMeetings menyokong pelbagai jenis pelayan pangkalan data, seperti MySQL, PostgreSQL, Apache, Derby, dan Oracle. Dalam tutorial ini, kami akan menggunakan pelayan PostgreSQL untuk menjadi tuan rumah pangkalan data OpenMeeting.

PostgreSQL adalah sistem pangkalan data hubungan objek dan terkenal dengan kestabilan dan kepantasannya. yumRepositori lalai mengandungi versi lama PostgreSQL, 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

Pasang pelayan pangkalan data PostgreSQL.

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

Inisialkan pangkalan data.

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

Mulakan pelayan PostgreSQL dan dayakannya secara automatik pada masa boot.

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

Tukar kata laluan untuk pengguna PostgreSQL lalai.

sudo passwd postgres

Log masuk sebagai pengguna PostgreSQL.

sudo su - postgres

Buat pengguna PostgreSQL baru untuk pengguna OpenMeetings.

createuser openmeetings

Anda boleh menggunakan mana-mana nama pengguna dan bukannya openmeetings. Beralih ke shell PostgreSQL.

psql

Tetapkan kata laluan untuk pengguna yang baru diwujudkan untuk pangkalan data OpenMeetings.

ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';

Gantikan DBPassworddengan kata laluan yang selamat. Buat pangkalan data baru untuk pemasangan OpenMeetings.

CREATE DATABASE openmeetings OWNER openmeetings;

Keluar dari psqlcangkerang.

\q

Beralih kepada sudopengguna.

exit

Edit pg_hba.conffail untuk mengaktifkan pengesahan berasaskan MD5.

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

Cari baris berikut dan ubah nilai di METHODlajur 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 dikemas kini, konfigurasi akan kelihatan 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 fail dan keluar dari editor. Restart PostgreSQL supaya perubahan tersebut dapat berkuatkuasa.

sudo systemctl restart postgresql-10

Memasang OpenMeetings

Oleh kerana semua kebergantungan yang diperlukan dipasang. Buat pengguna baru untuk OpenMeetings. Menggunakan pengguna bukan root untuk menjalankan OpenMeetings disyorkan untuk keselamatan pelayan.

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

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

Semak halaman muat turun Apache OpenMeetings untuk mendapatkan pautan ke keluaran terkini. Muat turun arkib OpenMeetings.

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

Ekstrak arkib ke dalam /var/openmeetingsdirektori.

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

Berikan hak milik fail kepada pengguna OpenMeetings yang telah kami buat sebelumnya.

sudo chown -R openmeetings:openmeetings /var/openmeetings

Sebelum kita memulakan aplikasi, kita perlu mengubah firewall untuk membenarkan pelabuhan 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 kini boleh memulakan aplikasi.

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

Anda kini boleh mengakses http://192.168.1.1:5080/openmeetingsdalam penyemak imbas kegemaran anda. Anda akan melihat skrin selamat datang dengan arahan untuk memasang GhostScript.

Cara Pasang OpenMeetings pada CentOS 7

Oleh kerana kami sudah memasang GhostScript, teruskan lebih jauh. Pada antara muka seterusnya, anda akan diminta untuk memberikan butiran pelayan pangkalan data. Pilih jenis pangkalan data " PostgreSql" dan berikan butiran pelayan pangkalan data anda yang anda konfigurasikan semasa pemasangan PostgreSQL.

Cara Pasang OpenMeetings pada CentOS 7

Klik pada butang " Check" dan anda perlu mendapatkan mesej: " Database check was successful". Berikan butiran akaun pentadbir anda dan nama kumpulan di antara muka seterusnya.

Cara Pasang OpenMeetings pada CentOS 7

Konfigurasikan tetapan asas pemasangan anda; seperti membenarkan pendaftaran diri, pengesahan e-mel, dan bahasa lalai. Juga, berikan maklumat pelayan SMTP anda. Jika anda tidak mempunyai pelayan SMTP sedia daripada anda juga boleh memberikan butiran SMTP kemudian di papan pemuka pentadbir.

Cara Pasang OpenMeetings pada CentOS 7

Ia akan meminta anda untuk jalan ke binari aplikasi yang berbeza. Sediakan /usr/binsebagai jalan untuk ImageMagick, FFmpeg, dan SoX. Sekiranya aplikasi menyediakan ralat untuk jalan masuk, maka anda boleh gunakan which <binary_name>untuk mencari laluan mutlak untuk binari. Sebagai contoh, which ffmpegharus memberi anda /usr/bin/ffmpegoutput. Gunakan /opt/openoffice4sebagai laluan ke binari OpenOffice.

Cara Pasang OpenMeetings pada CentOS 7

Anda boleh melangkau konfigurasi pada muka seterusnya kerana kami akan menggunakan nilai lalai. Akhirnya, klik butang " Finish" untuk memasang aplikasi dan menulis pangkalan data.

OpenMeetings kini dipasang di pelayan anda. Untuk menjadikannya lebih mesra pengeluaran, kami akan menyiapkan Systemd untuk menguruskan pelayan OpenMeetings. Kami juga akan mengkonfigurasi Nginx dengan Let's Encrypt SSL sebagai proksi terbalik yang selamat untuk melayani aplikasi.

Menyediakan Systemd

Walaupun kita boleh dengan mudah memulakan dan menghentikan aplikasi menggunakan arahan di atas, adalah disyorkan untuk menubuhkan unit servis Systemd untuk mengurus permohonan. Ini juga akan memastikan bahawa perkhidmatan itu secara automatik bermula pada masa boot dan kegagalan.

Hentikan pelayan OpenMeetings sama ada dengan menekan " Ctrl+C" atau dengan membunuh shell openmeetingspengguna.

sudo pkill -KILL -u openmeetings

Buat fail unit Systemd baru untuk OpenMeetings Server.

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

Isi fail.

[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

Mulakan pelayan OpenMeetings dan aktifkan secara automatik pada waktu boot.

sudo systemctl start openmeetings
sudo systemctl enable openmeetings

Untuk memeriksa status perkhidmatan, anda boleh menjalankan perkara berikut.

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.

Persediaan Nginx sebagai Proxy Reverse

Secara lalai, OpenMeetings mendengar port 5080. Sekiranya sambungan antara penyemak imbas dan pelayan tidak disulitkan dengan SSL, maka log masuk dan maklumat lain akan dihantar menggunakan teks biasa. Ini mungkin merupakan ancaman yang berpotensi ketika seseorang menguping di jaringan mungkin memperoleh informasi tersebut. Untuk mengurangkan masalah ini, kami akan menetapkan Nginx sebagai proksi terbalik yang akan mendengar port HTTPS lalai dan akan memproksi semua permintaan ke pelayan OpenMeetings.

Pasang Nginx.

sudo yum -y install nginx

Mula Nginx dan aktifkannya secara automatik pada masa boot.

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo yum -y install certbot

Sebelum anda boleh meminta sijil, anda perlu membenarkan pelabuhan 80dan 443atau piawai HTTPdan HTTPSperkhidmatan melalui firewall.

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

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

Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/meetings.example.com/. Sijil SSL akan disimpan sebagai fullchain.pemdan kunci peribadi akan disimpan sebagai privkey.pem.

Mari Sijikan sijil tamat tempoh dalam 90 hari, oleh itu, disyorkan untuk menyediakan pembaharuan automatik sijil menggunakan kerja-kerja 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.

Sekarang, ubah fail konfigurasi lalai Nginx untuk menghilangkan default_servergaris.

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

Buat fail konfigurasi baru untuk OpenMeetings Server.

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

Isi fail.

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 kesilapan dalam fail konfigurasi baru.

sudo nginx -t

Sekiranya anda melihat output berikut, konfigurasi bebas ralat.

[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 ralat, pastikan untuk memeriksa semula laluan ke sijil SSL. Mulakan semula pelayan web Nginx untuk melaksanakan perubahan konfigurasi.

sudo systemctl restart nginx

Sebelum anda boleh mula menggunakan aplikasi di laman web SSL yang dijamin, anda perlu membuat perubahan konfigurasi dalam OpenMeetings. Masuk ke papan pemuka OpenMeetings anda dan arahkan ke " Administration >> Configuration". Dalam jadual ID, kunci dan nilai; cari application.base.url. Tukar nilainya https://meetings.example.commengikut nama domain anda. Simpan konfigurasi dengan mengklik ikon simpan di atas.

Cara Pasang OpenMeetings pada CentOS 7

Mulakan semula perkhidmatan OpenMeetings.

sudo systemctl restart openmeetings

Sekarang, anda boleh menyemak imbas https://meetings.example.commenggunakan pelayar web kegemaran anda dan log masuk untuk menggunakan aplikasi itu.

Tahniah, OpenMeetings Apache kini dipasang pada pelayan anda. Anda boleh menjemput rakan anda dan mula menggunakan OpenMeetings untuk persidangan dalam talian.



Leave a Comment

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