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
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.
İ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
redis
Sisteminiz önyüklendiğinde başlamayı etkinleştirin .
sudo systemctl enable redis
sudo systemctl start redis
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 postgres
kullanıcı ile bağlanın .
sudo -u postgres psql
Bir Diaspora kullanıcısı oluşturun.
CREATE USER diaspora WITH CREATEDB PASSWORD '<password>';
Bu Diaspora çalıştıracak kullanıcı hesabı.
sudo adduser --disabled-login diaspora
Yeni kullanıcıya geç.
sudo su - diaspora
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-build
eklentiyi 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
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 .
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.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.3
yerine 2.4
).
Veritabanını oluşturun ve yapılandırın.
RAILS_ENV=production bin/rake db:create db:migrate
Bu komisyon komutu varlıkları önceden derleyecektir.
RAILS_ENV=production bin/rake assets:precompile
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 target
dosyası:
touch /etc/systemd/system/diaspora.target
systemd web
hizmet dosyası:
touch /etc/systemd/system/diaspora-web.service
systemd sidekiq
hizmet 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
Statik kaynaklar sunmak için Nginx'i ters proxy olarak kullanacağız.
Let's Encrypt sertifikası almak için acme.sh kullanacağız .
acme.sh
Kaynak 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.com
kendi 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 HTTP
ve HTTPS
trafik 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.
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
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
Diaspora günlüklerini yönetmek için kullanacağız .
logrotate
Diaspora 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ü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
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
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
Ç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
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
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.
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.
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).
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
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
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)
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:
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
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
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
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
Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma
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
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)
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
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
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.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
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, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek 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, 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!
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.
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