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.logVytvoř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.servicePř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.targetPo 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-reloadInstalace 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 -yPo instalaci vytvořte nový konfigurační soubor virtuálního hostitele pro Askbot:
nano /etc/nginx/conf.d/askbot.confPř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 uwsgiBezpeč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-autoDá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.comVýš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.confDá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'):2Zadejte 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-leKonfigurace 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=httpfirewall-cmd --permanent --add-service=https
firewall-cmd --reloadVe 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/configNajděte následující řádek:
SELINUX=vynucováníA nahraďte jej následujícím řádkem:
SELINUX=zakázánoUlož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.
Jak nainstalovat a nakonfigurovat VNC Server na CentOS 8 Jak nainstalovat a používat nástroj Perf Performance Analysis na CentOS 8Cent OS