网站搜索

Askbot - 创建您自己的问答论坛,如 Stack Overflow


Askbot 是一款开源、简单但功能强大、快速且高度可定制的软件,用于创建问答 (Q&A) 论坛。它受到 StackOverflowYahooAnswers 的启发,并在 Django Web 框架之上用 Python 编写。

它可以实现高效的问答知识管理,因此 Fedora 的问答论坛和 LibreOffice 的问答论坛等组织都在充分利用它。 Askbot 可以作为独立应用程序运行,也可以与您现有的 Django 应用程序或其他 Web 平台集成。

在本教程中,您将学习如何在 CentOS 7 上安装 AskBot。为了完成本教程,您需要具有 root 访问权限的 CentOS 7 服务器最小安装。

第 1 步:安装所需的依赖项

我们将首先在终端中使用以下命令安装所需的依赖项,例如开发工具

yum group install 'Development Tools'

之后,我们将安装 Epel 存储库(如果您的系统上尚未安装)。

yum install epel-release

最后,我们将安装稍后运行 AskBot 所需的一些 python 依赖项。

yum install python-pip python-devel python-six

如果上面的命令没有安装 python-pip,您可以使用以下命令安装它。

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

第2步:安装PostgreSQL数据库

AskBot 需要一个数据库来存储其数据。它使用 PostgreSQL,因此我们需要在我们的系统上安装并配置它。

您可以使用以下命令来完成安装。

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

安装完成后,初始化PostgreSQL

postgresql-setup initdb

如果一切正常,您应该看到以下内容:

Initializing database ... OK

我们的下一步是启动 PostgreSQL 并使其能够在启动时启动:

systemctl start postgresql
systemctl enable postgresql

现在我们的数据库服务器已启动并正在运行,我们将以 postgres 用户身份登录,为我们的 AskBot 安装创建数据库。

su - postgres

然后用于:

psql

现在,您在 PostgreSQL 提示符下,准备创建我们的数据库、数据库用户并授予用户对新数据库的权限。使用以下命令创建数据库,请随意根据您的喜好更改数据库名称:

postgres=# create database askbot_db;

接下来创建数据库用户。将“password_here”替换为强密码:

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

授予用户对 askbot_db 的权限:

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

接下来,我们需要编辑 PostgreSQL 配置,将身份验证方法更改为 md5。为此,请使用您最喜欢的文本编辑器并编辑 /var/lib/pgsql/data/pg_hba.conf 文件:

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

配置应该如下所示:

接下来保存更改并重新启动 PostgreSQL:

systemctl restart postgresql

第3步:安装AskBot论坛

最后我们可以继续安装AskBot。首先在您的系统上创建新用户。我们将其称为askbot

useradd -m -s /bin/bash askbot

为新用户设置密码:

passwd askbot

接下来我们需要将用户添加到系统上的wheel组中:

usermod -a -G wheel askbot

现在我们将使用 pip 安装 virtualenv 包:

pip install virtualenv six

现在我们将以 askbot 用户身份登录并创建新的虚拟环境:

su - askbot
virtualenv tecmint/
样本输出
New python executable in /home/askbot/tecmint/python
Installing setuptools, pip, wheel...
done.

下一步是使用以下命令激活虚拟环境:

source tecmint/bin/activate

现在我们准备通过 pip 安装 AskBot

pip install six askbot psycopg2

安装可能需要几分钟时间。完成后,我们可以在临时目录中测试我们的安装。确保不要将该目录命名为 askbot

mkdir forum_test && cd forum_test

接下来我们将使用以下命令初始化一个新的 AskBot 项目:

askbot-setup

系统会询问您几个问题,您必须在其中选择安装目录 – 使用 “。 ”(不带引号)选择当前目录。接下来您需要输入之前准备好的数据库名称、数据库用户及其密码。

接下来我们将使用以下命令为 Django 生成静态文件:

python manage.py collectstatic

接下来我们生成数据库:

python manage.py syncdb

最后启动服务器:

python manage.py runserver 127.0.0.1:8080

当您使用浏览器访问http://127.0.0.1:8080时,您应该会看到askbot界面。

就这样! Askbot是一款开源、简单、快速且高度可定制的问答(Q&A)论坛软件。它支持高效的问答知识管理。如果您在安装过程中遇到任何错误或有任何其他相关疑问,请使用下面的反馈表与我们联系。