Looge oma suhtlusvõrgustik Diasporaga Debian 9-s

Diaspora on privaatsust arvestav avatud lähtekoodiga sotsiaalvõrgustik. Sellest õpetusest saate teada, kuidas seadistada ja konfigureerida diasporaa podi Debian 9-s.

Eeltingimused

  • Debian 9 serveri eksemplar.
  • Kui töötate keskmise suurusega seadmega, peaks teie serveril olema vähemalt 512 MB muutmälu (+1 GB vahetusruumi) ja korralik mitmetuumaline protsessor.
  • Sudo kasutaja.

Installige eeltingimuste paketid

Esmalt värskendage süsteemi ja installige vajalikud paketid.

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

Installige PostgreSQL

Diaspora toetab MySQL-i, MariaDB-d ja PostgreSQL-i. Selles juhendis kasutame PostgreSQL-i.

Installige PostgreSQL.

sudo apt-get install PostgreSQL-server

Ühendage postgreskasutajaga PostgreSQL-iga .

sudo -u postgres psql

Looge diasporaa kasutaja.

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

Lisage pühendunud diasporaakasutaja

See on kasutajakonto, mis käivitab Diaspora.

sudo adduser --disabled-login diaspora

Lülituge uuele kasutajale.

sudo  su - diaspora

Installige Ruby

Ruby installimiseks on mitu võimalust. Kasutame rbenvkeskkonna ja versioonide haldamiseks.

Esiteks peate installima Ruby nõutavad paketid.

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

Installige 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

Tee uuesti laadimiseks ühendage uuesti.

exit
sudo su - diaspora

Ruby kompileerimiseks installige ruby-buildplugin rbenv:

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

Installige Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Installige Exim4

Kasutame kasutajatele e-kirjade saatmiseks SMTP-releena Exim4.

Installige ja konfigureerige pakett.

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

Installige ja konfigureerige Diaspora

Kloonige diasporaa lähtekood.

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

Kopeerige näidisandmebaasi konfiguratsioonifail Diaspora nõutud asukohta.

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

Mõne sätte muutmiseks avage tekstiredaktoris andmebaasi konfiguratsioonifail.

nano config/database.yml

Muutke andmebaasi sätteid, et need vastaksid varem loodud PostgreSQL-i kasutajale ja paroolile.

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

Avage diasporaa konfiguratsioonifail.

nano config/diaspora.yml

Diaspora korrektseks toimimiseks peate selles failis mõnda seadet värskendama.

  • url: määrake siin oma kausta avalik URL.
  • certificate_authorities: eemaldage #juht, et seda kommenteerida.
  • rails_environment: Peate määrama selle väärtuseks production.
  • require_sslMäärake see, et falsevältida ümbersuunamine alates http://kuni https://.

Installige vajalikud kalliskivid

Installige Ruby raamatukogu haldur Bundle.

gem install bundler
script/configure_bundler

Märkus. Kui teil on Ruby versiooniga seoses vigu, muutke .ruby-versionja pange oma (siia 2.4.3asemel 2.4).

Andmebaasi seadistamine

Looge ja konfigureerige andmebaas.

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

Varade eelkoostamine

See rake käsk kompileerib varad.

RAILS_ENV=production bin/rake assets:precompile

Diaspora süsteemiteenused

Diasporaa kui teenuse haldamiseks on palju võimalusi. Selles õpetuses kasutame Systemd.

Esiteks looge järgmised failid.

  • systemd targetfail:touch /etc/systemd/system/diaspora.target
  • systemd webservice fail:touch /etc/systemd/system/diaspora-web.service
  • systemd sidekiqservice fail:touch /etc/systemd/system/diaspora-sidekiq.service

Kleepige iga varem loodud faili jaoks järgmine konfiguratsioonitekst.

target fail:

[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 teenindusfail:

[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 teenindusfail:

[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

Luba alglaadimisteenused.

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

Taaskäivitage teenused.

sudo systemctl restart diaspora.target

Veenduge, et need töötaksid õigesti.

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

Nginxi pöördpuhverserver

Staatiliste ressursside teenindamiseks kasutame Nginxi pöördpuhverserverina.

Kasutame Let's Encrypt sertifikaadi saamiseks acme.sh.

Laadige alla acme.shlähtekood.

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

Looge Let's Encrypt sertifikaat.

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

Installige Nginx.

sudo apt-get install nginx

Looge meie Diaspora pod jaoks uus Nginxi konfiguratsioonifail.

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

Täitke fail järgmise sisuga.

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

Märkus: muutke example.comoma registreeritud domeeninimeks.

Kui kõik muudatused on lõpule viidud, kontrollige konfiguratsioonifailis vigu.

sudo nginx -t

Muudatuste rakendamiseks taaskäivitage Nginx.

sudo systemctl restart nginx

Kui külastate nüüd oma brauseris oma Diaspora podi domeeninime (näide: https://example.com), jõuate diasporaa tervituslehele.

Looge diasporaakasutaja

Start by creating an account.Uue diasporaa kasutaja loomiseks klõpsake lingil ja sisestage andmed. Seejärel saate vaadata oma kasutaja kodulehte ja hakata kasutama diasporaa sotsiaalvõrgustikku.

Pärast konto loomist andke sellele administraatori õigused:.

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

Nüüd on teil juurdepääs administraatori armatuurlauale.

https://example.com/admins/dashboard

Sidekiq

Taustatööde töötlemisega tegeleval Sidekiqil on veebiliides saadaval aadressil https://example.com/sidekiq. Podstatistika on saadaval aadressil https://example.com/statistics.

Logrotate

Kasutame logrotatediasporaa logide haldamiseks.

Looge logrotatediasporaa jaoks uus fail.

nano /etc/logrotate/diaspora

Seejärel lisage järgmised read.

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

See pöörab palke kord nädalas, surub need kokku ja hoiab neid 52 nädalat.

Uuenda diasporaa

Kui on aeg Diasporat värskendada, järgige neid samme.

Esiteks värskendage süsteemi.

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

Värskendage diasporaa lähtekoodi git.

su - diaspora
cd diaspora
git pull

Värskendage kalliskive.

gem install bundler
bin/bundle --full-index

Migreerige andmebaas ja kompileerige varad uuesti.

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

Lõpuks taaskäivitage Diaspora.

systemctl restart diaspora.target

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit