Discourse

Wersja z dnia 11:02, 23 paź 2018 autorstwa Mixer (dyskusja | edycje) (Przygotowanie środowiska)

Discourse to nowoczesna, darmowa, oparta o Ruby on Rails aplikacja platformy dyskusyjnej.

Wstępne czynności

Przed przystąpieniem do instalacji należy:

Przygotowanie środowiska

Należy przygotować środowisko ruby rvm

rvm install 2.3 --autolibs=disabled && rvm use 2.3 && gem install bundler

Skonfigurować gemy

bundle config build.hiredis --with-ldflags=-L/usr/local/lib
bundle config build.nokogiri --with-ldflags=-L/usr/local/lib
bundle config build.mini_racer --with-ldflags=-L/usr/local/lib

Utworzyć Stronę

devil www add DOMENA ruby ~/.rvm/wrappers/ruby-2.3.7/ruby

W przypadku nowszej wersji Ruby należy wskazać prawidłowy katalog z oznaczeniem wersji.

Przejść do katalogu

cd domains/DOMENA/

usunąć katalog public

rm -r public_ruby

pobrać repozytorium Discourse

wget https://github.com/discourse/discourse/archive/v1.9.4.zip 
unzip v1.9.4.zip
mv discourse-1.9.4 public_ruby
cd public_ruby

utworzyć bazę danych

devil pgsql db add BAZA
devil pgsql extensions ID_BAZA pg_trgm
devil pgsql extensions ID_BAZA hstore

Konfiguracja wstępna

skonfigurować Discourse

cp config/discourse_defaults.conf config/discourse.conf
vim config/discourse.conf

Ustawić wartości:

db_host = pgsqlX.mydevil.net            

gdzie X to numer serwera na którym założone jest konto

db_name = ID_BAZA
db_username = ID_BAZA
hostname = DOMENA

Zapisać i wyjść z edytora.

Wykonać

env GYP_DEFINES="make_clang_dir=" CXX=/usr/bin/clang++ CC=/usr/bin/clang bundle install --without development test

Konfiguracja redis

W panelu mydevil zarezerwować numer portu TCP dla redisa, w dalszym opisie odwołania do niego występują jako ZAREZERWOWANY_NUMER_PORTU

W katalogu domowym wykonać:

wget  https://raw.githubusercontent.com/antirez/redis/3.2/redis.conf

Otworzyć w edytorze plik redis.conf

vim redis.conf

Zamienić

port 6379

na

port ZAREZERWOWANY_NUMER_PORTU

zamienić

# requirepass foobared

na

requirepass HASLO_REDIS

uruchomić redis w sesji screen

screen redis-server redis.conf

Powinien ukazac się komunikat o uruchomieniu redisa. Jeśli tak się stało, to opuszczamy sesję screena wciskając kombinację klawiszy [Ctr]-[a], następnie zaś wciskamy klawisz [d]

Celem automatycznego startu Redis po restarcie serwera, należy w tabeli Cron (uruchomienie edycji z poziomu wiersza poleceń crontab -e) dodać linijkę linijkę:

@reboot redis-server /home/login/redis.conf

gdzie login to nazwa konta hostingowego.

Dodanie danych do połączenia z redis

Powrócić do edycji pliku config/discourse.conf

Zamienić

redis_port = 6379

na

redis_port = ZAREZERWOWANY_NUMER_PORTU

oraz

redis_slave_port = 6379

na

redis_slave_port = ZAREZERWOWANY_NUMER_PORTU

Ustawić

redis_password = HASLO_REDIS

Uruchomienie i konfiguracja konta administratora

RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake assets:precompile
RAILS_ENV=production bundle exec rake admin:create