Wie installiere ich Discourse unter Ubuntu?

8

Ich habe eine Ubuntu-Ersatzmaschine herumliegen und möchte Discourse darauf installieren .

Wie mache ich das? Ich verwende Ubuntu 13.04.

Seth
quelle
1
Die Anweisungen gehen davon aus, dass Sie Vagrant benötigen, um Ubuntu zu installieren, und richten sich anscheinend an Personen, die hauptsächlich Windows oder Mac verwenden und von einer separaten VM profitieren würden, um den Diskurs zu installieren und damit zu spielen. Wenn Seth eine "Ubuntu-Maschine herumliegen" mit 13.04 bereits installiert hat, kann er einfach das Git-Repo klonen und es lokal einrichten.
Roadmr
Außerdem ist es für uns nützlich, Anweisungen zu Ubuntu direkt auf dieser Site zu haben. Hoffentlich von jemandem gegeben, der dies getan hat.
Seth
Das lokale und manuelle Einrichten ist hier dokumentiert: github.com/discourse/discourse/blob/master/docs/… . Es scheint jedoch etwas komplex zu sein, die vagabundierende VM verfügt über alle erforderlichen Dienste (pgsql, redis), die bereits vorkonfiguriert sind, sodass der Einstieg möglicherweise einfacher ist.
Roadmr
@chaskes ist nicht unbedingt erforderlich, wie in meinem zweiten Kommentar beschrieben, können Sie die benötigten Dienste manuell installieren und konfigurieren. Es sieht so aus, als wäre die Verwendung von Vagrant einfacher.
Roadmr

Antworten:

7

Die Anweisungen gehen davon aus, dass Sie Vagrant benötigen, um Ubuntu zu installieren, und richten sich anscheinend an Personen, die hauptsächlich Windows oder Mac verwenden und von einer separaten VM profitieren würden, um den Diskurs zu installieren und damit zu spielen. Wenn Seth eine "herumliegende Ubuntu-Maschine" mit 13.04 bereits installiert hat, kann er das Git-Repo einfach klonen und lokal einrichten.

Das lokale und manuelle Einrichten ist hier auf GitHub dokumentiert . Es scheint jedoch etwas komplex zu sein, die vagabundierende VM verfügt über alle erforderlichen Dienste (pgsql, redis), die bereits vorkonfiguriert sind, sodass der Einstieg möglicherweise einfacher ist.

Wenn Sie sich mutig fühlen, können Sie diese Schritte ausführen, um Dinge auf Ihrem lokalen Ubuntu-Computer zu installieren und zu konfigurieren.

Haftungsausschluss, es ist ein komplexes Verfahren, das viele bewegliche Teile umfasst. Ich habe dieses Verfahren auf einem frisch installierten 13.04-System getestet. Wenn jedoch Probleme auftreten, sollten Sie bereit sein, Fehlermeldungen zu entschlüsseln und Fehler zu beheben. Sie sollten sich wohl fühlen mit:

  • Installation des Ubuntu-Pakets.
  • Bearbeitung von Textdateien.
  • Kenntnisse über die Verwendung der Postgres-Befehlszeile.
  • Mit Ruby, Rails und Rubygems nur minimal vertraut sein.
  • Einige Git tun nicht weh, aber es wird nur für die anfängliche Klonphase verwendet

OK, hier geht

Installieren Sie die benötigten Pakete:

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

Erstellen Sie eine Postgresql-Datenbank und erteilen Sie dem Benutzer, der den Diskurs ausführen soll, Berechtigungen (ich gehe davon aus, dass er "john" heißt, es könnte / sollte Ihr Benutzername sein):

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"

Klonen Sie das Repository:

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

Verwenden Sie Bundler, um Ruby-Edelsteine ​​und Abhängigkeiten einschließlich Schienen zu installieren:

bundle install

Hier können Abhängigkeitsprobleme auftreten, da möglicherweise andere Pakete zum Erstellen nativer Erweiterungen erforderlich sind. Wenn Sie in diesem Schritt gelben Text mit Fehlern erhalten, überprüfen Sie anhand der Fehlermeldungen, welche Pakete installiert werden sollen (mit apt-get).

Konfigurieren Sie die Datenbankdaten (postgres und 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:)

Führen Sie die Migrationen aus, um die Datenbank zu initialisieren, und setzen Sie sie dann:

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

Starten Sie dann den Entwicklungswebserver:

bundle exec rails s

Öffnen Sie abschließend Ihren Browser und stellen Sie unter eine Verbindung zum lokalen Entwickler-Server her

http://localhost:3000
Roadmr
quelle
Leider hat das bei mir nicht funktioniert. Ich habe Fehler mit allen Bundle-Befehlen erhalten. Sie scheinen durch Änderungen am Diskurs verursacht worden zu sein, seit Sie die Anweisungen veröffentlicht haben. Ich kann es noch einmal versuchen und ich kann es nicht. Ich werde Sie wissen lassen, was passiert.
Seth
Nun, ich habe gelöscht und es erneut versucht und die ähnlichen Anweisungen hier befolgt : 2buntu.com/1332/installing-discourse-on-ubuntu Ich bin mir wirklich nicht sicher, warum diese funktionierten.
Seth
Das Vagrant-Image ist das empfohlene Setup für die Entwicklung, da Sie mit minimalem Aufwand Tests durchführen können.
MikeyB
6

Cloud-Bereitstellung (mit Juju)

Wenn Sie einen Cloud-Anbieter haben und viel manuelles Herumspringen überspringen möchten, können Sie den Juju-Charme verwenden !

Führen Sie nach dem erfolgreichen Booten einer Umgebung Folgendes aus:

juju deploy cs:~marcoceppi/discourse
juju deploy postgresql

Dann erstellen Sie Beziehungen

juju add-relation discourse postgresql:db-admin

Der Diskurs erfordert db-adminLevel-Zugriff, um das hstore-Plugin zu aktivieren. Zum Schluss den Diskurs entlarven:

juju expose discourse

Konfiguration und andere Einschränkungen finden Sie in der README des Charms . Zu diesen Optionen gehören das Konfigurieren von Administratoren, das Abrufen der Diskursquelle, das Fixieren der Version und andere Optimierungsoptionen.

Haftungsausschluss, ich bin der Autor dieses Charmes.

Marco Ceppi
quelle
1
Diese Antwort gefällt mir tatsächlich besser als meine :) (Juju FTW). Meine einzige Sorge wäre, Sie sagen "wenn Sie einen Cloud-Anbieter haben", aber das OP erwähnt deutlich, dass er nur einen Ubuntu-Ersatzcomputer herumliegen hat. Könnten Sie vielleicht Anweisungen zum Einrichten dieser Einzelmaschine als Juju-Anbieter geben oder darauf verweisen? (Vielleicht als lokaler Anbieter einrichten, ich habe dies mit unterschiedlichem Erfolg getan). Dann scheint dies der einfachste Weg zu sein, den Diskurs zu implementieren.
Roadmr
5

Rohmetall

Ich habe gerade einen Artikel fertiggestellt, der genau diesen Prozess beschreibt

Zusammenfassend müssen Sie:

  • Installieren und konfigurieren Sie PostgreSQL
  • Installieren Sie Redis und Ruby 1.9.3+
  • Klonen Sie das Discourse Git-Repository
  • Nehmen Sie die entsprechende Konfiguration vor. Änderungen
  • Lauf bundle exec rails server
Nathan Osman
quelle
Dies ist veraltet und es fehlen viele Schritte.
Sam Saffron
4

Das Projekt selbst enthält auch Dokumentationen zur Installation unter Ubuntu mit Docker (dies ist die einzige offiziell unterstützte Methode):

Für die Entwicklung können Sie dieses Programm verwenden, das nach der Installation von Docker ein einfacher Einzelbefehl ist.

Jorge Castro
quelle
Die verknüpften Anweisungen sind die offizielle Empfehlung für Produktionsbereitstellungen. Wenn Sie Feedback oder Vorschläge haben, lassen Sie es uns bitte wissen!
MikeyB
0

Bei Bitnami gibt es vollständig Linux-Installationsprogramme für Discourse- und Ubuntu-basierte virtuelle Maschinen sowie Cloud-Images für Amazon, Azure. Sie können es auf der Bitnami-Diskursseite nachlesen

(Haftungsausschluss, ich bin einer der Entwickler von Bitnami :)

Daniel Lopez
quelle
0

Sie können Cloud 66 EasyDeploy verwenden

Cloud 66 EasyDeploy

Das heißt, Sie können Discourse dann mit ein paar Klicks auf AWS, DigitalOcean, Rackspace, Linode oder Joyent bereitstellen (und erhalten viel mehr wie DB-Backups, Skalierung und Überwachung!).

HAFTUNGSAUSSCHLUSS: Ich arbeite für Cloud 66.

Khash
quelle
1
Könnten Sie in Ihrer Antwort einige Anweisungen dazu geben?
Seth
Ist dieser Service kostenlos?
Jokerdino
Um Discourse mit Cloud 66 bereitzustellen, müssen Sie sich lediglich bei cloud66.com für ein Konto anmelden und mithilfe der Git-URL einen neuen Stack erstellen. Der gesamte Prozess ist ein Assistent, sollte also sehr einfach sein und Sie finden die allgemeine Cloud 66 Stack-Hilfe unter help.cloud66.com/getting-started/your-first-stack.html
Khash
Informationen zu Funktionen und Preisen finden Sie unter www.cloud66.com
Khash