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
Zainstalować gem libv8
wget https://petko.me/libv8-5.3.332.38.5-x86_64-freebsd-10.gem gem install libv8-5.3.332.38.5-x86_64-freebsd-10.gem
Utworzyć Stronę
devil www add DOMENA ruby ~/.rvm/wrappers/ruby-2.3.3/ruby
Przejść do katalogu
cd domains/DOMENA/
usunąć katalog public
rm -r public_ruby
pobrać repozytorium Discourse
git clone https://github.com/discourse/discourse public_ruby cd public_ruby git checkout v1.8.0.beta9
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
cd public_ruby 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]
Dodać redis do crontaba, aby uruchamiał się zawsze przy restarcie serwera
echo @reboot redis /home/${USER}/redis.conf | crontab -
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