CentOS 7 veidojiet savu sociālo tīklu ar diasporu

Diaspora ir atvērtā pirmkoda 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 operētājsistēmā CentOS 7.

Priekšnoteikumi

  • CentOS 7 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 lejupielādējiet un instalējiet jaunāko EPEL versiju.

sudo yum install epel-release

Instalējiet nepieciešamās pakotnes.

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

Iespējojiet redispalaišanu, kad sistēma tiek sāknēta.

sudo systemctl enable redis
sudo systemctl start redis

Instalējiet PostgreSQL

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

Instalējiet PostgreSQL.

sudo yum install postgresql-server postgresql-contrib postgresql-setup initdb

Iespējojiet PostgreSQL startēšanu, kad sistēma sāks darboties.

sudo systemctl enable postgresql
sudo systemctl start postgresql

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

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

Iestatiet pasta serveri

Mēs izmantosim Postfix kā SMTP releju, lai nosūtītu e-pastus lietotājiem. Lūdzu, skatiet šo rakstu, lai uzzinātu, kā instalēt vienkāršu pasta serveri ar Postfix kā MTA, Dovecot kā MDA un Sieve pasta šķirošanai.

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ākuma #, lai to atsauktu.
  • rails_environment: jums ir jāiestata ražošanas režīms.
  • require_ssl: iestatiet šo vērtību uz false, lai 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 yum 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 izmantojat ugunsmūri, palaidiet tālāk norādītās komandas, lai atļautu HTTPun HTTPStrafiku.

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Ja tagad pārlūkprogrammā ( https://example.com) apmeklēsit sava Diaspora pod domēna nosaukumu , tiks atvērta Diaspora sveiciena lapa.

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, jauniniet instalētās pakotnes.

sudo yum update

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

Instalējiet Plesk operētājsistēmā CentOS 7

Instalējiet Plesk operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes

Kā instalēt Squid starpniekserveri CentOS

Kā instalēt Squid starpniekserveri CentOS

Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Kā instalēt Microweber operētājsistēmā CentOS 7

Kā instalēt Microweber operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs

Kā instalēt Mattermost 4.1 operētājsistēmā CentOS 7

Kā instalēt Mattermost 4.1 operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Mattermost ir atvērtā pirmkoda, pašmitināta alternatīva Slack SAAS ziņojumapmaiņas pakalpojumam. Citiem vārdiem sakot, izmantojot Mattermost, jūs apm

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

Ļauj šifrēt vietnē Plesk

Ļauj šifrēt vietnē Plesk

Plesk vadības panelī ir ļoti jauka Lets Encrypt integrācija. Lets Encrypt ir viens no vienīgajiem SSL nodrošinātājiem, kas pilnībā izsniedz sertifikātus

Ļauj šifrēt cPanel

Ļauj šifrēt cPanel

Lets Encrypt ir sertifikātu iestāde, kas nodrošina SSL sertifikātus bez maksas. cPanel ir izveidojis glītu integrāciju, lai jūs un jūsu klients

Kā instalēt Concrete5 operētājsistēmā CentOS 7

Kā instalēt Concrete5 operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Concrete5 ir atvērtā pirmkoda CMS, kas piedāvā daudzas atšķirīgas un noderīgas funkcijas, lai palīdzētu redaktoriem viegli izveidot saturu.

Kā instalēt pārskata paneli sistēmā CentOS 7

Kā instalēt pārskata paneli sistēmā CentOS 7

Vai izmantojat citu sistēmu? Pārskatīšanas padome ir bezmaksas atvērtā pirmkoda rīks pirmkoda, dokumentācijas, attēlu un daudz ko citu pārskatīšanai. Tā ir tīmekļa programmatūra

Iestatiet HTTP autentifikāciju, izmantojot Nginx operētājsistēmā CentOS 7

Iestatiet HTTP autentifikāciju, izmantojot Nginx operētājsistēmā CentOS 7

Šajā rokasgrāmatā jūs uzzināsit, kā iestatīt HTTP autentifikāciju Nginx tīmekļa serverim, kas darbojas operētājsistēmā CentOS 7. Prasības Lai sāktu darbu, jums būs nepieciešams

Kā instalēt YOURLS operētājsistēmā CentOS 7

Kā instalēt YOURLS operētājsistēmā CentOS 7

YOURLS (Your Own URL Shortener) ir atvērtā koda URL saīsināšanas un datu analīzes lietojumprogramma. Šajā rakstā mēs apskatīsim instalēšanas procesu

Kā instalēt un konfigurēt ArangoDB operētājsistēmā CentOS 7

Kā instalēt un konfigurēt ArangoDB operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Ievads ArangoDB ir atvērtā koda NoSQL datu bāze ar elastīgu datu modeli dokumentiem, grafikiem un atslēgu vērtībām. Tas ir

Etckeeper izmantošana /etc versiju kontrolei

Etckeeper izmantošana /etc versiju kontrolei

Ievads /etc/ direktorijam ir izšķiroša nozīme Linux sistēmas darbībā. Iemesls tam ir gandrīz visas sistēmas konfigurācijas

Kāpēc jums vajadzētu izmantot SSHFS? Kā uzstādīt attālo failu sistēmu ar SSHFS operētājsistēmā CentOS 6

Kāpēc jums vajadzētu izmantot SSHFS? Kā uzstādīt attālo failu sistēmu ar SSHFS operētājsistēmā CentOS 6

Daudzi sistēmu administratori pārvalda lielu daudzumu serveru. Ja failiem ir jāpiekļūst dažādos serveros, piesakieties katrā atsevišķi apm

Half Life 2 servera iestatīšana operētājsistēmā CentOS 6

Half Life 2 servera iestatīšana operētājsistēmā CentOS 6

Šajā apmācībā tiks apskatīts Half Life 2 spēļu servera instalēšanas process sistēmā CentOS 6. 1. darbība: priekšnosacījumu instalēšana Lai iestatītu ou

Kā instalēt Laravel GitScrum operētājsistēmā CentOS 7

Kā instalēt Laravel GitScrum operētājsistēmā CentOS 7

Laravel GitScrum jeb GitScrum ir atvērtā pirmkoda produktivitātes rīks, kas izstrādāts, lai palīdzētu izstrādātāju komandām ieviest Scrum metodoloģiju līdzīgā veidā.

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