GNU/Linux >> Belajar Linux >  >> Debian

Cara Memasang Media Sosial Terdesentralisasi Diaspora di Debian 10

Diaspora adalah jejaring sosial open-source, sadar privasi, dan terdistribusi. Ini terdiri dari sekelompok node yang digunakan dan dimiliki secara independen yang saling beroperasi untuk membuat jaringan. Diaspora adalah jejaring sosial yang berfokus pada tiga filosofi, desentralisasi, kebebasan, dan privasi.

Dalam tutorial ini, kami akan menunjukkan cara menginstal jaringan sosial terdistribusi Diaspora di Debian Buster 10. Kami akan menginstal Diaspora dengan server web Nginx dan server database PostgreSQL. Selain itu, kami akan mengamankan instalasi Diaspora menggunakan SSL Letsencrypt.

Prasyarat

  • Debian Buster 10
  • RAM minimal 2 GB
  • Hak istimewa root

Apa yang akan kita lakukan?

  • Instal Dependensi Paket
  • Buat Pengguna PostgreSQL Baru untuk Diaspora
  • Buat Pengguna Baru
  • Instal Ruby dengan RVM (Ruby Version Manager)
  • Memasang dan Mengonfigurasi Jaringan Sosial Terdesentralisasi Diaspora
  • Siapkan Diaspora sebagai Layanan Systemd
  • Siapkan Nginx sebagai Proksi Terbalik untuk Diaspora
  • Pengujian

Langkah 1 - Instal Ketergantungan Paket

Pertama, kita akan menginstal beberapa dependensi paket untuk instalasi Diaspora kita, termasuk server web PostgreSQL, Redis, dan Nginx.

Instal dependensi paket menggunakan perintah apt di bawah ini.

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

Setelah semua instalasi selesai, mulai layanan PostgreSQL, Nginx, dan Redis, lalu tambahkan semuanya ke boot sistem.

systemctl start redis-server
systemctl enable redis-server

systemctl start postgresql
systemctl enable postgresql

Akibatnya, beberapa dependensi paket untuk instalasi Diaspora telah diinstal ke Debian Buster 10.

Langkah 2 - Buat Pengguna PostgreSQL Baru untuk Diaspora

Pada langkah ini, kita akan mengubah kata sandi untuk pengguna 'postgres' default dan membuat pengguna PostgreSQL baru untuk Diaspora.

Masuk ke shell PostgreSQL menggunakan perintah 'psql' di bawah ini.

sudo -i -u postgres psql

Ubah kata sandi untuk pengguna default 'postgres' menggunakan kueri berikut.

\password postgres

Sekarang ketik kata sandi baru Anda dan ulangi, dan kata sandi untuk pengguna default 'postgres ' telah dikonfigurasi.

Selanjutnya, buat pengguna baru 'diaspora' dengan hak istimewa 'CREATEDB ' untuk membuat database menggunakan kueri PostgreSQL di bawah ini.

CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';

Ketik 'KELUAR ' untuk keluar dari shell PostgreSQL.

Hasilnya, pengguna PostgreSQL baru untuk Diaspora telah dibuat.

Langkah 3 - Buat Pengguna Baru

Setelah membuat pengguna database PostgreSQL, kita akan membuat pengguna sistem baru bernama 'diaspora' dan menambahkannya ke grup sudo.

Buat pengguna baru bernama 'diaspora' dan atur kata sandinya menggunakan perintah berikut.

adduser --disabled-login Diaspora
passwd diaspora

Sekarang tambahkan pengguna 'diaspora' ke grup 'sudo'.

usermod -a -G sudo diaspora

Akibatnya, pengguna 'diaspora' akan dapat menjalankan perintah 'sudo' untuk mendapatkan hak akses root.

Langkah 4 - Instal RVM dan Ruby

Sebelum melangkah lebih jauh, login ke pengguna 'diaspora' menggunakan perintah di bawah ini.

su - diaspora

Selanjutnya kita akan menginstal RVM (Ruby Version Manager) dan menginstal Ruby 2.6 untuk pengguna 'diaspora'.

Tambahkan GPGP Key untuk paket RVM menggunakan perintah di bawah ini.

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Sekarang instal RVM (Ruby Version Manager) menggunakan perintah berikut.

curl -sSL https://get.rvm.io | bash -s stable

Ketik kata sandi Anda untuk pengguna 'diaspora' dan tekan Enter.

Setelah semua instalasi selesai, muat skrip rvm ke server Anda.

source /home/diaspora/.rvm/scripts/rvm

Hasilnya, Anda dapat menjalankan perintah rvm untuk menginstal Ruby.

Instal Ruby 2.6 menggunakan perintah rvm di bawah ini.

rvm install 2.6

Setelah semua instalasi selesai, periksa versi ruby ​​Anda.

ruby -v

Di bawah ini adalah hasil yang akan Anda dapatkan.

Hasilnya, penginstalan RVM dan Ruby di bawah pengguna 'diaspora' telah selesai.

Langkah 5 - Unduh dan Konfigurasikan Diaspora

Sebelum melangkah lebih jauh, pastikan Anda masuk dengan pengguna 'diaspora'.

Unduh kode sumber Diaspora menggunakan perintah git dan masuk ke dalamnya.

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

Sekarang salin contoh konfigurasi database 'database.yml' dan konfigurasi diaspora 'diaspora.yml'.

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

Selanjutnya, edit konfigurasi database 'database.yml' menggunakan editor vim.

vim config/database.yml

Pada bagian basis data 'PostgreSQL', ubah nama pengguna dan sandi terperinci dengan data Anda.

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

Simpan dan tutup.

Selanjutnya, edit konfigurasi diaspora 'diaspora.yml'.

vim config/diaspora.yml

Ubah konfigurasi seperti di bawah ini, dan pastikan nama domain dengan milik Anda.

configuration: ## Section
...
  environment: ## Section
...
    url: "https://pod.hakase-labs.to/"
    certificate_authorities: '/etc/ssl/certs/ca-certificates.crt'
    require_ssl: true
...
  server: ## Section
    rails_environment: 'production'
...

Simpan dan tutup.

Selanjutnya, instal pustaka gem dan ruby ​​​​yang diperlukan untuk Diaspora menggunakan perintah berikut.

gem install bundler
script/configure_bundler
bin/bundle install --full-index

Setelah itu, jalankan migrasi database untuk Diaspora.

RAILS_ENV=production bundle exec rake db:create db:migrate

Setelah semua selesai, kompilasi semua pipeline aset rails menggunakan perintah berikut.

RAILS_ENV=production bin/rake assets:precompile

Dan instalasi Diaspora telah selesai.

Langkah 6 - Siapkan Diaspora sebagai Layanan

Setelah menginstal Diaspora, kami akan mengonfigurasi Diaspora sebagai layanan sistem.

Sekarang buka direktori '/etc/systemd/system' dan buat file layanan unit pengelompokan baru 'diaspora.target' menggunakan editor vim.

cd /etc/systemd/system/
vim diaspora.target

Rekatkan konfigurasi berikut ke dalamnya.

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

[Install]
WantedBy=multi-user.target

Simpan dan tutup.

Selanjutnya, buat file layanan baru untuk Diaspora bernama 'diaspora-web.service' menggunakan editor vim.

vim diaspora-web.service

Rekatkan konfigurasi berikut ke dalamnya.

[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

Simpan dan tutup.

Selanjutnya, buat file layanan baru 'diaspora-sidekiq.service' untuk layanan pemantauan menggunakan perintah vim di bawah ini.

vim diaspora-sidekiq.service

Tempelkan konfigurasi berikut.

[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

Simpan dan tutup.

Sekarang muat ulang manajer systemd dan tambahkan semua layanan diaspora ke boot sistem.

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

Kemudian mulai layanan Diaspora menggunakan perintah di bawah ini.

systemctl start diaspora.target

'diaspora.target' akan secara otomatis memulai layanan lain 'diaspora-web.service' dan 'diaspora-sidekiq.service'.

Periksa layanan diaspora menggunakan perintah berikut.

systemctl status diaspora-web
systemctl status diaspora-sidekiq

Di bawah ini adalah hasil yang akan Anda dapatkan.

Akibatnya, Diaspora sekarang aktif dan berjalan sebagai layanan systemd. Dan akhirnya, konfigurasi Diaspora telah selesai.

Langkah 7 - Buat SSL Letsencrypt

Untuk tutorial ini, kami akan mengamankan instalasi Diaspora kami menggunakan SSL Letsencrypt. pada langkah ini, kita akan menginstal alat certbot dan menghasilkan SSL Letsencrypt untuk instalasi domain Diaspora kita.

Instal Certbot menggunakan perintah apt di bawah ini.

sudo apt install certbot

Setelah semua instalasi selesai, buat SSL Letsencrypt untuk nama domain Diaspora Anda menggunakan perintah certbot di bawah ini.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d pod.hakase-labs.to

Sekarang sertifikat Anda akan tersedia di direktori '/etc/letsencrypt/live/yourdomain.com/'.

Langkah 8 - Buat Pengguna Baru dan Unduh Diaspora

Pada langkah ini, kita akan menginstal dan mengkonfigurasi server web Nginx sebagai proxy terbalik untuk Diaspora.

Instal Nginx menggunakan perintah apt di bawah ini.

sudo apt install nginx

Setelah semua instalasi selesai, buka direktori '/etc/nginx/sites-available' dan buat konfigurasi virtual host baru 'diaspora' menggunakan editor vim.

cd /etc/nginx/sites-available/
vim diaspora

Ubah nama domain dan jalur SSL Letsencrypt dengan milik Anda, lalu tempel ke dalamnya.

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

server {
  listen 80;
  listen [::]:80;
  server_name pod.hakase-labs.to;
  return 301 https://pod.hakase-labs.to$request_uri;

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

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name pod.hakase-labs.to;

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

  ssl_certificate /etc/letsencrypt/live/pod.hakase-labs.to/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/pod.hakase-labs.to/privkey.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_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;
  }
}

Simpan dan tutup.

Sekarang aktifkan konfigurasi Diaspora dan uji konfigurasi Nginx.

ln -s /etc/nginx/sites-available/diaspora /etc/nginx/sites-enabled/
nginx -t

Pastikan tidak ada kesalahan, lalu restart layanan Nginx dan tambahkan ke boot sistem.

systemctl restart nginx
systemctl enable nginx

Hasilnya, konfigurasi server web Nginx sebagai proxy terbalik untuk Diaspora telah selesai.

Langkah 9 - Pengujian

Buka browser web Anda dan ketik nama domain Diaspora Anda di bilah alamat.

http://pod.hakase-labs.to/

Dan Anda akan mendapatkan halaman beranda default Diaspora seperti di bawah ini.

Klik tautan di 'Buat akun bagian '.

Sekarang ketikkan alamat email, nama pengguna, dan kata sandi Anda untuk akun Diaspora pertama, lalu klik 'Buat akun '.

Unggah gambar profil Anda dll, lalu klik 'Luar biasa! Bawa saya ke diaspora '.

Dan Anda akan mendapatkan dashboard Diaspora seperti di bawah ini.

Seperti yang terlihat, instalasi Diaspora dengan Nginx Reverse Proxy di Debian Buster 10 telah berhasil diselesaikan.


Debian
  1. Cara Menginstal R di Debian 9

  2. Cara Menginstal PostgreSQL di Debian 9

  3. Cara Menginstal Server Media Plex di Debian 9

  1. Cara Menginstal VLC Media Player di Debian 9

  2. Cara Menginstal R di Debian 10

  3. Cara Menginstal Jellyfin Media Server di Debian 10

  1. Bagaimana cara menginstal Debian 11

  2. Cara Memasang VLC Media Player Terbaru di Debian 10

  3. Cara Menginstal Jellyfin Media Server di Debian 10 Buster