ウェブサイト検索

Askbot - Stack Overflow のような独自の Q&A フォーラムを作成する


Askbot は、質問と回答 (Q&A) フォーラムを作成するための、シンプルで強力、高速かつ高度にカスタマイズ可能なオープン ソース ソフトウェアです。これはStackOverflowYahooAnswers からインスピレーションを受けており、Django Web フレームワーク上のPython で書かれています。

これにより効率的な質問と回答のナレッジ管理が可能になるため、Fedora の Q&A フォーラムや LibreOffice の Q&A フォーラムなどの組織がこれを有効に活用しています。 Askbot は、スタンドアロン アプリケーションとして動作することも、既存の Django アプリや他の Web プラットフォームと統合することもできます。

このチュートリアルでは、CentOS 7AskBot をインストールする方法を学習します。チュートリアルを完了するには、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 のインストールに進むことができます。まず、システム上に新しいユーザーを作成します。これをアスクボットと呼びます。

useradd -m -s /bin/bash askbot

新しいユーザーのパスワードを設定します。

passwd askbot

次に、システム上のホイール グループにユーザーを追加する必要があります。

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

インストールディレクトリを選択する必要があるいくつかの質問が表示されます – use ”。 ” (引用符なし) を使用して、現在のディレクトリを選択します。次に、前に準備したデータベース名、データベース ユーザー、およびそのパスワードを入力する必要があります。

次に、以下を使用して 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) フォーラム ソフトウェアです。効率的な質問と回答のナレッジ管理をサポートします。インストール中にエラーが発生した場合、またはその他の関連する質問がある場合は、以下のフィードバック フォームを使用してご連絡ください。