GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare Askbot su Ubuntu 16.04

Askbot è un software open source per la creazione di forum di domande e risposte basato su Python Django Framework. È simile ad altri sistemi di domande e risposte come StackOverflow e Yahoo Answers. Lo strumento è stato utilizzato da grandi progetti software open source come Fedora e LibreOffice. Askbot è stato creato da Mike Chan e Sailing Cai nel 2009 ed è facile da installare e configurare su sistemi Linux come Ubuntu e CentOS.

In questo tutorial, ti mostreremo come installare passo dopo passo l'app Askbot Django utilizzando uWSGI e il server Web Nginx e utilizzeremo Ubuntu 16.04 Xenial Xerus come sistema operativo principale.

Cosa faremo:

  1. Installa dipendenze
  2. Installa e configura il database PostgreSQL
  3. Installa e configura Askbot
  4. Installa e configura uWSGI
  5. Installa e configura Nginx
  6. Test

Prerequisiti

  • Ubuntu 16.04
  • Privilegi di root

Passaggio 1:installa le dipendenze

Il primo passo che dobbiamo fare è installare i pacchetti necessari per l'installazione di Askbot. Quindi iniziamo. Connettiti al tuo server Ubuntu usando SSH.

ssh [email protected]

Quindi, installa pacchetti come python-dev, pip ecc. Con il seguente comando apt.

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

Tutti i pacchetti richiesti sono stati installati.

Passaggio 2 - Installa e configura il database PostgreSQL

Askbot offre supporto per molti sistemi di database come MySQL, SQLite e PostreSQL. In questo tutorial, useremo PostgreSQL come nostro sistema di database.

Installeremo PostgreSQL, configureremo l'autenticazione per l'utente locale, quindi creeremo un nuovo database e un nuovo utente per l'installazione di Askbot.

Installa il database PostgreSQL usando il seguente comando apt.

apt install -y postgresql postgresql-contrib

Ora modifica il pg_hba.conf file con vim per configurare l'autenticazione dell'utente locale.

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

Modifica tutta l'autenticazione utente locale utilizzando md5 come di seguito.

local   all             all                                     md5

Salva ed esci. Ora riavvia i servizi PostgreSQL e abilitalo per l'avvio automatico all'avvio del sistema.

systemctl restart postgresql
systemctl enable postgresql

Successivamente, dobbiamo creare un nuovo database e un nuovo utente per l'installazione di Askbot. Per il nostro caso, creeremo un nuovo database 'askbotdb ' con nome utente 'hakaselabs ' e password 'hakase123 '.

Accedi come postgres utente e accedi alla shell di PostgreSQL 'psql'.

su - postgres
psql

Cambia il postgres password utente con la tua password.

\password postgres

E crea un nuovo database 'askbotdb ' e un nuovo utente 'hakaselabs ' con password 'hakase123 ' utilizzando le seguenti query.

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

È stato creato un nuovo database PostgreSQL per l'installazione di Askbot.

Passaggio 3:installazione e configurazione dell'app Askbot Django

Tutti i pacchetti necessari per l'installazione di Askbot sono stati installati ed è stato creato il database PostgreSQL. Ora, il passaggio successivo consiste nell'installare e configurare Askbot.

Dobbiamo creare un nuovo utente per l'installazione di Askbot, poiché non utilizzeremo l'utente root per questo. Crea un nuovo utente chiamato 'askbot ' e dai a quell'utente una nuova password.

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

Quindi, aggiungi il askbot user al gruppo sudo usando il seguente comando usermod.

usermod -a -G sudo askbot

È stato creato un nuovo utente. Ora dobbiamo aggiornare python-pip e installare il pacchetto virtualenv. Installa questi pacchetti usando i seguenti comandi pip.

pip install --upgrade pip
pip install virtualenv

Ora, accedi come utente 'askbot' con il comando su, quindi installa Askbot.

su - askbot

E vogliamo creare un nuovo ambiente virtuale per la nostra installazione askbot. Crea un nuovo ambiente virtuale con il comando virtualenv.

virtualenv hakase-labs

Vai agli hakase-labs directory e attiva virtualenv.

cd hakase-labs/
source bin/activate

Installa l'app Askbot Django con pip, incluso psycopg2 per la connessione al database PostgreSQL.

pip install askbot psycopg2

Al termine dell'installazione, vedrai il risultato come mostrato di seguito.

Quindi, crea una nuova directory per l'app Askbot Django:useremo il nome 'myapp'. Crea la directory e installa Askbot al suo interno.

mkdir myapp/
cd myapp

Installa Askbot con il comando seguente.

askbot-setup

Quando ti viene chiesto della directory di installazione di Askbot, dai il singolo '. ' e premere 'Invio'. Allo stesso modo, per la configurazione del database, scegli PostgreSQL scegliendo il numero '1 '. Immettere il nome del database 'askbotdb ', nome utente 'hakaselabs ' con password 'hakase123 '.

Ora, genera la directory dei file statici con il seguente comando.

python manage.py collectstatic

Digita "sì" e premi Invio per continuare.

Genera il database PostgreSQL con l'opzione syncdb.

python manage.py syncdb

E ti verrà chiesto di creare l'utente amministratore:digita "sì" e quindi digita l'utente amministratore, l'e-mail e la password.

Askbot è ora installato sul sistema nell'ambiente virtuale dell'utente 'askbot'. Puoi testare l'installazione di Askbot eseguendo il comando runserver di seguito.

python manage.py runserver 0.0.0.0:8080

Apri il tuo browser web e digita l'IP del server con la porta 8080 e vedrai la pagina "Askbot", come mostrato di seguito.

Fase 4 - Installa e configura uWSGI

uWSGI supporta applicazioni basate su Python, Perl e Ruby. In questo tutorial, useremo uWSGI con il server web Nginx per la nostra installazione di Askbot. Installa uWSGI con il seguente comando pip.

sudo pip install uwsgi

Ora crea una nuova directory per la configurazione del sito uWSGI '/etc/uwsgi/sites'.

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

Aggiungi il nuovo file di configurazione uWSGI 'askbot.ini' alla directory 'sites' e modificalo con vim.

vim askbot.ini

Lì, incolla la seguente configurazione 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

Questo è tutto. Salva ed esci.

Successivamente, dobbiamo creare un nuovo file di servizio per uWSGI. Vai alla directory '/etc/systemd/system/' e crea un nuovo file uwsgi.service usando vim.

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

Incolla lì la seguente configurazione del servizio 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

Salva ed esci. Quindi, ricarica i servizi systemd.

systemctl daemon-reload

Ora avvia il servizio uWSGI e abilitalo per l'avvio automatico all'avvio del sistema.

systemctl start uwsgi
systemctl enable uwsgi

uWSGI è stato installato e configurato per la nostra app Askbot ed è in esecuzione come servizio di sistema.

Passaggio 5:installa e configura Nginx

Askbot è ora installato e funziona con il file sock uWSGI 'askbot.sock'. In questo passaggio, utilizzeremo il server Web Nginx come proxy inverso per l'applicazione uWSGI Askbot.

Installa Nginx dal repository usando il seguente comando apt.

apt install nginx

Al termine dell'installazione, vai alla directory di configurazione di nginx '/etc/nginx/' e aggiungi il nuovo file host virtuale nginx 'askbot'.

cd /etc/nginx
vim sites-available/askbot

Incolla la seguente configurazione dell'host virtuale 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;
   }
}

Salva ed esci.

Ora abilita il file dell'host virtuale Askbot creando un collegamento simbolico per il file "askbot" alla directory "siti abilitati" e testa la configurazione di nginx.

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

L'host virtuale Askbot è abilitato. Ora riavvia i servizi nginx e abilitalo per l'avvio automatico all'avvio del sistema.

systemctl restart nginx
systemctl enable nginx

La configurazione di Nginx è stata completata ed è in esecuzione sulla porta 80. Verificala con il comando netstat, come mostrato di seguito.

netstat -plntu

Ora controlla askbot controllando il file sock uWSGI usando il seguente comando netstat.

netstat -pl | grep askbot

Il server web Nginx è stato installato e configurato per l'app Askbot Python Django.

Fase 6 - Test

Apri il tuo browser web e visita il nome di dominio Askbot:askbot.me, e dovresti ottenere la home page come mostrato di seguito.

Accesso utente Askbot.

Dashboard utente Askbot.

Impostazioni Askbot.

Accesso amministratore Askbot Django.

Dashboard di amministrazione di Askbot Django.

L'app di sistema di domande e risposte "Askbot" è stata installata con il server Web uWSGI e Nginx sul server Ubuntu 16.04.


Ubuntu
  1. Come installare e configurare Redis su Ubuntu 18.04

  2. Come installare e configurare Redmine su Ubuntu 18.04

  3. Come installare e configurare Samba su Ubuntu 18.04

  4. Come installare e configurare Redis su Ubuntu 20.04

  5. Come installare e configurare Mariadb 10 in Ubuntu 20.04

Come installare e configurare Neo4j su Ubuntu 20.04

Come installare e configurare Ubuntu SDK in Ubuntu 16.04 e 14.04

Come installare e configurare PostgreSQL su Ubuntu

Come installare e configurare Hadoop su Ubuntu 20.04

Come installare e configurare Jenkins su Ubuntu

Come installare e configurare Jenkins in Ubuntu 20.04