GNU/Linux >> Linux の 問題 >  >> Debian

Debian10にDiaspora分散型ソーシャルメディアをインストールする方法

Diasporaは、オープンソースでプライバシーを意識した分散型ソーシャルネットワークです。これは、ネットワークを作成するために相互運用する、独立して展開および所有されるノードのグループで構成されます。ディアスポラは、地方分権化、自由、プライバシーの3つの哲学に焦点を当てたソーシャルネットワークです。

このチュートリアルでは、DebianBuster10にDiaspora分散型ソーシャルネットワークをインストールする方法を示します。NginxWebサーバーとPostgreSQLデータベースサーバーを使用してDiasporaをインストールします。さらに、SSLLetsencryptを使用してDiasporaのインストールを保護します。

前提条件

  • Debian Buster 10
  • 最小2GBのRAM
  • root権限

何をしますか?

  • パッケージの依存関係をインストールする
  • Diaspora用の新しいPostgreSQLユーザーを作成する
  • 新しいユーザーを作成する
  • RVM(Rubyバージョンマネージャー)を使用してRubyをインストールする
  • ディアスポラ分散型ソーシャルネットワークのインストールと構成
  • システムサービスとしてのディアスポラのセットアップ
  • ディアスポラのリバースプロキシとしてNginxを設定する
  • テスト
ステップ1-パッケージの依存関係をインストールする

最初に、PostgreSQL、Redis、Nginx Webサーバーなど、Diasporaインストール用のいくつかのパッケージ依存関係をインストールします。

以下の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インストールの一部のパッケージ依存関係がDebianBuster10にインストールされました。

ステップ2-ディアスポラ用の新しいPostgreSQLユーザーを作成する

このステップでは、デフォルトの「postgres」ユーザーのパスワードを変更し、Diasporaの新しいPostgreSQLユーザーを作成します。

以下の「psql」コマンドを使用してPostgreSQLシェルにログインします。

sudo -i -u postgres psql

次のクエリを使用して、デフォルトユーザー「postgres」のパスワードを変更します。

\password postgres

ここで、新しいパスワードを入力して繰り返し、デフォルトユーザーのパスワード' postgres 'が構成されました。

次に、権限「 CREATEDB<​​/strong>」を持つ新しいユーザー「diaspora」を作成します '以下のPostgreSQLクエリを使用してデータベースを作成します。

CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';

' EXITと入力します 'PostgreSQLシェルからログアウトします。

その結果、Diasporaの新しいPostgreSQLユーザーが作成されました。

ステップ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)をインストールし、ユーザー「diaspora」用にRuby2.6をインストールします。

以下のコマンドを使用して、RVMパッケージのGPGPキーを追加します。

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

次に、次のコマンドを使用してRVM(Rubyバージョンマネージャー)をインストールします。

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

'diaspora'ユーザーのパスワードを入力し、Enterキーを押します。

すべてのインストールが完了したら、rvmスクリプトをサーバーにロードします。

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

その結果、Rubyをインストールするためのrvmコマンドを実行できるようになります。

以下のrvmコマンドを使用してRuby2.6をインストールします。

rvm install 2.6

すべてのインストールが完了したら、rubyのバージョンを確認してください。

ruby -v

以下は、得られる結果です。

その結果、「diaspora」ユーザーでのRVMとRubyのインストールが完了しました。

ステップ5-ディアスポラをダウンロードして構成する

先に進む前に、「ディアスポラ」ユーザーでログインしていることを確認してください。

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

次に、vimエディターを使用してデータベース構成「database.yml」を編集します。

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

保存して閉じます。

次に、次のコマンドを使用して、Diasporaに必要なgemおよびrubyライブラリをインストールします。

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

そして、ディアスポラのインストールが完了しました。

ステップ6-サービスとしてのディアスポラのセットアップ

Diasporaをインストールした後、Diasporaをsystemdサービスとして構成します。

次に、「/ etc / systemd / system」ディレクトリに移動し、vimエディターを使用して新しいグループ化ユニットサービスファイル「diaspora.target」を作成します。

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

保存して閉じます。

次に、vimエディターを使用して「diaspora-web.service」という名前のディアスポラの新しいサービスファイルを作成します。

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

保存して閉じます。

次に、以下のvimコマンドを使用して、監視サービス用の新しいサービスファイル「diaspora-sidekiq.service」を作成します。

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-SSLLetsencryptを生成する

このチュートリアルでは、SSLLetsencryptを使用してDiasporaのインストールを保護します。このステップでは、certbotツールをインストールし、Diasporaドメインインストール用のSSLLetsencryptを生成します。

以下のaptコマンドを使用してCertbotをインストールします。

sudo apt install certbot

すべてのインストールが完了したら、以下のcertbotコマンドを使用して、Diasporaドメイン名のSSLLetsencryptを生成します。

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

これで、証明書は「/etc/letsencrypt/live/yourdomain.com/」ディレクトリで利用できるようになります。

ステップ8-新しいユーザーを作成してディアスポラをダウンロード

このステップでは、NginxWebサーバーをDiasporaのリバースプロキシとしてインストールして構成します。

以下のaptコマンドを使用してNginxをインストールします。

sudo apt install nginx

すべてのインストールが完了したら、「/ etc / nginx / sites-available」ディレクトリに移動し、vimエディターを使用して新しい仮想ホスト構成「diaspora」を作成します。

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

保存して閉じます。

次に、ディアスポラ構成をアクティブにして、Nginx構成をテストします。

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

エラーがないことを確認してから、Nginxサービスを再起動し、システムブートに追加します。

systemctl restart nginx
systemctl enable nginx

その結果、DiasporaのリバースプロキシとしてのNginxWebサーバーの構成が完了しました。

ステップ9-テスト

Webブラウザーを開き、アドレスバーにDiasporaドメイン名を入力します。

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

そして、以下のようなデフォルトのディアスポラホームページが表示されます。

'アカウントの作成のリンクをクリックします 'セクション。

次に、最初のDiasporaアカウントのメールアドレス、ユーザー名、パスワードを入力し、[アカウントの作成]をクリックします。 '。

プロフィール写真などをアップロードし、[素晴らしい!]をクリックします。ディアスポラに連れて行ってください 'ボタン。

そして、以下のようにディアスポラのダッシュボードが表示されます。

ご覧のとおり、DebianBuster10へのNginxリバースプロキシを使用したDiasporaのインストールは正常に完了しました。


Debian
  1. Debian9にRをインストールする方法

  2. Debian9にPostgreSQLをインストールする方法

  3. Debian9にPlexMediaServerをインストールする方法

  1. Debian9にVLCMediaPlayerをインストールする方法

  2. Debian10にRをインストールする方法

  3. Debian10にJellyfinMediaServerをインストールする方法

  1. Debian11のインストール方法

  2. Debian10に最新のVLCメディアプレーヤーをインストールする方法

  3. Debian10バスターにJellyfinメディアサーバーをインストールする方法