Előfeltételek
Telepítse az előfeltétel csomagokat
Telepítse a PostgreSQL-t
Adjon hozzá egy elkötelezett diaszpóra-felhasználót
Telepítsd a Rubyt
Telepítse az Exim4-et
Telepítse és konfigurálja a Diasporát
Telepítse a szükséges drágaköveket
Adatbázis beállítása
Készítse elő az eszközöket
Diaspora systemd Services
Nginx fordított proxy
Hozzon létre egy diaszpóra-felhasználót
Sidekiq
Logrotate
Frissítse Diaszpóra
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
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