Salı, Aralık 3, 2024

Debian 10 Üzerine Discourse Nasıl Kurulur?

discourse nasıl kurulur, yeni nesil tartışma yazılımı discourse, yeni nesil forum uygulaması, discourse nedir

Discourse açık kaynak kodlu, Ruby ve Javascript dilleri ile yazılmış İnternet forumu yazılımı. GNU Genel Kamu Lisansı ile dağıtılan Discourse, Ruby on Rails ile Ember.js çatıları kullanılarak geliştirilmektedir.

Gerekli olan Rails Bağımlılıklarının kurulması işlemini aşağıdaki bash script aracılığı ile yapıyoruz.

cd ~ && wget https://git.io/RailsInstall -O RailsInstall.sh
chmod +x RailsInstall.sh
./RailsInstall.sh

Ardından en güncel repoyu sisteminize git vasıtası ile dahil ediyoruz.

git clone https://github.com/discourse/discourse.git ~/discourse

Veritabanı işlemleri için PostgreSQL üzerinde aşağıdaki işlemleri gerçekleştirmeyi ihmal etmiyoruz.

sudo -u postgres psql

CREATE DATABASE <db_name>;
CREATE USER <db_operator_name> WITH encrypted PASSWORD '<password>';
ALTER USER <db_operator_name> SET client_encoding TO 'utf8';
ALTER USER <db_operator_name> SET default_transaction_isolation TO 'read committed';
ALTER USER <db_operator_name> SET TimeZone TO 'Europe/Istanbul';
GRANT ALL PRIVILEGES ON DATABASE <db_name> TO <db_operator_name>;
REVOKE CONNECT ON DATABASE <db_name> FROM PUBLIC, <db_operator_name>;

Gereken diğer işlemler için PostgreSQL Üzerinde Kullanıcı, Veritabanı Oluşturma ve Yetkilendirme makalesine göz atmayı unutmayınız.

Nihayet her şey hazır olduğuna göre, kuruluma geçiş yapıyoruz.

cd ~/discourse
source ~/.bashrc
bundle install
bundle exec rake db:create 
bundle exec rake db:migrate
RAILS_ENV=prod bundle exec rake db:create db:migrate

Veritabanı oluşturup, migrate işlemi yaptıktan hemen sonra uygulama özelliklerini çalıştırmayı deniyoruz

bundle exec rake autospec

Sunucuyu başlatıyoruz.

bundle exec rails server

Başlattıktan sonra http://localhost:3000 portundan çalışmaya başlayacak, buna erişebilmek amacıyla NGINX üzerinde yapılandırmamızı yapıyoruz.

server {
        listen 80;
        server_name discourse.mertcangokgoz.com;
        return 301 https://discourse.mertcangokgoz.com$request_uri;
}
server {
        listen 443 ssl http2; 
        server_name discourse.mertcangokgoz.com;
        ssl_certificate /path/to/signed_cert_plus_intermediates;
        ssl_certificate_key /path/to/private_key;
        ssl_session_timeout 1d;
        ssl_session_cache shared:MozSSL:10m; 
        ssl_session_tickets off;

        ssl_protocols TLSv1.3;
        ssl_prefer_server_ciphers off;

        location / {
                proxy_pass      http://localhost:3000/;
                proxy_read_timeout      90;
        }
}

Bu kurulum yöntemi bir yana, direk olarak Docker aracılığı ile kurulumu gerçekleştirebilirsiniz.

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

./discourse-setup komutu ile gerekli yapılandırmayı oluşturuyoruz. app.yml adında bir dosya oluşturacak bununla birlikte kurulum otomatik olarak başlar, bir değişiklik yapmak isterseniz tekrar aynı komutu vermeniz yeterlidir.


Kaynak: