GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare Askbot con Nginx su CentOS 7

Askbot è un software open source per la creazione di forum di domande e risposte basati su Python Django Framework. È fondamentalmente un sistema di domande e risposte come StackOverflow, Yahoo Answers e altri. Creato da Mike Chan e Sailing Cai nel 2009, è facile da installare e configurare su sistemi Linux come Ubuntu e CentOS. Molti grandi progetti di software open source come Fedora e LibreOffice lo stanno utilizzando.

In questo tutorial, ti mostreremo come installare l'applicazione Askbot Python Django utilizzando il server web uWSGI e Nginx sul sistema CentOS 7. Per quanto riguarda il database, utilizzeremo PostgreSQL per l'installazione di Askbot.

Cosa faremo

  1. Installa dipendenze
  2. Installa e configura PostgreSQL
  3. Installa e configura Askbot
  4. Installa e configura uWSGI
  5. Installa e configura il server web Nginx
  6. Verifica la configurazione

Prerequisiti

  • Server CentOS 7
  • Privilegi di root

Passaggio 1:installa le dipendenze

In questo passaggio, installeremo alcuni pacchetti necessari per una corretta installazione di Askbot. Questi includono "Strumenti di sviluppo", repository Epel e alcuni strumenti relativi a Python (per la gestione dei pacchetti Python). Allora cominciamo.

Innanzitutto, installa CentOS "Strumenti di sviluppo" con il comando yum group di seguito.

yum group install 'Development Tools'

Quindi installa il repository Epel.

yum -y install epel-release

E infine installa i pacchetti python, inclusi python pip, python-devel e python six.

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

Passaggio 2 - Installa e configura PostgreSQL

Ora abbiamo bisogno del database PostgreSQL, che è disponibile nel repository CentOS. In questa sezione, discuteremo di come installare il database PostgreSQL, modificare la password utente postgres, creare un nuovo utente e database per l'installazione di Askbot e, infine, modificare la configurazione di autenticazione postgres.

Quindi iniziamo con l'installazione di PostgreSQL dal repository usando il comando yum qui sotto.

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

Una volta completata l'installazione, è necessario inizializzare il database, operazione che puoi eseguire utilizzando il comando seguente.

postgresql-setup initdb

Andando avanti, avvia postgres e abilitalo all'avvio automatico all'avvio.

systemctl start postgresql
systemctl enable postgresql

A questo punto, il database PostgreSQL dovrebbe essere installato. Successivamente, è necessario reimpostare la password utente postgres. Per questo, prima accedi come utente 'postgres' e accedi allo strumento da riga di comando psql.

su - postgres
psql

E poi dai all'utente postgres una nuova password.

\password postgres

Ora crea un nuovo database e un nuovo utente per Askbot. Ad esempio, vogliamo creare un nuovo utente 'hakaselabs ' con password 'hakase123 ' e il database denominato 'askbotdb '. Le seguenti query postgres ci aiuteranno a crearle tutte.

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

Quindi ora sono stati creati un database e un utente per l'installazione di Askbot. Il passaggio successivo è modificare la configurazione di Postgres per l'impostazione dell'autenticazione, cosa che puoi fare andando alla directory 'pgsql/data' e modificando il file 'pg_hba.conf' con vim.

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

Una volta all'interno del file, cambia tutta l'autenticazione in md5, come mostrato di seguito.

local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Ora salva ed esci dal file, quindi riavvia il servizio postgres.

systemctl restart postgresql

Quindi, ormai, il database PostgreSQL è stato installato; è stato creato il database per l'installazione di Askbot; e il metodo di autenticazione utente di Postgres è stato cambiato in md5.

Fase 3 - Installa e configura Askbot

In questo passaggio, discuteremo l'installazione e la configurazione di Askbot. Installeremo Askbot con un utente chiamato 'askbot' e usando virtualenv python. Allora cominciamo.

Innanzitutto, crea un nuovo utente 'askbot' e fornisci all'utente una nuova password.

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

Quindi aggiungi l'utente "askbot" al gruppo "wheel" per l'accesso al comando sudo (non sei sicuro di cosa sia "sudo"? Scopri di più qui).

usermod -a -G wheel askbot

Ora aggiorna pip all'ultima versione e installa il pacchetto virtualenv python.

pip install --upgrade pip
pip install virtualenv six

Prossimo. accedi come utente 'askbot' e crea un nuovo ambiente virtuale Python 'hakase-labs' con virtualenv.

su - askbot
virtualenv hakase-labs/

Vai alla directory 'hakase-labs' e attiva l'ambiente virtuale per l'installazione di Askbot.

cd hakase-labs/
source bin/activate

Ora installa askbot e altri pacchetti python con il comando pip nell'ambiente virtuale 'hakase-labs'.

pip install six 
pip install askbot psycopg2

Quindi, crea una nuova directory per il progetto "Askbot". Assicurati di non utilizzare 'askbot' come nome della directory. Nel nostro caso, ad esempio, abbiamo creato una nuova directory denominata 'myapp'

mkdir myapp/

Vai alla directory myapp ed esegui il comando 'askbot-setup'.

cd myapp/
askbot-setup

Il comando 'askbot-setup' ti chiederà alcune cose. Ad esempio, ti verrà chiesto del percorso della directory per distribuire Askbot:puoi digitare '.' e premere Invio per continuare. Allo stesso modo, quando viene chiesto del motore di database, digitare '1' per utilizzare postgresql e premere Invio. Per i dettagli relativi al database, inserisci il nome del database come "askbotdb", l'utente del database come "hakaselabs" e la password come "hakase123".

Quindi Askbot è ora installato nella directory 'myapp'. Ora dobbiamo generare i file statici Askbot Django e il database.

Esegui il comando seguente per generare file statici Askbot Django.

python manage.py collectstatic

Alla richiesta di conferma, digita 'sì' e premi Invio.

Ora, per generare il database, esegui syncdb come di seguito.

python manage.py syncdb

Ti verrà chiesto di creare l'utente amministratore e la password. Quindi, quando richiesto, digita il nome utente, l'e-mail e la password per la configurazione dell'amministratore.

Quindi ormai Askbot è stato installato, sono stati generati file statici e la configurazione del database è stata completata.

Puoi testare l'installazione di Askbot con il comando runserver di seguito.

python manage.py runserver 0.0.0.0:8080

Apri il tuo browser Web e digita l'indirizzo IP del server e dovresti vedere una pagina simile alla seguente:

Fase 4 - Installa e configura uWSGI

Useremo uWSGI come servizio per il progetto Askbot Django. In particolare, utilizzeremo uWSGI con il server web Nginx per l'installazione di Askbot. Allora cominciamo.

Innanzitutto, installa uWSGI usando il comando pip, come mostrato di seguito.

sudo pip install uwsgi

Al termine dell'installazione, creare una nuova directory per i file dell'host virtuale uWSGI. Ad esempio, nel nostro caso, abbiamo creato '/etc/uwsgi/sites'.

mkdir -p /etc/uwsgi/sites

Vai alla directory appena creata e crea una nuova configurazione uWSGI di askbot con vim.

cd /etc/uwsgi/sites
vim askbot.ini

Incolla la seguente configurazione nel file.

[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 = /run/uwsgi/askbot.sock
chmod-socket = 664
uid = askbot
gid = nginx
vacuum = true

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

Questo è tutto. Salva il file ed esci dall'editor.

Quindi, aggiungi il nuovo file di script del servizio uWSGI alla directory '/etc/systemd/system'. Vai alla directory e crea il file 'uwsgi.service' con vim.

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

Incolla la seguente configurazione del servizio uWSGI nel file.

[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
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Salva ed esci.

Ora, ricarica i servizi di sistema e abilita uWSGI per l'avvio automatico all'avvio.

systemctl daemon-reload
systemctl enable uwsgi

Quindi con questo, uWSGI è stato installato e dovresti vederlo in esecuzione come servizio.

Passaggio 5 - Installa e configura il server web Nginx

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

Per cominciare, installa Nginx con il comando yum.

yum -y install nginx

Ora vai alla directory 'conf.d' di Nginx e crea un nuovo file host virtuale 'askbot.conf' con l'editor vim.

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

Incolla la seguente configurazione di Askbot Nginx nel file.

server {
        listen 80;
        server_name askbot.me www.askbot.me;
        location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/run/uwsgi/askbot.sock;
   }
}

Salva il file ed esci dall'editor. Ora prova la configurazione per assicurarti che non ci siano errori.

nginx -t

Quindi, avvia i servizi Nginx e uWSGI.

systemctl start nginx
systemctl start uwsgi

E consenti loro di avviarsi automaticamente all'avvio.

systemctl enable nginx
systemctl enable uwsgi

Quindi Nginx è ora installato come proxy inverso per l'applicazione uWSGI 'Askbot'.

Passaggio 6:verifica la configurazione

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

Ecco la pagina di accesso dell'utente Askbot:

Dashboard utente Askbot:

Impostazione amministratore Askbot:

Accesso amministratore Askbot Django:

Dashboard di amministrazione di Askbot Django:

Quindi l'applicazione di sistema di domande e risposte "Askbot" è stata installata con successo con il server Web uWSGI e Nginx sul server CentOS 7.


Cent OS
  1. Come installare e configurare Nginx su CentOS 8

  2. Come installare e configurare Nginx su CentOS 7

  3. Come installare e configurare Redis su CentOS 7

  4. Come installare e configurare GitLab su CentOS 7

  5. Come installare e configurare Nextcloud con Apache su CentOS 7

Come installare OwnCloud 8 con Nginx e MariaDB su CentOS 7

Come installare e configurare OpenLiteSpeed ​​con PHP 7 su CentOS 7

Come installare Askbot con Nginx e proteggere con Lets Encrypt su CentOS 8

PhpMyAdmin Installa e configura con Nginx su CentOS 7

Come installare OwnCloud 8 con Nginx e PHP-FPM su CentOS 6

Come installare e configurare MariaDB in CentOS / RHEL 7