GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Askbot na Ubuntu 16.04

Askbot je software s otevřeným zdrojovým kódem pro vytváření fóra otázek a odpovědí založených na Python Django Framework. Je to podobné jako u jiných systémů Q&A, jako je StackOverflow a Yahoo Answers. Tento nástroj byl používán velkými open source softwarovými projekty, jako je Fedora a LibreOffice. Askbot byl vytvořen Mike Chanem a Sailing Cai v roce 2009 a jeho instalace a konfigurace na linuxových systémech jako Ubuntu a CentOS je snadná.

V tomto tutoriálu vám ukážeme, jak krok za krokem nainstalovat aplikaci Askbot Django pomocí uWSGI a webového serveru Nginx a jako náš hlavní operační systém budeme používat Ubuntu 16.04 Xenial Xerus.

Co uděláme:

  1. Instalovat závislosti
  2. Nainstalujte a nakonfigurujte databázi PostgreSQL
  3. Nainstalujte a nakonfigurujte Askbot
  4. Nainstalujte a nakonfigurujte uWSGI
  5. Nainstalujte a nakonfigurujte Nginx
  6. Testování

Předpoklady

  • Ubuntu 16.04
  • Oprávnění uživatele root

Krok 1 – Instalace závislostí

Prvním krokem, který musíme udělat, je nainstalovat balíčky, které jsou potřebné pro instalaci Askbota. Takže začneme. Připojte se k serveru Ubuntu pomocí SSH.

ssh [email protected]

Dále nainstalujte balíčky jako python-dev, pip atd. pomocí následujícího příkazu apt.

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

Všechny požadované balíčky byly nainstalovány.

Krok 2 – Instalace a konfigurace databáze PostgreSQL

Askbot nabízí podporu pro mnoho databázových systémů, jako je MySQL, SQLite a PostreSQL. V tomto tutoriálu budeme jako náš databázový systém používat PostgreSQL.

Nainstalujeme PostgreSQL, nakonfigurujeme ověřování pro místního uživatele a poté vytvoříme novou databázi a uživatele pro instalaci Askbota.

Nainstalujte databázi PostgreSQL pomocí následujícího příkazu apt.

apt install -y postgresql postgresql-contrib

Nyní upravte pg_hba.conf soubor s vim pro konfiguraci ověřování místního uživatele.

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

Změňte všechna ověřování místních uživatelů pomocí md5, jak je uvedeno níže.

local   all             all                                     md5

Uložit a odejít. Nyní restartujte služby PostgreSQL a povolte, aby se automaticky spouštěly při startu systému.

systemctl restart postgresql
systemctl enable postgresql

Dále musíme vytvořit novou databázi a uživatele pro instalaci Askbota. Pro náš případ vytvoříme novou databázi 'askbotdb ' s uživatelským jménem 'hakaselabs “ a heslo „hakase123 '.

Přihlaste se jako postgres a přístup k PostgreSQL shellu 'psql'.

su - postgres
psql

Změňte postgres uživatelské heslo s vaším vlastním heslem.

\password postgres

A vytvořte novou databázi 'askbotdb “ a nový uživatel „hakaselabs ' s heslem 'hakase123 pomocí následujících dotazů.

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

Byla vytvořena nová databáze PostgreSQL pro instalaci Askbota.

Krok 3 – Instalace a konfigurace aplikace Askbot Django

Všechny balíčky potřebné pro instalaci Askbota byly nainstalovány a databáze PostgreSQL byla vytvořena. Nyní je dalším krokem instalace a konfigurace Askbota.

Potřebujeme vytvořit nového uživatele pro instalaci Askbota, protože pro něj nebudeme používat uživatele root. Vytvořte nového uživatele s názvem 'askbot “ a dejte tomuto uživateli nové heslo.

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

Dále přidejte askbota uživatele do skupiny sudo pomocí následujícího příkazu usermod.

usermod -a -G sudo askbot

Byl vytvořen nový uživatel. Nyní musíme aktualizovat python-pip a nainstalovat balíček virtualenv. Nainstalujte tyto balíčky pomocí následujících příkazů pip.

pip install --upgrade pip
pip install virtualenv

Nyní se přihlaste jako uživatel 'askbot' pomocí příkazu su a poté nainstalujte Askbot.

su - askbot

A chceme vytvořit nové virtuální prostředí pro naši instalaci askbota. Vytvořte nové virtuální prostředí pomocí příkazu virtualenv.

virtualenv hakase-labs

Přejděte do hakase-labs adresář a aktivujte virtualenv.

cd hakase-labs/
source bin/activate

Nainstalujte si aplikaci Askbot Django s pip, včetně psycopg2 pro připojení k databázi PostgreSQL.

pip install askbot psycopg2

Po dokončení instalace uvidíte výsledek, jak je uvedeno níže.

Dále vytvořte nový adresář pro aplikaci Askbot Django - budeme používat název 'myapp'. Vytvořte adresář a nainstalujte do něj Askbot.

mkdir myapp/
cd myapp

Nainstalujte Askbot pomocí příkazu níže.

askbot-setup

Až budete dotázáni na instalační adresář Askbota, zadejte jediné „. “ a stiskněte „Enter“. Podobně pro konfiguraci databáze zvolte PostgreSQL výběrem čísla '1 '. Zadejte název databáze 'askbotdb ', uživatelské jméno 'hakaselabs ' s heslem 'hakase123 '.

Nyní vygenerujte adresář se statickými soubory pomocí následujícího příkazu.

python manage.py collectstatic

Napište „ano“ a pokračujte stisknutím klávesy Enter.

Vygenerujte databázi PostgreSQL pomocí možnosti syncdb.

python manage.py syncdb

A budete dotázáni na vytvoření administrátorského uživatele – napište „ano“ a poté zadejte svého administrátora, e-mail a heslo.

Askbot je nyní nainstalován v systému pod uživatelským virtuálním prostředím „askbot“. Instalaci Askbota můžete otestovat spuštěním příkazu runserver níže.

python manage.py runserver 0.0.0.0:8080

Otevřete webový prohlížeč a zadejte IP serveru s portem 8080 a zobrazí se stránka 'Askbot', jak je uvedeno níže.

Krok 4 – Instalace a konfigurace uWSGI

uWSGI podporuje aplikace založené na Pythonu, Perlu a Ruby. V tomto tutoriálu budeme používat uWSGI s webovým serverem Nginx pro naši instalaci Askbota. Nainstalujte uWSGI pomocí následujícího příkazu pip.

sudo pip install uwsgi

Nyní vytvořte nový adresář pro konfiguraci webu uWSGI '/etc/uwsgi/sites'.

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

Přidejte nový konfigurační soubor uWSGI 'askbot.ini' do adresáře 'sites' a upravte jej pomocí vim.

vim askbot.ini

Tam vložte následující konfiguraci 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

A je to. Uložte a ukončete.

Dále musíme vytvořit nový soubor služby pro uWSGI. Přejděte do adresáře '/etc/systemd/system/' a vytvořte nový soubor uwsgi.service pomocí vim.

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

Zde vložte následující konfiguraci služby 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

Uložit a odejít. Poté znovu načtěte služby systemd.

systemctl daemon-reload

Nyní spusťte službu uWSGI a povolte její automatické spouštění při startu systému.

systemctl start uwsgi
systemctl enable uwsgi

uWSGI bylo nainstalováno a nakonfigurováno pro naši aplikaci Askbot a běží jako systémová služba.

Krok 5 – Instalace a konfigurace Nginx

Askbot je nyní nainstalován a běží pod souborem sock uWSGI 'askbot.sock'. V tomto kroku použijeme webový server Nginx jako reverzní proxy pro aplikaci uWSGI Askbot.

Nainstalujte Nginx z úložiště pomocí následujícího příkazu apt.

apt install nginx

Po dokončení instalace přejděte do konfiguračního adresáře nginx '/etc/nginx/' a přidejte nový soubor virtuálního hostitele nginx 'askbot'.

cd /etc/nginx
vim sites-available/askbot

Vložte následující konfiguraci virtuálního hostitele askbot nginx.

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

Uložte a ukončete.

Nyní povolte soubor virtuálního hostitele Askbot vytvořením symbolického odkazu pro soubor 'askbot' do adresáře 'sites-enabled' a otestujte konfiguraci nginx.

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

Virtuální hostitel Askbot je povolen. Nyní restartujte služby nginx a povolte jejich automatické spouštění při spouštění systému.

systemctl restart nginx
systemctl enable nginx

Konfigurace Nginx byla dokončena a běží na portu 80. Zkontrolujte to pomocí příkazu netstat, jak je znázorněno níže.

netstat -plntu

Nyní zkontrolujte askbota kontrolou sock souboru uWSGI pomocí následujícího příkazu netstat.

netstat -pl | grep askbot

Webový server Nginx byl nainstalován a nakonfigurován pro aplikaci Askbot Python Django.

Krok 6 – Testování

Otevřete svůj webový prohlížeč a navštivte název domény Askbot:askbot.me a měli byste získat domovskou stránku, jak je uvedeno níže.

Přihlášení uživatele Askbot.

Panel uživatele Askbot.

Nastavení Askbota.

Přihlášení správce Askbot Django.

Askbot Django admin Dashboard.

Systémová aplikace Q&A „Askbot“ byla nainstalována s webovým serverem uWSGI a Nginx na serveru Ubuntu 16.04.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Mariadb 10 v Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 14.04

  2. Jak nainstalovat a nakonfigurovat Solr 6 na Ubuntu 16.04

  3. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 16.04