GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でNginxを使用してAskbotをインストールおよび構成する方法

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

このチュートリアルでは、CentOS7システムでuWSGIとNginxWebサーバーを使用してAskbotPythonDjangoアプリケーションをインストールする方法を示します。データベースに関しては、AskbotのインストールにPostgreSQLを使用します。

何をするか
  1. 依存関係をインストールする
  2. PostgreSQLのインストールと構成
  3. Askbotのインストールと構成
  4. uWSGIをインストールして構成する
  5. NginxWebサーバーをインストールして構成する
  6. セットアップをテストする
前提条件
  • CentOS7サーバー
  • root権限
ステップ1-依存関係をインストールする

このステップでは、Askbotのインストールを成功させるために必要ないくつかのパッケージをインストールします。これらには、「開発ツール」、Epelリポジトリ、およびいくつかのPython関連ツール(Pythonパッケージを管理するため)が含まれます。それでは始めましょう。

まず、以下のyumgroupコマンドを使用してCentOSの「開発ツール」をインストールします。

 yum groupinstall'開発ツール'

次に、Epelリポジトリをインストールします。

 yum -y install epel-release 

そして最後に、python pip、python-devel、pythonsixなどのpythonパッケージをインストールします。

 yum -y install python-pip python-devel python-six 

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

ここで、CentOSリポジトリで利用可能なPostgreSQLデータベースが必要です。このセクションでは、PostgreSQLデータベースをインストールし、postgresパスワードユーザーを変更し、Askbotインストール用の新しいユーザーとデータベースを作成し、最後にpostgres認証構成を変更する方法について説明します。

それでは、以下のyumコマンドを使用してリポジトリからPostgreSQLをインストールすることから始めましょう。

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

インストールが完了したら、データベースを初期化する必要があります。これは、以下のコマンドを使用して実行できます。

 postgresql-setup initdb 

次に進み、postgresを起動して、起動時に自動的に起動できるようにします。

 systemctl start postgresql 
systemctl enable postgresql

この時点で、PostgreSQLデータベースをインストールする必要があります。次に、postgresユーザーのパスワードをリセットする必要があります。このためには、最初に「postgres」ユーザーとしてログインし、psqlコマンドラインツールにアクセスします。

 su --postgres 
psql

そして、postgresユーザーに新しいパスワードを与えます。

 \ password postgres 

次に、Askbotの新しいデータベースとユーザーを作成します。たとえば、新しいユーザー' hakaselabsを作成したいとします。 'パスワード付き'hakase123 '、および' askbotdbという名前のデータベース '。次のpostgresクエリは、これらすべてを作成するのに役立ちます。

データベースaskbotdbを作成します;
パスワード'hakase123'でユーザーhakaselabsを作成します;
データベースaskbotdbのすべての権限をhakaselabsに付与します;

これで、Askbotをインストールするためのデータベースとユーザーが作成されました。次のステップは、認証セットアップのpostgres構成を編集することです。これは、「pgsql / data」ディレクトリに移動し、「pg_hba.conf」ファイルをvimで編集することで実行できます。

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

ファイル内に入ると、以下に示すように、すべての認証をmd5に変更します。

<前>地元すべてすべてのMD5
#IPv4のローカル接続:
ホストすべてすべて127.0.0.1/32 md5の
#IPv6のローカル接続:すべてすべて
ホスト::1/128 md5

ここで、ファイルを保存して終了し、postgresサービスを再起動します。

 systemctl restart postgresql 

これで、PostgreSQLデータベースがインストールされました。 Askbotインストール用のデータベースが作成されました。また、postgresユーザー認証方法がmd5に変更されました。

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

このステップでは、Askbotのインストールと構成について説明します。 「askbot」という名前のユーザーの下で、virtualenvpythonを使用してAskbotをインストールします。それでは始めましょう。

まず、新しいユーザー「askbot」を作成し、ユーザーに新しいパスワードを与えます。

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

次に、「askbot」ユーザーを「wheel」グループに追加して、sudoコマンドにアクセスします(「sudo」が何であるかわからない場合は、こちらで詳細を確認してください)。

 usermod -a -G Wheel askbot 

次に、pipを最新バージョンにアップグレードし、pythonvirtualenvパッケージをインストールします。

 pip install --upgrade pip 
pip install virtualenv six

次。 'askbot'ユーザーとしてログインし、virtualenvを使用して新しいpython仮想環境'hakase-labs'を作成します。

 su --askbot 
virtualenv hakase-labs /

'hakase-labs'ディレクトリに移動し、Askbotをインストールするための仮想環境をアクティブ化します。

 cd hakase-labs / 
source bin / activate

次に、pipコマンドを使用してaskbotおよびその他のPythonパッケージを「hakase-labs」仮想環境にインストールします。

 pip install six 
pip install askbot psycopg2

次に、「Askbot」プロジェクトの新しいディレクトリを作成します。ディレクトリ名として「askbot」を使用しないように注意してください。たとえば、この例では、「myapp」という名前の新しいディレクトリを作成しました

 mkdir myapp / 

myappディレクトリに移動し、「askbot-setup」コマンドを実行します。

 cd myapp / 
askbot-setup

'askbot-setup'コマンドは、特定のことを尋ねます。たとえば、Askbotをデプロイするためのディレクトリパスについて尋ねられます。「。」と入力できます。 Enterキーを押して続行します。同様に、データベースエンジンについて尋ねられたら、「1」と入力してpostgresqlを使用し、Enterキーを押します。データベース関連の詳細については、データベース名を「askbotdb」、データベースユーザーを「hakaselabs」、パスワードを「hakase123」と入力してください。

これで、Askbotが「myapp」ディレクトリにインストールされました。次に、AskbotDjango静的ファイルとデータベースを生成する必要があります。

以下のコマンドを実行して、AskbotDjango静的ファイルを生成します。

 python manage.py collectstatic 

確認を求められたら、「はい」と入力してEnterキーを押します。

ここで、データベースを生成するには、以下のようにsyncdbを実行します。

 python manage.py syncdb 

管理者ユーザーとパスワードの作成について尋ねられます。したがって、尋ねられたら、管理者設定用のユーザー名、電子メール、およびパスワードを入力します。

これで、Askbotがインストールされ、静的ファイルが生成され、データベースの構成が完了しました。

以下のrunserverコマンドを使用してAskbotのインストールをテストできます。

 python manage.py runserver 0.0.0.0:8080 

Webブラウザを開き、サーバーのIPアドレスを入力すると、次のようなページが表示されます。

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

AskbotDjangoプロジェクトのサービスとしてuWSGIを使用します。具体的には、AskbotのインストールにNginxWebサーバーでuWSGIを使用します。それでは始めましょう。

まず、以下に示すように、pipコマンドを使用してuWSGIをインストールします。

 sudo pip install uwsgi 

インストールが完了したら、uWSGI仮想ホストファイル用の新しいディレクトリを作成します。たとえば、この例では、「/ etc / uwsgi/sites」を作成しました。

 mkdir -p / etc / uwsgi / sites 

新しく作成されたディレクトリに移動し、vimを使用して新しいaskbotuWSGI構成を作成します。

 cd / etc / uwsgi / sites 
vim askbot.ini

次の構成をファイルに貼り付けます。

 [uwsgi] 

#プロジェクトディレクトリ、Pythonディレクトリ
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
プロセス=5

#Askbotはsockファイルの下で実行されます
socket =/run/uwsgi/askbot.sock
chmod- socket =664
uid =askbot
gid =nginx
vacuum =true

#uWSGIログファイル
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:nginx / run / uwsgi'
ExecStart =/ bin / uwsgi --emperor / etc / uwsgi / sites
Reset =always
KillSignal =SIGQUIT
Type =notify
NotifyAccess =all

[インストール]
WantedBy =multi-user.target

保存して終了します。

次に、systemdサービスをリロードし、起動時にuWSGIが自動的に起動できるようにします。

systemctlデーモン-リロード
systemctlenable uwsgi

これで、uWSGIがインストールされ、サービスとして実行されていることがわかります。

ステップ5-Nginxウェブサーバーをインストールして設定します

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

まず、yumコマンドを使用してNginxをインストールします。

 yum -y install nginx 

次に、Nginxの「conf.d」ディレクトリに移動し、vimエディターで新しい仮想ホストファイル「askbot.conf」を作成します。

 cd /etc/nginx/conf.d/ 
vim askbot.conf

次のAskbotNginx構成をファイルに貼り付けます。

 server {
listen 80;
server_name askbot.me www.askbot.me;
場所/{
include include uwsgi_params;
ix uwsgi_params;
uwsgi / askbot.sock;
}
}

ファイルを保存して、エディターを終了します。次に、構成をテストして、エラーがないことを確認します。

 nginx -t 

次に、NginxおよびuWSGIサービスを開始します。

 systemctl start nginx 
systemctl start uwsgi

また、起動時に自動的に起動できるようにします。

 systemctl enable nginx 
systemctl enable uwsgi

そのため、NginxはuWSGIアプリケーション「Askbot」のリバースプロキシとしてインストールされます。

ステップ6-セットアップをテストする

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

Askbotユーザーのログインページは次のとおりです。

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

Askbot管理者設定:

Askbot Django管理者ログイン:

Askbot Django管理ダッシュボード:

そのため、Q&Aシステムアプリケーション「Askbot」は、CentOS7サーバー上のuWSGIおよびNginxWebサーバーとともに正常にインストールされました。


Cent OS
  1. CentOS8にNginxをインストールして構成する方法

  2. CentOS7にNginxをインストールして構成する方法

  3. CentOS7にRedisをインストールして設定する方法

  1. CentOS7にGitLabをインストールして構成する方法

  2. CentOS7でApacheを使用してNextcloudをインストールおよび構成する方法

  3. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  1. CentOS7にRedmineをインストールして設定する方法

  2. CentOS8にRedisをインストールして設定する方法

  3. CentOS8にNginxとPHP7.3でNextcloudをインストールする方法