Installation in einer Entwicklungsumgebung
1. Verbindung mit dem PostgreSQL DBMS mit psql -U postgres und erstellen Sie die discourse_development Datenbank und die discourse_user Benutzer , denen wir die Zugriffsrechte auf diese Datenbank zu gewähren.
create database discourse_development;
create user discourse_user;
alter user discourse_user with encrypted password 'your_preferred_password';
alter database discourse_development owner to discourse_user;
Stellen Sie dann auch in der psql- Konsole eine Verbindung zur erstellten Datenbank her, führen Sie einige Befehle aus und beenden Sie das Programm .
\c discourse_development;
create extension hstore;
create extension pg_trgm;
\q
2. Klonen Sie die Diskursdateien . Wenn Ihre PostgreSQL- Version niedriger als 12 ist ( psql --version ), setzen Sie sie auf Version 2.4.0.beta11 zurück , die am 13. Februar 2020 veröffentlicht wurde (wenn ich das Git-Protokoll richtig gelesen habe ).
Dafür. Erstens gibt es ein Team
git clone https://github.com/discourse/discourse.git
Geben Sie ein, um zur Februar-Version zurückzukehren
git checkout 2136d4b5d535ca1fb83bd015502741d53301a61f
3. Installieren Sie die Gems mit dem Befehl bundle install , nachdem Sie Gemfile.lock gelöscht / umbenannt haben.
4. Fügen Sie in config / database.yml die Werte für Benutzername und Kennwort sowie die Zeilen encoding: utf8 und template: template0 hinzu und führen Sie bundle exec rake db: migrate aus .
5. Starten Sie den Webserver für Rails mit dem Befehl
UNICORN_PORT=3002 bundle exec unicorn -c config/unicorn.conf.rb
6. Richten Sie einen Reverse - Proxy - Server nginx, fügen Sie in config / Umgebungen / development.rb Linie
config.hosts << "discourse.domain.name"
Screenshot 1. Der Inhalt der Datei /etc/nginx/sites-enabled/discourse.conf
Anmerkung 1 Linien Lage / assets / {... und die Lage / Bilder / {... werden benötigt, um in einer Produktionsumgebung ausgeführt zu werden. Es ist tatsächlich zu früh, sie hinzuzufügen, um in einer Entwicklungsumgebung ausgeführt zu werden.
Starten Sie nginx mit dem Befehl /etc/init.d/nginx restart neu.
7. Unicorn neu starten : Geben Sie zum Stoppen kill -QUIT `cat tmp / pids / unicorn.pid` einGeben Sie zum Neustart den Befehl aus Punkt 5 ein. Getan.
Installation in einer Entwicklungsumgebung
1. Wir erstellen eine Datenbank auf die gleiche Weise, nur der Name der Datenbank wird angegeben, nicht diskurs_development , sondern diskurs .
2. Erstellen Sie die Datei config / diskurs.conf mit dem Befehl
cp config/discourse_defaults.conf config/discourse.conf
Anschließend geben wir die Werte db_name , db_username , db_password sowie den Hostnamen (Diskurs, Diskursbenutzer, Ihr bevorzugtes Kennwort, Diskursdomänenname) an.
3. Installieren Sie die erforderlichen Pakete mit dem Befehl
sudo apt install optipng pngquant jhead jpegoptim gifsicle
und führen Sie den Befehl aus, für dessen Ausführung wir sie fehlerfrei installiert haben:
RAILS_ENV=production bundle exec rake db:migrate
4. Installieren Sie mit ein weiteres Paket, das für den nächsten Befehl erforderlich ist
sudo apt install brotli
und geben Sie den Befehl ein, für den wir ihn fehlerfrei installiert haben
RAILS_ENV=production bundle exec rake assets:precompile
5. Fügen Sie der nginx- Konfigurationsdatei die Zeilen location / assets / {... und location / images / {... (siehe Abbildung 1) hinzu , falls sie noch nicht vorhanden sind, und starten Sie nginx neu . 6. Stoppen Sie das Einhorn (siehe Befehl oben) und starten Sie es in der Produktionsumgebung mit dem Befehl
RAILS_ENV=production UNICORN_PORT=3002 bundle exec unicorn -c config/unicorn.conf.rb
Sidekiq-Start
1. Erstellen Sie mit dem Befehl ein Administratorkonto
RAILS_ENV=production bundle exec rake admin:create
und starten Sie das Einhorn neu .
2. Um sidekiq in der Datei config / sidekiq.yml auszuführen, kopieren Sie die Konfigurationszeilen für die Entwicklungsumgebung für die Produktionsumgebung (siehe Abbildung 2) und fügen Sie die Zeile zu config / environment / Production.rb hinzu (falls Redis 3.0.6 auf dem Betriebssystem installiert ist)
Redis.exists_returns_integer = false
Screenshot 2.
Führen Sie danach sidekiq mit dem Befehl aus
bundle exec sidekiq -C config/sidekiq.yml
3. Überprüfen Sie mit dem Befehl die Existenz des laufenden Prozesses sidekiq
ps aux | grep sidekiq
Ersteinrichtung
Wenn Sie die Adresse Ihres Forums im Browser öffnen und sich mit den Anmeldeinformationen aus Abschnitt 1 des Teils "Sidekiq starten" anmelden, können Sie die Themen bei der Ersteinrichtung anzeigen und lesen.
Screenshot 3. Nach Autorisierung im Diskurs Die
Anweisung, die beim Schreiben des Artikels verwendet wurde :
Installieren Sie die Discourse Forum-Software unter Ubuntu 18.04 ohne Docker