Askbot - 自分のQを作成し、スタックオーバーフローのようなフォーラムを作成する


Askbot は、質問と回答(Q&A)フォーラムを作成するための、オープンソース、シンプルでありながら強力で、高速で高度にカスタマイズ可能なソフトウェアです。それは StackOverflow YahooAnswers に触発され、 Django Webフレームワークの上にある[ Python ]で書かれています。

効率的な質疑応答の知識管理が可能になるため、FedoraのQ&AフォーラムやLibreOfficeのQ&Aフォーラムなどの組織がそれをうまく利用しています。 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

データベースサーバーが起動したので、 AskBot インストール用のデータベースを作成するために postgres ユーザーとしてログインします。

# 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

今、私たちは virtualenv パッケージをインストールするためにpipを使います。

# 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

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