|
|
(Nie pokazano 17 pośrednich wersji utworzonych przez tego samego użytkownika) |
Linia 1: |
Linia 1: |
− | Discourse to nowoczesna, darmowa, oparta o Ruby on Rails aplikacja platformy dyskusyjnej.
| + | #REDIRECT [[RVM]] |
− | | |
− | === 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 <nowiki>https://petko.me/libv8-5.3.332.38.5-x86_64-freebsd-10.gem</nowiki>
| |
− | gem install libv8-5.3.332.38.5-x86_64-freebsd-10.gem
| |
− | | |
− | Utworzyć [[Strona WWW|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 <nowiki>https://github.com/discourse/discourse public_ruby</nowiki>
| |
− | 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 [[Rezerwacja portów|zarezerwować numer portu TCP ]] dla redisa,
| |
− | w dalszym opisie odwołania do niego występują jako
| |
− | ZAREZERWOWANY_NUMER_PORTU
| |
− | | |
− | W katalogu domowym wykonać:
| |
− | wget <nowiki> https://raw.githubusercontent.com/antirez/redis/3.2/redis.conf</nowiki>
| |
− | | |
− | 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/lgin/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
| |
− | | |
− | [[Category:Poradniki]]
| |
− | [[Category:Ruby]] | |