Discourse je platforma s otevřeným zdrojovým kódem, která se používá pro diskusní fóra, chatovací místnosti nebo jako software pro správu seznamu adresátů. Jedná se o moderní řešení fóra, které pohání diskuse na tisících webů a podporuje zapojení uživatelů. Discourse byl napsán v Ruby on Rails jako backendový jazyk, Ember.js jako frontend a pro ukládání dat používá PostgreSQL.
Zde v LinuxAPT, jako součást našich služeb správy serveru, pravidelně pomáháme našim zákazníkům provádět související dotazy týkající se instalace softwaru s otevřeným zdrojovým kódem.
V této souvislosti se podíváme na to, jak nainstalovat Discourse na Ubuntu 20.04 LTS.
Kroky k instalaci diskurzu na Ubuntu 20.04 LTS Focal Fossa
1. Proveďte aktualizaci systému
Nejprve se ujistěte, že všechny vaše systémové balíčky jsou aktuální spuštěním následujících příkazů apt v terminálu.
$ sudo apt update
$sudo apt upgrade
Dále nainstalujte net-tools pomocí níže uvedeného příkazu:
$ sudo apt install net-tools
2. Nainstalujte Docker
Nyní nainstalujeme nejnovější verzi Dockeru do vašeho systému pomocí následujícího příkazu:
$ sudo apt install docker.io
Jakmile je Docker nainstalován, spusťte službu Docker a povolte její spuštění při restartu pomocí následujícího příkazu:
$ sudo systemctl start docker
$ sudo systemctl enable docker
3. Nainstalujte Discourse do systému
Ve výchozím nastavení není Discourse k dispozici základní úložiště Ubuntu 20.04. Nyní spusťte následující příkaz níže a stáhněte si nejnovější verzi diskurzu z úložiště GitHub:
$ sudo mkdir /var/www/discourse/
$ git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Dále změňte adresář na /opt/discourse a spusťte skript nastavení diskursu:
$ cd /opt/discourse
$ ./discourse-setup
Instalační skript diskurzu se zeptá na následující otázky:
Ports 80 and 443 are free for use
'samples/standalone.yml' -> 'containers/app.yml'
Found 16GB of memory and 4 physical CPU cores
setting db_shared_buffers = 1024MB
setting UNICORN_WORKERS = 6
containers/app.yml memory parameters updated.
Hostname for your Discourse? [discourse.linuxapt.com]: discourse.linuxapt.com
Dále budete požádáni o zadání e-mailové adresy účtu správce, serveru SMTP, uživatelského jména SMTP, hesla SMTP a e-mailové adresy pro Let's Encrypt, jak je uvedeno níže:
Checking your domain name . . .
Connection to discourse.linuxapt.com succeeded.
Email address for admin account(s)? [[email protected],[email protected]]: [email protected]
SMTP server address? [smtp.example.com]: smtp.gmail.com
SMTP port? [587]:
SMTP user name? [[email protected]]: [email protected]
SMTP password? [pa$$word]: m3ilan4m4ri4
Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected]
Jakmile tyto hodnoty zadáte, zobrazí se další okno pro jejich opětovnou kontrolu:
Does this look right?
Hostname : discourse.linuxapt.com
Email : [email protected]
SMTP address : smtp.gmail.com
SMTP port : 587
SMTP username : [email protected]
SMTP password : asdfgsd
Let's Encrypt : [email protected]
ENTER to continue, 'n' to try again, Ctrl+C to exit:
Jak získat přístup k webovému rozhraní diskurzu?
Po úspěšné instalaci otevřete webový prohlížeč a přejděte k diskurzu pomocí adresy URL http://discourse.linuxapt.com. Budete přesměrováni na registrační stránku diskurzu.
Jak odinstalovat Discourse ze systému Ubuntu Linux?
Chcete-li odinstalovat diskurz, budete muset zcela vymazat kontejner dockeru, ve kterém je diskurz nainstalován.
1. Zastavte dokovací kontejner
Prvním krokem je zastavit běžící diskurzní kontejner.
Následující příkaz vám poskytne seznam všech kontejnerů, které jsou v provozu:
$ docker ps
V našem případě běží pouze jeden kontejner, což je diskurzní kontejner. Chcete-li jej zastavit, spusťte následující příkaz:
$ Docker stop CONTAINER ID
Zkopírujte ID kontejneru, vložte jej do příkazu a spusťte. Tím se kontejner zastaví
2. Odstraňte kontejner
Nyní, když se kontejner zastavil, můžeme jej snadno odstranit pomocí následujícího příkazu:
$ Docker container rm CONTAINER ID
Poté bude diskurz z vašeho systému úspěšně odinstalován.