CentOS 7de Diaspora ile Sosyal Ağınızı Kurun

Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu öğreticide, CentOS 7'de bir Diaspora bölmesinin nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz.

Ön şartlar

  • Bir CentOS 7 sunucu örneği.
  • Ortalama boyutlu bir kapsül çalıştırırken, sunucunuzda en azından 512MB RAM (+ 1GB takas alanı) ve iyi bir çok çekirdekli CPU bulunmalıdır.
  • Bir sudo kullanıcısı.

Önkoşul Paketlerini Kurma

İlk olarak, en son EPEL sürümünü indirin ve yükleyin.

sudo yum install epel-release

Gerekli paketleri kurun.

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

redisSisteminiz önyüklendiğinde başlamayı etkinleştirin .

sudo systemctl enable redis
sudo systemctl start redis

PostgreSQL'i yükleyin

Diaspora MySQL, MariaDB ve PostgreSQL'i desteklemektedir. Bu kılavuzda PostgreSQL kullanacağız.

PostgreSQL'i yükleyin.

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

Sisteminiz önyüklendiğinde başlamak için PostgreSQL'i etkinleştirin.

sudo systemctl enable postgresql
sudo systemctl start postgresql

PostgreSQL'e postgreskullanıcı ile bağlanın .

sudo -u postgres psql

Bir Diaspora kullanıcısı oluşturun.

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

Dedicated Diaspora Kullanıcısı Ekleme

Bu Diaspora çalıştıracak kullanıcı hesabı.

sudo adduser --disabled-login diaspora

Yeni kullanıcıya geç.

sudo  su - diaspora

Ruby'yi yükle

Ruby'yi kurmanın birkaç yolu vardır. rbenvÇevreyi ve sürümleri yönetmek için kullanacağız .

İlk olarak, Ruby'nin gerektirdiği paketleri kurmanız gerekecek.

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

Yükleyin 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

Yolu yeniden yüklemek için yeniden bağlanın.

exit
sudo su - diaspora

Ruby'i derlemek için ruby-buildeklentiyi yükleyin rbenv.

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

Ruby'yi yükleyin.

rbenv install 2.4.3
rbenv global 2.4.3

Posta sunucusu kurma

Kullanıcılara e-posta göndermek için Postfix'i SMTP geçişi olarak kullanacağız. Postaları sıralamak için Postfix'i MTA, Dovecot MDA ve Sieve ile basit bir posta sunucusunun nasıl kurulacağını öğrenmek için lütfen bu makaleye bakın .

Diaspora'yı kurun ve yapılandırın

Diasporanın kaynak kodunu kopyalayın.

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

Örnek veritabanı yapılandırma dosyasını Diaspora tarafından istenen konuma kopyalayın.

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

Bazı ayarları düzenlemek için veritabanı yapılandırma dosyasını bir metin düzenleyicide açın.

nano config/database.yml

Veritabanı ayarlarını, daha önce oluşturduğunuz PostgreSQL kullanıcısı ve parolasıyla eşleşecek şekilde değiştirin.

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

Diaspora yapılandırma dosyasını açın.

nano config/diaspora.yml

Diasporanın düzgün çalışması için bu dosyadaki birkaç ayarı güncellemeniz gerekir.

  • url: Herkese açık URL'yi bölgenize buradan ayarlayın.
  • certificate_authorities: Başındaki # işaretini kaldırmak için kaldırın.
  • rails_environment: Bunu üretime ayarlamalısın.
  • require_ssl: Http: // 'den https: //' ye yeniden yönlendirmeyi önlemek için bunu false olarak ayarlayın.

Gerekli Mücevherleri Yükleyin

Ruby kütüphane yöneticisi olan Bundle'yı yükleyin.

gem install bundler
script/configure_bundler

Not : Ruby sürümünüzle ilgili hatalarınız varsa .ruby-version, kendi sürümünüzü düzenleyin ve koyun ( 2.4.3yerine 2.4).

Veritabanı Kur

Veritabanını oluşturun ve yapılandırın.

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

Varlıkları önceden derleyin

Bu komisyon komutu varlıkları önceden derleyecektir.

RAILS_ENV=production bin/rake assets:precompile

Diaspora systemd Hizmetleri

Diasporayı bir hizmet olarak yönetmenin birçok yolu vardır. Bu derste Systemd kullanacağız.

İlk olarak, aşağıdaki dosyaları oluşturun.

  • systemd targetdosyası:

    touch /etc/systemd/system/diaspora.target
    
  • systemd webhizmet dosyası:

    touch /etc/systemd/system/diaspora-web.service
    
  • systemd sidekiqhizmet dosyası:

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

Daha önce oluşturduğunuz her dosya için aşağıdaki yapılandırma metnini yapıştırın.

target dosya:

[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 hizmet dosyası:

[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 hizmet dosyası:

[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

Önyükleme hizmetlerini etkinleştirin.

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

Hizmetleri yeniden başlatın.

sudo systemctl restart diaspora.target

Düzgün çalıştıklarından emin olun.

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

Nginx Ters Proxy

Statik kaynaklar sunmak için Nginx'i ters proxy olarak kullanacağız.

Let's Encrypt sertifikası almak için acme.sh kullanacağız .

acme.shKaynak kodu indirin .

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

Let's Encrypt sertifikası oluşturun.

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

Nginx'i yükleyin.

sudo yum install nginx

Diaspora kapsülümüz için yeni bir Nginx yapılandırma dosyası oluşturun.

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

Dosyayı aşağıdaki içerikle doldurun.

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

Not : değişikliğin example.comkendi kayıtlı alan adı için.

Tüm değişiklikler tamamlandıktan sonra, yapılandırma dosyasında hata olup olmadığını kontrol edin.

sudo nginx -t

Değişiklikleri uygulamak için Nginx'i yeniden başlatın.

sudo systemctl restart nginx

Güvenlik duvarı çalıştırıyorsanız, izin vermek HTTPve HTTPStrafik işlemek için aşağıdaki komutları çalıştırın .

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

Şimdi tarayıcınızda ( https://example.com) Diaspora bölgenizin alan adını ziyaret ederseniz , Diaspora karşılama sayfasına ulaşacaksınız.

Diaspora Kullanıcısı Oluşturun

Bağlantıyı tıklayın ve Start by creating an account.yeni bir Diaspora kullanıcısı oluşturmak için ayrıntıları doldurun. Ardından, kullanıcınızın ana sayfasını görüntüleyebilir ve Diaspora sosyal ağını kullanmaya başlayabilirsiniz.

Bir hesap oluşturduktan sonra hesaba yönetici hakları verin.

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

Artık yönetici kontrol paneline erişiminiz var.

https://example.com/admins/dashboard

Sidekiq

Arka plan işlerini işleyen Sidekiq, adresinde bir web arayüzüne sahiptir https://example.com/sidekiq. Pod istatistiklerini adresinde bulabilirsiniz https://example.com/statistics.

logrotate

logrotateDiaspora günlüklerini yönetmek için kullanacağız .

logrotateDiaspora için yeni bir dosya oluşturun .

nano /etc/logrotate/diaspora

Ardından, aşağıdaki satırları ekleyin.

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

Bu, günlükleri haftalık olarak döndürecek, sıkıştıracak ve 52 hafta boyunca saklayacaktır.

Diasporayı Güncelle

Diasporayı güncelleme zamanı geldiğinde şu adımları izleyin.

İlk olarak, kurulu paketleri yükseltin.

sudo yum update

Diaspora kaynak kodunu git ile güncelleyin.

su - diaspora
cd diaspora
git pull

Taşları güncelleyin.

gem install bundler
bin/bundle --full-index

Veritabanını taşıyın ve varlıkları yeniden derleyin.

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

Son olarak, Diasporayı yeniden başlatın.

systemctl restart diaspora.target


Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

CentOS 6da ModSecurity ile NGINX kurulumu

CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).

CentOS 7ye Odoo 9 Topluluğunu Yükleme

CentOS 7ye Odoo 9 Topluluğunu Yükleme

Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

NetOSu CentOS 7ye Yükleme

NetOSu CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar

KubOSM ile Kubernetesi CentOS 7de dağıtın

KubOSM ile Kubernetesi CentOS 7de dağıtın

Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu

CentOS 7de Geliştirme için Sails.jsyi kurun

CentOS 7de Geliştirme için Sails.jsyi kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar

CentOS 6da Half Life 2 Sunucusu Kurma

CentOS 6da Half Life 2 Sunucusu Kurma

Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma

PrestaShopu CentOS 7ye Yükleme

PrestaShopu CentOS 7ye Yükleme

PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7de Kolab Groupware Kurulumu

CentOS 7de Kolab Groupware Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun