Systém Magento je představuje v současné době jednu z nejlepších opensource platforem pro elektronické obchodování (e-commerce), postavená nad jazykem PHP, Zend Frameworkem a tradičním relačním enginem MySQL/MariaDB, dle průzkumu v roce 2015 z třiceti nejpoužívanějších e-commerce platforem si drží market share 30%.
Linux mini-howto?
Krátce o nástrojích ze života sysadmina.
Dnes krátce, ale o to možná užitečněji. :-).
Bash history a HISTTIMEFORMAT
Příkaz historyje jeden z mnoha vestavěných (buildin) nástrojů populárního interpretu příkazového řádku (shell) Bash, za normálních okolností je historie provedených příkazů uchována v souboru ~/.history (~/.bash_history) každého uživatele a příkaz history přečte a zobrazí soupis provedených povelů, to je fajn, hodí se to, používá se, chceme to. Pokračování textu Linux mini-howto: Bash history a HISTTIMEFORMAT→
Pro společnost karelhadek.eu jsme realizovali kompletní konfiguraci nového emailové serveru postaveného na operačním systému Linux, obsluhuje ~ 100GB uložených poštovních zpráv pro více než 70 samostatných emailových schránek, pro snadnou obsluhu je dostupný ovládací panel skrze www rozhraní, implicitní šifrování veškerého provozu, online monitoring stavu služeb, veškeré nasazené technologie jsou otevřený software. Pokračování textu Realizováno! Linux poštovní server pro Karelhadek.eu→
Linux mini-howto?
Krátce o nástrojích ze života sysadmina.
Postfix jako jeden z nejrozšířenějších opensourceSMTP serverů na světě má trochu “nesmyslně” (z pohledu uživatelů) nastavenou výchozí hodnotu fronty pro doručování pošty a to na hodnotu 5 dní a proto tento malý krátký fix. Co to znamená ? Pokud se odeslaný email nepodaří doručit a jako odpověď přijde chyba 4XX, tedy dočasný problém (např. přeplněná schránka příjemce, chybný email, problém na serveru příjemce, …) náš Postfix si ji uloží do fronty deffered a pokouší se ji doručit v intervalech po dobu 5 dnů, pokud se to nezdaří dostane odesílatel zprávu o nedoručení pro X dnech což pro může být značně matoucí.
V Postfix konfiguraci je tedy možné zkrátit maximální dobu fronty.
V ukázce je nastavení doby na 8 hod (maximal_queue_lifetime), nezkracujte tuto dobu příliš, můžete poté mít potíže s greylistováním a také je dobré ponechat příjemci nějaký čas pokud má problémy dočasného charakteru, nastavení na 0 lze tuto funkci úplně vypnout, tedy jeden pokus o doručení a nic více.
Hodnoty minimal_backoff_time, maximal_backoff_time definují interval opětovného odeslání zprávy, Postfix si uměle prodlužuje čas u každé zprávy po každém pokusu až po maximal, queue_run_delay je poté interval jak často “obíhat” frontu.
Linux mini-howto?
Krátce o nástrojích ze života sysadmina.
Let’s Encrypt a ACME.sh
Let’s Encrypt je “nová raketově rostoucí” certifikační autorita nabízející zdarma HTTPS (resp. obecně lze podepsat např. SMTP/IMAP,…), v současné době zatím není Let’s Encrypt kořenová certifikační autorita, proto jsou mezilehlé certifikáty podepsané autoritou IdenTrust (DST Root CA X3), tak jak je popsáno v “Chain of Trust“, na tomto kroku se pracuje, ale nebude to hned, navíc chvíli potrvá než se kořenové certifikáty rozdistribuují do prohlížečů, zařízení, atd.
Velká myšlenka výzvy Let’s Encrypt (“pojďme šifrovat”) je zlepšení situace internetové bezpečnost a masivní přechod na šifrované komunikační kanály, s tímto cílem je poskytována zcela zdarma pro každého kdo vlastní doménu, je plně automatizována (klient nasazený na Vašem serveru komunikuje s infrastrukturou Let’s Encrypt za účelem získání/prodloužení/revokování certifikátu), transparetní a otevřená. https://letsencrypt.org/about/
Let’s Encrypt obsluhované cert.
“Chain of Trust”, řetězec důvěry Let’s Encrypt
ACME a ACME.sh
ACME (Automatic Certificate Management Environment) je v jednoduchosti řečeno protokol pro komunikaci s infrastrukturou Let’s Encrypt, pro manipulaci s certifikáty je nutné použít na své straně klienta, který korektně implementuje právě protokol ACME.
Certifikáty pro každého ?
Jedním z klíčových požadavků pro vystavení certifikátu je ověření identity žadatele, předpoklad je, že pokud žádám o certifikát pro doménu mojedomena.cz, tak jsem schopen ji kontrolovat, nejčastější kontrola je pomocí techniky webroot , do speciálního adresáře (/.well-known/) je umístěna výzva/žádost, pro výzvu si na www.mojedomena.cz/.well-known si sáhne robot Let’s Encrypt a pokud je vše v pořádku realizuje akci (např. vystavení certifikátu), tímto mechanismem dokazuji, že jsem schopen kontrolovat svoji doménu, tedy nejsem např. schopen udělat (za normálních okolností) tento trik s cizí doménou a tím si nechat vystavit certifikát např. pro seznam.cz.
Toto nejčastější postup ověření identity žadatele, nikoliv však jediný, další možnost je DNS mode, který funguje velmi podobně, z principu je patrné, že vše je vymyšleno tak, aby bylo možné masivně a hlavně zcela automatizovaně nasazovat certifikáty, což je cílem, protože vlastní certifikáty mají platnost pouze 90 dní, takže automatická “recyklace” je v nasazení nutnost.
ACME.sh
Existuje oficiální ACME klient Let's Encrypt certbot.
Certbot je napsán v jazyce Python, který toho umí opravdu hodně, ale zároveň jde o poměrně velký kus software se spoustou závislostí, který si na serveru “builduje” vlastní prostředí pro Python, v některých případech, ale toto nechcete a třeba ani nemůžete použít (např. menší servery, embedded,…) v tomto případě sáhněte po scriptu ACME.sh.
ACME.sh je malý shell script (unix shell) implementující plně protokol ACME, jednoduchý, snadný na použití i instalaci, kompatibilní s bash, nevyžaduje root práva.
ACME.sh a podporované ověření identity:
web root
standalone
DNS
Standalone mode je velmi zajímavý pro servery, kdy nemáte spuštěn www server (Apache/Nginx/…), tedy např. FTP/SMTP servery, acme.sh Vám na dobu nezbytně nutnou emuluje chování web serveru na portu 80 nástrojem netcat (nc), zde již přirozeně je nutné mít práva root.
Instalace a použití je velmi snadné a přímočaré, viz oficiální stránky projektu, dokonce je možné skrze Cygwin provozovat ACME.sh i na Windows.
Pro česko-rakouskou společnost Glumnik eCommerce jsme provedli optimalizace Linux serveru pro provoz Magento hostingu, kde v současné době běží více než dvacet samostatných malých a středních instancí této e-commerce platformy, server kolaboval pod náporem uživatelů, distribuci newsletterů, přestával zcela reagovat a obsluha byla nucena udělat tvrdý restart, toto nepříjemné chování se podařilo zcela odstranit a optimalizovat průběh zátěže.