Építsd fel közösségi hálózatodat a Diasporával a Debian 9-en

A Diaspora egy nyílt forráskódú közösségi hálózat. Ebből az oktatóanyagból megtudhatja, hogyan állíthat be és konfigurálhat egy Diaspora pod Debian 9 rendszeren.

Előfeltételek

  • Egy Debian 9 szerverpéldány.
  • Egy átlagos méretű pod futtatásakor a szervernek legalább 512 MB RAM-mal (+1 GB swap területtel) és egy megfelelő többmagos CPU-val kell rendelkeznie.
  • A sudo felhasználó.

Telepítse az előfeltétel csomagokat

Először frissítse a rendszert, és telepítse a szükséges csomagokat.

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

Telepítse a PostgreSQL-t

A Diaspora támogatja a MySQL-t, a MariaDB-t és a PostgreSQL-t. Ebben az útmutatóban a PostgreSQL-t fogjuk használni.

Telepítse a PostgreSQL-t.

sudo apt-get install PostgreSQL-server

Csatlakozzon a PostgreSQL-hez a postgresfelhasználóval.

sudo -u postgres psql

Hozzon létre egy Diaspora felhasználót.

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

Adjon hozzá egy elkötelezett diaszpóra-felhasználót

Ez az a felhasználói fiók, amelyen a Diaspora fut.

sudo adduser --disabled-login diaspora

Váltás az új felhasználóra.

sudo  su - diaspora

Telepítsd a Rubyt

A Ruby telepítésének többféle módja van. A rbenvkörnyezet és a verziók kezelésére fogjuk használni .

Először telepítenie kell a Ruby által igényelt csomagokat.

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

Telepítse 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

Csatlakozzon újra az elérési út újratöltéséhez.

exit
sudo su - diaspora

Telepítse a ruby-buildbeépülő modult a rbenvRuby fordításához:

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

Telepítsd a Rubyt.

rbenv install 2.4.3
rbenv global 2.4.3

Telepítse az Exim4-et

Az Exim4-et SMTP-reléként fogjuk használni, hogy e-maileket küldjünk a felhasználóknak.

Telepítse és konfigurálja a csomagot.

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

Telepítse és konfigurálja a Diasporát

Klónozza a Diaspora forráskódját.

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

Másolja a példaadatbázis-konfigurációs fájlt a Diaspora által igényelt helyre.

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

Néhány beállítás szerkesztéséhez nyissa meg az adatbázis-konfigurációs fájlt egy szövegszerkesztőben.

nano config/database.yml

Módosítsa az adatbázis-beállításokat, hogy megfeleljenek a korábban létrehozott PostgreSQL-felhasználónak és jelszónak.

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

Nyissa meg a Diaspora konfigurációs fájlt.

nano config/diaspora.yml

A Diaspora megfelelő működéséhez frissítenie kell néhány beállítást ebben a fájlban.

  • url: Állítsa be a nyilvános URL-t a podhoz.
  • certificate_authorities: Távolítsa el a vezető részt #a megjegyzés törléséhez.
  • rails_environment: Ezt a következőre kell állítani production.
  • require_ssl: Állítsa be, falsehogy megakadályozza az átirányítást innen http://: https://.

Telepítse a szükséges drágaköveket

Telepítse a Bundle-t, a Ruby könyvtárkezelőt.

gem install bundler
script/configure_bundler

Megjegyzés: Ha hibái vannak a Ruby verziójával kapcsolatban, szerkessze .ruby-versionés tegye be a sajátját (ide 2.4.3helyett 2.4).

Adatbázis beállítása

Hozza létre és konfigurálja az adatbázist.

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

Készítse elő az eszközöket

Ez a rake parancs előre lefordítja az eszközöket.

RAILS_ENV=production bin/rake assets:precompile

Diaspora systemd Services

A Diaszpóra szolgáltatásként való kezelésének számos módja van. Ebben az oktatóanyagban a Systemd-t fogjuk használni.

Először hozza létre a következő fájlokat.

  • systemd targetfájl:touch /etc/systemd/system/diaspora.target
  • systemd webservice fájl:touch /etc/systemd/system/diaspora-web.service
  • systemd sidekiqservice fájl:touch /etc/systemd/system/diaspora-sidekiq.service

Illessze be a következő konfigurációs szöveget minden korábban létrehozott fájlhoz.

target fájl:

[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 szerviz fájl:

[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 szerviz fájl:

[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

Boot szolgáltatások engedélyezése.

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

Indítsa újra a szolgáltatásokat.

sudo systemctl restart diaspora.target

Győződjön meg arról, hogy megfelelően működnek.

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

Nginx fordított proxy

Az Nginxet fordított proxyként fogjuk használni a statikus erőforrások kiszolgálására.

Az acme.sh- t használjuk a Let's Encrypt tanúsítvány megszerzéséhez.

Töltse le a acme.shforráskódot.

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

Hozzon létre egy Let's Encrypt tanúsítványt.

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

Telepítse az Nginx-et.

sudo apt-get install nginx

Hozzon létre egy új Nginx konfigurációs fájlt a Diaspora podhoz.

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

Töltse fel a fájlt a következő tartalommal.

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

Megjegyzés: változtassa example.commeg a saját regisztrált domain nevét.

Az összes módosítás befejezése után ellenőrizze, hogy a konfigurációs fájlban nem található-e hiba.

sudo nginx -t

A változtatások alkalmazásához indítsa újra az Nginx-et.

sudo systemctl restart nginx

Ha most meglátogatja Diaspora pod domainnevét a böngészőjében (példa: https://example.com), megjelenik a Diaspora üdvözlő oldala.

Hozzon létre egy diaszpóra-felhasználót

Kattintson a linkre Start by creating an account., és adja meg az adatokat új diaszpóra-felhasználó létrehozásához. Ezután megtekintheti felhasználója kezdőlapját, és elkezdheti használni a Diaspora közösségi hálózatot.

Fiók létrehozása után adjon neki rendszergazdai jogokat:

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

Mostantól hozzáférhet az adminisztrációs irányítópulthoz.

https://example.com/admins/dashboard

Sidekiq

A háttérmunkák feldolgozását kezelő Sidekiq webes felülettel rendelkezik a címen https://example.com/sidekiq. A podstatisztikák a címen érhetők el https://example.com/statistics.

Logrotate

A logrotatediaszpóranaplók kezelésére használjuk .

Hozzon létre egy új logrotatefájlt a Diaspora számára.

nano /etc/logrotate/diaspora

Ezután adja hozzá a következő sorokat.

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

Ez hetente megforgatja a rönköket, összenyomja és 52 hétig megőrzi.

Frissítse Diaszpóra

Ha eljön az ideje a Diaspora frissítésének, kövesse az alábbi lépéseket.

Először frissítse a rendszert.

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

Frissítse a Diaspora forráskódot a segítségével git.

su - diaspora
cd diaspora
git pull

Frissítse a drágaköveket.

gem install bundler
bin/bundle --full-index

Állítsa át az adatbázist, és fordítsa újra az eszközöket.

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

Végül indítsa újra a Diasporát.

systemctl restart diaspora.target

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.