Kurkite savo socialinį tinklą su diaspora „CentOS 7“.

„Diaspora“ yra privatumą užtikrinantis atvirojo kodo socialinis tinklas. Šiame vadove sužinosite, kaip nustatyti ir konfigūruoti „Diaspora“ priedą „CentOS 7“.

Būtinos sąlygos

  • „CentOS 7“ serverio egzempliorius.
  • Jei naudojate vidutinio dydžio bloką, jūsų serveris turėtų turėti bent 512 MB RAM (+1 GB apsikeitimo vietos) ir padorų kelių branduolių procesorių.
  • Sudo vartotojas.

Įdiekite būtinuosius paketus

Pirmiausia atsisiųskite ir įdiekite naujausią EPEL leidimą.

sudo yum install epel-release

Įdiekite reikiamus paketus.

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

Įgalinti redispaleisti, kai sistema paleidžiama.

sudo systemctl enable redis
sudo systemctl start redis

Įdiekite PostgreSQL

Diaspora palaiko MySQL, MariaDB ir PostgreSQL. Šiame vadove naudosime PostgreSQL.

Įdiekite PostgreSQL.

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

Įgalinkite PostgreSQL paleisti, kai sistema paleidžiama.

sudo systemctl enable postgresql
sudo systemctl start postgresql

Prisijunkite prie PostgreSQL su postgresvartotoju.

sudo -u postgres psql

Sukurkite Diasporos vartotoją.

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

Pridėkite atsidavusį diasporos vartotoją

Tai yra vartotojo paskyra, kuri veiks „Diaspora“.

sudo adduser --disabled-login diaspora

Perjungti į naują vartotoją.

sudo  su - diaspora

Įdiekite Ruby

Yra keletas būdų, kaip įdiegti „Ruby“. Naudosime rbenvaplinkai ir versijoms tvarkyti.

Pirmiausia turėsite įdiegti „Ruby“ reikalingus paketus.

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

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

Prisijunkite iš naujo, kad iš naujo įkeltumėte kelią.

exit
sudo su - diaspora

Norėdami kompiliuoti Ruby, įdiekite ruby-buildpapildinį rbenv.

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

Įdiekite Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Nustatykite pašto serverį

Mes naudosime Postfix kaip SMTP relę, norėdami siųsti el. laiškus vartotojams. Šiame straipsnyje sužinosite, kaip įdiegti paprastą pašto serverį su Postfix kaip MTA, Dovecot kaip MDA ir Sieve paštui rūšiuoti.

Įdiekite ir sukonfigūruokite „Diaspora“.

Klonuokite diasporos šaltinio kodą.

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

Nukopijuokite pavyzdinį duomenų bazės konfigūracijos failą į vietą, kurią reikalauja diaspora.

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

Norėdami redaguoti kai kuriuos nustatymus, atidarykite duomenų bazės konfigūracijos failą teksto rengyklėje.

nano config/database.yml

Pakeiskite duomenų bazės parametrus, kad jie atitiktų anksčiau sukurtą PostgreSQL vartotoją ir slaptažodį.

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

Atidarykite diasporos konfigūracijos failą.

nano config/diaspora.yml

Kad Diaspora veiktų tinkamai, šiame faile turėsite atnaujinti kelis nustatymus.

  • url: čia nustatykite viešą savo grupės URL.
  • certificate_authorities: Pašalinkite priekinį #, kad panaikintumėte komentarą.
  • rails_environment: Turite nustatyti gamybos režimą.
  • require_ssl: nustatykite į false, kad išvengtumėte peradresavimo iš http:// į https://.

Įdiekite reikalingus brangakmenius

Įdiekite „Ruby“ bibliotekos tvarkyklę „Bundle“.

gem install bundler
script/configure_bundler

Pastaba : jei turite klaidų, susijusių su Ruby versija, redaguokite .ruby-versionir įdėkite savo (čia, 2.4.3o ne 2.4).

Nustatyti duomenų bazę

Sukurkite ir sukonfigūruokite duomenų bazę.

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

Iš anksto surinkite turtą

Ši rake komanda iš anksto sukompiliuos turtą.

RAILS_ENV=production bin/rake assets:precompile

Diaspora systemd Services

Yra daug būdų, kaip valdyti diasporą kaip paslaugą. Šioje pamokoje naudosime Systemd.

Pirmiausia sukurkite šiuos failus.

  • systemd targetfailas:

    touch /etc/systemd/system/diaspora.target
    
  • systemd webpaslaugos failas:

    touch /etc/systemd/system/diaspora-web.service
    
  • systemd sidekiqpaslaugos failas:

    touch /etc/systemd/system/diaspora-sidekiq.service
    

Įklijuokite toliau pateiktą kiekvieno failo, kurį sukūrėte anksčiau, konfigūracijos tekstą.

target failas:

[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 paslaugų failas:

[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 paslaugų failas:

[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

Įgalinti įkrovos paslaugas.

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

Iš naujo paleiskite paslaugas.

sudo systemctl restart diaspora.target

Įsitikinkite, kad jie veikia tinkamai.

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

Nginx atvirkštinis tarpinis serveris

Nginx naudosime kaip atvirkštinį tarpinį serverį statiniams ištekliams aptarnauti.

Naudosime acme.sh, kad gautume Let's Encrypt sertifikatą.

Atsisiųskite acme.shšaltinio kodą.

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

Sugeneruokite sertifikatą Užšifruokime.

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

Įdiekite „Nginx“.

sudo yum install nginx

Sukurkite naują „Nginx“ konfigūracijos failą mūsų diasporos rinkiniui.

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

Užpildykite failą tokiu turiniu.

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

Pastaba : pakeiskite example.comsavo registruotą domeno vardą.

Atlikę visus pakeitimus, patikrinkite, ar konfigūracijos faile nėra klaidų.

sudo nginx -t

Iš naujo paleiskite „Nginx“, kad pritaikytumėte pakeitimus.

sudo systemctl restart nginx

Jei naudojate ugniasienę, paleiskite šias komandas, kad leistumėte HTTPir HTTPSsrautą.

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

Jei dabar aplankysite savo Diaspora pod domeno pavadinimą savo naršyklėje ( https://example.com), pasieksite Diaspora pasveikinimo puslapį.

Sukurkite diasporos vartotoją

Spustelėkite nuorodą Start by creating an account.ir užpildykite informaciją, kad sukurtumėte naują Diasporos vartotoją. Tada galėsite peržiūrėti savo vartotojo pagrindinį puslapį ir pradėti naudotis Diaspora socialiniu tinklu.

Sukūrę paskyrą suteikite jai administratoriaus teises.

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

Dabar turite prieigą prie administratoriaus prietaisų skydelio.

https://example.com/admins/dashboard

Sidekiq

Sidekiq, kuris apdoroja fonines užduotis, turi žiniatinklio sąsają, pasiekiamą adresu https://example.com/sidekiq. Pod statistiką rasite adresu https://example.com/statistics.

Logrotate

Naudosime logrotatediasporos žurnalams tvarkyti.

Sukurkite naują logrotatediasporos failą.

nano /etc/logrotate/diaspora

Tada pridėkite šias eilutes.

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

Taip kas savaitę rąstai bus sukami, suspausti ir laikomi 52 savaites.

Atnaujinkite diasporą

Kai ateis laikas atnaujinti „Diaspora“, atlikite šiuos veiksmus.

Pirmiausia atnaujinkite įdiegtus paketus.

sudo yum update

Atnaujinkite Diaspora šaltinio kodą naudodami git.

su - diaspora
cd diaspora
git pull

Atnaujinkite brangakmenius.

gem install bundler
bin/bundle --full-index

Perkelkite duomenų bazę ir iš naujo sukompiliuokite išteklius.

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

Galiausiai iš naujo paleiskite „Diaspora“.

systemctl restart diaspora.target

Įdiekite „Plesk“ „CentOS 7“.

Įdiekite „Plesk“ „CentOS 7“.

Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai

Leidžia šifruoti Plesk

Leidžia šifruoti Plesk

„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus

Leidžia šifruoti „cPanel“.

Leidžia šifruoti „cPanel“.

„Lets Encrypt“ yra sertifikatų institucija, skirta nemokamai teikti SSL sertifikatus. cPanel sukūrė tvarkingą integraciją, kad jūs ir jūsų klientas

Kaip įdiegti „Concrete5“ „CentOS 7“.

Kaip įdiegti „Concrete5“ „CentOS 7“.

Naudojate kitą sistemą? Concrete5 yra atvirojo kodo TVS, kuri siūlo daug išskirtinių ir naudingų funkcijų, padedančių redaktoriams lengvai sukurti turinį

Kaip įdiegti apžvalgos lentą „CentOS 7“.

Kaip įdiegti apžvalgos lentą „CentOS 7“.

Naudojate kitą sistemą? „Review Board“ yra nemokamas atvirojo kodo įrankis, skirtas šaltinio kodui, dokumentacijai, vaizdams ir daugeliui kitų peržiūrėti. Tai internetinė programinė įranga

Nustatykite HTTP autentifikavimą naudodami „Nginx“ „CentOS 7“.

Nustatykite HTTP autentifikavimą naudodami „Nginx“ „CentOS 7“.

Šiame vadove sužinosite, kaip nustatyti HTTP autentifikavimą Nginx žiniatinklio serveriui, kuriame veikia CentOS 7. Reikalavimai Norėdami pradėti, jums reikės

Kaip įdiegti YOURLS „CentOS 7“.

Kaip įdiegti YOURLS „CentOS 7“.

YOURLS (Your Own URL Shortener) yra atvirojo kodo URL sutrumpinimo ir duomenų analizės programa. Šiame straipsnyje apžvelgsime diegimo procesą

Kaip įdiegti ir konfigūruoti „ArangoDB“ „CentOS 7“.

Kaip įdiegti ir konfigūruoti „ArangoDB“ „CentOS 7“.

Naudojate kitą sistemą? Įvadas ArangoDB yra atvirojo kodo NoSQL duomenų bazė su lanksčiu duomenų modeliu dokumentams, grafikams ir raktų reikšmėms. tai yra

Etckeeper naudojimas versijai valdyti /etc

Etckeeper naudojimas versijai valdyti /etc

Įvadas Katalogas /etc/ vaidina lemiamą vaidmenį veikiant Linux sistemai. Taip yra todėl, kad beveik visos sistemos konfigūracijos

Kodėl turėtumėte naudoti SSHFS? Kaip prijungti nuotolinę failų sistemą su SSHFS „CentOS 6“.

Kodėl turėtumėte naudoti SSHFS? Kaip prijungti nuotolinę failų sistemą su SSHFS „CentOS 6“.

Daugelis sistemos administratorių valdo didelius serverių kiekius. Kai failus reikia pasiekti skirtinguose serveriuose, prisijungiant prie kiekvieno atskirai apytiksliai

„Half Life 2“ serverio nustatymas „CentOS 6“.

„Half Life 2“ serverio nustatymas „CentOS 6“.

Ši pamoka apims Half Life 2 žaidimų serverio diegimą CentOS 6 sistemoje. 1 veiksmas: būtinų sąlygų įdiegimas Norėdami nustatyti ou

Kaip įdiegti „Laravel GitScrum“ „CentOS 7“.

Kaip įdiegti „Laravel GitScrum“ „CentOS 7“.

Laravel GitScrum arba GitScrum yra atvirojo kodo produktyvumo įrankis, skirtas padėti kūrimo komandoms įgyvendinti Scrum metodiką panašiai

Kaip įdiegti „PowerDNS“ „CentOS“.

Kaip įdiegti „PowerDNS“ „CentOS“.

Įvadas Šiame „Vultr“ vadove sužinosite, kaip įdiegti „PowerDNS“. PowerDNS yra programa, skirta paleisti savo vardų serverius. Tai labai naudinga, kai

Įdiekite „Wordpress“ naudodami „Apache“, PHP ir „MySQL“ (automatinis paleisties scenarijus)

Įdiekite „Wordpress“ naudodami „Apache“, PHP ir „MySQL“ (automatinis paleisties scenarijus)

Galite nukopijuoti ir įklijuoti šį bash scenarijų į Vultr valdymo skydelio paleisties scenarijaus sritį. Jis įdiegs visus reikalingus paketus į ru

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį