Rakenna sosiaalinen verkostosi Diasporan kanssa CentOS 7:llä

Diaspora on tietosuojatietoinen avoimen lähdekoodin sosiaalinen verkosto. Tässä opetusohjelmassa opit määrittämään ja määrittämään Diaspora-podin CentOS 7:ssä.

Edellytykset

  • CentOS 7 -palvelinesiintymä.
  • Keskikokoista podia käyttäessäsi palvelimellasi tulisi olla vähintään 512 Mt RAM-muistia (+1 Gt swap-tilaa) ja kunnollinen moniytiminen prosessori.
  • Sudo käyttäjä.

Asenna edellytyspaketit

Lataa ja asenna ensin uusin EPEL-julkaisu.

sudo yum install epel-release

Asenna tarvittavat paketit.

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

Ota käyttöön rediskäynnistys, kun järjestelmä käynnistyy.

sudo systemctl enable redis
sudo systemctl start redis

Asenna PostgreSQL

Diaspora tukee MySQL, MariaDB ja PostgreSQL. Tässä oppaassa käytämme PostgreSQL:ää.

Asenna PostgreSQL.

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

Ota PostgreSQL käyttöön, kun järjestelmä käynnistyy.

sudo systemctl enable postgresql
sudo systemctl start postgresql

Yhdistä PostgreSQL:ään postgreskäyttäjän kanssa.

sudo -u postgres psql

Luo Diaspora-käyttäjä.

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

Lisää omistautunut diasporakäyttäjä

Tämä on käyttäjätili, joka käyttää Diasporaa.

sudo adduser --disabled-login diaspora

Vaihda uuteen käyttäjään.

sudo  su - diaspora

Asenna Ruby

On olemassa useita tapoja asentaa Ruby. Käytämme rbenvympäristön ja versioiden hallintaan.

Ensin sinun on asennettava Rubyn tarvitsemat paketit.

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

Asenna 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

Muodosta yhteys uudelleen ladataksesi polun.

exit
sudo su - diaspora

Asenna ruby-buildplugin for rbenvkääntääksesi Ruby.

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

Asenna Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Asenna sähköpostipalvelin

Käytämme Postfixiä SMTP-välitteenä sähköpostien lähettämiseen käyttäjille. Katso tästä artikkelista , miten asennetaan yksinkertainen sähköpostipalvelin, jossa Postfix on MTA, Dovecot MDA ja Sieve postin lajittelua varten.

Asenna ja määritä Diaspora

Kloonaa Diasporan lähdekoodi.

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

Kopioi esimerkkitietokannan määritystiedosto Diasporan vaatimaan paikkaan.

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

Muokkaa joitain asetuksia avaamalla tietokannan määritystiedosto tekstieditorissa.

nano config/database.yml

Muuta tietokannan asetukset vastaamaan aiemmin luomaasi PostgreSQL-käyttäjää ja salasanaa.

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

Avaa Diaspora-määritystiedosto.

nano config/diaspora.yml

Sinun on päivitettävä joitakin tämän tiedoston asetuksia, jotta Diaspora toimii oikein.

  • url: Aseta podillesi julkinen URL-osoite tässä.
  • certificate_authorities: Poista ensimmäinen #, jos haluat poistaa kommentin.
  • rails_environment: Sinun on asetettava tämä tuotantoon.
  • require_ssl: Aseta tämä arvoksi false estääksesi uudelleenohjauksen osoitteesta http:// osoitteeseen https://.

Asenna vaaditut jalokivet

Asenna Bundle, Ruby-kirjaston hallinta.

gem install bundler
script/configure_bundler

Huomautus : Jos sinulla on virheitä Ruby-versiossasi, muokkaa .ruby-versionja laita omasi (tähän 2.4.3sen sijaan 2.4).

Asenna tietokanta

Luo ja määritä tietokanta.

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

Kokoa omaisuus etukäteen

Tämä rake-komento esikääntää resurssit.

RAILS_ENV=production bin/rake assets:precompile

Diaspora järjestelmäpalvelut

Diasporaa voidaan hallita palveluna monella tapaa. Tässä opetusohjelmassa käytämme Systemd.

Luo ensin seuraavat tiedostot.

  • systemd- targettiedosto:

    touch /etc/systemd/system/diaspora.target
    
  • systemd- webpalvelutiedosto:

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

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

Liitä seuraava asetusteksti jokaiselle aiemmin luomillesi tiedostolle.

target tiedosto:

[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 palvelutiedosto:

[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 palvelutiedosto:

[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

Ota käynnistyspalvelut käyttöön.

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

Käynnistä palvelut uudelleen.

sudo systemctl restart diaspora.target

Varmista, että ne toimivat oikein.

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

Nginx käänteinen välityspalvelin

Käytämme Nginxiä käänteisenä välityspalvelimena palvelemaan staattisia resursseja.

Käytämme acme.sh- tiedostoa saadaksemme Let's Encrypt -sertifikaatin.

Lataa acme.shlähdekoodi.

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

Luo Let's Encrypt -sertifikaatti.

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

Asenna Nginx.

sudo yum install nginx

Luo uusi Nginx-määritystiedosto Diaspora podillemme.

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

Täytä tiedosto seuraavalla sisällöllä.

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

Huomautus : vaihda example.comomaan rekisteröityyn verkkotunnukseesi.

Kun kaikki muutokset on tehty, tarkista asetustiedostosta mahdolliset virheet.

sudo nginx -t

Ota muutokset käyttöön käynnistämällä Nginx uudelleen.

sudo systemctl restart nginx

Jos käytät palomuuria, suorita seuraavat komennot salliaksesi HTTPja HTTPSliikenteen.

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

Jos vierailet nyt Diaspora podisi verkkotunnuksessa selaimessasi ( https://example.com), pääset Diasporan tervetulosivulle.

Luo diaspora-käyttäjä

Napsauta linkkiä Start by creating an account.ja täytä tiedot luodaksesi uuden Diaspora-käyttäjän. Sen jälkeen voit tarkastella käyttäjäsi kotisivua ja alkaa käyttää Diaspora-sosiaalista verkostoa.

Kun olet luonut tilin, anna sille järjestelmänvalvojan oikeudet.

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

Sinulla on nyt pääsy järjestelmänvalvojan hallintapaneeliin.

https://example.com/admins/dashboard

Sidekiq

Taustatöiden käsittelyä hoitavalla Sidekiqillä on web-käyttöliittymä osoitteessa https://example.com/sidekiq. Pod-tilastot ovat saatavilla osoitteessa https://example.com/statistics.

Logrotate

Käytämme logrotateDiaspora-lokien hallintaan.

Luo uusi logrotatetiedosto Diasporalle.

nano /etc/logrotate/diaspora

Lisää sitten seuraavat rivit.

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

Tämä pyörittää tukkeja viikoittain, puristaa ne ja säilyttää ne 52 viikkoa.

Päivitä Diaspora

Kun on aika päivittää Diaspora, noudata näitä ohjeita.

Päivitä ensin asennetut paketit.

sudo yum update

Päivitä Diaspora-lähdekoodi gitillä.

su - diaspora
cd diaspora
git pull

Päivitä helmiä.

gem install bundler
bin/bundle --full-index

Siirrä tietokanta ja käännä resurssit uudelleen.

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

Lopuksi käynnistä Diaspora uudelleen.

systemctl restart diaspora.target

Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Apache Cassandra 3.11.x:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Kuinka asentaa Microweber CentOS 7:ään

Kuinka asentaa Microweber CentOS 7:ään

Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle

Mattermost 4.1:n asentaminen CentOS 7:ään

Mattermost 4.1:n asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Minecraft-palvelinverkon luominen BungeeCordilla Debian 8:ssa, Debian 9:ssä tai CentOS 7:ssä

Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin

Sallii salauksen Pleskissä

Sallii salauksen Pleskissä

Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti

Sallii salauksen cPanelissa

Sallii salauksen cPanelissa

Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi

Kuinka asentaa Concrete5 CentOS 7:ään

Kuinka asentaa Concrete5 CentOS 7:ään

Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.

Review Boardin asentaminen CentOS 7:ään

Review Boardin asentaminen CentOS 7:ään

Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Asenna HTTP-todennus Nginxillä CentOS 7:ssä

Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset

Kuinka asentaa YOURLS CentOS 7:ään

Kuinka asentaa YOURLS CentOS 7:ään

YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Kuinka asentaa ja määrittää ArangoDB CentOS 7: ssä

Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on

Etckeeperin käyttäminen /etc-version hallintaan

Etckeeperin käyttäminen /etc-version hallintaan

Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Miksi sinun pitäisi käyttää SSHFS:ää? Kuinka asentaa etätiedostojärjestelmä SSHFS:llä CentOS 6:ssa

Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Kuinka asentaa Laravel GitScrum CentOS 7:ään

Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja