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