GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Askbot s Nginx a zabezpečit pomocí Lets Encrypt na CentOS 8

Askbot je bezplatný, open source a vysoce přizpůsobitelný software pro otázky a odpovědi napsaný v Pythonu a Djangu. Je jednoduchý, lehký a velmi podobný jinému softwaru na fóru StackOverflow a YahooAnswers. Askbot poskytuje spoustu funkcí včetně značek a kategorií, e-mailových upozornění, systému založeného na karmě, hlasování, moderování obsahu a mnoha dalších.

V tomto tutoriálu vám ukážeme, jak nainstalovat software fóra Askbot na CentOS 8 pomocí Let's Encrypt SSL.

Předpoklady

  • Server se systémem CentOS 8.
  • Na vašem serveru je nastaveno heslo uživatele root.

Instalovat požadované závislosti

Než začnete, budete muset do systému nainstalovat některé požadované závislosti.

Nejprve nainstalujte „Development Tools“ pomocí následujícího příkazu:

instalace skupiny dnf 'Development Tools'

Dále nainstalujte úložiště EPEL a další závislosti Pythonu pomocí následujícího příkazu:

dnf install epel-release -y
dnf install python2-pip python2-devel python2-six -y

Jakmile jsou všechny požadované balíčky nainstalovány, můžete přejít k dalšímu kroku.

Instalace a konfigurace PostgreSQL

Askbot používá PostgreSQL k ukládání svých dat. Budete jej tedy muset nainstalovat do svého systému. Můžete jej nainstalovat pomocí následujícího příkazu:

dnf install postgresql-server postgresql-devel postgresql-contrib -y

Po instalaci inicializujte databázi pomocí následujícího příkazu:

postgresql-setup initdb

Měli byste získat následující výstup:

VAROVÁNÍ:pomocí zastaralé syntaxe argumentů, zkuste --helpUPOZORNĚNÍ:argumenty transformovány na:postgresql-setup --initdb --unit postgresql * Inicializace databáze v '/var/lib/pgsql/data' * Inicializováno, protokoly jsou v / var/lib/pgsql/initdb_postgresql.log

Dále spusťte službu PostgreSQL a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl spustit postgresql
systemctl povolit postgresql

Dále se přihlaste do prostředí PostgreSQL pomocí následujícího příkazu:

su - postgres
[[e-mail chráněný] ~]$ psql

Výstup:

psql (10.6) Napište "help" pro help.postgres=# 

Dále vytvořte databázi a uživatele pro Askbot pomocí následujícího příkazu:

postgres=# vytvořit databázi askbot;
postgres=# vytvořit uživatele askbot s heslem 'password';

Dále udělte všechna oprávnění askbotu pomocí následujícího příkazu:

postgres=# udělte askbotovi všechna oprávnění na databázi askbot;

Nakonec ukončete prostředí PostgreSQL pomocí následujícího příkazu:

postgres=# \q

Dále budete muset nakonfigurovat místní ověřování uživatelů pro PostgreSQL. Můžete to udělat úpravou souboru pg_hba.conf:

nano /var/lib/pgsql/data/pg_hba.conf

Nahraďte peer za md5 v následujících řádcích:

místní všichni všichni hostitelé md5 všichni všichni 127.0.0.1/32 hostitel md5 všichni všichni ::1/128 md5 

Po dokončení uložte a zavřete soubor. Poté restartujte službu PostgreSQL, aby se změny projevily:

systemctl restart postgresql

Instalace a konfigurace Askbota

Před instalací Askbota budete muset vytvořit uživatele pro Askbot. Můžete vytvořit nového uživatele Askbot a nastavit heslo pomocí následujícího příkazu:

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

Dále přidejte uživatele Askbota do skupiny wheel pro přístup k příkazu sudo:

usermod -a -G wheel askbot

Dále nainstalujte balíček python virtualenv pomocí následujícího příkazu:

pip2 install virtualenv six

Po instalaci změňte uživatele na askbota a vytvořte nové virtuální prostředí pro Askbota pomocí následujícího příkazu:

su - askbot
virtualenv askbot

Měli byste vidět následující výstup:

vytvořené virtuální prostředí CPython2.7.16.final.0-64 za 663 ms tvůrce CPython2Posix(dest=/home/askbot/askbot, clear=False, global=False) Seeder FromAppData(download=False, pip=latest, setuptools=nejnovější, kolo=nejnovější, via=copy, app_data_dir=/tmp/tmp9YFr7B/seed-app-data/v1) aktivátory PythonActivator,CShellActivator,FishActivator,PowerShellActivator,BashActivator

Dále změňte adresář na askbot a aktivujte virtuální prostředí pomocí následujícího příkazu:

cd askbot
source bin/activate

Výstup:

(askbot) [[email protected] askbot]$

Dále nainstalujte Askbot a další požadované závislosti pomocí následujícího příkazu:

pip2 install six==1.10.0
pip2 install askbot psycopg2

Dále vytvořte nový adresář pro vaši aplikaci, změňte adresář na vaši aplikaci a nastavte Askbota pomocí následujícího příkazu:

mkdir myapp
cd myapp
askbot-setup

Měli byste vidět následující výstup:

Nasazení Askbota – aplikace fóra otázek a odpovědí Django Máte problémy s instalací? -> pošlete e-mail [chráněný e-mailem]Pro ZRUŠENÍ - kdykoli stiskněte Ctr-CZadejte cestu k adresáři (absolutní nebo relativní) pro nasazeníaskbot. Chcete-li vybrat aktuální adresář - zadejte "."> .

Zadejte "." a stiskněte Enter pokračovat. Měli byste vidět následující výstup:

Vyberte prosím databázový stroj:1 – pro postgresql, 2 – pro sqlite, 3 – pro mysql, 4 – oracletype 1/2/3/4:1

Napište 1 pro výběr postgresql databázového stroje a pokračujte stisknutím klávesy Enter. Měli byste vidět následující výstup:

Zadejte název databáze (povinné)> askbotZadejte uživatele databáze (povinné)> askbotZadejte heslo databáze (povinné)> heslo

Zadejte podrobnosti o své databázi Askbot a stiskněte Enter . Po dokončení instalace byste měli vidět následující výstup:

Kopírování souborů:* __init__.py * manage.py * urls.py * django.wsgi Vytvoření souboru nastavení souboru vytvořeného adresáře pro kopírování:* doc* cron* upfilesDone. Další pokyny naleznete na adrese http://askbot.org/doc/

Dále vygenerujte statické soubory a databázi Askbot Django pomocí následujícího příkazu:

python manage.py collectstatic
python manage.py syncdb

Zadejte požadované uživatelské jméno správce, e-mail a heslo, jak je uvedeno níže:

Nainstalovali jste ověřovací systém Django a nemáte definované žádné superuživatele. Přejete si ho nyní vytvořit? (ano/ne):anoUživatelské jméno (nechte prázdné, chcete-li použít 'askbot'):askbotadminE-mailová adresa:[chráněný e-mailem]Heslo:Heslo (znovu):Superuživatel byl úspěšně vytvořen.

Instalace a konfigurace uWSGI

Dále budete muset nainstalovat uWSGI do vašeho systému. uWSGI je softwarový nástroj používaný ke spouštění webových aplikací založených na Pythonu. Můžete jej nainstalovat pomocí následujícího příkazu:

pip2 nainstalovat uwsgi

Po instalaci uWSGI vytvořte nový adresář pro uWSGI pomocí následujícího příkazu:

mkdir -p /etc/uwsgi/sites

Dále vytvořte nový konfigurační soubor uWSGI, jak je znázorněno níže:

nano /etc/uwsgi/sites/askbot.ini

Přidejte následující řádky:

[uwsgi]chdir =/home/askbot/askbot/myapphome =/home/askbot/askbotstatic-map =/m=/home/askbot/askbot/myapp/staticwsgi-file =/home/askbot/askbot/myapp /django.wsgimaster =trueprocesses =5# Askbot poběží pod sock filesocket =/run/uwsgi/askbot.sockchmod-socket =664uid =askbotgid =nginxvacuum =true# uWSGI Log fileogto =/var/log/uwsgi.log 

Vytvoření souboru služby Systemd pro uWSGI

Dále budete muset vytvořit soubor služby systemd pro správu služby uWSGI. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/systemd/system/uwsgi.service

Přidejte následující řádky:

[Unit]Description=služba uWSGI[Služba]ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown askbot:nginx /run/uwsgi'ExecStart=/bin/uwsgi --emperor /etc/uwsgi/sitesRestart=alwaysKillSignal=SIGQUITType=notifyNotifyAccess=all[Install]WantedBy=multi-user.target

Po dokončení uložte a zavřete soubor. Poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Instalace a konfigurace Nginx

Dále budete muset nainstalovat a nakonfigurovat Nginx, aby sloužil vaší aplikaci Askbot.

Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:

dnf nainstalovat nginx -y

Po instalaci vytvořte nový konfigurační soubor virtuálního hostitele pro Askbot:

nano /etc/nginx/conf.d/askbot.conf

Přidejte následující řádky:

server { poslouchat 80; název_serveru askbot.linuxbuz.com; umístění / { include uwsgi_params; uwsgi_pass unix:/run/uwsgi/askbot.sock; } }

Uložte a zavřete soubor. Poté spusťte službu Nginx a uWSGI a povolte jim spuštění po restartu systému pomocí následujícího příkazu:

systemctl spustit nginx
systemctl povolit nginx
systemctl spustit uwsgi
systemctl povolit uwsgi

Bezpečný Askbot pomocí Let's Encrypt SSL

Dále budete muset do svého systému nainstalovat obslužný program Certbot, abyste si mohli stáhnout a nainstalovat Let's Encrypt SSL pro doménu Askbot.

Klienta Certbot můžete nainstalovat pomocí následujícího příkazu:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot- auto
chmod 0755 /usr/local/bin/certbot-auto

Dále získejte a nainstalujte certifikát SSL pro doménu Askbot pomocí následujícího příkazu:

certbot-auto --nginx -d askbot.linuxbuz.com

Výše uvedený příkaz nejprve nainstaluje všechny požadované závislosti na váš server. Po instalaci budete požádáni o zadání e-mailové adresy a přijetí podmínek služby, jak je uvedeno níže:

Ukládání protokolu ladění do /var/log/letsencrypt/letsencrypt.log Vybrané pluginy:Authenticator nginx, Installer nginxZadejte e-mailovou adresu (používá se pro naléhavá upozornění na obnovení a zabezpečení) (Zadejte „c“ pro zrušení):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Přečtěte si podmínky služby na https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Chcete-li se zaregistrovat na serveru ACME na adrese https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Byli byste ochotni sdílet svou e-mailovou adresu s Electronic FrontierFoundation, zakládajícím partnerem projektu Let's Encrypt a neziskovou organizací, která vyvíjí Certbot? Rádi bychom vám poslali e-mail o naší práci na šifrování webu, novinkách EFF, kampaních a způsobech podpory digitální svobody.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)ne:YZískání nového certifikátu Provedení následujících výzev:http-01 výzva pro askbot.linuxbuz.comČekání na ověření...Čištění up challengeNasazení certifikátu na VirtualHost /etc/nginx/conf.d/askbot.conf

Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:

Zvolte prosím, zda chcete přesměrovat provoz HTTP na HTTPS a odebrat přístup HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Žádné přesměrování - Nedělejte žádné další změny v konfiguraci webového serveru.2:Přesměrování - Proveďte přesměrování všech požadavků na zabezpečený přístup HTTPS. Vyberte toto pro nové weby, nebo pokud jste si jisti, že váš web funguje na HTTPS. Tuto změnu můžete vrátit zpět úpravou konfigurace vašeho webového serveru.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vyberte příslušné číslo [1-2] a poté [enter] (zrušte stisknutím 'c'):2

Zadejte 2 a stiskněte Enter pokračovat. Po dokončení instalace byste měli vidět následující výstup:

Přesměrování veškerého provozu na portu 80 na ssl v /etc/nginx/conf.d/askbot.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Gratulujeme! Úspěšně jste povolili https://askbot.linuxbuz.com Měli byste otestovat svou konfiguraci na:https://www.ssllabs.com/ssltest/analyze.html?d=askbot.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DŮLEŽITÉ POZNÁMKY:- Gratulujeme! Váš certifikát a řetězec byly uloženy na:/etc/letsencrypt/live/askbot.linuxbuz.com/fullchain.pem Váš soubor klíče byl uložen na:/etc/letsencrypt/live/askbot.linuxbuz.com/privkey.pem Váš platnost certifikátu vyprší 2020-06-11. Chcete-li v budoucnu získat novou nebo vylepšenou verzi tohoto certifikátu, jednoduše znovu spusťte certbot-auto s možností „certonly“. Chcete-li neinteraktivně obnovit *všechny* své certifikáty, spusťte „certbot-auto renew“ – Pokud se vám Certbot líbí, zvažte prosím podporu naší práce:Darováním pro ISRG / Let's Encrypt:https://letsencrypt.org/donate Darováním pro EFF:https://eff.org/donate-le

Konfigurace brány firewall a SELinux

Dále budete muset vytvořit pravidlo brány firewall pro povolení služeb HTTP a HTTPS z externích sítí. Můžete to povolit pomocí následujícího příkazu:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Ve výchozím nastavení je SELinux v CentOS 8 povolen. Aby Askbot správně fungoval, je doporučeno jej deaktivovat. Můžete jej zakázat úpravou souboru /etc/selinux/config:

nano /etc/selinux/config

Najděte následující řádek:

SELINUX=vynucování

A nahraďte jej následujícím řádkem:

SELINUX=zakázáno

Uložte a zavřete soubor. Poté restartujte systém, aby se změny projevily:

Přístup k Askbotu

Nyní otevřete webový prohlížeč a zadejte adresu URL https://askbot.linuxbuz.com. Budete přesměrováni na následující obrazovku:

Klikněte na znak v knoflík. Na následující obrazovce byste měli vidět přihlašovací stránku Askbota:

Zadejte své uživatelské jméno, heslo správce Askbot a klikněte na Podepsat v knoflík. Na následující obrazovce byste měli vidět řídicí panel Askbota:

Závěr

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali fórum Askbot na CentOS 8 a zabezpečili ho pomocí Let's Encrypt SSL. Nyní můžete začít vytvářet otázku a odpověď pomocí Askbota.


Cent OS
  1. Zabezpečte Nginx pomocí Lets Encrypt na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Askbot s Nginx na CentOS 7

  3. Jak nainstalovat a nastavit Varnish Cache 6 s Nginx na CentOS 8

  1. Jak nainstalovat Shopware s NGINX a Lets Encrypt na CentOS 7

  2. Jak nainstalovat WonderCMS s Nginx a nechat šifrovat SSL na CentOS 7

  3. Jak nainstalovat Pico CMS s Nginx a Lets Encrypt na CentOS 7

  1. Nainstalujte Automad CMS s Nginx a Lets Encrypt SSL na CentOS 7

  2. Jak nainstalovat WordPress s Nginx a nechat šifrovat SSL na CentOS 8

  3. Nainstalujte a nakonfigurujte Drupal 8 pomocí Nginx a Lets Encrypt na CentOS 8