Építsd ki közösségi hálózatodat a Diasporával a CentOS 7 rendszeren

A Diaspora egy nyílt forráskódú közösségi hálózat. Ebből az oktatóanyagból megtudhatja, hogyan állíthat be és konfigurálhat egy Diaspora pod CentOS 7 rendszeren.

Előfeltételek

  • Egy CentOS 7 szerverpéldány.
  • Egy átlagos méretű pod futtatásakor a szervernek legalább 512 MB RAM-mal (+1 GB swap területtel) és egy megfelelő többmagos CPU-val kell rendelkeznie.
  • A sudo felhasználó.

Telepítse az előfeltétel csomagokat

Először töltse le és telepítse a legújabb EPEL-kiadást.

sudo yum install epel-release

Telepítse a szükséges csomagokat.

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

Engedélyezze redisaz indítást, amikor a rendszer elindul.

sudo systemctl enable redis
sudo systemctl start redis

Telepítse a PostgreSQL-t

A Diaspora támogatja a MySQL-t, a MariaDB-t és a PostgreSQL-t. Ebben az útmutatóban a PostgreSQL-t fogjuk használni.

Telepítse a PostgreSQL-t.

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

Engedélyezze a PostgreSQL elindítását, amikor a rendszer elindul.

sudo systemctl enable postgresql
sudo systemctl start postgresql

Csatlakozzon a PostgreSQL-hez a postgresfelhasználóval.

sudo -u postgres psql

Hozzon létre egy Diaspora felhasználót.

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

Adjon hozzá egy elkötelezett diaszpóra-felhasználót

Ez az a felhasználói fiók, amelyen a Diaspora fut.

sudo adduser --disabled-login diaspora

Váltás az új felhasználóra.

sudo  su - diaspora

Telepítsd a Rubyt

A Ruby telepítésének többféle módja van. A rbenvkörnyezet és a verziók kezelésére fogjuk használni .

Először telepítenie kell a Ruby által igényelt csomagokat.

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

Telepítse 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

Csatlakozzon újra az elérési út újratöltéséhez.

exit
sudo su - diaspora

Telepítse a ruby-buildbővítményt a rbenvRuby fordításához.

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

Telepítsd a Rubyt.

rbenv install 2.4.3
rbenv global 2.4.3

Állítson be egy levelezőszervert

A Postfixet SMTP-reléként fogjuk használni, hogy e-maileket küldjünk a felhasználóknak. Ebben a cikkben megtudhatja, hogyan telepíthet egy egyszerű levelezőszervert, a Postfix mint MTA, a Dovecot az MDA és a Sieve a levelek rendezésére.

Telepítse és konfigurálja a Diasporát

Klónozza a Diaspora forráskódját.

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

Másolja a példaadatbázis-konfigurációs fájlt a Diaspora által igényelt helyre.

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

Néhány beállítás szerkesztéséhez nyissa meg az adatbázis-konfigurációs fájlt egy szövegszerkesztőben.

nano config/database.yml

Módosítsa az adatbázis-beállításokat, hogy megfeleljenek a korábban létrehozott PostgreSQL-felhasználónak és jelszónak.

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

Nyissa meg a Diaspora konfigurációs fájlt.

nano config/diaspora.yml

A Diaspora megfelelő működéséhez frissítenie kell néhány beállítást ebben a fájlban.

  • url: Állítsa be a nyilvános URL-t a podhoz.
  • certificate_authorities: Távolítsa el a vezető #-t a megjegyzés törléséhez.
  • rails_environment: Ezt élesre kell állítani.
  • require_ssl: Állítsa false értékre, hogy megakadályozza a http://-ről https://-re való átirányítást.

Telepítse a szükséges drágaköveket

Telepítse a Bundle-t, a Ruby könyvtárkezelőt.

gem install bundler
script/configure_bundler

Megjegyzés : Ha hibái vannak a Ruby verziójával kapcsolatban, szerkessze .ruby-versionés tegye be a sajátját (ide 2.4.3helyett 2.4).

Adatbázis beállítása

Hozza létre és konfigurálja az adatbázist.

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

Készítse elő az eszközöket

Ez a rake parancs előre lefordítja az eszközöket.

RAILS_ENV=production bin/rake assets:precompile

Diaspora systemd Services

A Diaszpóra szolgáltatásként való kezelésének számos módja van. Ebben az oktatóanyagban a Systemd-t fogjuk használni.

Először hozza létre a következő fájlokat.

  • systemd targetfájl:

    touch /etc/systemd/system/diaspora.target
    
  • systemd webservice fájl:

    touch /etc/systemd/system/diaspora-web.service
    
  • systemd sidekiqservice fájl:

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

Illessze be a következő konfigurációs szöveget minden korábban létrehozott fájlhoz.

target fájl:

[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 szerviz fájl:

[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 szerviz fájl:

[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

Boot szolgáltatások engedélyezése.

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

Indítsa újra a szolgáltatásokat.

sudo systemctl restart diaspora.target

Győződjön meg arról, hogy megfelelően működnek.

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

Nginx fordított proxy

Az Nginxet fordított proxyként fogjuk használni a statikus erőforrások kiszolgálására.

Az acme.sh- t használjuk a Let's Encrypt tanúsítvány megszerzéséhez.

Töltse le a acme.shforráskódot.

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

Hozzon létre egy Let's Encrypt tanúsítványt.

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

Telepítse az Nginx-et.

sudo yum install nginx

Hozzon létre egy új Nginx konfigurációs fájlt a Diaspora podhoz.

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

Töltse fel a fájlt a következő tartalommal.

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

Megjegyzés : változtassa example.commeg a saját regisztrált domain nevét.

Az összes módosítás befejezése után ellenőrizze, hogy a konfigurációs fájlban nem található-e hiba.

sudo nginx -t

A változtatások alkalmazásához indítsa újra az Nginx-et.

sudo systemctl restart nginx

Ha tűzfalat használ, futtassa a következő parancsokat az engedélyezéshez HTTPés a HTTPSforgalomhoz.

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

Ha most meglátogatja Diaspora pod domainnevét a böngészőjében ( https://example.com), eléri a Diaspora üdvözlő oldalát.

Hozzon létre egy diaszpóra-felhasználót

Kattintson a linkre Start by creating an account., és adja meg az adatokat új diaszpóra-felhasználó létrehozásához. Ezután megtekintheti felhasználója kezdőlapját, és elkezdheti használni a Diaspora közösségi hálózatot.

Fiók létrehozása után adjon rendszergazdai jogokat.

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

Mostantól hozzáférhet az adminisztrációs irányítópulthoz.

https://example.com/admins/dashboard

Sidekiq

A háttérmunkák feldolgozását kezelő Sidekiq webes felülettel rendelkezik a címen https://example.com/sidekiq. A podstatisztikák a címen érhetők el https://example.com/statistics.

Logrotate

A logrotatediaszpóranaplók kezelésére használjuk .

Hozzon létre egy új logrotatefájlt a Diaspora számára.

nano /etc/logrotate/diaspora

Ezután adja hozzá a következő sorokat.

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

Ez hetente megforgatja a rönköket, összenyomja és 52 hétig megőrzi.

Frissítse Diaszpóra

Ha eljön az ideje a Diaspora frissítésének, kövesse az alábbi lépéseket.

Először frissítse a telepített csomagokat.

sudo yum update

Frissítse a Diaspora forráskódját a git segítségével.

su - diaspora
cd diaspora
git pull

Frissítse a drágaköveket.

gem install bundler
bin/bundle --full-index

Állítsa át az adatbázist, és fordítsa újra az eszközöket.

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

Végül indítsa újra a Diasporát.

systemctl restart diaspora.target

Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

Az Apache Cassandra 3.11.x telepítése CentOS 7 rendszeren

Az Apache Cassandra 3.11.x telepítése CentOS 7 rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

A Microweber telepítése CentOS 7 rendszeren

A Microweber telepítése CentOS 7 rendszeren

Más rendszert használ? A Microweber egy nyílt forráskódú drag and drop CMS és online bolt. A Microweber forráskódja a GitHubon található. Ez az útmutató megmutatja neked

A Vanilla Forum telepítése a CentOS 7 rendszeren

A Vanilla Forum telepítése a CentOS 7 rendszeren

Más rendszert használ? A Vanilla forum egy nyílt forráskódú, PHP-ben írt fórumalkalmazás. Ez egy teljesen testreszabható, könnyen használható, és támogatja a külsőt

A Mattermost 4.1 telepítése CentOS 7 rendszeren

A Mattermost 4.1 telepítése CentOS 7 rendszeren

Más rendszert használ? A Mattermost egy nyílt forráskódú, saját üzemeltetésű alternatívája a Slack SAAS üzenetküldő szolgáltatásnak. Más szóval, a Mattermost segítségével kb

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Minecraft szerverek hálózatának létrehozása BungeeCord segítségével Debian 8, Debian 9 vagy CentOS 7 rendszeren

Mire lesz szüksége Egy Vultr VPS legalább 1 GB RAM-mal. SSH hozzáférés (root/adminisztrátori jogosultságokkal). 1. lépés: A BungeeCord telepítése Először is

Encrypt on Plesk

Encrypt on Plesk

A Plesk vezérlőpult nagyon szép integrációt kínál a Lets Encrypt számára. A Lets Encrypt egyike az egyetlen SSL-szolgáltatónak, amely teljes tanúsítványt ad ki

Lehetővé teszi a titkosítást a cPanel-en

Lehetővé teszi a titkosítást a cPanel-en

A Lets Encrypt egy tanúsító hatóság, amely ingyenes SSL-tanúsítványokat biztosít. A cPanel ügyes integrációt épített ki, így Ön és ügyfele

A Concrete5 telepítése CentOS 7 rendszeren

A Concrete5 telepítése CentOS 7 rendszeren

Más rendszert használ? A Concrete5 egy nyílt forráskódú CMS, amely számos megkülönböztető és hasznos funkciót kínál, hogy segítse a szerkesztőket a tartalom egyszerű létrehozásában.

Hogyan telepítsük az értékelő táblát a CentOS 7 rendszeren

Hogyan telepítsük az értékelő táblát a CentOS 7 rendszeren

Más rendszert használ? A Review Board egy ingyenes és nyílt forráskódú eszköz a forráskód, a dokumentáció, a képek és még sok más áttekintésére. Ez egy web alapú szoftver

Állítsa be a HTTP-hitelesítést az Nginx segítségével a CentOS 7 rendszeren

Állítsa be a HTTP-hitelesítést az Nginx segítségével a CentOS 7 rendszeren

Ebből az útmutatóból megtudhatja, hogyan állíthat be HTTP-hitelesítést egy CentOS 7 rendszeren futó Nginx webszerverhez. Követelmények A kezdéshez szüksége lesz a következőre:

A GoAccess telepítése a CentOS 7 rendszeren

A GoAccess telepítése a CentOS 7 rendszeren

Más rendszert használ? A GoAccess egy nyílt forráskódú webnapló-elemző. Használhatja naplók valós idejű elemzésére akár a terminálon, akár a

A YOURLS telepítése a CentOS 7 rendszeren

A YOURLS telepítése a CentOS 7 rendszeren

A YOURLS (Your Own URL Shortener) egy nyílt forráskódú URL-rövidítő és adatelemző alkalmazás. Ebben a cikkben a telepítés folyamatával foglalkozunk

Az ArangoDB telepítése és konfigurálása a CentOS 7 rendszeren

Az ArangoDB telepítése és konfigurálása a CentOS 7 rendszeren

Más rendszert használ? Bevezetés Az ArangoDB egy nyílt forráskódú NoSQL adatbázis, amely rugalmas adatmodellt kínál dokumentumokhoz, grafikonokhoz és kulcsértékekhez. Ez

Az Etckeeper használata az /etc verziókezeléshez

Az Etckeeper használata az /etc verziókezeléshez

Bevezetés Az /etc/ könyvtár kritikus szerepet játszik a Linux rendszer működésében. Ennek az az oka, hogy szinte minden rendszerkonfiguráció

Miért érdemes SSHFS-t használni? Távoli fájlrendszer csatlakoztatása SSHFS-sel a CentOS 6 rendszeren

Miért érdemes SSHFS-t használni? Távoli fájlrendszer csatlakoztatása SSHFS-sel a CentOS 6 rendszeren

Sok rendszergazda nagy mennyiségű kiszolgálót kezel. Ha a fájlokhoz különböző szervereken keresztül kell hozzáférni, mindegyikbe külön-külön kell bejelentkezni kb

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket