웹사이트 검색

데비안 10에 디아스포라 분산형 소셜 미디어를 설치하는 방법


이 페이지에서

  1. 1단계 - 패키지 종속성 설치
  2. 2단계 - 디아스포라를 위한 새로운 PostgreSQL 사용자 생성\n
  3. 3단계 - 새 사용자 만들기
  4. 4단계 - RVM 및 Ruby 설치
  5. 5단계 - 디아스포라 다운로드 및 구성
  6. 6단계 - 서비스로서의 디아스포라 설정
  7. 7단계 - SSL Letsencrypt 생성
  8. 8단계 - 새 사용자 생성 및 디아스포라 다운로드
  9. 9단계 - 테스트

Diaspora는 공개 소스, 개인 정보 보호 및 분산형 소셜 네트워크입니다. 네트워크를 생성하기 위해 상호 운용되는 독립적으로 배포되고 소유된 노드 그룹으로 구성됩니다. 디아스포라(Diaspora)는 탈중앙화, 자유, 프라이버시라는 세 가지 철학에 초점을 맞춘 소셜 네트워크입니다.

이 튜토리얼에서는 Debian Buster 10에 Diaspora 분산 소셜 네트워크를 설치하는 방법을 보여줍니다. Nginx 웹 서버 및 PostgreSQL 데이터베이스 서버와 함께 Diaspora를 설치합니다. 또한 SSL Letsencrypt를 사용하여 Diaspora 설치를 보호합니다.

전제 조건

  • 데비안 버스터 10
  • 최소 2GB RAM
  • 루트 권한\n

우리는 무엇을 할 것인가?

  • 패키지 종속성 설치
  • 디아스포라용 새 PostgreSQL 사용자 만들기
  • 새 사용자 만들기
  • RVM(Ruby 버전 관리자)으로 Ruby 설치
  • 디아스포라 분산형 소셜 네트워크 설치 및 구성\n
  • 디아스포라를 시스템 서비스로 설정
  • 디아스포라용 리버스 프록시로 Nginx 설정\n
  • 테스트

1단계 - 패키지 종속성 설치

먼저 PostgreSQL, Redis 및 Nginx 웹 서버를 포함하여 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 설치를 위한 일부 패키지 종속성이 Debian Buster 10에 설치되었습니다.

2단계 - 디아스포라를 위한 새로운 PostgreSQL 사용자 생성

이 단계에서는 기본 postgres 사용자의 비밀번호를 변경하고 Diaspora용 새 PostgreSQL 사용자를 생성합니다.

아래의 psql 명령을 사용하여 PostgreSQL 셸에 로그인합니다.

sudo -i -u postgres psql

다음 쿼리를 사용하여 기본 사용자 postgres의 암호를 변경합니다.

\password postgres

이제 새 비밀번호를 입력하고 반복하면 기본 사용자 postgres의 비밀번호가 구성되었습니다.

다음으로 아래 PostgreSQL 쿼리를 사용하여 데이터베이스를 생성하기 위한 CREATEDB 권한을 가진 새로운 사용자 디아스포라를 생성합니다.

CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';

EXIT를 입력하여 PostgreSQL 셸에서 로그아웃합니다.

그 결과 디아스포라를 위한 새로운 PostgreSQL 사용자가 생성되었습니다.

3단계 - 새 사용자 만들기

PostgreSQL 데이터베이스 사용자를 생성한 후 diaspora라는 새 시스템 사용자를 생성하고 sudo 그룹에 추가합니다.

diaspora라는 새 사용자를 만들고 다음 명령을 사용하여 암호를 설정합니다.

adduser --disabled-login Diaspora
passwd diaspora

이제 디아스포라 사용자를 sudo 그룹에 추가하십시오.

usermod -a -G sudo diaspora

결과적으로 디아스포라 사용자는 sudo 명령을 실행하여 루트 권한을 얻을 수 있습니다.

4단계 - RVM 및 Ruby 설치

더 진행하기 전에 아래 명령을 사용하여 디아스포라 사용자로 로그인하십시오.

su - diaspora

다음으로 디아스포라 사용자를 위해 RVM(Ruby Version Manager)을 설치하고 Ruby 2.6을 설치합니다.

아래 명령을 사용하여 RVM 패키지용 GPGP 키를 추가합니다.

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

결과적으로 Ruby 설치를 위해 rvm 명령을 실행할 수 있습니다.

아래의 rvm 명령을 사용하여 Ruby 2.6을 설치합니다.

rvm install 2.6

모든 설치가 완료되면 Ruby 버전을 확인하십시오.

ruby -v

아래는 당신이 얻을 결과입니다.

이로써 디아스포라 사용자 아래 RVM과 Ruby 설치가 완료되었습니다.

5단계 - 디아스포라 다운로드 및 구성

더 진행하기 전에 디아스포라 사용자로 로그인했는지 확인하십시오.

git 명령을 사용하여 Diaspora 소스 코드를 다운로드하고 들어갑니다.

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_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

저장하고 닫습니다.

이제 시스템 관리자를 다시 로드하고 모든 디아스포라 서비스를 시스템 부팅에 추가합니다.

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

아래는 당신이 얻을 결과입니다.

그 결과 디아스포라가 이제 시스템 서비스로 가동되고 있습니다. 그리고 드디어 디아스포라의 구성이 완성되었습니다.

7단계 - SSL Letsencrypt 생성

이 자습서에서는 SSL Letsencrypt를 사용하여 Diaspora 설치를 보호합니다. 이 단계에서는 certbot 도구를 설치하고 Diaspora 도메인 설치를 위한 SSL Letsencrypt를 생성합니다.

아래의 apt 명령을 사용하여 Certbot을 설치합니다.

sudo apt install certbot

모든 설치가 완료되면 아래 certbot 명령을 사용하여 Diaspora 도메인 이름에 대한 SSL Letsencrypt를 생성하십시오.

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

이제 인증서는 /etc/letsencrypt/live/yourdomain.com/ 디렉토리에서 사용할 수 있습니다.

8단계 - 새 사용자 생성 및 디아스포라 다운로드

이 단계에서는 Nginx 웹 서버를 Diaspora용 리버스 프록시로 설치 및 구성합니다.

아래의 apt 명령을 사용하여 Nginx를 설치합니다.

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 웹 서버 구성이 완료되었습니다.

9단계 - 테스트

웹 브라우저를 열고 주소 표시줄에 디아스포라 도메인 이름을 입력합니다.

그러면 아래와 같이 기본 Diaspora 홈페이지가 표시됩니다.

계정 만들기 섹션에서 링크를 클릭합니다.

이제 첫 번째 디아스포라 계정의 이메일 주소, 사용자 이름 및 비밀번호를 입력한 다음 계정 만들기를 클릭합니다.

프로필 사진 등을 업로드한 다음 Awesome!을 클릭합니다. 나를 디아스포라 버튼으로 데려다 주세요.

그러면 아래와 같이 Diaspora 대시보드가 표시됩니다.

보시다시피 Debian Buster 10에 Nginx Reverse Proxy와 함께 Diaspora 설치가 성공적으로 완료되었습니다.