Askbot - Opret dit eget Q&A Forum som Stack Overflow


Askbot er en open source, enkel, men kraftfuld, hurtig og meget tilpasselig software til oprettelse af et spørgsmål og svar (Q&A) forum. Det er inspireret af StackOverflow og YahooAnswers og skrevet i Python oven på Django-webrammen.

Det giver mulighed for effektiv spørgsmåls- og svarvidenadministration, så organisationer som LibreOffices Q&A Forums gør god brug af det. Askbot kan fungere som en enkeltstående applikation eller kan integreres med dine eksisterende Django-apps eller andre webplatforme.

I denne vejledning lærer du, hvordan du installerer AskBot på CentOS 7. For at fuldføre selvstudiet skal du have en CentOS 7-server minimal installation med rodadgang.

Trin 1: Installer krævede afhængigheder

Vi starter med at installere de krævede afhængigheder såsom udviklingsværktøjer ved hjælp af følgende kommando i en terminal.

# yum group install 'Development Tools'

Derefter installerer vi Epel repository, hvis det ikke allerede er installeret på dit system.

# yum install epel-release

Endelig installerer vi nogle af de pythonafhængigheder, der kræves for senere at køre AskBot.

# yum install python-pip python-devel python-six

Hvis python-pip ikke er installeret med ovenstående kommando, kan du installere det med ved hjælp af følgende kommando.

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

Trin 2: Installer PostgreSQL-database

AskBot kræver en database, hvor den gemmer sine data. Det bruger PostgreSQL, så vi bliver nødt til at installere det og konfigurere det på vores system.

Du kan bruge følgende kommando til at fuldføre installationen.

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

Når installationen er færdig, initialiser du PostgreSQL med.

# postgresql-setup initdb

Hvis alt går normalt, skal du se følgende:

Initializing database ... OK

Vores næste trin er at starte PostgreSQL og gøre det muligt at starte ved opstart:

# systemctl start postgresql
# systemctl enable postgresql

Nu hvor vores databaseserver er i gang, logger vi ind som postgres-bruger for at oprette en database til vores AskBot-installation.

# su - postgres

Brug derefter til:

$ psql

Nu er du PostgreSQL-prompten, klar til at oprette vores database, databasebruger og give brugerrettighederne til den nye database. Opret databasen ved hjælp af kommandoen nedenfor, er du velkommen til at ændre databasens navn efter dine præferencer:

postgres=# create database askbot_db;

Opret derefter databasebrugeren. Udskift "password_here" med en stærk adgangskode:

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

Giv brugerrettighederne på askbot_db:

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

Dernæst bliver vi nødt til at redigere PostgreSQL-konfigurationen for at ændre vores godkendelsesmetode til md5. For at gøre dette skal du bruge din yndlings teksteditor og redigere /var/lib/pgsql/data/pg_hba.conf fil:

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

Konfigurationerne skal se sådan ud:

Gem derefter ændringerne, og genstart PostgreSQL:

# systemctl restart postgresql

Trin 3: Installer AskBot Forum

Endelig kan vi fortsætte med installationen af AskBot. Start med at oprette ny bruger på dit system. Vi kalder det askbot:

# useradd -m -s /bin/bash askbot

Opsæt adgangskode til den nye bruger:

# passwd askbot

Derefter bliver vi nødt til at tilføje brugeren til hjulgruppen på systemet:

# usermod -a -G wheel askbot

Nu bruger vi pip til at installere virtualenv-pakke:

# pip install virtualenv six

Nu logger vi som askbot-bruger og skaber nyt virtuelt miljø:

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

Næste trin er at aktivere det virtuelle miljø med følgende kommando:

# source tecmint/bin/activate

Nu er vi klar til at installere AskBot via pip.

# pip install six askbot psycopg2

Installationen kan tage et par minutter. Når den er færdig, kan vi teste vores installation i en midlertidig mappe. Sørg for IKKE at navngive den katalog askbot.

# mkdir forum_test && cd forum_test

Dernæst initialiserer vi et nyt AskBot-projekt med:

# askbot-setup

Du bliver stillet et par spørgsmål, hvor du bliver nødt til at vælge installationsmappen - brug “.” (uden anførselstegn) for at vælge den aktuelle mappe. Derefter skal du indtaste det tidligere forberedte databasenavn, databasebruger og dets adgangskode.

Derefter genererer vi de statiske filer til Django med:

# python manage.py collectstatic

Derefter genererer vi databasen:

# python manage.py syncdb

Og start endelig serveren med:

# python manage.py runserver 127.0.0.1:8080

Når du går til din browser til http://127.0.0.1:8080 - skal du se askbot-grænsefladen.

Det er alt! Askbot er en open source, enkel, hurtig og meget tilpasselig spørgsmål og svar (Q&A) forumsoftware. Det understøtter effektiv videnstyring af spørgsmål og svar. Hvis du stødte på fejl under installationen eller har andre relaterede spørgsmål, skal du bruge feedbackformularen nedenfor for at nå os.