Ndërtoni rrjetin tuaj social me diasporën në CentOS 7

Diaspora është një rrjet social me burim të hapur, i ndërgjegjshëm për privatësinë. Në këtë tutorial, do të mësoni se si të konfiguroni dhe konfiguroni një pod Diaspora në CentOS 7.

Parakushtet

  • Një shembull i serverit CentOS 7.
  • Duke ekzekutuar një pod me madhësi mesatare, serveri juaj duhet të ketë, të paktën, 512 MB RAM (+1 GB hapësirë ​​shkëmbimi) dhe një CPU të mirë me shumë bërthama.
  • Një përdorues sudo .

Instaloni paketat parakushte

Së pari, shkarkoni dhe instaloni versionin më të fundit të EPEL.

sudo yum install epel-release

Instaloni paketat e nevojshme.

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

Aktivizo redispër të nisur kur sistemi juaj të niset.

sudo systemctl enable redis
sudo systemctl start redis

Instaloni PostgreSQL

Diaspora mbështet MySQL, MariaDB dhe PostgreSQL. Në këtë udhëzues, ne do të përdorim PostgreSQL.

Instaloni PostgreSQL.

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

Aktivizo PostgreSQL të fillojë kur sistemi juaj të fillojë.

sudo systemctl enable postgresql
sudo systemctl start postgresql

Lidhu me PostgreSQL me postgrespërdoruesin.

sudo -u postgres psql

Krijo një përdorues të Diasporës.

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

Shto një përdorues të përkushtuar të diasporës

Kjo është llogaria e përdoruesit që do të drejtojë Diasporën.

sudo adduser --disabled-login diaspora

Kalo te përdoruesi i ri.

sudo  su - diaspora

Instaloni Ruby

Ka disa mënyra për të instaluar Ruby. Ne do të përdorim rbenvpër të menaxhuar mjedisin dhe versionet.

Së pari, do t'ju duhet të instaloni paketat që kërkon Ruby.

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

Instaloni 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

Rilidheni për të ringarkuar shtegun.

exit
sudo su - diaspora

Instaloni ruby-buildshtojcën për rbenvtë përpiluar Ruby.

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

Instaloni Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Konfiguro një server Mail

Ne do të përdorim Postfix si një reletë SMTP për të dërguar email tek përdoruesit. Ju lutemi referojuni këtij artikulli për të mësuar se si të instaloni një server të thjeshtë poste, me Postfix si MTA, Dovecot si MDA dhe Sieve për renditjen e postës.

Instaloni dhe konfiguroni Diasporën

Klononi kodin burimor për diasporën.

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

Kopjo shembullin e skedarit të konfigurimit të bazës së të dhënave në vendndodhjen e kërkuar nga Diaspora.

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

Hapni skedarin e konfigurimit të bazës së të dhënave në një redaktues teksti për të modifikuar disa nga cilësimet.

nano config/database.yml

Ndryshoni cilësimet e bazës së të dhënave që të përputhen me përdoruesin dhe fjalëkalimin e PostgreSQL që keni krijuar më parë.

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

Hapni skedarin e konfigurimit të Diasporës.

nano config/diaspora.yml

Do t'ju duhet të përditësoni disa cilësime në këtë skedar që Diaspora të funksionojë siç duhet.

  • url: Vendosni URL-në e përballjes publike në podin tuaj këtu.
  • certificate_authorities: Hiqni # kryesore për ta hequr komentin.
  • rails_environment: Ju duhet ta vendosni këtë në prodhim.
  • require_ssl: Vendoseni këtë në false për të parandaluar një ridrejtim nga http:// në https://.

Instaloni gurët e çmuar të kërkuar

Instaloni Bundle, menaxherin e bibliotekës Ruby.

gem install bundler
script/configure_bundler

Shënim : Nëse keni gabime në lidhje me versionin tuaj Ruby, modifikoni .ruby-versiondhe vendosni tuajin (këtu 2.4.3në vend të 2.4).

Vendosja e bazës së të dhënave

Krijoni dhe konfiguroni bazën e të dhënave.

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

Përpiloni paraprakisht asetet

Kjo komandë raketë do të parapërpilojë asetet.

RAILS_ENV=production bin/rake assets:precompile

Shërbimet e sistemit të diasporës

Ka shumë mënyra për të menaxhuar diasporën si shërbim. Në këtë tutorial, ne do të përdorim Systemd.

Së pari, krijoni skedarët e mëposhtëm.

  • targetskedar systemd :

    touch /etc/systemd/system/diaspora.target
    
  • skedari i webshërbimit systemd :

    touch /etc/systemd/system/diaspora-web.service
    
  • skedari i sidekiqshërbimit systemd :

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

Ngjitni tekstin e mëposhtëm të konfigurimit për çdo skedar që keni krijuar më parë.

target dosje:

[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 skedari i shërbimit:

[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 skedari i shërbimit:

[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

Aktivizo shërbimet e nisjes.

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

Rinisni shërbimet.

sudo systemctl restart diaspora.target

Sigurohuni që ato të funksionojnë siç duhet.

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

Nginx Reverse Proxy

Ne do të përdorim Nginx si një përfaqësues të kundërt për të shërbyer burime statike.

Ne do të përdorim acme.sh për të marrë një certifikatë Let's Encrypt.

Shkarkoni acme.shkodin burimor.

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

Gjeneroni një certifikatë 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

Instaloni Nginx.

sudo yum install nginx

Krijo një skedar të ri konfigurimi Nginx për podin tonë të Diasporës.

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

Plotësoni skedarin me përmbajtjen e mëposhtme.

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

Shënim : ndryshoni example.comnë emrin tuaj të regjistruar të domain-it.

Pasi të kenë përfunduar të gjitha modifikimet, kontrolloni skedarin e konfigurimit për ndonjë gabim.

sudo nginx -t

Rinisni Nginx për të aplikuar ndryshimet.

sudo systemctl restart nginx

Nëse jeni duke ekzekutuar një mur zjarri, ekzekutoni komandat e mëposhtme për të lejuar HTTPdhe HTTPStrafikuar.

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

Nëse tani vizitoni emrin e domain-it të Diasporës në shfletuesin tuaj ( https://example.com), do të arrini në faqen e mirëseardhjes së Diasporës.

Krijo një përdorues të diasporës

Klikoni lidhjen në Start by creating an account., dhe plotësoni detajet për të krijuar një përdorues të ri nga Diaspora. Më pas, do të mund të shikoni faqen kryesore të përdoruesit tuaj dhe të filloni të përdorni rrjetin social të Diasporës.

Pasi të krijoni një llogari, jepini të drejtat e administratorit.

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

Tani keni akses në panelin e administratorit.

https://example.com/admins/dashboard

Sidekiq

Sidekiq, i cili merret me përpunimin e punëve në sfond, ka një ndërfaqe në internet të disponueshme në https://example.com/sidekiq. Statistikat e pod janë në dispozicion në https://example.com/statistics.

Logrotoj

Ne do të përdorim logrotatepër të menaxhuar regjistrat e diasporës.

Krijo një logrotateskedar të ri për diasporën.

nano /etc/logrotate/diaspora

Pastaj shtoni rreshtat e mëposhtëm.

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

Kjo do t'i rrotullojë shkrimet çdo javë, do t'i ngjesh ato dhe do t'i mbajë për 52 javë.

Përditëso diasporën

Kur të vijë koha për të përditësuar Diasporën, ndiqni këto hapa.

Së pari, përditësoni paketat e instaluara.

sudo yum update

Përditëso kodin burimor të Diasporës me git.

su - diaspora
cd diaspora
git pull

Përditësoni gurët e çmuar.

gem install bundler
bin/bundle --full-index

Migroni bazën e të dhënave dhe ripërpiloni asetet.

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

Më në fund, rinisni Diasporën.

systemctl restart diaspora.target

Instaloni Plesk në CentOS 7

Instaloni Plesk në CentOS 7

Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave

Si të instaloni Squid Proxy në CentOS

Si të instaloni Squid Proxy në CentOS

Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Microweber në CentOS 7

Si të instaloni Microweber në CentOS 7

Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni Mattermost 4.1 në CentOS 7

Si të instaloni Mattermost 4.1 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth

Le të enkriptojmë në Plesk

Le të enkriptojmë në Plesk

Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata

Lejon enkriptimin në cPanel

Lejon enkriptimin në cPanel

Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj

Si të instaloni Concrete5 në CentOS 7

Si të instaloni Concrete5 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe

How to Install Review Board on CentOS 7

How to Install Review Board on CentOS 7

Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet

Si të instaloni YOURLS në CentOS 7

Si të instaloni YOURLS në CentOS 7

YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth

Vendosja e një serveri Half Life 2 në CentOS 6

Vendosja e një serveri Half Life 2 në CentOS 6

Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou

Si të instaloni Laravel GitScrum në CentOS 7

Si të instaloni Laravel GitScrum në CentOS 7

Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.

Si të instaloni PowerDNS në CentOS

Si të instaloni PowerDNS në CentOS

Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë