Как установить децентрализованную социальную сеть Diaspora на Debian 10
На этой странице
- Шаг 1. Установка зависимостей пакетов
- Шаг 2. Создание нового пользователя PostgreSQL для диаспоры
- Шаг 3. Создайте нового пользователя
- Шаг 4. Установите RVM и Ruby
- Шаг 5. Загрузите и настройте Diaspora
- Шаг 6. Настройте диаспору как услугу
- Шаг 7. Создание SSL Letsencrypt
- Шаг 8. Создайте нового пользователя и загрузите Diaspora
- Шаг 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 успешно завершена.