Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Hubzilla adalah platform berbasis web sumber terbuka untuk membuat situs web yang terhubung secara internal. Dalam ekosistem Hubzilla, server yang menjalankan Hubzilla disebut "hub" dan sekelompok beberapa hub disebut "grid". Hub di dalam kisi berkomunikasi satu sama lain untuk berbagi informasi seperti identitas. Siapa pun dapat mempublikasikan konten secara publik atau pribadi menggunakan "saluran", yang dapat berupa orang, blog, atau forum. Ia menggunakan kerangka kerja Zot berbasis JSON untuk mengimplementasikan komunikasi dan layanan terdesentralisasi yang aman. Hubzilla dikemas dengan fitur-fitur seperti utas diskusi jejaring sosial, penyimpanan file cloud, kalender dan kontak, hosting halaman web dengan sistem manajemen konten, wiki, dan banyak lagi.
Untuk tutorial ini, kita akan menggunakan hubzilla.example.com
nama domain yang menunjuk ke instance Vultr. Pastikan untuk mengganti semua kemunculan nama domain contoh dengan yang sebenarnya.
Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui Ubuntu 16.04 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal dependensi.
Nginx adalah server web produksi untuk menjalankan aplikasi web.
Instal Nginx.
sudo apt -y install nginx
Mulai Nginx dan aktifkan secara otomatis saat boot.
sudo systemctl start nginx
sudo systemctl enable nginx
Hubzilla mendukung versi PHP di atas 5.6. Kami akan menginstal PHP 7.1 untuk memastikan kecepatan, keamanan, dan kompatibilitas maksimum. Tambahkan repositori Ubuntu untuk PHP 7.1.
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update
Instal PHP versi 7.1 bersama dengan modul yang diperlukan oleh Hubzilla.
sudo apt -y install php7.1 php7.1-mysql php7.1-curl php7.1-json php7.1-cli php7.1-gd php7.1-xml php7.1-mbstring php7.1-fpm imagemagick php7.1-zip
Edit file konfigurasi PHP.
sudo nano /etc/php/7.1/fpm/php.ini
Temukan baris berikut. Batalkan komentar dan atur zona waktu yang sesuai.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone
Tetapkan batas memori yang sesuai pada konfigurasi selanjutnya. Menyetelnya -1
akan memberikan memori yang tidak terbatas tersedia untuk skrip. Juga, tambahkan batas unggah file maksimum.
memory_limit = -1
upload_max_filesize = 100M
post_max_size = 100M
Selanjutnya, cari baris berikut dan atur nilainya 0
setelah membatalkan komentar.
cgi.fix_pathinfo=0
Mulai php7.1-fpm
dan aktifkan untuk memulai secara otomatis saat boot.
sudo systemctl restart php7.1-fpm
sudo systemctl enable php7.1-fpm
Buat direktori sesi dan berikan izin menulis.
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session
Sekarang, lanjutkan ke instalasi MariaDB.
MariaDB adalah garpu dari MySQL. Tambahkan repositori MariaDB ke sistem Anda, karena repositori Ubuntu default berisi versi yang lebih lama dari MariaDB.
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'
sudo apt update
Instal MariaDB.
sudo apt -y install mariadb-server
Berikan kata sandi yang kuat untuk pengguna root MariaDB saat ditanya. Mulai MariaDB dan aktifkan untuk memulai secara otomatis saat boot.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Sebelum mengkonfigurasi basis data, Anda perlu mengamankan MariaDB. Anda dapat mengamankannya dengan menjalankan mysql_secure_installation
skrip.
sudo mysql_secure_installation
Anda akan dimintai kata sandi root MariaDB saat ini. Berikan kata sandi yang telah Anda tentukan selama instalasi. Anda akan ditanya apakah Anda ingin mengubah kata sandi yang ada dari pengguna root dari server MariaDB Anda. Anda dapat melewati pengaturan kata sandi baru, karena Anda telah memberikan kata sandi yang kuat selama instalasi. Jawab " Y
" untuk semua pertanyaan lain yang ditanyakan.
Masuk ke shell MySQL sebagai root.
mysql -u root -p
Berikan kata sandi untuk pengguna root MariaDB untuk masuk.
Jalankan pertanyaan berikut untuk membuat database dan pengguna basis data untuk instalasi Hubzilla.
CREATE DATABASE hubzilla_data;
CREATE USER 'hubzilla_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON hubzilla_data.* TO 'hubzilla_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Anda dapat mengganti nama database hubzilla_data
dan nama pengguna hubzilla_user
sesuai pilihan Anda. Pastikan untuk mengubah StrongPassword
kata sandi yang sangat kuat.
Instal Git. Git diperlukan untuk mengkloning repositori Hubzilla dari Github.
sudo apt -y install git
Beralih ke direktori root web dan klon repositori Hubzilla.
cd /var/www
sudo git clone https://github.com/redmatrix/hubzilla.git hubzilla
Buat direktori baru untuk menyimpan data Hubzilla.
cd hubzilla
sudo mkdir -p "store/[data]/smarty3"
sudo chmod -R 777 store
Klon dan instal addon Hubzilla.
sudo util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
sudo util/update_addon_repo hzaddons
Berikan kepemilikan direktori dan file kepada pengguna Nginx.
sudo chown -R www-data:www-data /var/www/hubzilla
SSL harus diinstal di situs Hubzilla, karena login dan data lain dapat dikompromikan jika tidak dienkripsi. Dalam tutorial ini, kita akan menggunakan sertifikat SSL yang diperoleh oleh Let's Encrypt otoritas sertifikat.
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 hubzilla.example.com
Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/hubzilla.example.com/
. Sertifikat SSL akan disimpan sebagai fullchain.pem
dan 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, sertifikat itu akan diperpanjang secara otomatis.
Buat file konfigurasi baru untuk Hubzilla Server.
sudo nano /etc/nginx/sites-available/hubzilla
Mengisi file.
server {
listen 80;
server_name hubzilla.example.com;
index index.php;
root /var/www/hubzilla;
rewrite ^ https://hubzilla.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name hubzilla.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/hubzilla.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hubzilla.example.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
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;
fastcgi_param HTTPS on;
index index.php;
charset utf-8;
root /var/www/hubzilla;
access_log /var/log/nginx/hubzilla.log;
client_max_body_size 20m;
client_body_buffer_size 128k;
location / {
if ($is_args != "") {
rewrite ^/(.*) /index.php?q=$uri&$args last;
}
rewrite ^/(.*) /index.php?q=$uri last;
}
location ^~ /.well-known/ {
allow all;
rewrite ^/(.*) /index.php?q=$uri&$args last;
}
location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|map|ttf|woff|woff2|svg)$ {
expires 30d;
try_files $uri /index.php?q=$uri&$args;
}
location ~* \.(tpl|md|tgz|log|out)$ {
deny all;
}
location ~* \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\. {
deny all;
}
location ~ /store {
deny all;
}
}
Aktifkan konfigurasi.
sudo ln -s /etc/nginx/sites-available/hubzilla /etc/nginx/sites-enabled/hubzilla
Uji konfigurasi server web Nginx.
sudo nginx -t
Anda akan melihat output berikut.
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 tidak melihat kesalahan dalam konfigurasi, mulai ulang Nginx sehingga konfigurasi baru dapat berlaku.
sudo systemctl restart nginx
Arahkan ke https://hubzilla.example.com
menggunakan browser favorit Anda dan Anda akan melihat halaman web yang menunjukkan antarmuka "pemeriksaan sistem". Anda akan melihat bahwa setiap persyaratan lulus dalam pemeriksaan sistem. Pada antarmuka berikutnya, berikan detail basis data yang telah Anda buat sebelumnya. Selanjutnya, berikan email administrator, URL situs web, dan zona waktu. Hubzilla sekarang diinstal pada server Anda, Anda dapat melanjutkan untuk membuat pengguna administrator dengan email administrator yang Anda gunakan selama instalasi.
Terakhir, Anda perlu mengatur cron untuk menjalankan tugas yang dijadwalkan setiap sepuluh menit.
Buat file baru untuk pekerjaan cron.
sudo nano /etc/cron.d/hubzilla
Isi file dengan yang berikut ini.
*/10 * * * * www-data cd /var/www/hubzilla; /usr/bin/php Zotlabs/Daemon/Master.php Cron
Mulai ulang layanan cron.
sudo systemctl restart cron
Jika Anda ingin membuat kumpulan dokumentasi lokal, jalankan perintah berikut.
cd /var/www/hubzilla
util/importdoc
sudo chown www-data:www-data -R /var/www/hubzilla
Hubzilla sekarang diinstal dan dikonfigurasi, Anda dapat mengundang teman-teman Anda dan menggunakan platform yang diinginkan.
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
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'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
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 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?
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.
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!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
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