Cara Pasang Hubzilla pada Ubuntu 16.04

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.

Prasyarat

  • Contoh pelayan Vultr Ubuntu 16.04.
  • Pengguna sudo .
  • Nama domain menunjuk ke arah contohnya.

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.

Pasang Nginx

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

Pasang PHP 7.1

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.

Pasang 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 Hubzilla

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

Buat Host Virtual

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

Mengakhiri

Navigasi https://hubzilla.example.commenggunakan 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.



Leave a Comment

Cara Memasang Platform Keranjang Belanja LiteCart di Ubuntu 16.04

Cara Memasang Platform Keranjang Belanja LiteCart di Ubuntu 16.04

LiteCart adalah platform keranjang belanja sumber terbuka dan bebas yang ditulis dalam PHP, jQuery, dan HTML 5. Ia adalah perisian elektronik e-dagang yang ringkas, ringan, dan mudah digunakan

Sediakan NFS Share di Debian

Sediakan NFS Share di Debian

NFS adalah sistem fail berasaskan rangkaian yang membolehkan komputer mengakses fail di seluruh rangkaian komputer. Panduan ini menerangkan bagaimana anda boleh mendedahkan folder di atas NF

Cara Memasang Matomo Analytics di Fedora 28

Cara Memasang Matomo Analytics di Fedora 28

Menggunakan Sistem Berbeza? Matomo (dahulunya Piwik) adalah platform analitik sumber terbuka, alternatif terbuka kepada Google Analytics. Sumber Matomo dihoskan o

Sediakan Pelayan TeamTalk di Linux

Sediakan Pelayan TeamTalk di Linux

TeamTalk adalah sistem persidangan yang membolehkan pengguna melakukan perbincangan audio / video berkualiti tinggi, sembang teks, memindahkan fail, dan berbagi layar. Ia i

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Mengakses VPS Vultr Anda

Cara Mengakses VPS Vultr Anda

Vultr menyediakan beberapa cara yang berbeza untuk mengakses VPS anda untuk mengkonfigurasi, memasang, dan menggunakan. Akses Kredensial Kelayakan akses lalai untuk VPS anda

Cara Membangun Brotli Dari Sumber di Ubuntu 18.04 LTS

Cara Membangun Brotli Dari Sumber di Ubuntu 18.04 LTS

Menggunakan Sistem Berbeza? Brotli adalah kaedah pemampatan baru dengan nisbah mampatan yang lebih baik daripada GZIP. Kod sumbernya dihoskan secara umum di Githu ini

Menggunakan Paparan MySQL pada Debian 7

Menggunakan Paparan MySQL pada Debian 7

Pengenalan MySQL mempunyai ciri hebat yang dikenali sebagai pandangan. Paparan adalah pertanyaan yang disimpan. Anggap mereka sebagai alias untuk pertanyaan yang panjang. Dalam panduan ini,

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Cara Pasang CD Strider pada Ubuntu 18.04

Cara Pasang CD Strider pada Ubuntu 18.04

Pengenalan CD Strider adalah platform penyebaran sumber terbuka berterusan. Aplikasi ini ditulis dalam Node.js dan menggunakan MongoDB sebagai backend penyimpanan. Selesaikan

Cara Memasang Subrion 4.1 CMS pada Ubuntu 16.04 LAMP VPS

Cara Memasang Subrion 4.1 CMS pada Ubuntu 16.04 LAMP VPS

Menggunakan Sistem Berbeza? Subrion 4.1 CMS adalah Sistem Pengurusan Kandungan sumber terbuka (CMS) yang kuat dan fleksibel yang membawa kandungan intuitif dan jelas

Cara Pasang DokuWiki pada Ubuntu 16.04 LTS

Cara Pasang DokuWiki pada Ubuntu 16.04 LTS

Menggunakan Sistem Berbeza? DokuWiki adalah program wiki sumber terbuka yang ditulis dalam PHP yang tidak memerlukan pangkalan data. Ia menyimpan data dalam fail teks. DokuWik

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajar anda cara menyediakan penjara chroot di Debian. Saya menganggap bahawa anda menggunakan Debian 7.x. Sekiranya anda menjalankan Debian 6 atau 8, ini mungkin berfungsi,

Cara Memasang PiVPN pada Debian

Cara Memasang PiVPN pada Debian

Pengenalan Cara mudah untuk menyediakan pelayan VPN di Debian adalah dengan PiVPN. PiVPN adalah pemasang dan pembungkus untuk OpenVPN. Ini membuat perintah mudah untuk anda

Cara Pasang Edisi Komuniti GitLab (CE) 11.x pada Debian 9

Cara Pasang Edisi Komuniti GitLab (CE) 11.x pada Debian 9

Menggunakan Sistem Berbeza? Sejak GitHub diambil alih oleh Microsoft, sebilangan besar pembangun telah merancang untuk memindahkan repositori kod mereka sendiri dari github.co

Pasang PBX dalam Flash 5 pada Debian 8

Pasang PBX dalam Flash 5 pada Debian 8

PBX In A Flash 5 (PIAF5) adalah sistem operasi berasaskan Debian 8 yang menjadikan Vultr VPS anda menjadi PBX lengkap. Ia mempunyai ciri-ciri berikut, dan banyak lagi.

Cara Pasang dan Konfigurasi CyberPanel pada Ubuntu 18.04 LTS

Cara Pasang dan Konfigurasi CyberPanel pada Ubuntu 18.04 LTS

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

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