Discourse je zobecněním pojmu konverzace na jakoukoli formu komunikace. Diskurz je jedním z hlavních témat sociální teorie, která zahrnuje práce z oborů, jako je sociologie, antropologie, kontinentální filozofie a analýza diskurzu. V návaznosti na průkopnickou práci Michela Foucaulta tyto obory vnímají diskurz jako systém myšlení, vědění nebo komunikace, který konstruuje naši zkušenost se světem.
Protože kontrola nad diskurzem se rovná kontrole nad tím, jak je svět vnímán, sociální teorie často studuje diskurz jako okno k moci. V rámci teoretické lingvistiky je diskurz chápán úžeji jako jazyková výměna informací a byl jednou z hlavních motivací pro vznik rámce dynamické sémantiky, v němž jsou denotáty výrazů ztotožňovány s jejich schopností aktualizovat diskurzní kontext. Discourse (Diskurzú je zároveň jménem pro úspěšnou komunikační platformu, takzvaný fórum softvér.
Obsah
Instalace Discourse
bez použití ekosystému Docker. Debian 10 správce balíčku: Ruby (2.5) neinstalovat pomocí apt s upgrade na v3.0.0, ale ideálně přímo z git pomocí ruby manager (třeba rbenv). Chybová hláška u inicializace naklonovaného Discourse vyřeší přepnutí globalní verze Ruby na nižší a pak zpátky na aktualizovanou (nejnovější).
Your RubyGems version (2.7.6.2)) has a bug that prevents `required_ruby_version` from working for Bundler. Any scripts that use `gem install bundler` will break as soon as Bundler drops support for your Ruby version. Please upgrade RubyGems to avoid future breakage and silence this warning by running `gem update --system 3.2.3`
Yarn + Ruby manager
apt install yarn rbenv nebo rvm ruby manager pro upgrade ruby třeba: git clone https://github.com/rbenv/rbenv.git ~/.rbenv
rvm current rvm --default use ruby-3.1.0 nebo rbenv install 3.1.0 rbenv global 3.1.0
gem install bundler gem update --system
Updating rubygems-update Fetching rubygems-update-3.2.3.gem Successfully installed rubygems-update-3.2.3 Parsing documentation for rubygems-update-3.2.3 Installing ri documentation for rubygems-update-3.2.3 Done installing documentation for rubygems-update after 83 seconds Parsing documentation for rubygems-update-3.2.3 Done installing documentation for rubygems-update after 0 seconds Installing RubyGems 3.2.3 system temporary path is world-writable: /tmp /tmp is world-writable: /tmp Successfully built RubyGem Name: bundler Version: 2.2.3 File: bundler-2.2.3.gem Bundler 2.2.3 installed RubyGems 3.2.3 installed Regenerating binstubs Regenerating plugins Parsing documentation for rubygems-3.2.3 Installing ri documentation for rubygems-3.2.3 ------------------------------------------------------------------------------ RubyGems installed the following executables: /root/.rbenv/versions/3.1.0/bin/gem /root/.rbenv/versions/3.1.0/bin/bundle Ruby Interactive (ri) documentation was installed. ri is kind of like man pages for Ruby libraries. You may access it like this: ri Classname ri Classname.class_method ri Classname#instance_method If you do not wish to install this documentation in the future, use the --no-document flag, or set it as the default in your ~/.gemrc file. See 'gem help env' for details. RubyGems system software updated user@stage:/tmp#
Inicializace / Instalace Discourse
cd /var/www/web519/web/ RAILS_ENV=production bundle install
MaxMind.DB
Downloading MaxMindDB... Compressing Javascript and Generating Source Maps MaxMind IP database updates require a license Please set DISCOURSE_MAXMIND_LICENSE_KEY to one you generated at https://www.maxmind.com MaxMind IP database updates require a license Please set DISCOURSE_MAXMIND_LICENSE_KEY to one you generated at https://www.maxmind.com Compressing: vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js
Spuštění Discourse
user@stage: /var/www/web519/web/# RAILS_ENV=production bundle exec puma -C /var/www/web519/web/config/puma.rb [7465] Puma starting in cluster mode... [7465] * Puma version: 5.5.2 (ruby 3.0.0-p0) ("Zawgyi") [7465] * Min threads: 8 [7465] * Max threads: 32 [7465] * Environment: production [7465] * Master PID: 7465 [7465] * Workers: 4 [7465] * Restarts: (✔) hot (✖) phased [7465] * Preloading application [7465] * Listening on unix:///var/www/web519/web/tmp/sockets/puma.sock [7465] ! WARNING: Detected 2 Thread(s) started in app boot: [7465] ! #<Thread:0x00005564fa115aa8 /var/www/web519/web/vendor/bundle/ruby/3.0.0/gems/message_bus-4.0.0/lib/message_bus.rb:720 sleep> - /var/www/web519/web//vendor/bundle/ruby/3.0.0/gems/redis-4.5.1/lib/redis/connection/ruby.rb:56:in `wait_readable' [7465] ! #<Thread:0x00005564fa115800 /var/www/web519/web/vendor/bundle/ruby/3.0.0/gems/message_bus-4.0.0/lib/message_bus/timer_thread.rb:38 sleep> - /var/www/web519/web//vendor/bundle/ruby/3.0.0/gems/message_bus-4.0.0/lib/message_bus/timer_thread.rb:130:in `sleep'
Po upgrade na Ruby on Rails 3.1.0 + instalaci Discourse otestovat funkční socket
curl -XGET --unix-socket /var/www/web519/web/tmp/sockets/puma.sock
Načte (nebo nenačte) úvodní stránku Discourse s registračním formulářem
<html> <head> <link href="/stylesheets/wizard_53ebe553df3411e3cb4a5815f3dc884b19d45c46.css?__ws=discourse.ictis.cz" media="all" rel="stylesheet" data-target="wizard" /> <link href="/stylesheets/color_definitions_base__1_989c1862fe30765db73d2459ca66e4b705ce9770.css?__ws=discourse.ictis.cz" media="all" rel="stylesheet" class="light-scheme"/><link href="/stylesheets/color_definitions_dark_1_1_8aeb645d07fdf2f07fbf9a39ef8f0d85bde76397.css?__ws=discourse.ictis.cz" media="(prefers-color-scheme: dark)" rel="stylesheet" class="dark-scheme"/> <meta name="generator" content="Discourse 2.8.0.beta11 - https://github.com/discourse/discourse version 70af45055ae24dc7eb1a20678a52ed3ec69421c3"> <link rel="icon" type="image/png" href="http://discourse.ictis.cz/uploads/default/optimized/1X/_129430568242d1b7f853bb13ebea28b3f6af4e7_2_32x32.png"> <link rel="apple-touch-icon" type="image/png" href="http://discourse.ictis.cz/uploads/default/optimized/1X/_129430568242d1b7f853bb13ebea28b3f6af4e7_2_180x180.png"> <meta name="theme-color" content="#ffffff"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=yes, viewport-fit=cover"> <link rel="canonical" href="http://discourse.ictis.cz/" /> <script type="application/ld+json">{"@context":"http://schema.org","@type":"WebSite","url":"http://discourse.ictis.cz","potentialAction":{"@type":"SearchAction","target":"http://discourse.ictis.cz/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script> <link rel="search" type="application/opensearchdescription+xml" href="http://discourse.ictis.cz/opensearch.xml" title="Discourse Search"> <title>Discourse Setup</title> </head> <body class='wizard'> <div id='wizard-main'> <div class='wizard-column'> <div class='wizard-column-contents finish-installation'> <h1>Congratulations, you installed Discourse!</h1> <div class='row'> <img class="tada" src="/images/wizard/tada.svg" /> </div> <div class='row help-text'> register a new account to get started </div> <div class='row'> <a class="wizard-btn primary" href="/finish-installation/register"> <svg xmlns="http://www.w3.org/2000/svg" width="14px" height="14px" viewBox="0 0 448 512"> <path fill="currentColor" d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"></path> </svg> Register </a></div> </div> <div class='wizard-footer'> <div class='discourse-logo'></div> </div> </div> </div> </body> </html>
Instalace funguje, použít Nginx nebo Apache mod_proxy pro zobrazení webu v prohlížeči.
Vizualizace

Užitečné
Domovská stránka Discourse.
Text Easywall firewall GUI iptables.