Come installo Discourse su Ubuntu?


8

Ho una macchina Ubuntu di riserva in giro e vorrei installare Discourse su di essa.

Come faccio a fare questo? Sto eseguendo Ubuntu 13.04.


1
Le istruzioni presuppongono che tu abbia bisogno del vagabondo per installare Ubuntu e apparentemente sono orientate verso le persone che usano principalmente Windows o Mac e che trarrebbero beneficio da una VM separata per l'installazione e giocare con il discorso. Se Seth ha una "macchina Ubuntu in giro" con 13.04 già installato, può semplicemente clonare il repository git e configurarlo localmente.
Roadmr,

Inoltre, è utile per noi avere istruzioni relative a Ubuntu direttamente su questo sito. Speriamo che sia stato dato da qualcuno che lo ha fatto.
Seth

L'impostazione delle cose a livello locale e manuale è documentata qui: github.com/discourse/discourse/blob/master/docs/… . Tuttavia, sembra un po 'complesso, la VM vagabonda ha tutti i servizi necessari (pgsql, redis) già preconfigurati, quindi potrebbe essere più facile iniziare.
Roadmr,

@chaskes non è strettamente richiesto, come descritto nel mio secondo commento è possibile installare e configurare manualmente i servizi necessari. Sembra che usare Vagrant sia più semplice.
Roadmr,

Risposte:


7

Le istruzioni presuppongono che tu abbia bisogno del vagabondo per installare Ubuntu e apparentemente sono orientate verso le persone che usano principalmente Windows o Mac e che trarrebbero beneficio da una VM separata per l'installazione e giocare con il discorso. Se Seth ha una "macchina Ubuntu in giro" con 13.04 già installato, può semplicemente clonare il repository git e configurarlo localmente.

Configurare le cose localmente e manualmente è documentato qui su GitHub . Tuttavia, sembra un po 'complesso, la VM vagabonda ha tutti i servizi necessari (pgsql, redis) già preconfigurati, quindi potrebbe essere più facile iniziare.

Detto questo, se ti senti coraggioso, puoi seguire questi passaggi per installare e configurare le cose sul tuo computer Ubuntu locale.

Dichiarazione di non responsabilità, è una procedura complessa che coinvolge molte parti mobili, ho testato questa procedura su un sistema 13.04 appena installato, ma se le cose vanno male, dovresti essere pronto a decifrare i messaggi di errore e risolvere le cose. Dovresti essere a tuo agio con:

  • Installazione del pacchetto Ubuntu.
  • Modifica dei file di testo.
  • Conoscenza dell'utilizzo della riga di comando di Postgres.
  • Conoscere minimamente Ruby, Rails e Rubygems.
  • Alcuni git non fanno male, ma sono usati solo per la fase iniziale di clonazione

OK, ecco qui

Installa i pacchetti necessari:

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

Crea un database postgresql e concedi le autorizzazioni all'utente che eseguirà il discorso (suppongo che si chiami "john", potrebbe / dovrebbe essere il tuo nome utente):

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"

Clona il repository:

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

Usa Bundler per installare gemme di rubino e dipendenze tra cui binari:

bundle install

Qui potresti riscontrare problemi di dipendenza, poiché potrebbero essere necessari altri pacchetti per creare estensioni native. Se ottieni questo testo giallo con errori in questo passaggio, guarda i messaggi di errore per capire quali pacchetti installare (con apt-get).

Configurare i dati del database (postgres e 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:)

Esegui le migrazioni per inizializzare il database, quindi esegui il seeding:

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

quindi avviare il server Web di sviluppo:

bundle exec rails s

Infine, apri il browser e connettiti al server di sviluppo locale all'indirizzo

http://localhost:3000

Purtroppo questo non ha funzionato per me. Ho ricevuto errori con tutti i comandi del bundle. Sembrano essere causati da modifiche al discorso da quando hai pubblicato le indicazioni. Potrei riprovare, e forse no. Ti farò sapere cosa succede.
Seth,

Bene, ho eliminato e riprovato e ho seguito le istruzioni simili qui: 2buntu.com/1332/installing-discourse-on-ubuntu Non sono davvero sicuro del motivo per cui hanno funzionato ..
Seth,

L'immagine di Vagrant è l'impostazione consigliata per lo sviluppo in quanto consente di eseguire test ed eseguire il minimo sforzo.
MikeyB,

6

Implementazione del cloud (con Juju)

Se hai un provider cloud e vuoi saltare un sacco di salti manuali, puoi usare il fascino Juju !

Dopo aver avviato correttamente un ambiente, eseguire quanto segue:

juju deploy cs:~marcoceppi/discourse
juju deploy postgresql

Quindi creare relazioni

juju add-relation discourse postgresql:db-admin

Il discorso richiede l' db-adminaccesso a livello per abilitare il plugin hstore. Infine, esponi il discorso:

juju expose discourse

La configurazione e altri avvertimenti sono disponibili nel README di Charm . Queste opzioni includono la configurazione degli amministratori, dove recuperare l'origine del discorso, il pinning della versione e altre opzioni di ottimizzazione.

Disclaimer, sono l'autore di questo fascino.


1
In realtà mi piace questa risposta meglio della mia :) (Juju FTW). La mia unica preoccupazione sarebbe, stai dicendo "se hai un provider cloud", ma l'OP menziona chiaramente che ha solo una macchina Ubuntu in giro. Potresti forse fornire o indicare istruzioni su come installare questa macchina solitaria come fornitore di juju? (forse impostato come fornitore locale, l'ho fatto con vari gradi di successo). Quindi questo sembrerebbe il modo più semplice per distribuire il discorso.
Roadmr,


4

Il progetto stesso ha anche la documentazione su come installare su Ubuntu usando Docker (che è l'unico modo ufficialmente supportato):

Per lo sviluppo è possibile utilizzare questo programma che è un semplice comando singolo dopo aver installato Docker.


Le istruzioni collegate sono la raccomandazione ufficiale per le distribuzioni di produzione. Se avete commenti o suggerimenti, fatecelo sapere!
MikeyB,

0

In Bitnami abbiamo installatori completamente Linux per macchine virtuali basate su Discourse e Ubuntu e immagini cloud per Amazon, Azure. Puoi dare un'occhiata alla pagina del discorso di Bitnami

(Dichiarazione di non responsabilità, sono uno degli sviluppatori di Bitnami :)


0

È possibile utilizzare Cloud 66 EasyDeploy

Cloud 66 EasyDeploy

Ciò significa che puoi quindi distribuire Discourse su AWS, DigitalOcean, Rackspace, Linode o Joyent con un paio di clic (e ottenere molto di più come backup di DB, ridimensionamento e monitoraggio!)

DISCLAIMER: lavoro per Cloud 66.


1
Potresti fornire alcune istruzioni per farlo nella tua risposta?
Seth,

Questo servizio è gratuito?
jokerdino

Tutto ciò che devi fare per distribuire Discourse con Cloud 66, è registrarti per un account su cloud66.com e utilizzare l'URL Git per creare un nuovo stack. L'intero processo è un mago, quindi dovrebbe essere molto semplice e puoi trovare l'aiuto generale di Cloud 66 Stack su help.cloud66.com/getting-started/your-first-stack.html
Khash

Puoi trovare informazioni su funzionalità e prezzi su www.cloud66.com
Khash,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.