Dieser Leitfaden richtet sich nur an die Konfiguration der Discourse-Entwicklungsumgebung. Wenn Sie Discourse in einer Produktionsumgebung installieren müssen, besuchen Sie bitte: Install Discourse in production with the official supported instructions.
Die englische Originalversion der Einrichtung der Entwicklungsumgebung finden Sie unter: Set up a local Discourse Development Environment?.
Dieser Artikel konzentriert sich nur auf die Einrichtung der Entwicklung unter Ubuntu, da Discourse auf Ruby basiert und die Ruby-Entwicklungsumgebung unter Ubuntu am einfachsten einzurichten ist. Daher wird die Ausführung von Discourse in der Produktionsumgebung auch offiziell unter Ubuntu empfohlen. Obwohl unsere Community auch unter REHL problemlos läuft, da Docker-Container verwendet werden, ist es ratsam, eine Ubuntu-Umgebung zu verwenden, wenn Sie Discourse entwickeln möchten.
Wenn Sie Windows verwenden, müssen Sie die WSL-Umgebung installieren. WSL ist eine auf Ubuntu basierende Umgebung, die von Windows bereitgestellt wird und hauptsächlich zur Lösung von Problemen bei der Entwicklung von Linux-Anwendungen unter Windows dient.
Dieser Artikel geht davon aus, dass Sie Ruby/Rails/Postgres/Redis noch nicht in Ihrer Ubuntu-Umgebung installiert haben. Beginnen wir mit der Konfiguration der Entwicklungsumgebung!
Obwohl dieser Entwicklungsleitfaden davon ausgeht, dass Sie eine Ubuntu-Entwicklungsumgebung verwenden, können alle auf Debian basierenden Linux-Systeme verwendet werden.
Dieser Entwicklungsleitfaden wurde unter Ubuntu 18 verifiziert und erfordert keine zusätzlichen Schritte zur Einrichtung der Entwicklungsumgebung.
Aufgrund von Unterschieden bei der Verwendung von Ubuntu/Debian für die Entwicklungsumgebung müssen Sie möglicherweise die folgenden Informationen beim Entwickeln unter Ubuntu/Debian konsultieren:
Installation der Discourse-Testumgebung unter Ubuntu 20.04 und neuer
Unter Ubuntu 20.04 und neueren Versionen wird standardmäßig OpenSSL 3.0.2 installiert. Möglicherweise müssen Sie es aus einer früheren OpenSSL-Version kompilieren und die obige Version ersetzen (die offiziell empfohlene Version ist OpenSSL-1.1.1n). Sie müssen auch die installierte Ruby-Version überprüfen. Sie können den Befehl ruby --version verwenden, um die Ruby-Version anzuzeigen. Discourse verwendet derzeit noch Ruby 2. Wenn Sie Ruby 3.x oder eine neuere Version verwenden, müssen Sie Ihre Ruby-Version herabstufen. Es wird empfohlen, ein Ruby-Versionsverwaltungstool zur Versionsherabstufung zu verwenden. Für die aktuelle Ausführungsumgebung von Discourse hält die offizielle Stelle Ruby 2.7.6 für die am besten geeignete Version für Discourse. Weitere Informationen finden Sie unter: Notes about Installing Discourse on Ubuntu 20.04 - #2 by SaraDev.
Installation der Discourse-Testumgebung unter Ubuntu Versionen vor 20.04
Der folgende Abschnitt wurde am 16.05.22 von @pfaffman hinzugefügt. Möglicherweise tritt ein Fehler auf, aber möglicherweise auch nicht.
HINWEIS: Bitte beachten Sie: Failed to build ruby 2.7.5 on ubuntu 22.04 · rbenv/ruby-build · Discussion #1940 · GitHub für relevante Informationen.
Ende der @pfaffman-Ergänzungen.
Nach unseren Testerfahrungen kann es unter Ubuntu 22 zu Kompilierungs- und Paketfindungsfehlern kommen. Wir haben die lokale Entwicklungsumgebung bisher nur unter 20.04 eingerichtet.
Installation der Discourse-Abhängigkeiten
Als normaler Benutzer können Sie den folgenden Befehl im Terminal ausführen: dieses Skript. Der obige Befehl hilft Ihnen, Rails schnell in Ihrer lokalen Entwicklungsumgebung einzurichten.
Der auszuführende Befehl lautet:
bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)
Der obige Befehl installiert die folgenden Pakete auf Ihrem lokalen System:
- Git
- rbenv
- ruby-build
- Ruby (stabil)
- Rails
- PostgreSQL
- SQLite
- Redis
- Bundler
- MailHog
- ImageMagick
Wenn einige Software bereits auf Ihrem lokalen Betriebssystem installiert ist oder Sie nicht alle Software installieren möchten, konsultieren Sie bitte das Skript und wählen Sie die Software aus, die Sie derzeit nicht installieren möchten. Der obige Installationsskript installiert alle für den Betrieb von Discourse erforderlichen Softwarepakete, die den Betrieb von Discourse unterstützen.
Nachdem Sie alle Discourse-Abhängigkeiten installiert haben, können wir mit der Installation von Discourse fortfahren.
Das obige Bild zeigt die Installationsoberfläche unter Ubuntu. Der gesamte Softwareinstallationsprozess ist recht zeitaufwendig und kann je nach System über 5 Minuten dauern.
Discourse klonen
Klonen Sie Discourse in den Ordner ~/discourse
git clone https://github.com/discourse/discourse.git ~/discourse
~ definiert den aktuellen Home-Ordner, was bedeutet, dass das Discourse-Programm in Ihren Home-Ordner kopiert wird.
Da wir das WSL-Subsystem verwenden, klonen wir die Dateien tatsächlich auf mein Laufwerk D.
Datenbank einrichten
Erstellen Sie einen Benutzer mit demselben Namen wie Ihr Ubuntu-Benutzername:
sudo -u postgres createuser -s "$USER"
Wenn Sie bei der Ausführung des obigen Befehls eine Fehlermeldung erhalten:
createuser: error: could not connect to database template1: could not connect to server: No such file or directory
Bitte konsultieren Sie: iSharkFly - 飞鲨.
Discourse starten
Wechseln Sie in Ihr geklontes Discourse-Verzeichnis:
cd ~/discourse
Installieren Sie die benötigten Gems
source ~/.bashrc
bundle install
Installieren Sie auch die benötigten JS-Abhängigkeiten
yarn install
Bis zu diesem Punkt haben Sie alle benötigten Gems und Abhängigkeiten installiert. Versuchen Sie, die folgenden Befehle auszuführen:
bundle exec rake db:create
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate
Wenn während der Ausführung ein Fehler auftritt, konsultieren Sie bitte: iSharkFly - 飞鲨.
Versuchen Sie, den folgenden Befehl auszuführen:
bundle exec rake autospec
Ihr Projekt sollte alle Tests bestehen.
Dieser Test ist sehr zeitaufwendig und kann übersprungen werden, sonst dauert es wahrscheinlich Stunden.
Führen Sie den folgenden Befehl aus, um den Server zu starten:
bundle exec rails server
Nach Abschluss der obigen Installationsschritte sollten Sie auf Ihr lokal installiertes Discourse über http://localhost:3000 zugreifen können.
Ab Discourse 2.5+ ist EmberCLI für die lokale Entwicklungsumgebung obligatorisch:
Wenn Sie direkt über die Benutzeroberfläche auf Port 3000 zugreifen, erhalten Sie die folgende Eingabeaufforderung:
Wechseln Sie in Ihrem Konsolen-Terminal in den Ordner (
cd ~/discourse) und führen Sie aus:
bin/ember-cli
Sie sollten Ihre lokale Discourse-Installation über die Adresse http://localhost:4200 aufrufen können.
Beachten Sie, dass diese beiden Server gleichzeitig gestartet werden müssen. Ember-cli greift über einen Reverse-Proxy auf 3000 zu.
Erstellen eines neuen Admin-Kontos
Bevor Sie sich in der Entwicklungsumgebung anmelden können, müssen Sie ein Administratorkonto erstellen. Führen Sie den folgenden Befehl aus, um es zu erstellen:
RAILS_ENV=development bundle exec rake admin:create
Bitte folgen Sie den Anweisungen in der Befehlszeile, um dieses Administratorkonto zu erstellen.
Die einzugebenden Informationen sind E-Mail-Adresse und Passwort.
Konfigurieren von E-Mails
Führen Sie MailHog aus:
mailhog
Nachdem Sie alle oben genannten Schritte abgeschlossen haben, ist Ihre lokale Discourse-Entwicklungsumgebung konfiguriert. Sie können sich jetzt als Administrator bei Discourse anmelden.
Wenn Sie Discourse-Plugins entwickeln möchten, konsultieren Sie bitte: Developing Discourse Plugins - Part 1 - Create a basic plugin.


