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

Iestatiet Cacti vietnē Debian Jessie

Iestatiet Cacti vietnē Debian Jessie

Ievads Cacti ir atvērtā koda uzraudzības un grafiku veidošanas rīks, kas pilnībā ir balstīts uz RRD datiem. Izmantojot Cacti, varat pārraudzīt gandrīz jebkura veida ierīces

Iestatiet iRedMail vietnē Debian Wheezy

Iestatiet iRedMail vietnē Debian Wheezy

Vai izmantojat citu sistēmu? Šī apmācība parādīs, kā instalēt grupas programmu iRedMail jaunā Debian Wheezy instalācijā. Jums vajadzētu izmantot servi

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Vai izmantojat citu sistēmu? Ja iegādājaties Debian serveri, jums vienmēr ir jābūt jaunākajiem drošības ielāpiem un atjauninājumiem neatkarīgi no tā, vai jūs guļat vai ne.

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Šajā apmācībā ir paskaidrots, kā iestatīt DNS serveri, izmantojot Bind9 uz Debian vai Ubuntu. Visā rakstā attiecīgi aizstājiet savu-domēna-nosaukums.com. plkst

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Šajā rakstā mēs redzēsim, kā apkopot un instalēt Nginx galveno līniju no oficiālajiem Nginx avotiem ar PageSpeed ​​moduli, kas ļauj t

Kā instalēt Kanboard operētājsistēmā Debian 9

Kā instalēt Kanboard operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Ievads Kanboard ir bezmaksas atvērtā koda projektu pārvaldības programmatūra, kas paredzēta, lai atvieglotu un vizualizētu

Kā instalēt Gitea operētājsistēmā Debian 9

Kā instalēt Gitea operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Gitea ir alternatīva atvērtā koda, pašmitināta versiju kontroles sistēma, ko nodrošina Git. Gitea ir rakstīts Golang valodā un ir

Instalējiet Lynis operētājsistēmā Debian 8

Instalējiet Lynis operētājsistēmā Debian 8

Ievads Lynis ir bezmaksas atvērtā koda sistēmas audita rīks, ko izmanto daudzi sistēmu administratori, lai pārbaudītu savu sistēmu integritāti un nostiprinātu tās. es

Kā instalēt Thelia 2.3 operētājsistēmā Debian 9

Kā instalēt Thelia 2.3 operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Thelia ir atvērtā pirmkoda rīks e-biznesa vietņu izveidei un tiešsaistes satura pārvaldīšanai, kas rakstīts PHP. Thelia pirmkods i

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Kas jums būs nepieciešams Vultr VPS ar vismaz 1 GB RAM. SSH piekļuve (ar root/administratora tiesībām). 1. darbība: BungeeCord instalēšana Vispirms vispirms

Kā instalēt Golang 1.8.3 operētājsistēmās CentOS 7, Ubuntu 16.04 un Debian 9

Kā instalēt Golang 1.8.3 operētājsistēmās CentOS 7, Ubuntu 16.04 un Debian 9

Golang ir Google izstrādāta programmēšanas valoda. Pateicoties tās daudzpusībai, vienkāršībai un uzticamībai, Golang ir kļuvis par vienu no populārākajiem

Atiestatiet MySQL saknes paroli vietnē Debian/Ubuntu

Atiestatiet MySQL saknes paroli vietnē Debian/Ubuntu

Ja esat aizmirsis savu MySQL root paroli, varat to atiestatīt, veicot šajā rakstā norādītās darbības. Process ir diezgan vienkāršs un darbojas uz tiem

Tīkla koplietošanas izveide, izmantojot Samba vietnē Debian

Tīkla koplietošanas izveide, izmantojot Samba vietnē Debian

Dažkārt mums ir nepieciešams koplietot failus, kuriem ir jābūt redzamiem Windows klientiem. Tā kā uz drošinātāju balstītas sistēmas darbojas tikai operētājsistēmā Linux, iepazīstieties ar to

Counter Strike iestatīšana: avots vietnē Debian

Counter Strike iestatīšana: avots vietnē Debian

Šajā rokasgrāmatā mēs iestatīsim Counter Strike: Source spēļu serveri operētājsistēmā Debian 7. Šīs komandas tika pārbaudītas Debian 7, taču tām vajadzētu darboties arī

Kā instalēt Unturned 2.2.5 uz Debian 8

Kā instalēt Unturned 2.2.5 uz Debian 8

Šajā rokasgrāmatā jūs uzzināsit, kā iestatīt Unturned 2.2.5 serveri Vultr VPS, kurā darbojas Debian 8. Piezīme. Šī ir rediģēta Unturned versija, kas to nedara.

Kā instalēt Cachet operētājsistēmā Debian 8

Kā instalēt Cachet operētājsistēmā Debian 8

Šajā apmācībā jūs uzzināsit, kā instalēt Cachet operētājsistēmā Debian 8. Cachet ir jaudīga atvērtā pirmkoda statusa lapu sistēma. Instalēšana Šī apmācība turpinās

Automātiski dublējiet vairākas MySQL vai MariaDB datu bāzes

Automātiski dublējiet vairākas MySQL vai MariaDB datu bāzes

Ievads Šajā pārskatā labi izskaidrojiet, kā dublēt vairākas MySQL vai MariaDB datu bāzes, kas atrodas vienā datorā, izmantojot pielāgotu bash skriptu.

Chroot iestatīšana vietnē Debian

Chroot iestatīšana vietnē Debian

Šis raksts iemācīs jums iestatīt chroot cietumu Debian. Es pieņemu, ka jūs izmantojat Debian 7.x. Ja jūs izmantojat Debian 6 vai 8, tas var darboties, bu

Kā instalēt Reader Self 3.5 RSS lasītāju Debian 9 LAMP VPS

Kā instalēt Reader Self 3.5 RSS lasītāju Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? Reader Self 3.5 ir vienkārša un elastīga, bezmaksas un atvērtā koda pašmitināta RSS lasītāja un Google lasītāja alternatīva. Lasītājs Sel

Kā instalēt Backdrop CMS 1.8.0 uz Debian 9 LAMP VPS

Kā instalēt Backdrop CMS 1.8.0 uz Debian 9 LAMP VPS

Vai izmantojat citu sistēmu? Backdrop CMS 1.8.0 ir vienkārša un elastīga, mobilajām ierīcēm draudzīga, bezmaksas un atvērtā koda satura pārvaldības sistēma (SPS), kas ļauj mums

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.

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.

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.

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