Discourse
Discourse to nowoczesna, darmowa, oparta o Ruby on Rails aplikacja platformy dyskusyjnej.
Spis treści
Wstępne czynności
Przed przystąpieniem do instalacji należy:
- Odblokować Binexec
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/4.0.11/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