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
Állítson be egy levelezőszervert
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 CentOS 7 rendszeren.
Előfeltételek
- Egy CentOS 7 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 töltse le és telepítse a legújabb EPEL-kiadást.
sudo yum install epel-release
Telepítse a szükséges csomagokat.
sudo yum install tar make automake gcc gcc-c++ git net-tools cmake libcurl-devel libxml2-devel libffi-devel libxslt-devel wget redis ImageMagick nodejs postgresql-devel
Engedélyezze redisaz indítást, amikor a rendszer elindul.
sudo systemctl enable redis
sudo systemctl start redis
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 yum install postgresql-server postgresql-contrib postgresql-setup initdb
Engedélyezze a PostgreSQL elindítását, amikor a rendszer elindul.
sudo systemctl enable postgresql
sudo systemctl start postgresql
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 yum install -y git-core zlib zlib-devel gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel
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-buildbővítményt 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
Állítson be egy levelezőszervert
A Postfixet SMTP-reléként fogjuk használni, hogy e-maileket küldjünk a felhasználóknak. Ebben a cikkben megtudhatja, hogyan telepíthet egy egyszerű levelezőszervert, a Postfix mint MTA, a Dovecot az MDA és a Sieve a levelek rendezésére.
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ő #-t a megjegyzés törléséhez.
rails_environment: Ezt élesre kell állítani.
require_ssl: Állítsa false értékre, hogy megakadályozza a http://-ről https://-re való átirányítást.
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 yum 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 tűzfalat használ, futtassa a következő parancsokat az engedélyezéshez HTTPés a HTTPSforgalomhoz.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Ha most meglátogatja Diaspora pod domainnevét a böngészőjében ( https://example.com), eléri a Diaspora üdvözlő oldalát.
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 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 telepített csomagokat.
sudo yum update
Frissítse a Diaspora forráskódját a git segítségével.
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