Ndërtoni rrjetin tuaj social me diasporën në Debian 9

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 postgrespë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 rbenvpë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-buildshtojcën për rbenvtë 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

Instaloni dhe konfiguroni Diasporën

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ë falsepër të parandaluar një ridrejtim nga http://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-versiondhe vendosni tuajin (këtu 2.4.3në 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.

  • targetskedar systemd :touch /etc/systemd/system/diaspora.target
  • skedari i webshërbimit systemd :touch /etc/systemd/system/diaspora-web.service
  • skedari i sidekiqshë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.shkodin 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.comnë 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 logrotatepër të menaxhuar regjistrat e diasporës.

Krijo një logrotateskedar 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

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Përdorimi i një sistemi të ndryshëm? Nëse blini një server Debian, atëherë duhet të keni gjithmonë arnimet dhe përditësimet më të fundit të sigurisë, pavarësisht nëse jeni në gjumë apo jo

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Konfiguro serverin tuaj DNS në Debian/Ubuntu

Ky tutorial shpjegon se si të konfiguroni një server DNS duke përdorur Bind9 në Debian ose Ubuntu. Gjatë gjithë artikullit, zëvendësoni emrin e domain-it tuaj në përputhje me rrethanat. Në

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Përpiloni dhe instaloni Nginx me Modulin e PageSpeed ​​në Debian 8

Në këtë artikull, ne do të shohim se si të përpiloni dhe instaloni Nginx mainline nga burimet zyrtare të Nginx me modulin PageSpeed, i cili ju lejon t

Si të instaloni Kanboard në Debian 9

Si të instaloni Kanboard në Debian 9

Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar

Si të instaloni Gitea në Debian 9

Si të instaloni Gitea në Debian 9

Përdorimi i një sistemi të ndryshëm? Gitea është një sistem alternativ i kontrollit të versionit me burim të hapur, i vetë-pritur, i mundësuar nga Git. Gitea është shkruar në Golang dhe është

Instaloni Lynis në Debian 8

Instaloni Lynis në Debian 8

Hyrje Lynis është një mjet falas, me burim të hapur të auditimit të sistemit, që përdoret nga shumë administratorë të sistemit për të verifikuar integritetin dhe për të forcuar sistemet e tyre. Unë

Si të instaloni Thelia 2.3 në Debian 9

Si të instaloni Thelia 2.3 në Debian 9

Përdorimi i një sistemi të ndryshëm? Thelia është një mjet me burim të hapur për krijimin e faqeve të internetit të e-biznesit dhe menaxhimin e përmbajtjes në internet të shkruar në PHP. Kodi burimor Thelia i

Krijimi i një rrjeti të serverëve Minecraft me BungeeCord në Debian 8, Debian 9 ose CentOS 7

Krijimi i një rrjeti të serverëve Minecraft me BungeeCord në Debian 8, Debian 9 ose CentOS 7

Çfarë ju nevojitet një Vultr VPS me të paktën 1 GB RAM. Qasje SSH (me privilegje root/administrative). Hapi 1: Instalimi i BungeeCord Gjërat e para

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Si të instaloni Golang 1.8.3 në CentOS 7, Ubuntu 16.04 dhe Debian 9

Golang është një gjuhë programimi e zhvilluar nga Google. Falë shkathtësisë, thjeshtësisë dhe besueshmërisë së tij, Golang është bërë një nga më të populluarit

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Rivendosni fjalëkalimin rrënjësor MySQL në Debian/Ubuntu

Nëse e keni harruar fjalëkalimin tuaj rrënjësor MySQL, mund ta rivendosni atë duke ndjekur hapat në këtë artikull. Procesi është mjaft i thjeshtë dhe funksionon në to

Vendosja e Counter Strike: Burimi në Debian

Vendosja e Counter Strike: Burimi në Debian

Në këtë udhëzues, ne do të konfigurojmë një server lojërash Counter Strike: Source në Debian 7. Këto komanda janë testuar në Debian 7, por ato gjithashtu duhet të funksionojnë

Si të instaloni Unturned 2.2.5 në Debian 8

Si të instaloni Unturned 2.2.5 në Debian 8

Në këtë udhëzues, do të mësoni se si të konfiguroni një server Unturned 2.2.5 në një Vultr VPS që ekzekuton Debian 8. Shënim: Ky është një version i modifikuar i Unturned që nuk

Si të instaloni Cachet në Debian 8

Si të instaloni Cachet në Debian 8

Në këtë tutorial, do të mësoni se si të instaloni Cachet në Debian 8. Cachet është një sistem i fuqishëm i faqeve të statusit me burim të hapur. Instalimi Ky tutorial po shkon

Rezervoni automatikisht bazat e të dhënave të shumta MySQL ose MariaDB

Rezervoni automatikisht bazat e të dhënave të shumta MySQL ose MariaDB

Hyrje Në këtë shkrim-up, ecni mirë se si të bëni kopje rezervë të bazave të të dhënave të shumta MySQL ose MariaDB që qëndrojnë në të njëjtën makinë duke përdorur një skedar bash të personalizuar

Vendosja e një Chroot në Debian

Vendosja e një Chroot në Debian

Ky artikull do t'ju mësojë se si të vendosni një burg chroot në Debian. Unë supozoj se po përdorni Debian 7.x. Nëse jeni duke ekzekutuar Debian 6 ose 8, kjo mund të funksionojë, por

Si të instaloni Reader Self 3.5 RSS Reader në një Debian 9 LAMP VPS

Si të instaloni Reader Self 3.5 RSS Reader në një Debian 9 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Reader Self 3.5 është një lexues i thjeshtë dhe fleksibël, falas dhe me burim të hapur, i vetë-strehuar lexues RSS dhe alternativë e Google Reader. Lexuesi Sel

Si të instaloni Backdrop CMS 1.8.0 në një Debian 9 LAMP VPS

Si të instaloni Backdrop CMS 1.8.0 në një Debian 9 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Sfondi CMS 1.8.0 është një Sistem i Menaxhimit të Përmbajtjes (CMS) i thjeshtë dhe fleksibël, i përshtatshëm për celularin, pa pagesë dhe me burim të hapur që na lejon

Si të instaloni SteamCMD në VPS-në tuaj

Si të instaloni SteamCMD në VPS-në tuaj

Në këtë tutorial ne do të instalojmë SteamCMD. SteamCMD mund të përdoret për të shkarkuar dhe instaluar shumë serverë lojërash Steam, të tilla si Counter-Strike: Global Offensiv

Përditësoni Python në Debian

Përditësoni Python në Debian

Siç mund ta dini, depot e Debian përditësohen shumë ngadalë. Në kohën e shkrimit, versionet e lëshimit të Python janë në 2.7.12 dhe 3.5.2, por në depo Debian 8

Si të konfiguroni Samba me Block Storage në Debian 9

Si të konfiguroni Samba me Block Storage në Debian 9

Samba është një zgjidhje me burim të hapur që i lejon përdoruesit të konfigurojnë skedarë të shpejtë dhe të sigurt dhe të printojnë shpërndarje. Në këtë artikull, unë do të mbuloj se si të konfiguroni zgjuarsinë Samba

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë