Jak na automatické aktualizace v Debianu

Moc se to nedoporučuje, protože aktualizace systému by si měl každý provádět pod osobním dohledem, aby nedošlo k nějaké neočekávané změně. Někomu to ale možná přijde vhod. To už nechám čistě na vás. Pojďmě si ale ukázat jak se dá automaticky aktualizovaného systému založeného na linuxové distrubici Debian docílit.

Skript denně spouštěný pomocí crona

Ke zprovoznění automatických aktualizací v našem systému si vytvoříme jednoduchý bash skript, který pak necháme cronem denně spouštět. Základní skript by mohl mít asi takovouto podobu:

#!/bin/bash
aptitude update
aptitude safe-upgrade -y
aptitude autoclean

Hotový skript pak stačí uložit do /etc/cron.daily, což je adresář ze kterého se každý den spouští tam umístěné skripty. Souboru samozřejmě musíme také dát potřebná oprávnění. V jednotlivých krocích to může vypadat např. takto:

  1. vytvořenému skriptu, který jsme pojmenovali např. upgrade dáme práva na spouštění:

    chmod +x upgrade

  2. ujistíme se, že na soubor má práva pouze root uživatel:

    chown root:root upgrade

  3. a nakonec ho přesuneme do daného adresáře /etc/cron.daily:

    mv upgrade /etc/cron.daily

Další možné součásti skriptu

Samozřejmě není úplně ideální nechat si v systému pravidělně spouštět skript a nemít přehled o tom co udělal. V tomto ohledu bych vám doporučil několik možností jak skript trochu vylepšit (konkrétně nechat si e-mailem posílat informaci o tom že skript proběhl, informaci o aktuální verzi jádra, PHP, MySQL a co vše bylo aktualizováno):

#!/bin/bash
EMAIL=mail@domena.koncovka

#aktualizace
aptitude update
aptitude upgrade -y
aptitude autoclean

#moduly
m-a update
m-a prepare << EOF
y
EOF


#vypíše text do souboru upgrade.txt
echo "Provedena aktualizace systemu. Nize si muzete zkontrolovat aktualni verzi jadra, PHP, MySQL a vsechny posledni zmeny, ktere byly v ramci aktualizace (aptitude) provedeny." > upgrade.txt &&
printf "\n" >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#vypíše verzi jádra do souboru upgrade.txt
echo "Verze jadra" >> upgrade.txt && echo "===============================================================================" >> upgrade.txt &&
uname -a >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#přidá do souboru upgrade.txt informaci o aktuální nainstalované verzi PHP
echo "Verze PHP" >> upgrade.txt && echo "===============================================================================" >> upgrade.txt &&
php -v | awk 'NR==1{print $2}' >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#přidá do souboru upgrade.txt informaci o aktuální nainstalované verzi MySQL
echo "Verze MySQL" >> upgrade.txt && echo "===============================================================================" >> upgrade.txt &&
mysql -V | awk 'NR==1{print $5}' | sed 's/.$//' >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#přidá do souboru upgrade.txt posledních 100 řádků z logu aptitude
echo "Log aptitude - posledních 100 řádků" >> upgrade.txt && echo "===============================================================================" >> upgrade.txt &&
tail -n 100 /var/log/aptitude >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#odešle obsah souboru upgrade.txt na výše uvedený e-mail
cat upgrade.txt | mail -s "Provedena aktualizace systemu" $EMAIL

#smaže soubor upgrade.txt
rm upgrade.txt

Publikováno 3.5.2015 v 19:15 | Kategorie: Debian

JavaScript: odkaz na více stránek naráz

Ukažme si jak se dá za použití programovacího jazyka JavaScript vytvořit na stránkách odkaz který otevře více stránek současně. Kdy a zda to použít nechám čistě na vás. Jsou případy kdy se to může hodit a případy, kdy je rozumnější zvolit úplně jiné řešení. Osobně bych něco takového na stránkách použil spíše výjimečně, ale je dobré o této možnosti alespoň vědět.

Zdrojový kód

Samotný kód není nic složitého:

<a href="adresa stávající stránky" onclick="window.open('první stranka','_blank');window.open('druhá stránka','_blank');">Otevři odkazy</a>

Praktický příklad

Ukažme si jak uvedený kód funguje v praxi. Po kliknutí na tento odkaz by se vám měly otevřít najednou 3 různé stránky na tomto blogu.

Zdrojový kód příkladu:

<a href="http://ambroz.blog/jak-pres-odkaz-otevrit-vice-stranek-naraz/" onclick="window.open('http://ambroz.blog/javascript-jak-z-www-jednoduse-kopirovat-text/','_blank');window.open('http://ambroz.blog/debian-jak-si-zprovoznit-python-na-serveru/','_blank');window.open('http://ambroz.blog/wordpress-401-authorization-required/','_blank');">tento odkaz</a>

Publikováno 2.5.2015 v 04:20 | Kategorie: JavaScript

Google upřednostní mobile friendly weby

Určitě jste zaznamenali, že od 21. dubna 2015 změnila společnost Google na stránkách svého vyhledávače původní vyhledávací algoritmus ve prospěch webových stránek, které jsou optimalizované pro mobilní zařízení, tj. jsou tzv. mobile friendly. Oficiální zprávu o tom lze nalézt na jejich blogu.

Co znamená mobile friendly

V praxi to znamená aby se dalo hlavně prakticky a pohodlně prohlížet a používat webové stránky v kterémkoliv mobilním telefonu, tabletu, notebooku, netbooku apod. bez zásahu návštěvníka stránek, který by si musel např. zvětšovat písmo, přibližovat si stránku, scrollovat do stran, zmenšovat si obrázky apod. Prostě aby stránky byly přímo uzpůsobené pro dané zařízení – hezky čitelné a snadno použitelné.

Jak zjistím jestli jsou moje stránky mobile friendly

Google pro to zřídil přímo ověřovací stránku kam stačí zadat adresu vašeho webu a hned se dozvíte jak na tom jste.

https://www.google.com/webmasters/tools/mobile-friendly/

Jak docílit mobile friendly webových stránek

  1. Mít stránky vytvořené v responzivním designu

    Responzivní web design v podstatě znamená, že webové stránky jsou napsány tak kvalitně, že není problém je zobrazit v jakémkoli zařízení, protože se mu vždy dostatečně přizpůsobí. Jedná se o řešení amerického programátora jménem Ethan Marcotte, který s tímto řešením přišel na svém blogu. Své řešení zakládá především na vytvořeném modulu media queries v CSS 3, který právě umožňuje zobrazovat stránky podle parametrů jako je rozlišení obrazovky apod. Nebudu zde zacházet do podrobností a spíše vás v tomto směru odkáži na další zdroje na internetu:

    Jan Mareš – Jak vytvořit responzivní design webu
    Martin Kelnar – Responsivní Webdesign Komplexně
    Martin Michálek a Honza Sládek – 6 chyb cestou do responzivního pekla
    Rudolf Krcmar – Responzivní design

  2. Mít zvlášť desktopovou a mobilní verzi webových stránek

    Dalším řešením, které se používalo hojně hlavně v dřívější době před příchodem CSS 3 je udržovat dva druhy webových stránek – jednu pro desktop/PC a druhou pro mobilní zařízení. Jak je na první pohled patrné, není to tak praktické jako první řešení, protože je potřeba udržovat více věcí najednou. Pro toto řešení by se Vám mohly hodit tyto zdroje:

    Marshi Blog – SEO při vytváření mobilní verze webových stránek
    Separate URLs

Jak jsem to dříve řešil u těchto stránek, tedy u WordPressu

Dříve než jsem šablonu předělal celou na plně responzivní, tak jsem zvolil cestu nejmenší námahy a v rámci těchto webových stránek, které používají redakční systém WordPress jsem sáhl po řešení v podobě WP Mobile Detector Mobile Plugin, což je plugin který automaticky zjistí odkud návštěvník na stránky přistupuje a podle toho v rámci WordPressu zobrazí šablonu buď pro desktop/PC nebo mobilní zařízení. Shrnu celý postup:

  1. vytvoříme si novou šablonu pro mobilní web (stačí uzpůsobit CSS soubor/y původního webu a zjednodušit je)
  2. stáhneme si plugin
  3. soubor si rozbalíme na svém zařízení nebo na serveru a přesuneme je do adresáře WordPressu pro pluginy – wp-content/plugins
  4. do adresáře pluginu určeného pro šablony – wp-content/plugins/wp-mobile-detector/themes/ nahrajeme naší šablonu pro mobilní zařízení
  5. přes administraci WordPressu (domena.tld/wp-admin nebo domena.tld/wp-login.php) plugin aktivujeme v Pluginy
  6. v administraci ještě zaktivujeme mobilní šablonu ve WP Mobile Detector-Mobile Themes
  7. výsledek si pak již můžeme ověřit na výše zmiňovaných stránkách Googlu

Můj názor na tento krok společnosti Google

Přiznám se, že jsem se k řešení mobilní verze stránek dlouho odhodlával, ale nikdy sem tomu nepřikládal nějakou velkou hodnotu. Tento krok společnosti Google mě k tomu víceméně donutil a jsem za to ve výsledku rád. V dnešní době kdy popularita mobilních zařízení roste raketovým tempem, a tím pádem i návštěvníků stránek z těchto zařízení, je zkrátka nutnost s tímto počítat. Osobně na stolní počítač nedám dopustit, ale trendům a pokroku se prostě člověk neubrání.

Pokud to s provozováním vašich stránek myslíte vážně a chcete aby se vám návštěvníci na ně rádi vraceli, tak je jednoduše potřeba o ně pečovat. Uzpůsobit stránky pro mobilní zařízení je v tomto směru a zvláště v dnešní době prostě nutnost.

Publikováno 28.4.2015 v 14:50 | Kategorie: Google