Vybudujte si svoju sociálnu sieť s diaspórou na Debiane 9

Diaspora je sociálna sieť s otvoreným zdrojom, ktorá si uvedomuje súkromie. V tomto návode sa naučíte, ako nastaviť a nakonfigurovať Diaspora pod na Debiane 9.

Predpoklady

  • Inštancia servera Debian 9.
  • Váš server, ktorý beží na priemernej veľkosti, by mal mať aspoň 512 MB RAM (+ 1 GB odkladacieho priestoru) a slušný viacjadrový procesor.
  • Sudo používateľ.

Nainštalujte nevyhnutné balíky

Najprv aktualizujte systém a nainštalujte potrebné balíčky.

sudo apt-get update
sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript curl libmagickwand-dev git libpq-dev redis-server nodejs

Nainštalujte PostgreSQL

Diaspora podporuje MySQL, MariaDB a PostgreSQL. V tejto príručke budeme používať PostgreSQL.

Nainštalujte PostgreSQL.

sudo apt-get install PostgreSQL-server

Pripojte sa k PostgreSQL s postgrespoužívateľom.

sudo -u postgres psql

Vytvorte používateľa diaspóry.

CREATE USER diaspora WITH CREATEDB PASSWORD '<password>';

Pridajte vyhradeného používateľa diaspóry

Toto je používateľský účet, ktorý bude spúšťať Diaspora.

sudo adduser --disabled-login diaspora

Prepnúť na nového používateľa.

sudo  su - diaspora

Nainštalujte Ruby

Existuje niekoľko spôsobov, ako nainštalovať Ruby. Použijeme rbenvna správu prostredia a verzií.

Najprv budete musieť nainštalovať balíky, ktoré Ruby vyžaduje.

sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

Nainštalujte rbenv.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

Znova sa pripojte, aby ste znova načítali cestu.

exit
sudo su - diaspora

Nainštalujte ruby-builddoplnok pre rbenvkompiláciu Ruby:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Nainštalujte Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Nainštalujte Exim4

Na odosielanie e-mailov používateľom budeme používať Exim4 ako prenos SMTP.

Nainštalujte a nakonfigurujte balík.

sudo apt-get install exim4
sudo dpkg-reconfigure exim4-config

Nainštalujte a nakonfigurujte Diaspora

Naklonujte zdrojový kód pre Diaspora.

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

Skopírujte vzorový konfiguračný súbor databázy do umiestnenia, ktoré vyžaduje Diaspora.

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

Ak chcete upraviť niektoré nastavenia, otvorte konfiguračný súbor databázy v textovom editore.

nano config/database.yml

Zmeňte nastavenia databázy tak, aby zodpovedali používateľovi PostgreSQL a heslu, ktoré ste vytvorili predtým.

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

Otvorte konfiguračný súbor Diaspora.

nano config/diaspora.yml

Aby Diaspora fungovala správne, budete musieť aktualizovať niekoľko nastavení v tomto súbore.

  • url: Tu nastavte verejnú adresu URL pre svoj modul.
  • certificate_authorities: Ak #chcete zrušiť komentár, odstráňte úvod.
  • rails_environment: Toto musíte nastaviť na production.
  • require_ssl: Nastavte na, ak falsechcete zabrániť presmerovaniu z http://do https://.

Nainštalujte požadované drahokamy

Nainštalujte Bundle, správcu knižnice Ruby.

gem install bundler
script/configure_bundler

Poznámka: Ak máte chyby týkajúce sa vašej verzie Ruby, upravte .ruby-versiona vložte svoje vlastné (sem 2.4.3namiesto 2.4).

Nastavenie databázy

Create and configure the database.

RAILS_ENV=production bin/rake db:create db:migrate

Pre-compile the assets

This rake command will precompile the assets.

RAILS_ENV=production bin/rake assets:precompile

Diaspora systemd Services

There are many ways to manage Diaspora as a service. In this tutorial, we will use Systemd.

First, create the following files.

  • systemd target file: touch /etc/systemd/system/diaspora.target
  • systemd web service file: touch /etc/systemd/system/diaspora-web.service
  • systemd sidekiq service file: touch /etc/systemd/system/diaspora-sidekiq.service

Paste in the following configuration text for each file that you created earlier.

target file:

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

[Install]
WantedBy=multi-user.target

web service file:

[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

sidekiq service file:

[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

Enable boot services.

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

Restart the services.

sudo systemctl restart diaspora.target

Ensure that they are running correctly.

sudo systemctl status diaspora-web.service
sudo systemctl status diaspora-sidekiq.service

Nginx Reverse Proxy

We will use Nginx as a reverse proxy to serve static resources.

We will use acme.sh to get a Let's Encrypt certificate.

Download the acme.sh source code.

git clone https://github.com/Neilpang/acme.sh.git

Generate a Let's Encrypt certificate.

./.acme.sh/acme.sh --issue --log \
--dns \
--keylength ec-256 \
--cert-file /etc/nginx/https/cert.pem \
--key-file /etc/nginx/https/key.pem \
--fullchain-file /etc/nginx/https/fullchain.pem \
-d example.com \
-d www.example.com

Install Nginx.

sudo apt-get install nginx

Create a new Nginx configuration file for our Diaspora pod.

nano /etc/nginx/conf.d/diaspora.conf

Naplňte súbor nasledujúcim obsahom.

upstream diaspora_server {
 server unix:/home/diaspora/diaspora/tmp/diaspora.sock;
}

server {
  listen 80;
  listen [::]:80; 
  server_name www.example.com example.com;
  return 301 https://example.com$request_uri;

  access_log /dev/null;
  error_log /dev/null;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name www.example.com example.com;

  if ($host = www.example.com) {
   return 301 https://example.com$request_uri;
  }

  access_log /var/log/nginx/dspr-access.log;
  error_log /var/log/nginx/dspr-error.log;

  ssl_certificate /etc/nginx/https/fullchain.pem;
  ssl_certificate_key /etc/nginx/https/key.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_stapling on;
  ssl_stapling_verify on;
  resolver 80.67.169.40 80.67.169.12 valid=300s;
  resolver_timeout 5s;
  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;
  }
}

Poznámka: zmeňte example.comna svoj vlastný registrovaný názov domény.

Po dokončení všetkých úprav skontrolujte konfiguračný súbor, či neobsahuje chyby.

sudo nginx -t

Reštartujte Nginx, aby ste použili zmeny.

sudo systemctl restart nginx

Ak teraz navštívite názov domény vašej Diaspora pod vo vašom prehliadači (príklad: https://example.com), dostanete sa na uvítaciu stránku Diaspora.

Vytvorte používateľa diaspóry

Kliknite na odkaz v Start by creating an account.a vyplňte podrobnosti, aby ste vytvorili nového používateľa Diaspóry. Potom budete môcť zobraziť domovskú stránku svojho používateľa a začať používať sociálnu sieť Diaspora.

Po vytvorení účtu mu udeľte práva správcu:.

Role.add_admin User.where(username: "your_username").first.person

Teraz máte prístup k hlavnému panelu správcu.

https://example.com/admins/dashboard

Sidekiq

Sidekiq, ktorý spracováva úlohy na pozadí, má webové rozhranie dostupné na adrese https://example.com/sidekiq. Štatistiky modulu sú k dispozícii na adrese https://example.com/statistics.

Logrotate

Použijeme logrotatena správu denníkov diaspóry.

Vytvorte nový logrotatesúbor pre Diaspora.

nano /etc/logrotate/diaspora

Potom pridajte nasledujúce riadky.

/home/diaspora/diaspora/log/*.log {
  notifempty
  copytruncate
  missingok
  compress
  weekly
  rotate 52
}

Takto sa budú protokoly týždenne otáčať, komprimovať a uchovávať 52 týždňov.

Aktualizovať diaspóru

Keď príde čas na aktualizáciu diaspory, postupujte podľa týchto krokov.

Najprv aktualizujte systém.

sudo apt-get update
sudo apt-get dist-upgrade

Aktualizujte zdrojový kód diaspory pomocou git.

su - diaspora
cd diaspora
git pull

Aktualizujte drahokamy.

gem install bundler
bin/bundle --full-index

Migrujte databázu a prekompilujte aktíva.

RAILS_ENV=production bin/rake db:migrate
RAILS_ENV=production bin/rake assets:precompile

Nakoniec reštartujte Diasporu.

systemctl restart diaspora.target

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac