private:poznamky:linux:apache2
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| private:poznamky:linux:apache2 [2025/01/06 18:24] – [OTP ověření] snemec | private:poznamky:linux:apache2 [2025/04/17 15:00] (aktuální) – snemec | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| + | ====== Apache ====== | ||
| + | |||
| + | ===== OTP ověření ===== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | Upravený skript, generuje QR kód, který je použitelný jak pro Apache reverse proxy tak pro Mikrotik VPN | ||
| + | |||
| + | Skript '' | ||
| + | Skript vygeneruje QR png soubor, '' | ||
| + | |||
| + | |||
| + | <code bash createOTP> | ||
| + | |||
| + | #!/bin/bash | ||
| + | |||
| + | # Kontrola vstupn_ch parametr_ | ||
| + | if [ " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # Vstupn_ parametry | ||
| + | USERNAME=" | ||
| + | APP_NAME=" | ||
| + | |||
| + | |||
| + | # Generov_n_ n_hodn_ho kl_~Me v bin_rn_m form_tu | ||
| + | # | ||
| + | HEX_KEY=$( head -c 1024 / | ||
| + | BASE32_KEY=$(echo -n " | ||
| + | |||
| + | # Generov_n_ OTP URL | ||
| + | OTP_URL=$(genotpurl -k " | ||
| + | |||
| + | # Generov_n_ QR k_du | ||
| + | OUTPUT_FILE=" | ||
| + | qrencode -s 10 -t PNG -o - " | ||
| + | |||
| + | # Ukl_d_n_ dat do CSV souboru | ||
| + | CSV_FILE=" | ||
| + | echo " | ||
| + | |||
| + | # Informace o _sp~[_n_m proveden_ | ||
| + | echo "QR k_d byl ulo_en do: $OUTPUT_FILE" | ||
| + | echo " | ||
| + | |||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | apt install git apache2 apache2-dev build-essential qrencode libssl-dev | ||
| + | |||
| + | git clone https:// | ||
| + | cd mod-authn-otp | ||
| + | |||
| + | ./ | ||
| + | ./configure && make | ||
| + | make install | ||
| + | |||
| + | echo " | ||
| + | |||
| + | # Pro kazdeheho uzivatele - zmente username na aktualniho uzivatele | ||
| + | KEY=$( head -c 1024 / | ||
| + | echo " | ||
| + | URL=$(genotpurl -I " | ||
| + | qrencode -s 10 -t PNG -o - ${URL} -o username_proxy.png | ||
| + | |||
| + | |||
| + | |||
| + | chown root: | ||
| + | chmod 644 / | ||
| + | |||
| + | #Virtual host config / | ||
| + | |||
| + | < | ||
| + | < | ||
| + | AuthType basic | ||
| + | AuthName "OTP Protected Area" | ||
| + | AuthBasicProvider OTP | ||
| + | OTPAuthUsersFile "/ | ||
| + | Require valid-user | ||
| + | # other options... | ||
| + | </ | ||
| + | | ||
| + | | ||
| + | # | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | service apache2 restart | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Pozor Apache standardně předává autorizační hlavičky, to. zn. pokud backend server podporuje Basic Authentication, | ||
| + | |||
| + | Proto je potřeba přidat do konfigurace host v Apache parametr '' | ||
| + | |||
| + | Příklad konfigurace pro Jira | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | AuthType basic | ||
| + | AuthName "OTP Protected Area" | ||
| + | AuthBasicProvider OTP | ||
| + | OTPAuthUsersFile "/ | ||
| + | Require valid-user | ||
| + | # other options... | ||
| + | </ | ||
| + | AllowEncodedSlashes On | ||
| + | # JIRA | ||
| + | ServerName jira.tool4dev.com | ||
| + | # | ||
| + | RewriteEngine On | ||
| + | RewriteCond %{HTTP_HOST} ^jira\.hpl\.cz$ [NC] | ||
| + | RewriteRule ^ https:// | ||
| + | SSLEngine on | ||
| + | SSLProxyEngine on | ||
| + | ProxyPreserveHost on | ||
| + | ProxyPass / https:// | ||
| + | ProxyPassReverse / https:// | ||
| + | # Odstrani halvicku Authoriztion pred odeslanim na backend server | ||
| + | RequestHeader unset Authorization | ||
| + | SSLProxyCheckPeerCN off | ||
| + | SSLCertificateFile | ||
| + | SSLCACertificateFile / | ||
| + | SSLCertificateKeyFile / | ||
| + | |||
| + | RequestHeader set X-Forwarded-Proto " | ||
| + | RequestHeader set X-Forwarded-Ssl on | ||
| + | # | ||
| + | SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 | ||
| + | LogLevel warn | ||
| + | ErrorLog ${APACHE_LOG_DIR}/ | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Chyba mail, webmail ===== | ||
| + | Na mailovém serveru přestal fungovat webmail.\\ | ||
| + | Při pokusu o restart serveru se objevila se následující hláška:\\ | ||
| + | |||
| + | Restarting web server: apache2(98)Address already in use: make_sock: could not bind to address [::]:443\\ | ||
| + | |||
| + | |||
| + | Pomohlo zahashování řádků v souboru ports.cfg. V souboru nesmí být vícenásobně použit příkaz Listen pro stejný port. | ||
| + | Kde se tam vzaly duplicitní záznamy je otázka? Je možné, že v rámci update balíků Apache.\\ | ||
| + | |||
| + | NameVirtualHost *:80 | ||
| + | Listen 80 | ||
| + | |||
| + | ### < | ||
| + | ### # If you add NameVirtualHost *:443 here, you will also have to change | ||
| + | ### # the VirtualHost statement in / | ||
| + | ### # to < | ||
| + | ### # Server Name Indication for SSL named virtual hosts is currently not | ||
| + | ### # supported by MSIE on Windows XP. | ||
| + | ### | ||
| + | ### </ | ||
| + | ### | ||
| + | < | ||
| + | Listen 443 | ||
| + | </ | ||
| + | |||
