Byggðu upp samfélagsnetið þitt með Diaspora á CentOS 7

Diaspora er opinn uppspretta samfélagsnet sem er meðvitað um persónuvernd. Í þessari kennslu muntu læra hvernig á að setja upp og stilla Diaspora pod á CentOS 7.

Forkröfur

  • CentOS 7 netþjónstilvik.
  • Með því að keyra miðlungsstærð hólf ætti þjónninn þinn að hafa að minnsta kosti 512MB af vinnsluminni (+1GB skiptipláss) og ágætis fjölkjarna örgjörva.
  • A sudo notandi.

Settu upp forkröfupakka

Fyrst skaltu hlaða niður og setja upp nýjustu EPEL útgáfuna.

sudo yum install epel-release

Settu upp nauðsynlega pakka.

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

Virkja redistil að byrja þegar kerfið þitt ræsir.

sudo systemctl enable redis
sudo systemctl start redis

Settu upp PostgreSQL

Diaspora styður MySQL, MariaDB og PostgreSQL. Í þessari handbók munum við nota PostgreSQL.

Settu upp PostgreSQL.

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

Virkjaðu PostgreSQL til að byrja þegar kerfið þitt ræsir.

sudo systemctl enable postgresql
sudo systemctl start postgresql

Tengstu við PostgreSQL með postgresnotandanum.

sudo -u postgres psql

Búðu til Diaspora notanda.

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

Bættu við sérstökum Diaspora notanda

Þetta er notendareikningurinn sem mun keyra Diaspora.

sudo adduser --disabled-login diaspora

Skiptu yfir í nýja notandann.

sudo  su - diaspora

Settu upp Ruby

Það eru nokkrar leiðir til að setja upp Ruby. Við munum nota rbenvtil að stjórna umhverfinu og útgáfum.

Fyrst þarftu að setja upp pakkana sem Ruby þarfnast.

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

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

Tengdu aftur til að endurhlaða slóðina.

exit
sudo su - diaspora

Settu upp ruby-buildviðbótina til rbenvað setja saman Ruby.

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

Settu upp Ruby.

rbenv install 2.4.3
rbenv global 2.4.3

Settu upp póstþjón

Við munum nota Postfix sem SMTP gengi til að senda tölvupóst til notenda. Vinsamlegast skoðaðu þessa grein til að læra hvernig á að setja upp einfaldan póstþjón, með Postfix sem MTA, Dovecot sem MDA og Sieve til að flokka póst.

Settu upp og stilltu Diaspora

Klóna frumkóðann fyrir Diaspora.

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

Afritaðu dæmi um gagnagrunnsstillingarskrána á þann stað sem Diaspora krefst.

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

Opnaðu gagnagrunnsstillingarskrána í textaritli til að breyta sumum stillingunum.

nano config/database.yml

Breyttu gagnagrunnsstillingunum til að passa við PostgreSQL notandann og lykilorðið sem þú bjóst til áður.

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

Opnaðu Diaspora stillingarskrána.

nano config/diaspora.yml

Þú þarft að uppfæra nokkrar stillingar í þessari skrá til að Diaspora virki rétt.

  • url: Stilltu slóðina sem snýr almenningi að hólfinu þínu hér.
  • certificate_authorities: Fjarlægðu fremsta # til að afskrifa það.
  • rails_environment: Þú verður að stilla þetta á framleiðslu.
  • require_ssl: Stilltu þetta á falskt til að koma í veg fyrir framsendingu frá http:// til https://.

Settu upp nauðsynlegar gimsteinar

Settu upp Bundle, Ruby bókasafnsstjórann.

gem install bundler
script/configure_bundler

Athugið : Ef þú ert með villur varðandi Ruby útgáfuna þína skaltu breyta .ruby-versionog setja þína eigin (hér í 2.4.3stað 2.4).

Uppsetning gagnagrunns

Búðu til og stilltu gagnagrunninn.

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

Forsafnaðu eignunum

Þessi rake skipun mun forsamstilla eignirnar.

RAILS_ENV=production bin/rake assets:precompile

Diaspora systemd þjónusta

Það eru margar leiðir til að stjórna Diaspora sem þjónustu. Í þessari kennslu munum við nota Systemd.

Fyrst skaltu búa til eftirfarandi skrár.

  • systemd targetskrá:

    touch /etc/systemd/system/diaspora.target
    
  • systemd webþjónustuskrá:

    touch /etc/systemd/system/diaspora-web.service
    
  • systemd sidekiqþjónustuskrá:

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

Límdu inn eftirfarandi stillingartexta fyrir hverja skrá sem þú bjóst til áður.

target skrá:

[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 þjónustuskrá:

[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 þjónustuskrá:

[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

Virkjaðu ræsiþjónustu.

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

Endurræstu þjónustuna.

sudo systemctl restart diaspora.target

Gakktu úr skugga um að þau gangi rétt.

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

Nginx Reverse Proxy

Við munum nota Nginx sem öfugt umboð til að þjóna kyrrstæðum auðlindum.

Við munum nota acme.sh til að fá Let's Encrypt vottorð.

Sækja acme.shfrumkóðann.

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

Búðu til Let's Encrypt vottorð.

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

Settu upp Nginx.

sudo yum install nginx

Búðu til nýja Nginx stillingarskrá fyrir Diaspora fræbelginn okkar.

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

Fylltu skrána með eftirfarandi efni.

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

Athugið : breyttu example.comí þitt eigið skráð lén.

Eftir að öllum breytingum hefur verið lokið skaltu athuga stillingarskrána fyrir allar villur.

sudo nginx -t

Endurræstu Nginx til að beita breytingunum.

sudo systemctl restart nginx

Ef þú ert að keyra eldvegg skaltu keyra eftirfarandi skipanir til að leyfa HTTPog HTTPSumferð.

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

Ef þú heimsækir núna lén Diaspora pod þíns í vafranum þínum ( https://example.com), muntu komast á Diaspora velkomnasíðuna.

Búðu til Diaspora notanda

Smelltu á hlekkinn í Start by creating an account., og fylltu út upplýsingarnar til að búa til nýjan Diaspora notanda. Þá muntu geta skoðað heimasíðu notandans og byrjað að nota Diaspora samfélagsnetið.

Eftir að þú hefur búið til reikning, gefðu honum stjórnandaréttindi.

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

Þú hefur nú aðgang að stjórnborðinu.

https://example.com/admins/dashboard

Sidekiq

Sidekiq, sem sér um vinnslu bakgrunnsstarfa, er með vefviðmót í boði á https://example.com/sidekiq. Tölfræði podsins er fáanleg á https://example.com/statistics.

Logsnúa

Við munum nota logrotatetil að stjórna Diaspora logs.

Búðu til nýja logrotateskrá fyrir Diaspora.

nano /etc/logrotate/diaspora

Bættu síðan við eftirfarandi línum.

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

Þetta mun snúa annálunum vikulega, þjappa þeim saman og geyma í 52 vikur.

Uppfærðu Diaspora

Þegar það kemur að því að uppfæra Diaspora skaltu fylgja þessum skrefum.

Fyrst skaltu uppfæra uppsetta pakka.

sudo yum update

Uppfærðu Diaspora frumkóðann með git.

su - diaspora
cd diaspora
git pull

Uppfærðu gimsteinana.

gem install bundler
bin/bundle --full-index

Flyttu gagnagrunninn og settu saman eignirnar aftur.

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

Að lokum skaltu endurræsa Diaspora.

systemctl restart diaspora.target

Settu upp Plesk á CentOS 7

Settu upp Plesk á CentOS 7

Að nota annað kerfi? Plesk er sérstakt stjórnborð fyrir vefþjón sem gerir notendum kleift að stjórna persónulegum og/eða viðskiptavinum vefsíðum sínum, gagnagrunnum

Hvernig á að setja upp Squid Proxy á CentOS

Hvernig á að setja upp Squid Proxy á CentOS

Smokkfiskur er vinsælt, ókeypis Linux forrit sem gerir þér kleift að búa til framsendingarforrit á vefnum. Í þessari handbók muntu sjá hvernig á að setja upp Squid á CentOS til að snúa þér

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Inngangur Lighttpd er gaffal af Apache sem miðar að því að vera miklu minna auðlindafrekt. Hann er léttur, þess vegna heitir hann, og er frekar einfaldur í notkun. Uppsetning

Stilla Static Networking og IPv6 á CentOS 7

Stilla Static Networking og IPv6 á CentOS 7

VULTR hefur nýlega gert breytingar á enda þeirra og allt ætti nú að virka vel út úr kassanum með NetworkManager virkt. Ef þú vilt slökkva á

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Icinga2 er öflugt eftirlitskerfi og þegar það er notað í aðal-viðskiptavinamódel getur það komið í stað þörf fyrir NRPE-undirstaða vöktunareftirlit. Húsbóndinn

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Að nota annað kerfi? Apache Cassandra er ókeypis og opinn uppspretta NoSQL gagnagrunnsstjórnunarkerfi sem er hannað til að veita sveigjanleika, háan

Hvernig á að setja upp Microweber á CentOS 7

Hvernig á að setja upp Microweber á CentOS 7

Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér

Hvernig á að setja upp Mattermost 4.1 á CentOS 7

Hvernig á að setja upp Mattermost 4.1 á CentOS 7

Að nota annað kerfi? Mattermost er opinn uppspretta, sjálfhýst valkostur við Slack SAAS skilaboðaþjónustuna. Með öðrum orðum, með Mattermost, þú ca

Að búa til net Minecraft netþjóna með BungeeCord á Debian 8, Debian 9 eða CentOS 7

Að búa til net Minecraft netþjóna með BungeeCord á Debian 8, Debian 9 eða CentOS 7

Það sem þú þarft Vultr VPS með að minnsta kosti 1GB af vinnsluminni. SSH aðgangur (með rót / stjórnunarréttindi). Skref 1: Uppsetning BungeeCord Fyrst af öllu

Láttu dulkóða á Plesk

Láttu dulkóða á Plesk

Plesk stjórnborðið er með mjög fallegri samþættingu fyrir Lets Encrypt. Lets Encrypt er ein af einu SSL veitunum sem gefa út skírteini að fullu

Láttu dulkóða á cPanel

Láttu dulkóða á cPanel

Lets Encrypt er vottunaryfirvöld sem sérhæfir sig í að útvega SSL vottorð án endurgjalds. cPanel hefur byggt upp snyrtilega samþættingu svo þú og viðskiptavinurinn þinn

Hvernig á að setja upp Concrete5 á CentOS 7

Hvernig á að setja upp Concrete5 á CentOS 7

Að nota annað kerfi? Concrete5 er opinn uppspretta CMS sem býður upp á marga áberandi og gagnlega eiginleika til að aðstoða ritstjóra við að framleiða efni auðveldlega og

Hvernig á að setja upp Review Board á CentOS 7

Hvernig á að setja upp Review Board á CentOS 7

Að nota annað kerfi? Review Board er ókeypis og opinn hugbúnaður til að skoða frumkóða, skjöl, myndir og margt fleira. Það er vefbundið hugbúnaðarstríð

Settu upp HTTP auðkenningu með Nginx á CentOS 7

Settu upp HTTP auðkenningu með Nginx á CentOS 7

Í þessari handbók munt þú læra hvernig á að setja upp HTTP auðkenningu fyrir Nginx vefþjón sem keyrir á CentOS 7. Kröfur Til að byrja þarftu að

Hvernig á að setja upp YOURLS á CentOS 7

Hvernig á að setja upp YOURLS á CentOS 7

YOURLS (Your Own URL Shortener) er opinn uppspretta vefslóða styttingar og gagnagreiningarforrit. Í þessari grein munum við fjalla um ferlið við uppsetningu

How to Install and Configure ArangoDB on CentOS 7

How to Install and Configure ArangoDB on CentOS 7

Using a Different System? Introduction ArangoDB is an open source NoSQL database with a flexible data model for documents, graphs, and key-values. It is

Notkun Etckeeper fyrir útgáfustýringu á /etc

Notkun Etckeeper fyrir útgáfustýringu á /etc

Inngangur /etc/ skrárinn gegnir mikilvægu hlutverki í því hvernig Linux kerfi virkar. Ástæðan fyrir þessu er sú að næstum allar kerfisstillingar

Af hverju ættir þú að nota SSHFS? Hvernig á að tengja fjarskráarkerfi með SSHFS á CentOS 6

Af hverju ættir þú að nota SSHFS? Hvernig á að tengja fjarskráarkerfi með SSHFS á CentOS 6

Margir kerfisstjórar stjórna miklu magni af netþjónum. Þegar aðgangur þarf að skrám á mismunandi netþjónum er innskráning á hvern og einn fyrir sig ca

Setja upp Half Life 2 Server á CentOS 6

Setja upp Half Life 2 Server á CentOS 6

Þessi kennsla mun fjalla um ferlið við að setja upp Half Life 2 leikjaþjón á CentOS 6 System. Skref 1: Forsendur settar upp Til að setja upp ou

Hvernig á að setja upp Laravel GitScrum á CentOS 7

Hvernig á að setja upp Laravel GitScrum á CentOS 7

Laravel GitScrum, eða GitScrum er opinn uppspretta framleiðniverkfæri hannað til að hjálpa þróunarteymi að innleiða Scrum aðferðafræðina á svipaðan hátt

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira