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
Cài đặt các gói phụ thuộc bằng lệnh apt bên dưới.
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.
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.
Đăng nhập vào shell PostgreSQL bằng lệnh 'psql' bên dưới.
Thay đổi mật khẩu cho người dùng mặc định 'postgres' bằng truy vấn sau.
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.
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.
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.
Bây giờ hãy thêm người dùng 'diaspora' vào nhóm 'sudo'.
Kết quả là, người dùng 'diaspora' sẽ có thể chạy lệnh 'sudo' để có được quyền root.
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.
Bây giờ hãy cài đặt RVM (Trình quản lý phiên bản Ruby) bằng lệnh sau.
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.
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.
Sau khi hoàn tất cài đặt, hãy kiểm tra phiên bản ruby của bạn.
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.
Tải xuống mã nguồn Diaspora bằng lệnh git và vào đó.
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'.
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.
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.
Lưu và đóng.
Tiếp theo, hãy chỉnh sửa cấu hình diaspora '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.
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.
Sau đó, chạy di chuyển cơ sở dữ liệu cho Diaspora.
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.
Và quá trình cài đặt Diaspora đã hoàn tất.
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.
Dán cấu hình sau vào đó.
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.
Dán cấu hình sau vào đó.
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.
Dán cấu hình sau.
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.
Sau đó, hãy khởi động dịch vụ Diaspora bằng lệnh bên dưới.
'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.
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.
Cài đặt Certbot bằng lệnh apt bên dưới.
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.
Bây giờ chứng chỉ của bạn sẽ có tại thư mục '/etc/letsencrypt/live/yourdomain.com/'.
Cài đặt Nginx bằng lệnh apt bên dưới.
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.
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 đó.
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 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.
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.
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.
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
- 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
Mã:
systemctl start redis-server
systemctl enable redis-server
systemctl start postgresql
systemctl enable postgresql
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
Mã:
\password postgres
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';
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
Mã:
usermod -a -G sudo diaspora
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
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
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
Cài đặt Ruby 2.6 bằng lệnh rvm bên dưới.
Mã:
rvm install 2.6
Mã:
ruby -v
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
Mã:
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
Mã:
vim config/database.yml
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
Tiếp theo, hãy chỉnh sửa cấu hình diaspora 'diaspora.yml'.
Mã:
vim config/diaspora.yml
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'
...
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
Mã:
RAILS_ENV=production bin/rake asset:precompile
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
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
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
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
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
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
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
Kiểm tra các dịch vụ diaspora bằng lệnh sau.
Mã:
systemctl status diaspora-web
systemctl status diaspora-sidekiq
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
Mã:
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [emailprotected] -d pod.hakase-labs.to
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
Mã:
cd /etc/nginx/sites-available/
vim diaspora
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;
}
}
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ã:
systemctl restart nginx
systemctl enable nginx
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.