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

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th

Kompilujte a nainštalujte Nginx pomocou modulu PageSpeed ​​na Debian 8

Kompilujte a nainštalujte Nginx pomocou modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, ako skompilovať a nainštalovať hlavnú líniu Nginx z oficiálnych zdrojov Nginx pomocou modulu PageSpeed, ktorý vám umožňuje t

Ako nainštalovať Kanboard na Debian 9

Ako nainštalovať Kanboard na Debian 9

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

Ako nainštalovať Gitea na Debian 9

Ako nainštalovať Gitea na Debian 9

Používate iný systém? Gitea je alternatívny open source systém na správu verzií s vlastným hosťovaním, ktorý používa Git. Gitea je napísaná v Golangu a je

Nainštalujte Lynis na Debian 8

Nainštalujte Lynis na Debian 8

Úvod Lynis je bezplatný nástroj na auditovanie systému s otvoreným zdrojovým kódom, ktorý používajú mnohí správcovia systému na overenie integrity a posilnenie svojich systémov. ja

Ako nainštalovať Thelia 2.3 na Debian 9

Ako nainštalovať Thelia 2.3 na Debian 9

Používate iný systém? Thelia je open source nástroj na vytváranie webových stránok elektronického podnikania a správu online obsahu napísaného v PHP. Zdrojový kód Thelia i

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Ako nainštalovať Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Ako nainštalovať Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Golang je programovací jazyk vyvinutý spoločnosťou Google. Vďaka svojej všestrannosti, jednoduchosti a spoľahlivosti sa Golang stal jedným z najpopulárnejších

Obnovte koreňové heslo MySQL na Debian/Ubuntu

Obnovte koreňové heslo MySQL na Debian/Ubuntu

Ak ste zabudli svoje root heslo MySQL, môžete ho resetovať podľa krokov v tomto článku. Proces je pomerne jednoduchý a funguje na nich

Vytváranie sieťových zdieľaní pomocou Samby v Debiane

Vytváranie sieťových zdieľaní pomocou Samby v Debiane

Sú chvíle, keď potrebujeme zdieľať súbory, ktoré musia byť viditeľné pre klientov Windows. Keďže systémy založené na poistkách fungujú iba na Linuxe, predstavíme sa

Nastavenie Counter Strike: Zdroj na Debiane

Nastavenie Counter Strike: Zdroj na Debiane

V tejto príručke nastavíme herný server Counter Strike: Source na Debiane 7. Tieto príkazy boli testované na Debiane 7, ale mali by tiež fungovať

Ako nainštalovať Unturned 2.2.5 na Debian 8

Ako nainštalovať Unturned 2.2.5 na Debian 8

V tejto príručke sa dozviete, ako nastaviť server Unturned 2.2.5 na Vultr VPS so systémom Debian 8. Poznámka: Toto je upravená verzia Unturned, ktorá

Ako nainštalovať Cachet na Debian 8

Ako nainštalovať Cachet na Debian 8

V tomto návode sa naučíte, ako nainštalovať Cachet na Debian 8. Cachet je výkonný open source systém stavových stránok. Inštalácia Tento tutoriál práve pokračuje

Automaticky zálohujte viacero databáz MySQL alebo MariaDB

Automaticky zálohujte viacero databáz MySQL alebo MariaDB

Úvod V tomto článku si dobre prejdeme, ako zálohovať viacero databáz MySQL alebo MariaDB, ktoré sedia na rovnakom počítači pomocou vlastného bash skriptu.

Nastavenie Chroota v Debiane

Nastavenie Chroota v Debiane

Tento článok vás naučí, ako nastaviť chroot väzenie v Debiane. Predpokladám, že používate Debian 7.x. Ak používate Debian 6 alebo 8, môže to fungovať, ale

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

Using a Different System? Reader Self 3.5 is a simple and flexible, free and open source, self-hosted RSS reader and Google Reader alternative. Reader Sel

Ako nainštalovať Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Ako nainštalovať Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používate iný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilný, mobilný, bezplatný a open source systém na správu obsahu (CMS), ktorý nám umožňuje

Ako nainštalovať SteamCMD na váš VPS

Ako nainštalovať SteamCMD na váš VPS

V tomto návode nainštalujeme SteamCMD. SteamCMD je možné použiť na stiahnutie a inštaláciu mnohých herných serverov Steam, ako je Counter-Strike: Global Offensiv

Aktualizujte Python na Debian

Aktualizujte Python na Debian

Ako možno viete, úložiská Debianu sa aktualizujú veľmi pomaly. V čase písania tohto článku sú verzie vydania Pythonu 2.7.12 a 3.5.2, ale v úložisku Debian 8

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.

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.

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.

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