Cách cài đặt Diaspora Decentralized Social Media trên Debian 10

theanh

Administrator
Nhân viên
Diaspora là một mạng xã hội phân tán, có nhận thức về quyền riêng tư và mã nguồn mở. Nó bao gồm một nhóm các nút được triển khai và sở hữu độc lập, tương tác với nhau để tạo ra mạng. Diaspora là một mạng xã hội tập trung vào ba triết lý, phi tập trung, tự do và quyền riêng tư.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt mạng xã hội phân tán Diaspora trên Debian Buster 10. Chúng tôi sẽ cài đặt Diaspora với máy chủ web Nginx và máy chủ cơ sở dữ liệu PostgreSQL. Ngoài ra, chúng tôi sẽ bảo mật cài đặt Diaspora bằng SSL Letsencrypt.

Điều kiện tiên quyết
  • Debian Buster 10
  • Tối thiểu 2 GB RAM
  • Quyền root
Chúng ta sẽ làm gì?
  • Cài đặt các gói phụ thuộc
  • Tạo người dùng PostgreSQL mới cho Diaspora
  • Tạo người dùng mới
  • Cài đặt Ruby với RVM (Ruby Version Manager)
  • Cài đặt và cấu hình Diaspora Decentralized Social Network
  • Thiết lập Diaspora dưới dạng dịch vụ Systemd
  • Thiết lập Nginx dưới dạng proxy ngược cho Diaspora
  • Kiểm tra

Bước 1 - Cài đặt các gói phụ thuộc​

Đầu tiên, chúng ta sẽ cài đặt một số gói phụ thuộc cho cài đặt Diaspora của mình, bao gồm PostgreSQL, Redis và máy chủ web Nginx.

Cài đặt các gói phụ thuộc bằng lệnh apt bên dưới.
Mã:
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
Sau khi hoàn tất quá trình cài đặt, hãy khởi động các dịch vụ PostgreSQL, Nginx và Redis, sau đó thêm tất cả vào hệ thống khởi động.
Mã:
systemctl start redis-server
systemctl enable redis-server

systemctl start postgresql
systemctl enable postgresql
Kết quả là, một số gói phụ thuộc cho cài đặt Diaspora đã được cài đặt vào Debian Buster 10.


Bước 2 - Tạo người dùng PostgreSQL mới cho Diaspora​

Trong bước này, chúng ta sẽ thay đổi mật khẩu cho người dùng 'postgres' mặc định và tạo một người dùng PostgreSQL mới cho Diaspora.

Đăng nhập vào shell PostgreSQL bằng lệnh 'psql' bên dưới.
Mã:
sudo -i -u postgres psql
Thay đổi mật khẩu cho người dùng mặc định 'postgres' bằng truy vấn sau.
Mã:
\password postgres
Bây giờ hãy nhập mật khẩu mới của bạn và lặp lại, và mật khẩu cho người dùng mặc định 'postgres' đã được cấu hình.

Tiếp theo, tạo một người dùng mới 'diaspora' với đặc quyền 'CREATEDB' để tạo cơ sở dữ liệu bằng truy vấn PostgreSQL bên dưới.
Mã:
CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';
Nhập 'EXIT' để đăng xuất khỏi shell PostgreSQL.



Kết quả là, người dùng PostgreSQL mới cho Diaspora đã được tạo.

Bước 3 - Tạo người dùng mới​

Sau khi tạo người dùng cơ sở dữ liệu PostgreSQL, chúng ta sẽ tạo một người dùng hệ thống mới có tên 'diaspora' và thêm người này vào nhóm sudo.

Tạo một người dùng mới có tên 'diaspora' và thiết lập mật khẩu cho người dùng này bằng lệnh sau.
Mã:
adduser --disabled-login Diaspora
passwd diaspora
Bây giờ hãy thêm người dùng 'diaspora' vào nhóm 'sudo'.
Mã:
usermod -a -G sudo diaspora
Kết quả là, người dùng 'diaspora' sẽ có thể chạy lệnh 'sudo' để có được quyền root.


Bước 4 - Cài đặt RVM và Ruby​

Trước khi thực hiện bất kỳ bước nào khác, hãy đăng nhập vào người dùng 'diaspora' bằng lệnh bên dưới.
Mã:
su - diaspora
Tiếp theo, chúng ta sẽ cài đặt RVM (Ruby Version Manager) và cài đặt Ruby 2.6 cho người dùng 'diaspora'.

Thêm Khóa GPGP cho các gói RVM bằng lệnh bên dưới.
Mã:
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB


Bây giờ hãy cài đặt RVM (Trình quản lý phiên bản Ruby) bằng lệnh sau.
Mã:
curl -sSL https://get.rvm.io | bash -s stable
Nhập mật khẩu của bạn cho người dùng 'diaspora' và nhấn Enter.

Sau khi hoàn tất cài đặt, hãy tải tập lệnh rvm lên máy chủ của bạn.
Mã:
source /home/diaspora/.rvm/scripts/rvm
Kết quả là, bạn có thể chạy lệnh rvm để cài đặt Ruby.



Cài đặt Ruby 2.6 bằng lệnh rvm bên dưới.
Mã:
rvm install 2.6
Sau khi hoàn tất cài đặt, hãy kiểm tra phiên bản ruby của bạn.
Mã:
ruby -v
Dưới đây là kết quả bạn sẽ nhận được.



Kết quả là quá trình cài đặt RVM và Ruby dưới người dùng 'diaspora' đã hoàn tất.

Bước 5 - Tải xuống và cấu hình Diaspora​

Trước khi thực hiện tiếp, hãy đảm bảo rằng bạn đã đăng nhập bằng người dùng 'diaspora'.

Tải xuống mã nguồn Diaspora bằng lệnh git và vào đó.
Mã:
git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora
Bây giờ hãy sao chép mẫu cấu hình cơ sở dữ liệu 'database.yml' và cấu hình diaspora 'diaspora.yml'.
Mã:
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
Tiếp theo, hãy chỉnh sửa cấu hình cơ sở dữ liệu 'database.yml' sử dụng trình soạn thảo vim.
Mã:
vim config/database.yml
Trên phần cơ sở dữ liệu 'PostgreSQL', hãy thay đổi tên người dùng và mật khẩu chi tiết bằng dữ liệu của bạn.
Mã:
postgresql: &postgresql
 bộ điều hợp: postgresql
 máy chủ: "localhost"
 cổng: 5432
 tên người dùng: "diaspora"
 mật khẩu: "mật khẩu của bạn"
 mã hóa: unicode
Lưu và đóng.

Tiếp theo, hãy chỉnh sửa cấu hình diaspora 'diaspora.yml'.
Mã:
vim config/diaspora.yml
Thay đổi cấu hình như bên dưới và đảm bảo tên miền là của riêng bạn.
Mã:
cấu hình: ## Phần
...
 môi trường: ## Phần
...
 url: "https://pod.hakase-labs.to/"
 certificate_authorities: '/etc/ssl/certs/ca-certificates.crt'
 require_ssl: true
...
 server: ## Section
 rails_environment: 'production'
...
Lưu và đóng.

Tiếp theo, cài đặt các thư viện gem và ruby cần thiết cho Diaspora bằng các lệnh sau.
Mã:
gem install bundler
script/configure_bundler
bin/bundle install --full-index


Sau đó, chạy di chuyển cơ sở dữ liệu cho Diaspora.
Mã:
RAILS_ENV=production bundle exec rake db:create db:migrate
Sau khi hoàn tất, hãy biên dịch tất cả các đường ống tài sản rails bằng lệnh sau.
Mã:
RAILS_ENV=production bin/rake asset:precompile
Và quá trình cài đặt Diaspora đã hoàn tất.

Bước 6 - Thiết lập Diaspora dưới dạng Dịch vụ​

Sau khi cài đặt Diaspora, chúng ta sẽ cấu hình Diaspora dưới dạng dịch vụ systemd.

Bây giờ hãy vào thư mục '/etc/systemd/system' và tạo tệp dịch vụ nhóm đơn vị mới 'diaspora.target' bằng trình soạn thảo vim.
Mã:
cd /etc/systemd/system/
vim diaspora.target
Dán cấu hình sau vào đó.
Mã:
[Unit]
Description=Diaspora social network
Wants=postgresql.service
Wants=redis-server.service
After=redis-server.service
After=postgresql.service

[Install]
WantedBy=multi-user.target
Lưu và đóng.

Tiếp theo, tạo một tệp dịch vụ mới cho Diaspora có tên là 'diaspora-web.service' bằng trình soạn thảo vim.
Mã:
vim diaspora-web.service
Dán cấu hình sau vào đó.
Mã:
[Unit]
Description=Mạng xã hội Diaspora (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
Lưu và đóng.

Tiếp theo, tạo tệp dịch vụ mới 'diaspora-sidekiq.service' cho dịch vụ giám sát bằng lệnh vim bên dưới.
Mã:
vim diaspora-sidekiq.service
Dán cấu hình sau.
Mã:
[Unit]
Description=Mạng xã hội Diaspora (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
Lưu và đóng.

Bây giờ hãy tải lại trình quản lý systemd và thêm tất cả các dịch vụ diaspora vào hệ thống khởi động.
Mã:
sudo systemctl daemon-reload
sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service


Sau đó, hãy khởi động dịch vụ Diaspora bằng lệnh bên dưới.
Mã:
systemctl start diaspora.target
'diaspora.target' sẽ tự động khởi động các dịch vụ khác là 'diaspora-web.service' và 'diaspora-sidekiq.service'.

Kiểm tra các dịch vụ diaspora bằng lệnh sau.
Mã:
systemctl status diaspora-web
systemctl status diaspora-sidekiq
Dưới đây là kết quả bạn sẽ nhận được.



Kết quả là, Diaspora hiện đã hoạt động như một dịch vụ systemd. Và cuối cùng, quá trình cấu hình Diaspora đã hoàn tất.

Bước 7 - Tạo SSL Letsencrypt​

Trong hướng dẫn này, chúng tôi sẽ bảo mật cài đặt Diaspora bằng SSL Letsencrypt. trong bước này, chúng ta sẽ cài đặt công cụ certbot và tạo SSL Letsencrypt cho cài đặt miền Diaspora của chúng ta.

Cài đặt Certbot bằng lệnh apt bên dưới.
Mã:
sudo apt install certbot
Sau khi hoàn tất cài đặt, hãy tạo SSL Letsencrypt cho tên miền Diaspora của bạn bằng lệnh certbot bên dưới.
Mã:
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [emailprotected] -d pod.hakase-labs.to
Bây giờ chứng chỉ của bạn sẽ có tại thư mục '/etc/letsencrypt/live/yourdomain.com/'.

Bước 8 - Tạo người dùng mới và tải xuống Diaspora​

Trong bước này, chúng ta sẽ cài đặt và định cấu hình web Nginx máy chủ làm proxy ngược cho Diaspora.

Cài đặt Nginx bằng lệnh apt bên dưới.
Mã:
sudo apt install nginx
Sau khi hoàn tất cài đặt, hãy vào thư mục '/etc/nginx/sites-available' và tạo cấu hình máy chủ ảo mới 'diaspora' bằng trình soạn thảo vim.
Mã:
cd /etc/nginx/sites-available/
vim diaspora
Thay đổi tên miền và đường dẫn của SSL Letsencrypt bằng tên miền của riêng bạn, sau đó dán vào đó.
Mã:
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;
 }
}
Lưu và đóng.

Bây giờ hãy kích hoạt cấu hình Diaspora và kiểm tra cấu hình Nginx.
Mã:
ln -s /etc/nginx/sites-available/diaspora /etc/nginx/sites-enabled/
nginx -t
Đảm bảo không có lỗi, sau đó khởi động lại dịch vụ Nginx và thêm dịch vụ này vào hệ thống boot.
Mã:
systemctl restart nginx
systemctl enable nginx
Kết quả là, cấu hình máy chủ web Nginx như một proxy ngược cho Diaspora đã hoàn tất.


Bước 9 - Kiểm tra​

Mở trình duyệt web của bạn và nhập tên miền Diaspora của bạn vào thanh địa chỉ.

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

Và bạn sẽ nhận được trang chủ Diaspora mặc định như bên dưới.



Nhấp vào liên kết trên phần 'Tạo tài khoản'.

Bây giờ hãy nhập địa chỉ email, tên người dùng và mật khẩu của bạn cho tài khoản Diaspora đầu tiên, sau đó nhấp vào 'Tạo tài khoản'.



Tải lên ảnh hồ sơ của bạn, v.v., sau đó nhấp vào Nút 'Tuyệt vời! Đưa tôi đến diaspora'.



Và bạn sẽ nhận được bảng điều khiển Diaspora như bên dưới.



Như có thể thấy, quá trình cài đặt Diaspora với Nginx Reverse Proxy trên Debian Buster 10 đã hoàn tất thành công.
 
Back
Bên trên