Jak zainstalować dyskurs na Ubuntu?

8

Mam zapasową maszynę Ubuntu i chciałbym zainstalować na niej dyskurs .

Jak mam to zrobic? Używam Ubuntu 13.04.

Seth
źródło
1
Instrukcje zakładają, że potrzebujesz włóczęgi, aby zainstalować Ubuntu, i najwyraźniej są skierowane do osób korzystających głównie z systemu Windows lub Mac i które skorzystałyby z osobnej maszyny wirtualnej, aby zainstalować i grać z dyskursem. Jeśli Seth ma „maszynę ubuntu” z zainstalowanym 13.04, może po prostu sklonować repozytorium git i skonfigurować je lokalnie.
roadmr
Przydatne jest także posiadanie instrukcji dotyczących Ubuntu bezpośrednio na tej stronie. Mam nadzieję, że dane od kogoś, kto to zrobił.
Seth
Konfigurowanie rzeczy lokalnie i ręcznie jest udokumentowane tutaj: github.com/discourse/discourse/blob/master/docs/… . Jednak wydaje się to nieco skomplikowane, wirtualny VM ma wszystkie potrzebne usługi (pgsql, redis) już wstępnie skonfigurowane, więc może być łatwiej zacząć.
roadmr
@chaskes nie jest to absolutnie wymagane, jak opisano w moim drugim komentarzu, możesz ręcznie zainstalować i skonfigurować potrzebne usługi. Wygląda na to, że używanie Vagrant jest łatwiejsze.
roadmr

Odpowiedzi:

7

Instrukcje zakładają, że potrzebujesz włóczęgi, aby zainstalować Ubuntu, i najwyraźniej są skierowane do osób korzystających głównie z systemu Windows lub Mac i które skorzystałyby z osobnej maszyny wirtualnej, aby zainstalować i grać z dyskursem. Jeśli Seth ma „maszynę Ubuntu” z zainstalowanym 13.04, może po prostu sklonować repozytorium git i skonfigurować je lokalnie.

Konfigurowanie rzeczy lokalnie i ręcznie jest udokumentowane tutaj na GitHub . Jednak wydaje się to nieco skomplikowane, wirtualny VM ma wszystkie potrzebne usługi (pgsql, redis) już wstępnie skonfigurowane, więc może być łatwiej zacząć.

To powiedziawszy, jeśli czujesz się odważny, możesz wykonać następujące kroki, aby zainstalować i skonfigurować rzeczy na lokalnym komputerze Ubuntu.

Zastrzeżenie, jest to złożona procedura, która obejmuje wiele ruchomych części, przetestowałem tę procedurę na świeżo zainstalowanym systemie 13.04, ale jeśli coś pójdzie nie tak, powinieneś być przygotowany na odszyfrowanie komunikatów o błędach i naprawę. Powinieneś czuć się komfortowo z:

  • Instalacja pakietu Ubuntu.
  • Edycja pliku tekstowego.
  • Posiadanie pewnej wiedzy na temat korzystania z wiersza polecenia Postgres.
  • Znajomość języka Ruby, Railsów i rubygemów w minimalnym stopniu.
  • Niektóre git nie boli, ale jest używane tylko w początkowej fazie klonowania

OK, proszę bardzo

Zainstaluj potrzebne pakiety:

sudo apt-get install git ruby ruby-bundler build-essential libxml2-dev libxslt1-dev redis-server postgresql libpq-dev postgresql-contrib-9.1

Utwórz bazę danych postgresql i udziel uprawnienia użytkownikowi, który będzie prowadził dyskurs (zakładam, że nazywa się on „john”, może to / powinna być twoja nazwa użytkownika):

sudo -u postgres createdb discourse_development
sudo -u postgres psql -c "create user john with password 'whatever' "
sudo -u postgres psql -c "grant all privileges on database discourse_development to john"
#This is a bit of postgresql magic to add the required hstore and pg_trgm extensions
sudo -u postgres psql discourse_development -c "create extension hstore; create extension pg_trgm"

Sklonuj repozytorium:

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

Użyj programu Bundler, aby zainstalować klejnoty rubinowe i zależności, w tym szyny:

bundle install

Mogą tu wystąpić problemy z zależnościami, ponieważ do tworzenia rozszerzeń natywnych mogą być potrzebne inne pakiety. Jeśli pojawi się żółty tekst z błędami w tym kroku, spójrz na komunikaty o błędach, aby dowiedzieć się, które pakiety zainstalować (za pomocą apt-get).

Skonfiguruj dane bazy danych (postgres i redis):

cp config/redis.yml.sample config/redis.yml
cp config/database.yml.sample config/database.yml
# Now edit config/database.yml and in the discourse_development section add
# username: john
# password: whatever
# Follow the format for the other entries (adapter:, database:)

Uruchom migracje, aby zainicjować bazę danych, a następnie zainicjuj ją:

bundle exec rake db:migrate
bundle exec rake db:seed_fu
sudo -u postgres psql discourse_development < pg_dumps/production-image.sql

następnie uruchom programistyczny serwer WWW:

bundle exec rails s

Na koniec otwórz przeglądarkę i połącz się z lokalnym serwerem deweloperskim pod adresem

http://localhost:3000
roadmr
źródło
Niestety to nie działało dla mnie. Mam błędy we wszystkich poleceniach pakietu. Wydaje się, że są one spowodowane zmianami w Dyskursie od czasu opublikowania wskazówek. Mogę spróbować jeszcze raz, a może nie. Dam ci znać, co się stanie.
Seth
Cóż, oczyściłem się i spróbowałem ponownie i postępowałem zgodnie z podobnymi instrukcjami tutaj: 2buntu.com/1332/installing-discourse-on-ubuntu Naprawdę nie jestem pewien, dlaczego te zadziałały ...
Seth
Obraz Vagrant jest zalecaną konfiguracją do programowania, ponieważ pozwala na uruchomienie testów przy minimalnym wysiłku.
MikeyB,
6

Wdrożenie w chmurze (z Juju)

Jeśli masz dostawcę usług w chmurze i chcesz pominąć wiele ręcznych skoków, możesz użyć uroku Juju !

Po pomyślnym uruchomieniu środowiska uruchom następujące polecenie:

juju deploy cs:~marcoceppi/discourse
juju deploy postgresql

Następnie stwórz relacje

juju add-relation discourse postgresql:db-admin

Dyskurs wymaga db-admindostępu do poziomu, aby włączyć wtyczkę hstore. Na koniec ujawnij dyskurs:

juju expose discourse

Konfiguracja i inne zastrzeżenia znajdują się w README Uroku . Opcje te obejmują konfigurowanie administratorów, gdzie można pobrać źródło dyskursu, przypinanie wersji i inne opcje dostrajania.

Uwaga, jestem autorem tego uroku.

Marco Ceppi
źródło
1
Właściwie podoba mi się ta odpowiedź lepiej niż moja :) (Juju FTW). Moją jedyną obawą jest to, że mówisz „jeśli masz dostawcę chmury”, ale OP wyraźnie wspomina, że ​​ma tylko zapasową maszynę Ubuntu. Czy mógłbyś podać lub wskazać instrukcje, jak skonfigurować tę samotną maszynę jako dostawcę juju? (być może ustawiłem go jako lokalnego dostawcę, zrobiłem to z różnym powodzeniem). Wtedy wyglądałoby to na najprostszy sposób na wdrożenie dyskursu.
roadmr
5

Czystego metalu

Właśnie ukończyłem artykuł opisujący dokładnie ten proces

Podsumowując, musisz:

  • Zainstaluj i skonfiguruj PostgreSQL
  • Zainstaluj Redis i Ruby 1.9.3+
  • Sklonuj repozytorium Git Discourse
  • Dokonaj odpowiedniej konfiguracji. zmiany
  • Biegać bundle exec rails server
Nathan Osman
źródło
To jest nieaktualne i brakuje wielu kroków.
Sam Saffron,
4

Sam projekt ma również dokumentację dotyczącą instalacji na Ubuntu za pomocą Dockera (który jest jedynym oficjalnie obsługiwanym sposobem):

Do programowania można użyć tego programu, który jest prostym pojedynczym poleceniem po zainstalowaniu Dockera.

Jorge Castro
źródło
Powiązane instrukcje są oficjalną rekomendacją dla wdrożeń produkcyjnych. Jeśli masz jakieś uwagi lub sugestie, daj nam znać!
MikeyB,
0

W Bitnami mamy całkowicie instalatory Linuksa dla maszyn wirtualnych Discourse i Ubuntu oraz obrazów w chmurze dla Amazon, Azure. Możesz to sprawdzić na stronie Dyskurs Bitnami

(Oświadczenie, jestem jednym z programistów Bitnami :)

Daniel Lopez
źródło
0

Możesz użyć Cloud 66 EasyDeploy

Cloud 66 EasyDeploy

Co oznacza, że ​​możesz wdrożyć dyskurs na AWS, DigitalOcean, Rackspace, Linode lub Joyent za pomocą kilku kliknięć (i uzyskać znacznie więcej, jak kopie zapasowe DB, skalowanie i monitorowanie!)

ZASTRZEŻENIE: Pracuję dla Cloud 66.

Khash
źródło
1
Czy możesz podać jakieś instrukcje w ramach tej odpowiedzi?
Seth
Czy ta usługa jest bezpłatna?
jokerdino
Wszystko, co musisz zrobić, aby wdrożyć dyskurs w chmurze 66, to założyć konto w cloud66.com i użyć adresu URL Git, aby zbudować nowy stos. Cały proces jest kreatorem, więc powinno być bardzo proste, a ogólną pomoc dotyczącą Cloud 66 Stack można znaleźć na help.cloud66.com/getting-started/your-first-stack.html
Khash
Informacje o funkcjach i cenach można znaleźć na stronie www.cloud66.com
Khash,