Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Hubzilla adalah platform berasaskan web sumber terbuka untuk membuat laman web yang berkaitan secara dalaman. Dalam ekosistem Hubzilla, pelayan yang menjalankan Hubzilla dipanggil "hab" dan sekumpulan hab berganda dipanggil "grid". Hab dalam grid berkomunikasi antara satu sama lain untuk berkongsi maklumat seperti identiti. Sesiapa pun boleh menyiarkan kandungan secara terbuka atau secara peribadi menggunakan "saluran", yang boleh menjadi orang, blog, atau forum. Ia menggunakan rangka kerja Zot berasaskan JSON untuk melaksanakan komunikasi dan perkhidmatan yang terdesentralisasi. Hubzilla penuh dengan ciri-ciri seperti benang perbincangan rangkaian sosial, storan fail awan, kalendar dan kenalan, laman web hosting dengan sistem pengurusan kandungan, wiki dan banyak lagi.
Untuk tutorial ini, kami akan gunakan hubzilla.example.com
sebagai nama domain menunjuk ke arah contoh Vultr. Sila pastikan untuk menggantikan semua kejadian nama domain contoh dengan yang sebenarnya.
Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Setelah sistem anda diperbaharui, teruskan memasang dependensi.
Nginx adalah pelayan web pengeluaran untuk menjalankan aplikasi web.
Pasang Nginx.
sudo apt -y install nginx
Mula Nginx dan dayakannya secara automatik semasa boot.
sudo systemctl start nginx
sudo systemctl enable nginx
Hubzilla menyokong versi PHP di atas 5.6. Kami akan memasang PHP 7.1 untuk memastikan kelajuan maksimum, keselamatan, dan keserasian. Tambah repositori Ubuntu untuk PHP 7.1.
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update
Pasang versi PHP 7.1 berserta 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 fail konfigurasi PHP.
sudo nano /etc/php/7.1/fpm/php.ini
Cari baris berikut. Tidak memenuhi syarat itu dan tetapkan zon waktu yang sesuai.
date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone
Tetapkan had memori yang sesuai pada konfigurasi seterusnya. Menetapkannya -1
akan memberikan memori yang tersedia tanpa had pada skrip. Juga, tambahkan had muat naik fail maksimum.
memory_limit = -1
upload_max_filesize = 100M
post_max_size = 100M
Seterusnya, cari baris berikut dan tetapkan nilainya 0
selepas tidak mengulas.
cgi.fix_pathinfo=0
Mula php7.1-fpm
dan aktifkannya secara automatik pada masa boot.
sudo systemctl restart php7.1-fpm
sudo systemctl enable php7.1-fpm
Buat direktori sesi dan berikan kebenaran menulis.
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session
Sekarang, teruskan ke pemasangan MariaDB.
MariaDB adalah garpu MySQL. Tambahkan repositori MariaDB ke sistem anda, sebagai repositori Ubuntu lalai mengandungi versi 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
Pasang MariaDB.
sudo apt -y install mariadb-server
Berikan kata laluan yang kuat untuk pengguna root MariaDB ketika ditanya. Mulakan MariaDB dan aktifkan secara automatik pada waktu boot.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Sebelum mengkonfigurasi pangkalan data, anda perlu mengamankan MariaDB. Anda boleh mendapatkannya dengan menjalankan mysql_secure_installation
skrip.
sudo mysql_secure_installation
Anda akan diminta kata laluan root MariaDB semasa. Berikan kata laluan yang telah anda tetapkan semasa pemasangan. Anda akan ditanya sama ada anda ingin menukar kata laluan pengguna root sedia ada pelayan MariaDB anda. Anda boleh melangkau menetapkan kata laluan baru, kerana anda telah memberikan kata laluan yang kuat semasa pemasangan. Jawab " Y
" untuk semua soalan lain yang diajukan.
Log masuk ke shell MySQL sebagai root.
mysql -u root -p
Berikan kata laluan untuk pengguna root MariaDB untuk log masuk.
Jalankan pertanyaan berikut untuk membuat pangkalan data dan pengguna pangkalan data untuk pemasangan 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 boleh mengganti nama pangkalan data hubzilla_data
dan nama pengguna hubzilla_user
mengikut pilihan anda. Sila pastikan anda menukar StrongPassword
kata laluan yang sangat kuat.
Pasang Git. Git diperlukan untuk mengklon repositori Hubzilla dari Github.
sudo apt -y install git
Tukar 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 pasangkan addon Hubzilla.
sudo util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
sudo util/update_addon_repo hzaddons
Berikan hak milik direktori dan fail kepada pengguna Nginx.
sudo chown -R www-data:www-data /var/www/hubzilla
Penting untuk memasang SSL di laman Hubzilla, kerana log masuk dan data lain mungkin terganggu jika tidak dienkripsi. Dalam tutorial ini, kami akan menggunakan sijil SSL yang diperoleh oleh otoriti sijil Let's Encrypt.
Tambah repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.
sudo apt -y install certbot
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 /var/www/html -d hubzilla.example.com
Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/hubzilla.example.com/
. Sijil SSL akan disimpan sebagai fullchain.pem
dan 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.
Buat fail konfigurasi baru untuk Hubzilla Server.
sudo nano /etc/nginx/sites-available/hubzilla
Isi fail.
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 pelayan 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
Sekiranya anda tidak melihat ralat dalam konfigurasi, mulakan semula Nginx supaya konfigurasi baru dapat dikuatkuasakan.
sudo systemctl restart nginx
Navigasi https://hubzilla.example.com
menggunakan penyemak imbas kegemaran anda dan anda akan melihat halaman web yang menunjukkan antara muka "cek sistem". Anda akan melihat bahawa setiap keperluan lulus dalam pemeriksaan sistem. Pada antara muka seterusnya, berikan butiran pangkalan data yang telah anda buat sebelumnya. Seterusnya, berikan e-mel pentadbir, URL laman web, dan zon waktu. Hubzilla kini dipasang pada pelayan anda, anda boleh meneruskan untuk mencipta pengguna pentadbir dengan e-mel pentadbir yang anda gunakan semasa pemasangan.
Akhirnya, anda perlu menyediakan cron untuk menjalankan tugas yang dijadualkan setiap sepuluh minit.
Buat fail baru untuk cron job.
sudo nano /etc/cron.d/hubzilla
Isi fail dengan yang berikut.
*/10 * * * * www-data cd /var/www/hubzilla; /usr/bin/php Zotlabs/Daemon/Master.php Cron
Mulakan semula perkhidmatan cron.
sudo systemctl restart cron
Sekiranya anda ingin membuat satu set dokumentasi tempatan, jalankan perintah berikut.
cd /var/www/hubzilla
util/importdoc
sudo chown www-data:www-data -R /var/www/hubzilla
Hubzilla kini dipasang dan dikonfigurasikan, anda boleh menjemput rakan anda dan menggunakan platform yang dikehendaki.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
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'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
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 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?
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.
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!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
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