Izveidojiet savu sociālo tīklu ar diasporu uz Debian 9

Diaspora ir atvērtā koda sociālais tīkls, kas apzinās privātumu. Šajā apmācībā jūs uzzināsit, kā iestatīt un konfigurēt Diaspora pod Debian 9.

Priekšnoteikumi

  • Debian 9 servera gadījums.
  • Izmantojot vidēja izmēra podziņu, jūsu serverim ir jābūt vismaz 512 MB RAM (+1 GB mijmaiņas vietas) un pienācīgam daudzkodolu centrālajam procesoram.
  • Sudo lietotāju.

Instalējiet priekšnosacījumu pakotnes

Vispirms atjauniniet sistēmu un instalējiet nepieciešamās pakotnes.

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

Instalējiet PostgreSQL

Diaspora atbalsta MySQL, MariaDB un PostgreSQL. Šajā rokasgrāmatā mēs izmantosim PostgreSQL.

Instalējiet PostgreSQL.

sudo apt-get install PostgreSQL-server

Izveidojiet savienojumu ar PostgreSQL ar postgreslietotāju.

sudo -u postgres psql

Izveidojiet Diaspora lietotāju.

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

Pievienojiet īpašu diasporas lietotāju

Šis ir lietotāja konts, kurā darbosies Diaspora.

sudo adduser --disabled-login diaspora

Pārslēdzieties uz jauno lietotāju.

sudo  su - diaspora

Instalējiet Ruby

Ir vairāki veidi, kā instalēt Ruby. Mēs izmantosim, rbenvlai pārvaldītu vidi un versijas.

Pirmkārt, jums būs jāinstalē Ruby nepieciešamās pakotnes.

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

Instalējiet 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

Atkārtoti izveidojiet savienojumu, lai atkārtoti ielādētu ceļu.

exit
sudo su - diaspora

Instalējiet ruby-buildspraudni, rbenvlai kompilētu Ruby:

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

Instalējiet Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Instalējiet Exim4

Mēs izmantosim Exim4 kā SMTP releju, lai nosūtītu e-pastus lietotājiem.

Instalējiet un konfigurējiet pakotni.

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

Instalējiet un konfigurējiet Diaspora

Klonējiet Diaspora pirmkodu.

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

Kopējiet datu bāzes konfigurācijas faila piemēru uz vietu, kas nepieciešama Diaspora.

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

Atveriet datu bāzes konfigurācijas failu teksta redaktorā, lai rediģētu dažus iestatījumus.

nano config/database.yml

Mainiet datu bāzes iestatījumus, lai tie atbilstu iepriekš izveidotajam PostgreSQL lietotājam un parolei.

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

Atveriet Diaspora konfigurācijas failu.

nano config/diaspora.yml

Lai Diaspora darbotos pareizi, šajā failā būs jāatjaunina daži iestatījumi.

  • url: Šeit iestatiet savam aplikumam publisko URL.
  • certificate_authorities: noņemiet #sākumlapu, lai to atsauktu.
  • rails_environment: jums tas ir jāiestata uz production.
  • require_ssl: iestatiet šo, falselai novērstu novirzīšanu no http://uz https://.

Instalējiet nepieciešamos dārgakmeņus

Instalējiet Bundle, Ruby bibliotēkas pārvaldnieku.

gem install bundler
script/configure_bundler

Piezīme. Ja jums ir kļūdas saistībā ar Ruby versiju, rediģējiet .ruby-versionun ievietojiet savu (šeit, 2.4.3nevis 2.4).

Iestatīt datu bāzi

Izveidojiet un konfigurējiet datu bāzi.

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

Iepriekš apkopojiet aktīvus

Šī grābekļa komanda iepriekš kompilēs aktīvus.

RAILS_ENV=production bin/rake assets:precompile

Diaspora systemd Services

Ir daudz veidu, kā pārvaldīt diasporu kā pakalpojumu. Šajā apmācībā mēs izmantosim Systemd.

Vispirms izveidojiet šādus failus.

  • systemd targetfails:touch /etc/systemd/system/diaspora.target
  • systemd webpakalpojuma fails:touch /etc/systemd/system/diaspora-web.service
  • systemd sidekiqpakalpojuma fails:touch /etc/systemd/system/diaspora-sidekiq.service

Ielīmējiet šo konfigurācijas tekstu katram iepriekš izveidotajam failam.

target fails:

[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 pakalpojuma fails:

[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 pakalpojuma fails:

[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

Iespējot sāknēšanas pakalpojumus.

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

Restartējiet pakalpojumus.

sudo systemctl restart diaspora.target

Pārliecinieties, vai tie darbojas pareizi.

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

Nginx reversais starpniekserveris

Mēs izmantosim Nginx kā apgriezto starpniekserveri, lai apkalpotu statiskos resursus.

Mēs izmantosim acme.sh, lai iegūtu Let's Encrypt sertifikātu.

Lejupielādējiet acme.shavota kodu.

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

Ģenerējiet sertifikātu 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

Instalējiet Nginx.

sudo apt-get install nginx

Izveidojiet jaunu Nginx konfigurācijas failu mūsu Diaspora pod.

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

Aizpildiet failu ar šādu saturu.

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

Piezīme: mainiet example.comuz savu reģistrēto domēna nosaukumu.

Kad visas modifikācijas ir pabeigtas, pārbaudiet, vai konfigurācijas failā nav kļūdu.

sudo nginx -t

Restartējiet Nginx, lai lietotu izmaiņas.

sudo systemctl restart nginx

Ja tagad pārlūkprogrammā apmeklēsit Diaspora pod domēna nosaukumu (piemērs: https://example.com), jūs sasniegsit Diaspora sveiciena lapu.

Izveidojiet diasporas lietotāju

Noklikšķiniet uz saites Start by creating an account.un aizpildiet informāciju, lai izveidotu jaunu Diaspora lietotāju. Pēc tam varēsiet apskatīt sava lietotāja mājas lapu un sākt lietot Diaspora sociālo tīklu.

Kad esat izveidojis kontu, piešķiriet tam administratora tiesības:

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

Tagad jums ir piekļuve administratora informācijas panelim.

https://example.com/admins/dashboard

Sidekiq

Sidekiq, kas apstrādā fona darbus, ir tīmekļa saskarne, kas pieejama vietnē https://example.com/sidekiq. Aplikācijas statistika ir pieejama vietnē https://example.com/statistics.

Logrotate

Mēs izmantosim, logrotatelai pārvaldītu diasporas žurnālus.

Izveidojiet jaunu logrotatefailu diasporai.

nano /etc/logrotate/diaspora

Pēc tam pievienojiet šādas rindas.

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

Tas katru nedēļu rotēs baļķus, saspiedīs tos un glabās 52 nedēļas.

Atjaunināt Diasporu

Kad pienācis laiks atjaunināt Diaspora, veiciet šīs darbības.

Pirmkārt, atjauniniet sistēmu.

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

Atjauniniet Diaspora pirmkodu ar git.

su - diaspora
cd diaspora
git pull

Atjauniniet dārgakmeņus.

gem install bundler
bin/bundle --full-index

Migrējiet datu bāzi un atkārtoti kompilējiet līdzekļus.

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

Visbeidzot, restartējiet programmu Diaspora.

systemctl restart diaspora.target

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk