Поиск по сайту:

Как установить децентрализованную социальную сеть Diaspora на Debian 10


На этой странице

  1. Шаг 1. Установка зависимостей пакетов
  2. Шаг 2. Создание нового пользователя PostgreSQL для диаспоры
  3. Шаг 3. Создайте нового пользователя
  4. Шаг 4. Установите RVM и Ruby
  5. Шаг 5. Загрузите и настройте Diaspora
  6. Шаг 6. Настройте диаспору как услугу
  7. Шаг 7. Создание SSL Letsencrypt
  8. Шаг 8. Создайте нового пользователя и загрузите Diaspora
  9. Шаг 9. Тестирование

Diaspora — это распределенная социальная сеть с открытым исходным кодом, обеспечивающая конфиденциальность. Он состоит из группы независимо развернутых и принадлежащих узлов, которые взаимодействуют для создания сети. Diaspora — это социальная сеть, ориентированная на три философии: децентрализацию, свободу и конфиденциальность.

В этом руководстве мы покажем вам, как установить распределенную социальную сеть Diaspora на Debian Buster 10. Мы установим Diaspora с веб-сервером Nginx и сервером базы данных PostgreSQL. Кроме того, мы защитим установку Diaspora с помощью SSL Letsencrypt.

Предпосылки

  • Debian Buster 10
  • Минимум 2 ГБ ОЗУ
  • Привилегии root

Что мы будем делать?

  • Установка зависимостей пакетов
  • Создание нового пользователя PostgreSQL для диаспоры
  • Создать нового пользователя
  • Установка Ruby с помощью RVM (менеджер версий Ruby)
  • Установка и настройка децентрализованной социальной сети Diaspora
  • Настройка Diaspora как службы Systemd
  • Настройка Nginx в качестве обратного прокси-сервера для Diaspora
  • Тестирование

Шаг 1 — Установите зависимости пакетов

Во-первых, мы установим некоторые зависимости пакетов для нашей установки Diaspora, включая веб-сервер PostgreSQL, Redis и Nginx.

Установите зависимости пакетов, используя приведенную ниже команду apt.

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

После завершения установки запустите службы PostgreSQL, Nginx и Redis, а затем добавьте все это в загрузку системы.

systemctl start redis-server
systemctl enable redis-server

systemctl start postgresql
systemctl enable postgresql

В результате некоторые зависимости пакетов для установки Diaspora были установлены в Debian Buster 10.

Шаг 2 — Создайте нового пользователя PostgreSQL для диаспоры

На этом шаге мы изменим пароль пользователя postgres по умолчанию и создадим нового пользователя PostgreSQL для Diaspora.

Войдите в оболочку PostgreSQL, используя приведенную ниже команду psql.

sudo -i -u postgres psql

Измените пароль для пользователя postgres по умолчанию, используя следующий запрос.

\password postgres

Теперь введите новый пароль и повторите, и пароль для пользователя postgres по умолчанию настроен.

Затем создайте новую диаспору пользователей с привилегией CREATEDB для создания базы данных с помощью приведенного ниже запроса PostgreSQL.

CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';

Введите EXIT, чтобы выйти из оболочки PostgreSQL.

В результате был создан новый пользователь PostgreSQL для Diaspora.

Шаг 3 — Создайте нового пользователя

После создания пользователя базы данных PostgreSQL мы создадим нового системного пользователя с именем diaspora и добавим его в группу sudo.

Создайте нового пользователя с именем diaspora и установите для него пароль с помощью следующей команды.

adduser --disabled-login Diaspora
passwd diaspora

Теперь добавьте пользователя diaspora в группу sudo.

usermod -a -G sudo diaspora

В результате пользователь diaspora сможет запустить команду sudo для получения привилегий root.

Шаг 4 — Установите RVM и Ruby

Прежде чем идти дальше, войдите в систему под пользователем diaspora, используя приведенную ниже команду.

su - diaspora

Далее мы установим RVM (Ruby Version Manager) и установим Ruby 2.6 для диаспоры пользователей.

Добавьте ключ GPGP для пакетов RVM, используя приведенную ниже команду.

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Теперь установите RVM (Ruby Version Manager), используя следующую команду.

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

Введите свой пароль для пользователя диаспоры и нажмите Enter.

После завершения установки загрузите скрипт rvm на свой сервер.

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

В результате вы можете запустить команду rvm для установки Ruby.

Установите Ruby 2.6 с помощью приведенной ниже команды rvm.

rvm install 2.6

После завершения установки проверьте версию ruby.

ruby -v

Ниже приведен результат, который вы получите.

В итоге установка RVM и Ruby под пользователем diaspora завершена.

Шаг 5 - Загрузите и настройте Diaspora

Прежде чем идти дальше, убедитесь, что вы вошли в систему под пользователем diaspora.

Загрузите исходный код Diaspora с помощью команды git и войдите в него.

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

Теперь скопируйте пример конфигурации базы данных database.yml и конфигурации диаспоры diaspora.yml.

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

Затем отредактируйте файл конфигурации базы данных database.yml с помощью редактора vim.

vim config/database.yml

В разделе базы данных PostgreSQL измените подробное имя пользователя и пароль на свои данные.

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

Сохранить и закрыть.

Затем отредактируйте конфигурацию диаспоры diaspora.yml.

vim config/diaspora.yml

Измените конфигурацию, как показано ниже, и убедитесь, что доменное имя соответствует вашему собственному.

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'
...

Сохранить и закрыть.

Затем установите библиотеки gem и ruby, необходимые для Diaspora, с помощью следующих команд.

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

После этого запустите миграцию базы данных для Diaspora.

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

Как только все будет завершено, скомпилируйте весь конвейер ресурсов rails, используя следующую команду.

RAILS_ENV=production bin/rake assets:precompile

И установка Diaspora завершена.

Шаг 6 - Настройте диаспору как услугу

После установки Diaspora мы настроим Diaspora как службу systemd.

Теперь перейдите в каталог /etc/systemd/system и создайте новый служебный файл единиц группировки diaspora.target с помощью редактора vim.

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

Вставьте в него следующую конфигурацию.

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

[Install]
WantedBy=multi-user.target

Сохранить и закрыть.

Затем создайте новый служебный файл для Diaspora с именем diaspora-web.service с помощью редактора vim.

vim diaspora-web.service

Вставьте в него следующую конфигурацию.

[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

Сохранить и закрыть.

Затем создайте новый служебный файл diaspora-sidekiq.service для службы мониторинга с помощью приведенной ниже команды vim.

vim diaspora-sidekiq.service

Вставьте следующую конфигурацию.

[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

Сохранить и закрыть.

Теперь перезагрузите менеджер systemd и добавьте все сервисы диаспоры в загрузку системы.

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

Затем запустите службу Diaspora с помощью приведенной ниже команды.

systemctl start diaspora.target

diaspora.target автоматически запустит другие сервисы diaspora-web.service и diaspora-sidekiq.service.

Проверьте услуги диаспоры с помощью следующей команды.

systemctl status diaspora-web
systemctl status diaspora-sidekiq

Ниже приведен результат, который вы получите.

В результате Diaspora теперь запущена и работает как служба systemd. И, наконец, настройка диаспоры завершена.

Шаг 7 — Сгенерируйте SSL Letsencrypt

В этом руководстве мы защитим нашу установку Diaspora с помощью SSL Letsencrypt. на этом этапе мы установим инструмент certbot и создадим SSL Letsencrypt для установки нашего домена Diaspora.

Установите Certbot с помощью приведенной ниже команды apt.

sudo apt install certbot

После завершения установки создайте SSL Letsencrypt для вашего доменного имени в диаспоре, используя приведенную ниже команду certbot.

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

Теперь ваш сертификат будет доступен в каталоге /etc/letsencrypt/live/yourdomain.com/.

Шаг 8 - Создайте нового пользователя и загрузите Diaspora

На этом этапе мы установим и настроим веб-сервер Nginx в качестве обратного прокси-сервера для Diaspora.

Установите Nginx с помощью приведенной ниже команды apt.

sudo apt install nginx

После завершения установки перейдите в каталог /etc/nginx/sites-available и создайте новую диаспору конфигурации виртуального хоста с помощью редактора vim.

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

Измените доменное имя и путь SSL Letsencrypt на свои собственные, а затем вставьте в него.

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;
  }
}

Сохранить и закрыть.

Теперь активируйте конфигурацию Diaspora и протестируйте конфигурацию Nginx.

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

Убедитесь, что ошибки нет, затем перезапустите службу Nginx и добавьте ее в загрузку системы.

systemctl restart nginx
systemctl enable nginx

В результате настройка веб-серверов Nginx в качестве обратного прокси для Diaspora завершена.

Шаг 9 — Тестирование

Откройте веб-браузер и введите доменное имя диаспоры в адресной строке.

И вы получите домашнюю страницу Diaspora по умолчанию, как показано ниже.

Нажмите на ссылку в разделе Создать учетную запись.

Теперь введите свой адрес электронной почты, имя пользователя и пароль для первой учетной записи Diaspora, затем нажмите «Создать учетную запись».

Загрузите изображение своего профиля и т. д., затем нажмите «Отлично»! Кнопка «Возьми меня в диаспору».

И вы получите панель инструментов Diaspora, как показано ниже.

Как видно, установка Diaspora с обратным прокси-сервером Nginx на Debian Buster 10 успешно завершена.