Vyhledávání na webu

Askbot – vytvořte si vlastní fórum otázek a odpovědí jako Stack Overflow


Askbot je open source, jednoduchý, ale výkonný, rychlý a vysoce přizpůsobitelný software pro vytváření fóra otázek a odpovědí (Q&A). Je inspirován StackOverflow a YahooAnswers a napsán v Pythonu nad webovým rámcem Django.

Umožňuje efektivní správu znalostí o otázkách a odpovědích, takže organizace, jako jsou fóra otázek a odpovědí Fedory a fóra otázek a odpovědí LibreOffice, toho dobře využívají. Askbot může fungovat jako samostatná aplikace nebo může být integrován s vašimi stávajícími aplikacemi Django nebo jinými webovými platformami.

V tomto tutoriálu se dozvíte, jak nainstalovat AskBot na CentOS 7. Chcete-li dokončit tutoriál, budete potřebovat minimální instalaci serveru CentOS 7 s přístupem root.

Krok 1: Nainstalujte požadované závislosti

Začneme instalací požadovaných závislostí, jako jsou nástroje pro vývoj, pomocí následujícího příkazu v terminálu.

yum group install 'Development Tools'

Poté nainstalujeme úložiště Epel, pokud již ve vašem systému není nainstalováno.

yum install epel-release

Nakonec nainstalujeme některé závislosti na pythonu potřebné k pozdějšímu spuštění AskBot.

yum install python-pip python-devel python-six

V případě, že python-pip není nainstalován pomocí výše uvedeného příkazu, můžete jej nainstalovat pomocí následujícího příkazu.

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" && python get-pip.py

Krok 2: Nainstalujte databázi PostgreSQL

AskBot vyžaduje databázi, kam bude ukládat svá data. Používá PostgreSQL, takže jej budeme muset nainstalovat a nakonfigurovat v našem systému.

K dokončení instalace můžete použít následující příkaz.

yum -y install postgresql-server postgresql-devel postgresql-contrib

Po dokončení instalace inicializujte PostgreSQL pomocí.

postgresql-setup initdb

Pokud vše proběhne normálně, měli byste vidět následující:

Initializing database ... OK

Naším dalším krokem je spuštění PostgreSQL a povolení jeho spuštění při startu:

systemctl start postgresql
systemctl enable postgresql

Nyní, když je náš databázový server v provozu, přihlásíme se jako uživatel postgres a vytvoříme databázi pro naši instalaci AskBot.

su - postgres

Poté použijte:

psql

Nyní jste výzvou PostgreSQL, připraveni vytvořit naši databázi, uživatele databáze a udělit uživatelská oprávnění k nové databázi. Vytvořte databázi pomocí příkazu níže, můžete změnit název databáze podle svých preferencí:

postgres=# create database askbot_db;

Dále vytvořte uživatele databáze. Nahraďte „password_here“ silným heslem:

postgres=# create user askbot_user with password 'password_here';

Udělte uživatelská oprávnění na askbot_db:

postgres=# grant all privileges on database askbot_db to askbot_user;

Dále budeme muset upravit konfiguraci PostgreSQL, abychom změnili naši autentizační metodu na md5. Chcete-li to provést, použijte svůj oblíbený textový editor a upravte soubor /var/lib/pgsql/data/pg_hba.conf:

vim /var/lib/pgsql/data/pg_hba.conf

Konfigurace by měla vypadat takto:

Dále uložte změny a restartujte PostgreSQL:

systemctl restart postgresql

Krok 3: Nainstalujte fórum AskBot

Nakonec můžeme pokračovat v instalaci AskBot. Začněte vytvořením nového uživatele ve vašem systému. Budeme tomu říkat askbot:

useradd -m -s /bin/bash askbot

Nastavení hesla pro nového uživatele:

passwd askbot

Dále budeme muset přidat uživatele do skupiny kol v systému:

usermod -a -G wheel askbot

Nyní použijeme pip k instalaci balíčku virtualenv:

pip install virtualenv six

Nyní se přihlásíme jako uživatel askbot a vytvoříme nové virtuální prostředí:

su - askbot
virtualenv tecmint/
Ukázkový výstup
New python executable in /home/askbot/tecmint/python
Installing setuptools, pip, wheel...
done.

Dalším krokem je aktivace virtuálního prostředí pomocí následujícího příkazu:

source tecmint/bin/activate

Nyní jsme připraveni nainstalovat AskBot přes pip.

pip install six askbot psycopg2

Instalace může trvat několik minut. Jakmile bude dokončena, můžeme otestovat naši instalaci v dočasném adresáři. Ujistěte se, že tento adresář NEJDETE pojmenovat askbot.

mkdir forum_test && cd forum_test

Dále inicializujeme nový projekt AskBot s:

askbot-setup

Budete dotázáni na několik otázek, kde budete muset vybrat instalační adresář – použijte “. ” (bez uvozovek) pro výběr aktuálního adresáře. Dále budete muset zadat dříve připravený název databáze, uživatele databáze a její heslo.

Dále vygenerujeme statické soubory pro Django s:

python manage.py collectstatic

Dále vygenerujeme databázi:

python manage.py syncdb

A nakonec spusťte server s:

python manage.py runserver 127.0.0.1:8080

Když ve svém prohlížeči přejdete na http://127.0.0.1:8080 – měli byste vidět rozhraní askbotu.

To je vše! Askbot je open source, jednoduchý, rychlý a vysoce přizpůsobitelný software fóra pro otázky a odpovědi (Q&A). Podporuje efektivní správu znalostí o otázkách a odpovědích. Pokud jste během instalace narazili na nějaké chyby nebo máte jakékoli jiné související dotazy, kontaktujte nás pomocí níže uvedeného formuláře zpětné vazby.