GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04にAskbotをインストールして構成する方法

Askbotは、Python Django Frameworkに基づくQ&Aフォーラムを作成するためのオープンソースソフトウェアです。 StackOverflowやYahooAnswersなどの他のQ&Aシステムと似ています。このツールは、FedoraやLibreOfficeなどの大規模なオープンソースソフトウェアプロジェクトで使用されています。 Askbotは2009年にMikeChanとSailingCaiによって作成され、UbuntuやCentOSなどのLinuxシステムに簡単にインストールして構成できます。

このチュートリアルでは、uWSGIとNginxWebサーバーを使用してAskbotDjango Appを段階的にインストールする方法を示し、メインのオペレーティングシステムとしてUbuntu 16.04XenialXerusを使用します。

私たちが行うこと:

  1. 依存関係をインストールする
  2. PostgreSQLデータベースのインストールと構成
  3. Askbotのインストールと構成
  4. uWSGIをインストールして構成する
  5. Nginxをインストールして構成する
  6. テスト
前提条件
  • Ubuntu 16.04
  • root権限
ステップ1-依存関係をインストールする

私たちがしなければならない最初のステップは、Askbotのインストールに必要なパッケージをインストールすることです。それでは始めましょう。 SSHを使用してUbuntuサーバーに接続します。

ssh [email protected]

次に、次のaptコマンドを使用してpython-dev、pipなどのパッケージをインストールします。

apt install -y build-essential python-pip python-dev python-flup libpng12-dev zlib1g-dev libpng-dev libjpeg-dev python-setuptools

必要なパッケージがすべてインストールされています。

ステップ2-PostgreSQLデータベースをインストールして構成します

Askbotは、MySQL、SQLite、PostreSQLなどの多くのデータベースシステムをサポートしています。このチュートリアルでは、データベースシステムとしてPostgreSQLを使用します。

PostgreSQLをインストールし、ローカルユーザーの認証を構成してから、Askbotをインストールするための新しいデータベースとユーザーを作成します。

次のaptコマンドを使用してPostgreSQLデータベースをインストールします。

apt install -y postgresql postgresql-contrib

次に、 pg_hba.confを編集します ローカルユーザー認証を構成するためにvimでファイルします。

vim /etc/postgresql/9.5/main/pg_hba.conf

以下のように、md5を使用してすべてのローカルユーザー認証を変更します。

local   all             all                                     md5

保存して終了。ここで、PostgreSQLサービスを再起動し、システムの起動時に自動的に開始できるようにします。

systemctl restart postgresql
systemctl enable postgresql

次に、Askbotをインストールするための新しいデータベースとユーザーを作成する必要があります。この場合、新しいデータベース' askbotdbを作成します。 'ユーザー名'hakaselabs 'とパスワード'hakase123 '。

postgresとしてログインします ユーザーを使用して、PostgreSQLシェル「psql」にアクセスします。

su - postgres
psql

postgresを変更します ユーザーパスワードと自分のパスワード。

\password postgres

そして、新しいデータベースを作成します' askbotdb 'および新規ユーザー'hakaselabs 'パスワード付き'hakase123 '次のクエリを使用します。

create database askbotdb;
create user hakaselabs with password 'hakase123';
grant all privileges on database askbotdb to hakaselabs;
\q

Askbotをインストールするための新しいPostgreSQLデータベースが作成されました。

ステップ3-AskbotDjangoアプリをインストールして構成する

Askbotのインストールに必要なすべてのパッケージがインストールされ、PostgreSQLデータベースが作成されました。次のステップは、Askbotをインストールして構成することです。

rootユーザーを使用しないため、Askbotのインストール用に新しいユーザーを作成する必要があります。 ' askbotという名前の新しいユーザーを作成します 'そしてそのユーザーに新しいパスワードを与えます。

useradd -m -s /bin/bash askbot
passwd askbot

次に、 askbotを追加します 次のusermodコマンドを使用してsudoグループにユーザーを追加します。

usermod -a -G sudo askbot

新しいユーザーが作成されました。次に、python-pipを更新し、virtualenvパッケージをインストールする必要があります。次のpipコマンドを使用してこれらのパッケージをインストールします。

pip install --upgrade pip
pip install virtualenv

ここで、suコマンドを使用して「askbot」ユーザーとしてログインし、Askbotをインストールします。

su - askbot

そして、askbotをインストールするための新しい仮想環境を作成したいと思います。 virtualenvコマンドを使用して新しい仮想環境を作成します。

virtualenv hakase-labs

hakase-labsに移動します ディレクトリを作成し、virtualenvをアクティブにします。

cd hakase-labs/
source bin/activate

PostgreSQLデータベース接続用のpsycopg2を含むpipを使用してAskbotDjangoアプリをインストールします。

pip install askbot psycopg2

インストールが完了すると、次のような結果が表示されます。

次に、AskbotDjangoアプリの新しいディレクトリを作成します。「myapp」という名前を使用します。ディレクトリを作成し、そこにAskbotをインストールします。

mkdir myapp/
cd myapp

以下のコマンドでAskbotをインストールします。

askbot-setup

Askbotのインストールディレクトリについて尋ねられたら、「」を1つだけ入力します。 'そして'Enter'を押します。同様に、データベース構成の場合は、番号' 1を選択してPostgreSQLを選択します。 '。データベース名を入力します'askbotdb '、ユーザー名' hakaselabs 'パスワード付き'hakase123 '。

次に、次のコマンドを使用して静的ファイルディレクトリを生成します。

python manage.py collectstatic

「yes」と入力し、Enterキーを押して続行します。

syncdbオプションを使用してPostgreSQLデータベースを生成します。

python manage.py syncdb

次に、管理者ユーザーの作成について尋ねられます。「yes」と入力してから、管理者ユーザー、電子メール、およびパスワードを入力します。

これで、Askbotが「askbot」ユーザー仮想環境の下のシステムにインストールされました。以下のrunserverコマンドを実行して、Askbotのインストールをテストできます。

python manage.py runserver 0.0.0.0:8080

Webブラウザーを開き、ポート8080でサーバーIPを入力すると、以下に示すように「Askbot」ページが表示されます。

ステップ4-uWSGIをインストールして構成する

uWSGIは、Python、Perl、およびRubyベースのアプリケーションをサポートします。このチュートリアルでは、AskbotのインストールにNginxWebサーバーでuWSGIを使用します。次のpipコマンドを使用してuWSGIをインストールします。

sudo pip install uwsgi

次に、uWSGIサイト構成用の新しいディレクトリ「/ etc / uwsgi/sites」を作成します。

mkdir -p /etc/uwsgi/sites
/etc/uwsgi/sites

新しいuWSGI構成ファイル「askbot.ini」を「sites」ディレクトリに追加し、vimで編集します。

vim askbot.ini

そこに、次のuWSGI構成を貼り付けます。

[uwsgi]

# Project directory, Python directory
chdir = /home/askbot/hakase-labs/myapp
home = /home/askbot/hakase-labs/
static-map = /m=/home/askbot/hakase-labs/myapp/static
wsgi-file = /home/askbot/hakase-labs/myapp/django.wsgi

master = true
processes = 5

# Askbot will running under the sock file
socket = /home/askbot/hakase-labs/myapp/askbot.sock
chmod-socket = 664
uid = askbot
gid = www-data
vacuum = true

# uWSGI Log file
logto = /var/log/uwsgi.log

それでおしまい。保存して終了します。

次に、uWSGI用の新しいサービスファイルを作成する必要があります。 '/ etc / systemd / system /'ディレクトリに移動し、vimを使用して新しいuwsgi.serviceファイルを作成します。

cd /etc/systemd/system/
vim uwsgi.service

次のuWSGIサービス構成をそこに貼り付けます。

[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown askbot:www-data /run/uwsgi'
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

保存して終了。次に、systemdサービスをリロードします。

systemctl daemon-reload

次に、uWSGIサービスを開始し、システムの起動時に自動的に起動できるようにします。

systemctl start uwsgi
systemctl enable uwsgi

uWSGIはAskbotアプリ用にインストールおよび構成されており、システムサービスとして実行されています。

ステップ5-Nginxをインストールして構成します

これでAskbotがインストールされ、uWSGIソックスファイル「askbot.sock」で実行されます。このステップでは、NginxWebサーバーをuWSGIアプリケーションAskbotのリバースプロキシとして使用します。

次のaptコマンドを使用してリポジトリからNginxをインストールします。

apt install nginx

インストールが完了したら、nginx構成ディレクトリ'/ etc / nginx /'に移動し、新しいnginx仮想ホストファイル'askbot'を追加してください。

cd /etc/nginx
vim sites-available/askbot

次のaskbotnginx仮想ホスト構成を貼り付けます。

server {
        listen 80;
        server_name askbot.me www.askbot.me;
        location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/home/askbot/hakase-labs/myapp/askbot.sock;
   }
}

保存して終了します。

次に、「askbot」ファイルの「sites-enabled」ディレクトリへのシンボリックリンクを作成してAskbot仮想ホストファイルを有効にし、nginx構成をテストします。

ln -s /etc/nginx/sites-available/askbot /etc/nginx/sites-enabled/
nginx -t

Askbot仮想ホストが有効になります。次に、nginxサービスを再起動し、システムの起動時に自動的に開始できるようにします。

systemctl restart nginx
systemctl enable nginx

Nginxの構成が完了し、ポート80で実行されています。以下に示すように、netstatコマンドで確認してください。

netstat -plntu

次に、次のnetstatコマンドを使用してuWSGI sockファイルを確認し、askbotを確認します。

netstat -pl | grep askbot

Nginx Webサーバーがインストールされ、AskbotPythonDjangoアプリ用に構成されています。

ステップ6-テスト

Webブラウザーを開き、Askbotドメイン名:askbot.meにアクセスすると、以下に示すようなホームページが表示されます。

Askbotユーザーのログイン。

Askbotユーザーダッシュボード。

Askbotの設定。

AskbotDjango管理者ログイン。

AskbotDjango管理ダッシュボード。

Q&Aシステムアプリ「Askbot」は、Ubuntu16.04サーバー上のuWSGIおよびNginxWebサーバーとともにインストールされています。


Ubuntu
  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu20.04にMariadb10をインストールして構成する方法

  1. Ubuntu18.04にSambaをインストールして設定する方法

  2. Ubuntu20.04にRedisをインストールして構成する方法

  3. Ubuntu20.04にJenkinsをインストールして構成する方法

  1. Ubuntu14.04にMongoDBをインストールして構成する方法

  2. Ubuntu16.04にSolr6をインストールして構成する方法

  3. Ubuntu16.04にGitLabをインストールして構成する方法