Prispevky v kategorii: ‘’

Aktivace SSL + vytvoření SSL certifikátu

Pokud chcete využívat šifrovaný přenos je potřeba vytvořit SSL certifikát pro danou doménu.

Předem je potřeba znát tyto údaje:

  • název subdomény (např:  secure, www, protected atd.)
  • Název země (dvoupísmenný kód země)
  • Stát nebo provincie
  • Město
  • Název organizace
  • Část organizace (např: divize, sekce) (nepovinný)
  • emailová adresa

Dále je potřeba mít na serveru nainstalovaný mod_ssl apache modul.

yum install mod_ssl

Poté editujte soubor /etc/sysconfig/httpd a změňte direktivu

#OPTIONS=

na

OPTIONS="-DSSL -k start"

Tímto zajistíte že apache bude nyní startovat s SSL podporou.

Vygenerování SSL klíče:

openssl genrsa -des3 -out subdomena.domena.com.key 1024
pass phrase = domena

Klíč máme hotový, je čas vytvořit csr (certificate request) soubor:

openssl req -new -key subdomena.domena.com.key -out subdomena.domena.com.csr
pass phrase = domena
common name = cely format te domeny tzn. subdomena.domena.com
password = zde stisknout pouze enter
company = zde stisknout pouze enter

Dalším krokem je kontrola údajů:

openssl req -noout -text -in subdomena.domena.com.csr

Nyní zkopírujete vnitřek souboru  subdomena.domena.com.csr a použijete jej pro vygenerování certifikátu u cert. společnosti.

Na disku vytvoříte soubor subdomena.domena.com.crt a vložíte do něj vygenerovaný certifikát.

Nyní je potřeba odblokovat klíč, aby se vás to při každém restartu apache neptalo na heslo.

mv subdomena.domena.com.key subdomena.domena.com.key_old
openssl rsa -in old.key -out subdomena.domena.com.key
pass phrase = domena

Nyní už jen nakopírujete vytvořené subory do příslušných adresářů v apache konfiguraci, např:

/etc/httpd/conf/ssl.crt/subdomena.domena.com.crt
a
/etc/httpd/conf/ssl.key/subdomena.domena.com.key
a do nastavení virtual hostu přidáte:

<IfDefine SSL>
  <VirtualHost 123.123.123.123:443>
    ServerName subdomena.domena.com
    .....předchozí údaje +
    SSLEngine On
    SSLCertificateFile /etc/httpd/conf/ssl.crt/subdomena.domena.com.crt
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/subdomena.domena.com.key
  </VirtualHost>
</IfDefine SSL>

Důležitá je také unikátní IP adresa pokud na serveru budete provozovat více domén s SSL certifikátem.

admin Apache tipy

Indexace slov kratších než 4 znaky

Pokud si přejete na stránkách vyhledávat slova kratší než 4 znaky (mysql default hodnota je právě 4), přidejte do souboru /etc/my.cnf

[mysqld]
ft_min_word_len=3

admin Mysql tipy

Práva uživatelů

Někdy je potřeba upravit práva uživatelů přistupujících na jeden jediný FTP účet.

V FTP home adresáři vytvořte soubor .ftpaccess a vložte do něj něco jako:

<Limit Read Dele>
Deny all
Allow 123.123.123.123
Order allow,deny
</Limit>

Toto například povolí čtení a smazání souborů na FTP pouze pro uživatele z IP 123.123.123.123.

admin FTP tipy

Zobrazí skryté soubory v FTP klientovi

V souboru /etc/proftpd.conf do <Global /> nastavení přidejte:

ListOptions "-a"

a restartněte proftpd daemona. Skryté soubory (s tečkou na začátku souboru) se nyní budou zobrazovat.

admin FTP tipy

Směrování návštěvníka na určitou URL podle země/státu

Cílem tohoto příspěvku je ukázat jak se dá návštěvník přesměrovat na určitou adresu nebo zakázat přístup na stránky podle lokace návštěvníka.  Například nepřejete-li si aby vaše stránky navštěvovali návštěvníci z Indie nebo Číny, tak jim zakážete přístup nebo je přesměrujete na jiné stránky.

Ke zprovoznění tohoto je potřeba nainstalovat na server balíčky:
GeoIP GeoIP-data a mod_geoip.

Postup pro Fedora Core, CentOS distribuce:

yum install GeoIP GeoIP-data mod_geoip

Pokud budete kompilovat ze zdroje je potřeba stáhnout balíčky: GeoIP a mod_geoip zkompilovat GeoIP, pak jít do rozbaleného adresáře mod_geoip a spustit:

/cesta/k/apxs -cia -I/usr/local/include -L/usr/local/lib -lGeoIP
/cesta/k/mod_geoip_1.2.9/mod_geoip.c

kde -I/usr/local/include je cesta k souboru GeoIP.h a -L/usr/local/lib je cesta k libGeoIP knihovně.

Po úspěšném zkompilování modulu pokud by se objevila chybová hláška, je potřeba editovat soubor /etc/ld.so.conf a přidat do něj cestu k modulu (pokud chybí) pravdepodobne: /usr/local/lib

a reloadnout příkazem:

/sbin/ldconfig

Dále je potřeba do apache konfigurace přidat řádky (pokud tam již nejsou):

GeoIPEnable On
GeoIPDBFile /cesta/k/GeoIP/GeoIP.dat

a do souboru .htaccess vložit řádky:

RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN$ [OR]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^IN$
RewriteRule ^(.*)$ - [F, NC]

… kde CN = Čína a IN = Indie dle tohoto seznamu.

Aktuální GeoIP databáze se dá stáhnout zde.

admin Apache tipy

Antihotlink kód

Jednou z možností jak zabránit hotlinkování obrázků je vytvořit soubor .htaccess (jednoduchý textový soubor který začíná tečkou) a vložit do něj:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+.)?domena.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F]

Problém je ovšem s tím, pokud návštěvník stránky s hotlinkovaným obsahem má u sebe ve firewallu zaškrtlou volbu „stop trace referers“, antihotlink kód pro takovéhoto návštěvníka neplatí, a vy máte smůlu a musíte sáhnout po jiné metodě.
Dobrý nástroj pro kontrolu zda antihotlink funguje či ne, je tato stránka.

admin Apache tipy

Adresáře jako subdomény

Pokud potřebujete aby každý adresář uvnitř Document rootu byl zároveň subdoména, je potřeba učinit následující kroky:
- předně je potřeba povolit wildcards v dns záznamu pro danou doménu.
Do dns záznamu přidejte:

*    IN    A    123.123.123.123

- v nastavení virtual hostu vytvořte záznam:

ServerAlias *.domena.com domena.com

- nakonec přidejte tyto řádky do virtual hostu dané domény:

RewriteEngine On
RewriteCond  %{HTTP_HOST} !^www
RewriteCond  %{HTTP_HOST} ^([^.]+)
RewriteCond  %{DOCUMENT_ROOT}/%1 -d
RewriteRule  ^/(.*) %{DOCUMENT_ROOT}/%1/$1

Tímto nastavením zaručíte, že každý adresář bude zátoveň i subdoménou.

Například: /public_html/test bude zároveň http://test.domena.com

admin Apache tipy