2014. szeptember 29., hétfő

Web Konferencia 2014 - Kapcsold fel a lámpát!

Idén is lesz webkonf ahonnan én sem hiányozhatok, sőt egy előadást is fogok tartani. A mostani előadásom rendhagyó lesz, mivel az áttekintő bevezető után megmutatom azt is, hogyan kezdhetsz neki az analizálásnak a teljes funkcionalitású ingyenes dynaTrace trial segítségével. Ha követed az előadásom, meglátod hogy soha többé nem akarsz majd dynaTrace nélkül fejleszteni legyél Java, .NET vagy PHP guru! .)

Időpont: 2014. november 8., szombat 15:15
Téma: dynaTrace - Kapcsold fel a lámpát!

Eddig a sötétben tapogatóztál, most megmutatom hogyan kapcsolhatod fel a lámpát! Az előadás azoknak a Java, .NET és PHP fejlesztőknek szól, akik szeretnék megtudni, hogy pontosan mit is csinál az alkalmazásuk, milyen hibákat és performancia problémákat tartalmaz.

Ja, és ne hagyd otthon a laptopodat és a kedvenc web-alkalmazásodat sem!

2014. július 1., kedd

dynaTrace ingyen - Teljes verzió, 15 napig

Igen! Ezen az oldalon bárki számára letölthető a teljes funkcionalitású dynaTrace és 15 napon keresztül szabadon használható, akár éles környezetben is. A free trial licence a következőket tartalmazza:
  • Java agent: 2
  • .NET agent: 2
  • Webserver agent: 2
  • PHP agent: 2
  • Browser agent:2
  • UEM volume: 100.000

Először is regisztrálni kell egy céges e-mail címmel a Compuware web-oldalán, majd a kiküldött e-mailben található linkre kattintva meg kell adni az új jelszavunkat. Ezután egyből hozzáférést kapunk a közösségi portálhoz, a hivatalos fórumhoz és a dynaTrace teljes dokumentációjához, amelyben részletesen le van írva minden információ egészen a telepítéstől a használatig! Az induláshoz szerencsére nem kell átolvasni a teljes doksit, mivel a kezdőoldalon egy 4 lépéses varázsló vezet el minket a dynaTrace használatba vételéhez. A letöltéstől számítva, nagyjából 15 perc alatt beüzemelhető a rendszer!

A dynaTrace használata és a performancia vagy funkcionális problémák beazonosítása persze igényel egy kis gyakorlatot, ezért ha bármilyen kérdésed lenne a telepítéssel vagy a konfigurálással kapcsolatban esetleg egy gyors elemzést kérnél tőlem a vizsgált alkalmazásodról, nagyon szívesek segítek! Ne kíméljetek! .)

2014. június 19., csütörtök

Raspberry Pi - Apache web-szerver otthonra 2.

Miután beállítottuk, hogy az otthon.no-ip.org és a munka.no-ip.org címről kívülről is elérhető legyen a web-szerverünk, nézzük meg hogyan állítható be, hogy ezek a címek két különböző website-ra mutassanak. (Virtual Hosting)


Az Apache webszerver fő konfigurációs beállításai az /etc/apache2/apache2.conf fájlban találhatók, ami hivatkozik az engedélyezett website-okat tartalmazó könyvtárra (/etc/apache2/sites-enabled). Itt pedig sym linkek találhatók az elérhető website-okat tartalmazó könyvtárra (/etc/apache2/sites-available/).

Hozzuk létre a 2 website állományait és naplófájljait tartalmazó könyvtárakat:
mkdir /var/www/otthon.no-ip.org
mkdir /var/www/munka.no-ip.org
mkdir /var/log/apache2/otthon.no-ip.org>
mkdir /var/log/apache2/munka.no-ip.org
Hozzuk létre az első web-site virtuális hoszt beállításait tartalmazó fájlt /etc/apache2/sites-available/otthon.no-ip.org az alábbi tartalommal:
<VirtualHost *:80>
 ServerAdmin webmaster@otthon.no-ip.org
 ServerName otthon.no-ip.org
 DocumentRoot /var/www/otthon.no-ip.org

 CustomLog ${APACHE_LOG_DIR}/otthon.no-ip.org/access.log combined
 ErrorLog ${APACHE_LOG_DIR}/otthon.no-ip.org/error.log
 LogLevel warn
</VirtualHost>
Hozzuk létre a második web-site virtuális hoszt beállításait tartalmazó fájlt /etc/apache2/sites-available/munka.no-ip.org az alábbi tartalommal:
<VirtualHost *:80>
 ServerAdmin webmaster@munka.no-ip.org
 ServerName munka.no-ip.org
 DocumentRoot /var/www/munka.no-ip.org

 CustomLog ${APACHE_LOG_DIR}/munka.no-ip.org/access.log combined
 ErrorLog ${APACHE_LOG_DIR}/munka.no-ip.org/error.log
 LogLevel warn
</VirtualHost>
Engedélyezzük a site-okat a /etc/apache2/sites-enabled könyvtárban:
ln -s /etc/apache2/sites-available/otthon.no-ip.org otthon.no-ip.org
ln -s /etc/apache2/sites-available/munka.no-ip.org munka.no-ip.org>
Hozzunk létre egy-egy index.html-t más-más tartalommal a web-site-ok teszteléséhez
touch /var/www/otthon.no-ip.org/index.html
touch /var/www/munka.no-ip.org/index.html
Frissítsük az Apache web-szerver beállításait: sudo service apache2 reload

/var/www/otthon.no-ip.org/images könyvtár tartalmát az egyszerűség kedvéért egy BASIC authentikációval védtem le, amihez először létrehoztam egy password fájlt és hozzáadtam két felhasználót.
mkdir /etc/htpasswd
htpasswd -c /etc/htpasswd/.htpasswd user1
htpasswd /etc/htpasswd/.htpasswd user2
Az /etc/apache2/sites-available/otthon.no-ip.org fájlban pedig felvettem az alábbi sorokat:
 <Directory "/var/www/otthon.no-ip.org/images">
   AuthType Basic
   AuthName "Authentication Required"
   AuthUserFile "/etc/htpasswd/.htpasswd"
   Require valid-user
 
   Order allow,deny
   Allow from all
 </Directory>
Végül újraindítottam a webszervert: sudo service apache2 restart


2014. június 2., hétfő

Raspberry Pi - Apache web-szerver otthonra 1.

A Raspberry Pi fogyasztása minimális (2-4W), így nagyjából havi 200 forintos áram költség mellett egy teljesen hangtalan szervert üzemeltethetsz folyamatosan otthonról, amit a kis mérete miatt (8.5cm x 5.6mm x 2.1cm) akár a szekrény tetejére is felrakhatsz.

Szerettem volna egy jelszóval védett web oldalon néhány családi fényképeket publikálni a rokonoknak (A Facebook-ot és a társait inkább hagyjuk) valamint néhány munkával kapcsolatos oktatási anyagot közzétenni az ügyfelek számára. Nem számítok nagy forgalomra, így adódott a remek alkalom hogy a Raspberry Pi-n alakítsak ki egy web-szervert méghozzá két website-al! (A példa kedvéért legyen ez az otthon és a munka)

Először is telepítettem az Apache HTTP szervert a sudo apt-get install apache2 paranccsal majd leellenőriztem, hogy a http://localhost:80 címen megjelenik-e a /var/www/index.html tartalma. Mivel a web-szervert kívülről is elakartam érni, ezért az otthoni routerem virtual szerver beállításainál kinyitottam a TCP/80-as portot, így a szolgáltatótól kapott IP címmel már meg is jelent az index.html tartalma. Szuper! Az IP címemet azonban dinamikusan adja a szolgáltató,  - ami naponta akár többször is megváltozhat - ezért az ingyenes noip DDNS szolgáltatását használtam arra, hogy a noip-nél beregisztrál domain neveim mindig az aktuális IP címemre mutassanak. Ahhoz, hogy az IP címem mindig szinkronizálódjon a noip felé, egy kliens alkalmazást telepítettem az Raspberry Pi-re, ami periodikusan elküldte a noip-nek az IP címemet. Érdemes megemlíteni, hogy az újabb routerek esetén már nem szükséges a kliens alkalmazás feltelepítése, mivel támogatják a DDNS beállítását.

Tehát beregisztráltam a noip.com-ra, majd a Hosts/Redirects, Manage Hosts alatt felvettem két hoszt nevet, ahogy az alábbi képen is látható: otthon.no-ip.org és a munka.no-ip.org. Mivel az aktuális IP címem automatikusan kitöltésre került, mindkét hoszt névvel egyből elértem a web-szerverem.


A következő lépés a noip kliens telepítése:
cd /usr/local/src/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
make install
A noip programot a sudo /usr/local/bin/noip2 paranccsal tudjuk elindítani, azonban érdemes beállítani az alábbi tutorial alapján, hogy a Raspbian indulásával a noip szolgáltatás is mindig elinduljon. Innentől kezdve az otthoni web-szerverünk, a két beregisztrált hoszt névvel folyamatosan elérhető lesz bárki számára.

Tulajdonképpen egy mobiltelefonról is bárhonnan hozzáférhetünk az otthoni Raspberry Pi mini-számítógépünkhöz, lekérdezhetjük a GPIO portra kötött szenzorokat vagy a rákötött kamera segítségével megnézhetjük mi történik odahaza... :)

A folytatásban azt fogom megmutatni, hogy hogyan lehet mindkét website-ot üzemeltetni ugyanerről a web-szerverről, a virtuális hoszt beállítások segítségével.

2014. május 20., kedd

Raspberry Pi - Raspbian kezdő lépések

Miután megnéztük, hogy milyen lehetőségek rejlenek a Raspberry Pi-ben folytassuk a beüzemeléssel. A Debian alapú Raspbian használatához, először töltsük le az image fájlt, majd írjuk ki egy minimum 4GB-os SD kártyára. Windows alatt használjuk a Win32DiskImager programot, Linux alatt pedig a sudo dd bs=1M if=2014-01-07-wheezy-raspbian.img of=/dev/sdb parancsot. A későbbiekben ugyanilyen módon, backup mentést is érdemes készíteni az SD kártyáról. Ha wifi-n keresztül fogjuk használni a RPI-t vagy éppen nincs kéznél Ethernet kábel, akkor még a legelső indítás előtt érdemes a wifi beállításokat elvégezni a kiírt SD kártyán az /etc/network/interfaces fájlban:

auto lo
iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "MY_SSID"
wpa-psk "MY_PASSWORD"

Ha ez megvan akkor tegyük be az RPI-be az SD kártyát és a nano wifi adaptert, majd csatlakoztassuk a micro USB tápot. Nézzük meg, hogy a DHCP-n keresztül milyen IP címet kaptunk, majd egy ssh klienssel csatlakozhatunk az alapértelmezett pi felhasználónévvel és a raspberry jelszóval. 

Adjuk ki a sudo raspi-config parancsot és válasszuk ki az Expand Filesystem opciót a teljes SD kártya használatához, változtassuk meg a pi felhasználó jelszavát (Change User Password) és a használat szerint konfiguráljuk be (nálam 16MB), hogy mennyi memóriát adunk a GPU-nak (Memory Split). Itt még más hasznos beállításokat is találhatunk, érdemes körülnézni! A változtatások életbelépéshez a sudo reboot paranccsal indíthatjuk újra a Raspbian-t. Az újraindulás után frissítsük a firmware-t a sudo apt-get install rpi-update, a csomag index fájlokat - azaz a lokális szoftver repositoryt - a sudo apt-get update paranccsal és a telepített csomagokat a sudo apt-get upgrade kiadásával. 

A nano WIFI adapterem mellett, maradt még egy szabad USB port, ezért oda egy pendrive-ot tettem be. Ahhoz hogy a Raspbian kezelni tudja az NTFS-t feltelepítettem a linuxos ntfs driver-t a sudo apt-get install ntfs-3g paranccsal, majd a sudo fdisk -l kiadásával megkerestem hova került beillesztésre a pendrive-om (/dev/sda1) ezután tartósan felcsatoltam a /media könyvtár alá, úgy hogy az /etc/fstab fájlban felvettem ezt a sort: /dev/sda1 /media ntfs-3g defaults,rw,gid=100,umask=002 0 0

Végül pedig létrehoztam egy új felhasználót az users csoportba, sudo useradd -m -G users -s /bin/bash myuser és beállítottam neki a jelszavát: sudo passwd myuser.