Zoeken op website

Askbot - Creëer je eigen vraag- en antwoordforum zoals Stack Overflow


Askbot is een open source, eenvoudige maar krachtige, snelle en zeer aanpasbare software voor het creëren van een vraag- en antwoordforum (Q&A). Het is geïnspireerd door StackOverflow en YahooAnswers, en geschreven in Python bovenop het Django webframework.

Het maakt efficiënt vraag- en antwoordkennisbeheer mogelijk, dus organisaties zoals Fedora’s vraag- en antwoordforums en LibreOffice’s vraag- en antwoordforums maken er goed gebruik van. Askbot kan werken als een zelfstandige applicatie of kan worden geïntegreerd met uw bestaande Django-apps of andere webplatforms.

In deze tutorial leert u hoe u AskBot installeert op CentOS 7. Om de tutorial te voltooien, heb je een minimale CentOS 7-server-installatie met root-toegang nodig.

Stap 1: Installeer de vereiste afhankelijkheden

We beginnen met het installeren van de vereiste afhankelijkheden, zoals ontwikkeltools, door de volgende opdracht in een terminal te gebruiken.

yum group install 'Development Tools'

Daarna zullen we de Epel-repository installeren, als deze nog niet op uw systeem is geïnstalleerd.

yum install epel-release

Ten slotte zullen we enkele van de Python-afhankelijkheden installeren die nodig zijn om later AskBot uit te voeren.

yum install python-pip python-devel python-six

In het geval dat Python-pip niet met de bovenstaande opdracht is geïnstalleerd, kunt u het installeren met behulp van de volgende opdracht.

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

Stap 2: Installeer de PostgreSQL-database

AskBot heeft een database nodig waarin de gegevens worden opgeslagen. Het maakt gebruik van PostgreSQL, dus we zullen het moeten installeren en configureren op ons systeem.

U kunt de volgende opdracht gebruiken om de installatie te voltooien.

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

Wanneer de installatie voltooid is, initialiseert u PostgreSQL met.

postgresql-setup initdb

Als alles normaal gaat, zou je het volgende moeten zien:

Initializing database ... OK

Onze volgende stap is het starten van PostgreSQL en het inschakelen ervan tijdens het opstarten:

systemctl start postgresql
systemctl enable postgresql

Nu onze databaseserver actief is, zullen we inloggen als postgres-gebruiker om een database aan te maken voor onze AskBot-installatie.

su - postgres

Gebruik dan om:

psql

Nu bent u de PostgreSQL-prompt, klaar om onze database en databasegebruiker aan te maken en de gebruikersrechten voor de nieuwe database te verlenen. Maak de database aan met behulp van de onderstaande opdracht. U kunt de databasenaam naar eigen voorkeur wijzigen:

postgres=# create database askbot_db;

Maak vervolgens de databasegebruiker aan. Vervang “password_here” door een sterk wachtwoord:

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

Verleen de gebruikersrechten op de askbot_db:

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

Vervolgens moeten we de PostgreSQL-configuratie bewerken om onze authenticatiemethode te wijzigen in md5. Om dit te doen, gebruikt u uw favoriete teksteditor en bewerkt u het bestand /var/lib/pgsql/data/pg_hba.conf:

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

De configuraties zouden er als volgt uit moeten zien:

Sla vervolgens de wijzigingen op en start PostgreSQL opnieuw:

systemctl restart postgresql

Stap 3: Installeer het AskBot-forum

Eindelijk kunnen we doorgaan met de installatie van AskBot. Begin met het aanmaken van een nieuwe gebruiker op uw systeem. We zullen het askbot noemen:

useradd -m -s /bin/bash askbot

Wachtwoord instellen voor de nieuwe gebruiker:

passwd askbot

Vervolgens moeten we de gebruiker toevoegen aan de wielgroep op het systeem:

usermod -a -G wheel askbot

Nu zullen we pip gebruiken om het virtualenv pakket te installeren:

pip install virtualenv six

Nu loggen we in als de askbot-gebruiker en creëren we een nieuwe virtuele omgeving:

su - askbot
virtualenv tecmint/
Voorbeelduitvoer
New python executable in /home/askbot/tecmint/python
Installing setuptools, pip, wheel...
done.

De volgende stap is het activeren van de virtuele omgeving met het volgende commando:

source tecmint/bin/activate

Nu zijn we klaar om AskBot via pip te installeren.

pip install six askbot psycopg2

De installatie kan enkele minuten duren. Zodra het voltooid is, kunnen we onze installatie testen in een tijdelijke map. Zorg ervoor dat u die map NIET askbot noemt.

mkdir forum_test && cd forum_test

Vervolgens zullen we een nieuw AskBot-project initialiseren met:

askbot-setup

Er worden u een paar vragen gesteld waarbij u de installatiemap moet selecteren – gebruik “. ” (zonder aanhalingstekens) om de huidige map te kiezen. Vervolgens moet u de eerder gemaakte databasenaam, databasegebruiker en het bijbehorende wachtwoord invoeren.

Vervolgens genereren we de statische bestanden voor Django met:

python manage.py collectstatic

Vervolgens genereren we de database:

python manage.py syncdb

En tenslotte start je de server met:

python manage.py runserver 127.0.0.1:8080

Wanneer u naar uw browser gaat naar http://127.0.0.1:8080, zou u de askbot-interface moeten zien.

Dat is alles! Askbot is open source, eenvoudige, snelle en zeer aanpasbare vraag- en antwoordforumsoftware (Q&A). Het ondersteunt efficiënt vraag- en antwoordkennisbeheer. Als u tijdens de installatie fouten bent tegengekomen of als u andere gerelateerde vragen heeft, kunt u het onderstaande feedbackformulier gebruiken om contact met ons op te nemen.