Parakushtet
Instaloni paketat parakushte
Instaloni PostgreSQL
Shto një përdorues të përkushtuar të diasporës
Instaloni Ruby
Instaloni Exim4
Instaloni dhe konfiguroni Diasporën
Instaloni gurët e çmuar të kërkuar
Vendosja e bazës së të dhënave
Përpiloni paraprakisht asetet
Shërbimet e sistemit të diasporës
Nginx Reverse Proxy
Krijo një përdorues të diasporës
Sidekiq
Logrotoj
Përditëso diasporën
Diaspora është një rrjet social me burim të hapur, i ndërgjegjshëm për privatësinë. Në këtë tutorial, do të mësoni se si të konfiguroni dhe konfiguroni një pod Diaspora në Debian 9.
Parakushtet
- Një shembull i serverit Debian 9.
- Duke ekzekutuar një pod me madhësi mesatare, serveri juaj duhet të ketë, të paktën, 512 MB RAM (+1 GB hapësirë shkëmbimi) dhe një CPU të mirë me shumë bërthama.
- Një përdorues sudo .
Instaloni paketat parakushte
Së pari, përditësoni sistemin dhe instaloni paketat e nevojshme.
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
Instaloni PostgreSQL
Diaspora mbështet MySQL, MariaDB dhe PostgreSQL. Në këtë udhëzues, ne do të përdorim PostgreSQL.
Instaloni PostgreSQL.
sudo apt-get install PostgreSQL-server
Lidhu me PostgreSQL me postgres
përdoruesin.
sudo -u postgres psql
Krijo një përdorues të Diasporës.
CREATE USER diaspora WITH CREATEDB PASSWORD '<password>';
Shto një përdorues të përkushtuar të diasporës
Kjo është llogaria e përdoruesit që do të drejtojë Diasporën.
sudo adduser --disabled-login diaspora
Kalo te përdoruesi i ri.
sudo su - diaspora
Instaloni Ruby
Ka disa mënyra për të instaluar Ruby. Ne do të përdorim rbenv
për të menaxhuar mjedisin dhe versionet.
Së pari, do t'ju duhet të instaloni paketat që kërkon Ruby.
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
Instaloni 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
Rilidheni për të ringarkuar shtegun.
exit
sudo su - diaspora
Instaloni ruby-build
shtojcën për rbenv
të përpiluar Ruby:
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Instaloni Ruby.
rbenv install 2.4.3
rbenv global 2.4.3
Instaloni Exim4
Ne do të përdorim Exim4 si një reletë SMTP për të dërguar email tek përdoruesit.
Instaloni dhe konfiguroni paketën.
sudo apt-get install exim4
sudo dpkg-reconfigure exim4-config
Klononi kodin burimor për diasporën.
cd ~
git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora
Kopjo shembullin e skedarit të konfigurimit të bazës së të dhënave në vendndodhjen e kërkuar nga Diaspora.
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
Hapni skedarin e konfigurimit të bazës së të dhënave në një redaktues teksti për të modifikuar disa nga cilësimet.
nano config/database.yml
Ndryshoni cilësimet e bazës së të dhënave që të përputhen me përdoruesin dhe fjalëkalimin e PostgreSQL që keni krijuar më parë.
postgresql: &postgresql
adapter: postgresql
host: localhost
port: 5432
username: diaspora
password: __password__
encoding: unicode
Hapni skedarin e konfigurimit të Diasporës.
nano config/diaspora.yml
Do t'ju duhet të përditësoni disa cilësime në këtë skedar që Diaspora të funksionojë siç duhet.
url
: Vendosni URL-në e përballjes publike në podin tuaj këtu.
certificate_authorities
: Hiqni drejtuesin #
për ta çkomentuar.
rails_environment
: Duhet ta vendosni këtë në production
.
require_ssl
: Vendoseni këtë në false
për të parandaluar një ridrejtim nga http://
në https://
.
Instaloni gurët e çmuar të kërkuar
Instaloni Bundle, menaxherin e bibliotekës Ruby.
gem install bundler
script/configure_bundler
Shënim: Nëse keni gabime në lidhje me versionin tuaj Ruby, modifikoni .ruby-version
dhe vendosni tuajin (këtu 2.4.3
në vend të 2.4
).
Vendosja e bazës së të dhënave
Krijoni dhe konfiguroni bazën e të dhënave.
RAILS_ENV=production bin/rake db:create db:migrate
Përpiloni paraprakisht asetet
Kjo komandë raketë do të parapërpilojë asetet.
RAILS_ENV=production bin/rake assets:precompile
Shërbimet e sistemit të diasporës
Ka shumë mënyra për të menaxhuar diasporën si shërbim. Në këtë tutorial, ne do të përdorim Systemd.
Së pari, krijoni skedarët e mëposhtëm.
target
skedar systemd :touch /etc/systemd/system/diaspora.target
- skedari i
web
shërbimit systemd :touch /etc/systemd/system/diaspora-web.service
- skedari i
sidekiq
shërbimit systemd :touch /etc/systemd/system/diaspora-sidekiq.service
Ngjitni tekstin e mëposhtëm të konfigurimit për çdo skedar që keni krijuar më parë.
target
dosje:
[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
skedari i shërbimit:
[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
skedari i shërbimit:
[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
Aktivizo shërbimet e nisjes.
sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service
Rinisni shërbimet.
sudo systemctl restart diaspora.target
Sigurohuni që ato të funksionojnë siç duhet.
sudo systemctl status diaspora-web.service
sudo systemctl status diaspora-sidekiq.service
Nginx Reverse Proxy
Ne do të përdorim Nginx si një përfaqësues të kundërt për të shërbyer burime statike.
Ne do të përdorim acme.sh për të marrë një certifikatë Let's Encrypt.
Shkarkoni acme.sh
kodin burimor.
git clone https://github.com/Neilpang/acme.sh.git
Gjeneroni një certifikatë Let's Encrypt.
./.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
Instaloni Nginx.
sudo apt-get install nginx
Krijo një skedar të ri konfigurimi Nginx për podin tonë të Diasporës.
nano /etc/nginx/conf.d/diaspora.conf
Plotësoni skedarin me përmbajtjen e mëposhtme.
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;
}
}
Shënim: ndryshoni example.com
në emrin tuaj të domain-it të regjistruar.
Pasi të kenë përfunduar të gjitha modifikimet, kontrolloni skedarin e konfigurimit për ndonjë gabim.
sudo nginx -t
Rinisni Nginx për të aplikuar ndryshimet.
sudo systemctl restart nginx
Nëse tani vizitoni emrin e domain-it të Diasporës në shfletuesin tuaj (shembull: https://example.com
), do të arrini në faqen e mirëseardhjes së Diasporës.
Krijo një përdorues të diasporës
Klikoni lidhjen në Start by creating an account.
, dhe plotësoni detajet për të krijuar një përdorues të ri nga Diaspora. Më pas, do të mund të shikoni faqen kryesore të përdoruesit tuaj dhe të filloni të përdorni rrjetin social të Diasporës.
Pasi të krijoni një llogari, jepini të drejtat e administratorit:.
Role.add_admin User.where(username: "your_username").first.person
Tani keni akses në panelin e administratorit.
https://example.com/admins/dashboard
Sidekiq
Sidekiq, i cili merret me përpunimin e punëve në sfond, ka një ndërfaqe në internet të disponueshme në https://example.com/sidekiq
. Statistikat e pod janë në dispozicion në https://example.com/statistics
.
Logrotoj
Ne do të përdorim logrotate
për të menaxhuar regjistrat e diasporës.
Krijo një logrotate
skedar të ri për diasporën.
nano /etc/logrotate/diaspora
Pastaj shtoni rreshtat e mëposhtëm.
/home/diaspora/diaspora/log/*.log {
notifempty
copytruncate
missingok
compress
weekly
rotate 52
}
Kjo do t'i rrotullojë shkrimet çdo javë, do t'i ngjesh ato dhe do t'i mbajë për 52 javë.
Përditëso diasporën
Kur të vijë koha për të përditësuar Diasporën, ndiqni këto hapa.
Së pari, përditësoni sistemin.
sudo apt-get update
sudo apt-get dist-upgrade
Përditësoni kodin burimor të Diasporës me git
.
su - diaspora
cd diaspora
git pull
Përditësoni gurët e çmuar.
gem install bundler
bin/bundle --full-index
Migroni bazën e të dhënave dhe ripërpiloni asetet.
RAILS_ENV=production bin/rake db:migrate
RAILS_ENV=production bin/rake assets:precompile
Më në fund, rinisni Diasporën.
systemctl restart diaspora.target