Bangun Jejaring Sosial Anda Dengan Diaspora di Debian 9

Diaspora adalah jejaring sosial open source yang sadar privasi. Dalam tutorial ini, Anda akan belajar cara mengatur dan mengkonfigurasi pod Diaspora di Debian 9.

Prasyarat

  • Contoh server Debian 9.
  • Menjalankan pod berukuran rata-rata, server Anda harus memiliki, setidaknya, 512MB RAM (+ 1GB ruang swap) dan CPU multi-core yang layak.
  • Sebuah sudo pengguna.

Instal Paket Prasyarat

Pertama, perbarui sistem dan instal paket yang diperlukan.

sudo apt-get update
sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript curl libmagickwand-dev git libpq-dev redis-server nodejs

Instal PostgreSQL

Diaspora mendukung MySQL, MariaDB, dan PostgreSQL. Dalam panduan ini, kita akan menggunakan PostgreSQL.

Instal PostgreSQL.

sudo apt-get install PostgreSQL-server

Terhubung ke PostgreSQL dengan postgrespengguna.

sudo -u postgres psql

Buat pengguna Diaspora.

CREATE USER diaspora WITH CREATEDB PASSWORD '<password>';

Tambahkan Pengguna Diaspora Khusus

Ini adalah akun pengguna yang akan menjalankan Diaspora.

sudo adduser --disabled-login diaspora

Beralih ke pengguna baru.

sudo  su - diaspora

Instal Ruby

Ada beberapa cara untuk menginstal Ruby. Kami akan gunakan rbenvuntuk mengelola lingkungan dan versi.

Pertama, Anda harus menginstal paket yang dibutuhkan Ruby.

sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

Instal rbenv.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

Hubungkan kembali untuk memuat ulang jalur.

exit
sudo su - diaspora

Pasang ruby-buildplugin untuk rbenvmengkompilasi Ruby:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Instal Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Instal Exim4

Kami akan menggunakan Exim4 sebagai relai SMTP untuk mengirim email ke pengguna.

Instal dan konfigurasikan paket.

sudo apt-get install exim4
sudo dpkg-reconfigure exim4-config

Instal dan konfigurasikan Diaspora

Mengkloning kode sumber untuk Diaspora.

cd ~
git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora

Salin contoh file konfigurasi database ke lokasi yang diperlukan oleh Diaspora.

cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml

Buka file konfigurasi basis data dalam editor teks untuk mengedit beberapa pengaturan.

nano config/database.yml

Ubah pengaturan basis data agar sesuai dengan pengguna dan kata sandi PostgreSQL yang Anda buat sebelumnya.

postgresql: &postgresql
adapter: postgresql
host: localhost
port: 5432
username: diaspora
password: __password__
encoding: unicode

Buka file konfigurasi Diaspora.

nano config/diaspora.yml

Anda perlu memperbarui beberapa pengaturan dalam file ini agar Diaspora berfungsi dengan baik.

  • url: Setel URL yang menghadap publik ke pod Anda di sini.
  • certificate_authorities: Hapus yang mengarah #ke batalkan komentar itu.
  • rails_environment: Anda harus mengatur ini menjadi production.
  • require_ssl: Setel ini ke falseuntuk mencegah pengalihan dari http://ke https://.

Instal Permata yang Diperlukan

Instal Bundle, pengelola perpustakaan Ruby.

gem install bundler
script/configure_bundler

Catatan: Jika Anda memiliki kesalahan terkait versi Ruby Anda, edit .ruby-versiondan letakkan versi Anda sendiri (di sini 2.4.3alih-alih 2.4).

Setup Database

Buat dan konfigurasikan basis data.

RAILS_ENV=production bin/rake db:create db:migrate

Pra-kompilasi aset

Perintah rake ini akan mengkompilasi aset.

RAILS_ENV=production bin/rake assets:precompile

Layanan Diaspora systemd

Ada banyak cara untuk mengelola Diaspora sebagai layanan. Dalam tutorial ini, kita akan menggunakan Systemd.

Pertama, buat file berikut.

  • targetfile systemd :touch /etc/systemd/system/diaspora.target
  • webfile layanan systemd :touch /etc/systemd/system/diaspora-web.service
  • sidekiqfile layanan systemd :touch /etc/systemd/system/diaspora-sidekiq.service

Tempel di teks konfigurasi berikut untuk setiap file yang Anda buat sebelumnya.

target mengajukan:

[Unit]
Description=Diaspora social network
Wants=postgresql.service
Wants=redis-server.service
After=redis-server.service
After=postgresql.service

[Install]
WantedBy=multi-user.target

web file layanan:

[Unit]
Description=Diaspora social network (unicorn)
PartOf=diaspora.target
StopWhenUnneeded=true

[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec unicorn -c config/unicorn.rb -E production"
Restart=always

[Install]
WantedBy=diaspora.target

sidekiq file layanan:

[Unit]
Description=Diaspora social network (sidekiq)
PartOf=diaspora.target
StopWhenUnneeded=true

[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec sidekiq"
Restart=always

[Install]
WantedBy=diaspora.target

Aktifkan layanan boot.

sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service

Mulai ulang layanan.

sudo systemctl restart diaspora.target

Pastikan mereka berjalan dengan benar.

sudo systemctl status diaspora-web.service
sudo systemctl status diaspora-sidekiq.service

Nginx Reverse Proxy

Kami akan menggunakan Nginx sebagai proxy terbalik untuk melayani sumber daya statis.

Kami akan menggunakan acme.sh untuk mendapatkan sertifikat Let's Encrypt.

Unduh acme.shkode sumber.

git clone https://github.com/Neilpang/acme.sh.git

Hasilkan sertifikat Let's Encrypt.

./.acme.sh/acme.sh --issue --log \
--dns \
--keylength ec-256 \
--cert-file /etc/nginx/https/cert.pem \
--key-file /etc/nginx/https/key.pem \
--fullchain-file /etc/nginx/https/fullchain.pem \
-d example.com \
-d www.example.com

Instal Nginx.

sudo apt-get install nginx

Buat file konfigurasi Nginx baru untuk pod Diaspora kami.

nano /etc/nginx/conf.d/diaspora.conf

Isi file dengan konten berikut.

upstream diaspora_server {
 server unix:/home/diaspora/diaspora/tmp/diaspora.sock;
}

server {
  listen 80;
  listen [::]:80; 
  server_name www.example.com example.com;
  return 301 https://example.com$request_uri;

  access_log /dev/null;
  error_log /dev/null;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name www.example.com example.com;

  if ($host = www.example.com) {
   return 301 https://example.com$request_uri;
  }

  access_log /var/log/nginx/dspr-access.log;
  error_log /var/log/nginx/dspr-error.log;

  ssl_certificate /etc/nginx/https/fullchain.pem;
  ssl_certificate_key /etc/nginx/https/key.pem;

  ssl_protocols TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES;
  ssl_ecdh_curve X25519:P-521:P-384:P-256;
  ssl_prefer_server_ciphers on;
  ssl_stapling on;
  ssl_stapling_verify on;
  resolver 80.67.169.40 80.67.169.12 valid=300s;
  resolver_timeout 5s;
  ssl_session_cache shared:SSL:10m;

  root /home/diaspora/diaspora/public;

  client_max_body_size 5M;
  client_body_buffer_size 256K;

  try_files $uri @diaspora;

  location /assets/ {
    expires max;
    add_header Cache-Control public;
  }

  location @diaspora {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://diaspora_server;
  }
}

Catatan: ubah example.comke nama domain terdaftar Anda sendiri.

Setelah semua modifikasi selesai, periksa file konfigurasi untuk setiap kesalahan.

sudo nginx -t

Mulai ulang Nginx untuk menerapkan perubahan.

sudo systemctl restart nginx

Jika sekarang Anda mengunjungi nama domain pod Diaspora di browser Anda (contoh https://example.com:), Anda akan membuka halaman selamat datang Diaspora.

Buat Pengguna Diaspora

Klik tautan Start by creating an account., dan isi detail untuk membuat pengguna Diaspora baru. Kemudian, Anda akan dapat melihat beranda pengguna Anda dan mulai menggunakan jejaring sosial Diaspora.

Setelah Anda membuat akun, berikan hak admin :.

Role.add_admin User.where(username: "your_username").first.person

Anda sekarang memiliki akses ke dasbor admin.

https://example.com/admins/dashboard

Sidekiq

Sidekiq, yang menangani pemrosesan pekerjaan latar belakang, memiliki antarmuka web yang tersedia di https://example.com/sidekiq. Statistik pod tersedia di https://example.com/statistics.

Logrotate

Kami akan gunakan logrotateuntuk mengelola log Diaspora.

Buat logrotatefile baru untuk Diaspora.

nano /etc/logrotate/diaspora

Kemudian, tambahkan baris berikut.

/home/diaspora/diaspora/log/*.log {
  notifempty
  copytruncate
  missingok
  compress
  weekly
  rotate 52
}

Ini akan memutar log setiap minggu, mengompresnya, dan menyimpannya selama 52 minggu.

Perbarui Diaspora

Ketika tiba saatnya untuk memperbarui Diaspora, ikuti langkah-langkah ini.

Pertama, perbarui sistem.

sudo apt-get update
sudo apt-get dist-upgrade

Perbarui kode sumber Diaspora dengan git.

su - diaspora
cd diaspora
git pull

Perbarui permata.

gem install bundler
bin/bundle --full-index

Migrasikan basis data dan kompilasi ulang aset.

RAILS_ENV=production bin/rake db:migrate
RAILS_ENV=production bin/rake assets:precompile

Akhirnya, restart Diaspora.

systemctl restart diaspora.target


Leave a Comment

Siapkan Berbagi NFS di Debian

Siapkan Berbagi NFS di Debian

NFS adalah sistem file berbasis jaringan yang memungkinkan komputer untuk mengakses file di seluruh jaringan komputer. Panduan ini menjelaskan bagaimana Anda dapat mengekspos folder melalui NF

Menggunakan Tampilan MySQL pada Debian 7

Menggunakan Tampilan MySQL pada Debian 7

Pendahuluan MySQL memiliki fitur hebat yang dikenal sebagai tampilan. Tampilan adalah kueri yang disimpan. Pikirkan mereka sebagai alias untuk permintaan yang panjang. Dalam panduan ini,

Cara Memasang Thelia 2.3 pada Debian 9

Cara Memasang Thelia 2.3 pada Debian 9

Menggunakan Sistem yang Berbeda? Thelia adalah alat sumber terbuka untuk membuat situs web e-bisnis dan mengelola konten online yang ditulis dalam PHP. Kode sumber thelia i

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajarkan Anda cara mengatur chroot jail di Debian. Saya berasumsi bahwa Anda menggunakan Debian 7.x. Jika Anda menjalankan Debian 6 atau 8, ini mungkin berhasil, bu

Cara Memasang PiVPN pada Debian

Cara Memasang PiVPN pada Debian

Pendahuluan Cara mudah untuk menyiapkan server VPN pada Debian adalah dengan PiVPN. PiVPN adalah penginstal dan pembungkus untuk OpenVPN. Ini menciptakan perintah sederhana untuk Anda

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

EasyEngine (ee) adalah alat Python yang memungkinkan Anda untuk mengelola situs Wordpress di Nginx dengan mudah dan otomatis. Menggunakan EasyEngine, Anda tidak perlu dea

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? BlogoText CMS adalah Content Management System (CMS) yang sederhana dan ringan, gratis, dan engine blog minimalis

Cara Memasang InvoicePlane di Debian 9

Cara Memasang InvoicePlane di Debian 9

Menggunakan Sistem yang Berbeda? InvoicePlane adalah aplikasi faktur sumber terbuka dan gratis. Kode sumbernya dapat ditemukan di repositori Github ini. Panduan ini

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Backdrop CMS 1.8.0 adalah Content Management System (CMS) yang sederhana dan fleksibel, ramah seluler, gratis dan terbuka yang memungkinkan kami

Cara Memasang BookStack pada Debian 9

Cara Memasang BookStack pada Debian 9

Menggunakan Sistem yang Berbeda? BookStack adalah platform sederhana, self-host, mudah digunakan untuk mengatur dan menyimpan informasi. BookStack sepenuhnya gratis dan terbuka

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Pagekit 1.0 CMS adalah Content Management System (CMS) yang indah, modular, dapat diperpanjang dan ringan, dengan

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar

Pantau Status Server Debian dengan Munin

Pantau Status Server Debian dengan Munin

Munin adalah alat pemantauan untuk mensurvei proses dan sumber daya di mesin Anda dan menyajikan informasi dalam grafik melalui antarmuka web. Gunakan tindak lanjutnya

Cara Mengaktifkan TLS 1.3 di Apache pada Debian 10

Cara Mengaktifkan TLS 1.3 di Apache pada Debian 10

Menggunakan Sistem yang Berbeda? TLS 1.3 adalah versi protokol Transport Layer Security (TLS) yang diterbitkan pada 2018 sebagai standar yang diusulkan dalam RFC 8446

Cara Memasang PyroCMS di Debian 9

Cara Memasang PyroCMS di Debian 9

Menggunakan Sistem yang Berbeda? PyroCMS adalah CMS open source yang ditulis dalam PHP. Kode sumber PyroCMS dihosting di GitHub. Dalam panduan ini berjalan dengan baik melalui keseluruhan

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Menggunakan Sistem yang Berbeda? Redaxscript 3.2 CMS adalah Content Management System (CMS) yang modern dan sangat ringan, gratis dan open source dengan roket

Tambahkan Kisaran Alamat IP ke Server Anda (CentOS / Ubuntu / Debian)

Tambahkan Kisaran Alamat IP ke Server Anda (CentOS / Ubuntu / Debian)

Pendahuluan Dalam tutorial ini, kita akan membahas proses menambahkan seluruh rentang IP / subnet ke server Linux yang menjalankan CentOS, Debian, atau Ubuntu. Prosesnya

Menyiapkan Counter Strike: Sumber di Debian

Menyiapkan Counter Strike: Sumber di Debian

Dalam panduan ini, kami akan menyiapkan Counter Strike: Server game sumber pada Debian 7. Perintah ini diuji pada Debian 7 tetapi perintah itu juga harus berfungsi

Instal PBX dalam Flash 5 pada Debian 8

Instal PBX dalam Flash 5 pada Debian 8

PBX In A Flash 5 (PIAF5) adalah sistem operasi berbasis Debian 8 yang mengubah Vultr VPS Anda menjadi PBX yang lengkap. Ia memiliki fitur berikut, dan banyak lagi.

Cara Memasang Dolibarr di Debian 9

Cara Memasang Dolibarr di Debian 9

Menggunakan Sistem yang Berbeda? Dolibarr adalah perencanaan sumber daya perusahaan sumber terbuka (ERP) dan manajemen hubungan pelanggan (CRM) untuk bisnis. Dolibarr

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