26 mars, 2008

Nätverk: GNS3 v0.4

Äntligen har GNS3 släppt en ny version (20 mars) av deras "beta" GNS3. Det är version 0.4 och det är många förbättringar som gruppen har släppt.

De flesta av förbättringarna kan ni läsa om på sidan GNS3 News men redan här kommer lite information om några av de saker som är nya.
  • Nu slipper man gå till "Emulation mode" när man ska testa sin labb. Det är dynamiskt.
  • Det finns nu en knapp för att skapa ny labb vilket inte fanns innan. Då var man tvungen att starta om hela programmet.
  • Bätte spar-funktion.
  • Kan ni emulera PIX (Cisco Firewall ...)
  • Möjlighet att "sniffa" paket redan från GUI:n. Innan var man tvungen att använda kommandot "capture". Formatet sparas i Libpcap.
  • Stöd för Dynamips ATM Brygga (ATM Bridge)
  • Stöd för WIC:s
  • Förbättringar i GUI:n
  • Idlepc värdet kan ni räknas ut direkt från GUI:n vilket inte gick förut. Då var det textbaserat.
Det kommer mer, eller det är i alla fall planerat mer, i slutet av April 2008.

För er som inte vet vad GNS3 är för något kan jag referera till en annan artikel som jag skrivit tidigare. Läs artikel Köra Cisco IOS på dator virtuellt.

Källa:
GNS3 Nyheter

17 mars, 2008

Javascript: Använda reguljära uttryck

Förord
Idag när jag satt med ett projekt i kursen Web System Fundamentals så var ett av kraven att man skulle skapa ett valideringsskript i Javascript och PHP för ett kontaktformulär. Då tyckte jag att det skulle vara på sin plats att använda reguljära uttryck (eng. Regular Expressions) för att t.ex göra en kontroll av en epostadress. Det jag har tänkt berätta är bara hur man använder sig utav reguljära uttryck i Javascript.

Introduktion
Detta är mestadels ett hjälpmedel för er som letar efter information om reguljära uttryck i Javascript.

Användning
Det absolut enklaste sättet är att använda objektet RegExp() och det gör man på följande sätt:
  1. Deklarera en variabel som sparar ett mönster:
    var re = new RegExp('^[a-zA-Z0-9]+$');
  2. Bestäm var den ska användas:
    if (document.getElementById('element').value.match(re)) { /* Här läggs kod som körs om det matchar det reguljära uttrycket */ }
  3. Utför uppgiften
I de delar av demonstrationskoden jag skrev här ovanför så söks ett element-värde igenom efter alfanumeriska tecken utan mellanslag.

Extra
Man kan även skicka med parametrar till objektet RegExp(). I exemplet ovan så skickade jag med ett mönster men man kan även skicka med flaggor som en andra parameter som bestämmer hur mönstret ska fungera. T.ex
var re = new RegExp('mönster_här', 'gims');


Slutord
Det var det jag hade att säga om reguljära uttryck i Javascript. Som ni kanske märkte som var det mycket kort information om hur man använder det och inte någon beskrivning på djupet hur reguljära uttryck fungerar.

16 mars, 2008

PHP: Bästa boken om PHP

Det finns många av er där ute som vill lära er PHP och dess möjligheter inom serverbaserad skriptprogrammering. Ibland kan det vara svårt att läsa artiklar och söka efter information på Internet om man inte vet var man ska leta. Så därför kan det vara på sin plats att införskaffa sig en bra bok inom ämnet.

Jag vill rekommendera boken PHP5 Programmering skriven av Jesper Ek och Ullrika Eriksson, ISBN10: 9163608006, ISBN13: 9789163608001. Boken är skriven på svenska och i början går de även igenom hur man sätter upp en egen Apache webbserver på både Linux och Windows.

Alla exempel i boken har relaterade bilder som visar resultatet och det är väldigt enkelt att komma igång. Personligen tycker jag att de går igenom teorin bra och i slutet har de några praktiska övningar som man kan testa på.

När jag först lärde mig PHP så var det denna boken som jag köpte och den har hjälp oerhört mycket. Efter att ha läst den ett par gånger så använder jag den bara som uppslagsverk om jag glömmer av något.

En vilseledande sak är rubriken och det är att den har PHP5 i sig. Då tror man att de går igenom det mesta som PHP5 erbjuder men det är nästan faktiskt ingen förändring om man jämför med några av deras äldre utgåvor som heter endast PHP Programmering. Jag saknar även lite mer information om objektorientering i PHP men det kan jag läsa om i boken Professional PHP Programming och på PHP's egna webbsida php.net.

15 mars, 2008

Webbdesign: Inspiration

Är du en webbdesigner som har arbetat i några år eller är du ny inom yrket? Har du svårt att få inspiration för ny design eller har du helt enkelt slut på idéer? Då Tycker jag att du borde testa att titta runt på några av de sidor som publicerar gratis webbdesign-mallar. Det finns tusentals olika typer av design och det verkar inte finnas några gränser - vilket är bra för utvecklingen.

Ett annat sätt är att ta kontakt med någon du känner eller inte känner och ta reda på om ni har samma intresse: att skapa och designa webbsidor. Om du lyckas så är ni nu två stycken som kan brainstorma fram helt ny och kanske helt unik design.

När jag sitter och programmerar och designar webbsidor för privatpersoner och företag så tycker jag ibland att det kan vara svårt att komma på idéer för hur man ska lägga upp arbetet och designen. Då brukar jag först titta runt lite snabbt på Internet och söka i olika databaser efter mallar som jag kan låna delar av (inte koden direkt utan endast designen) och sedan kontaktar jag personen jag hjälper och lägger fram ett förslag. Sedan får "kunden" komma med egna förslag och ris eller ros. Det är viktigt att man för en dialog där båda parter verkligen förstår vad den andre menar. Annars kan det hända att resultatet blir helt oväntat.

Sammanfattningsvis kan jag säga att det är lättare att komma på idéer när man är två eller fler (helst en maxgräns på fem personer som kommer med idéer) men det är väl så klar logiskt. Men nu är det så att många av er där ute inte kan eller vill arbeta med en grupp personer och då räcker det med att kanske prata med familj och vänner och fråga vad de tycker och tror skulle passa. Färgerna är ju så klart upp till kunden att bestämma men var inte rädd för att komma med lite ändringar för att få ut det bästa från webbsidan som ändå ska representera personen eller företaget.

Inspiration finns att hitta överallt och chansen är störst om man söker igenom diverse databaser på Internet som jag nämnde tidigare. Sätt er ner och skissa och ta en paus när det blir för mycket att tänka på. Det fungerar nästan alltid till 100%. I alla fall för mig!

Som sista tips kan jag tala om att det finns många blogglayouter där ute som passar utmärkt för en privat webbsida om man bara redigerar dem lite. Hoppas ni får roliga och kreativa idéer.

14 mars, 2008

Bloggen: Lovade guider försenade

Jag har lovat en del guider nu under året 2008 men det har varit mer och mer att göra i skolan så jag har inte haft någon tid över till hands för att sätta mig ner och skriva dessa. Jag tänker skriva dem när jag får tid för då hjälper jag både mig själv och de som behöver hjälp med något IT-relaterat.

- Waschman

Cisco: CCNP1 Exam

I skolan har jag precis läst klart första delen i CCNP-delen som handlar om "Building Scalable Cisco Internetworks" (BSCI) och igår hade jag det praktiska provet. Det gick väldigt bra men lyckades inte få det att fungera fullt ut.

Med tanke på att det är så otroligt mycket textmaterial att läsa igenom, samt förstå, så tycker jag att jag har gjort ett bra jobb. Jag var förbered på vad som helst men inte att det skulle bli ett prov som innehöll nästan allt vi hade läst. Det var alltså det största provet hittills.

Cisco är en bra IT-kurs för man har många praktiska övningar och eftersom det är det den mesta delen av tiden går åt till senare i livet när man arbetar med just Cisco och nätverkskommunikation så lämpar det sig perfekt. En stor nackdel är att det är "nästan" oändligt mycket teori men har man väl läst det en gång så är det enklare att referera till det man har läst när man sedan sitter och laborerar med Ciscoutrustningen.

Nu är nästa steg CCNP3 med konfiguration av switchar. Har ännu inga detaljer om detta men kan gissa att det innehåller lager 2 och 3 switching.

För er som läser CCNA och vill fortsätta med Cisco så kan jag meddela att ni kommer få det tufft. Det är cirka 5-10ggr mer teori att läsa och de går mycket djupt in på detaljer i olika protokoll och felsökning med autentisering. Om ni inte kan konfigurera OSPF utan problem eller inte vet hur man gör en grundläggande konfiguration av en router så råder jag er att lära er detta innan ni fortsätter med CCNP.

Som slutord har jag tänkt berätta att det är bra om ni även lär er mer om subentting och VLSM samt CIDR summering. Det underlättar otroligt mycket om man får en bra förståelse för detta. Jag tyckte själv att subnetting var helt oförståeligt när jag läste CCNA (1-4) på gymnasiet och eftersom många frågor på slutprovet handlade om detta så gick det mindre bra. Har faktiskt planerat att skriva en guide här på bloggen hur man subnettar och ska då försöka att ha med bilder och anteckningar som underlättar för den som nu vill lära sig det.

Tillägg 8/5-08
Jag har skrivit en guide om hur man enkelt subettar ett nät med VLSM. Här kommer adressen: http://waschman.blogspot.com/2008/05/ntverk-subnetta-enkelt-med-vlsm.html

Om du läser Cisco eller funderar på att läsa det så önskar jag er nu lycka till.

12 mars, 2008

Design: Designa ditt rum i flash

För er som tycker om att använda webben för era kreativiteter så får ni här ännu en sak att pröva på. Det är en webbsida i flash som låter besökare designa rum och möblera, tapetsera, måla och placera ut lampor, fönster med mera. Sedan kan man dela med sig av rummet till allmänheten eller besöka en annans egendesignade rum.

Det är företaget Mydeco som har utvecklat idén och vill ni se efter själva har ni adressen här: designa ditt egna rum

Notis: Flash är en IT-teknologi som används för att skapa animationer och viss interaktion med en webbsidas besökare. Med det kan man skapa t.ex spel, virtuella världar, annonser, avacnerade diagram etcetera. För att använda Flash krävs en tredjeparts programvara som exempelvis Adobe Flash Player av företaget Adobe. En ny variant eller ska man säga konkurrent till Flash är Silverlight som är utvecklat av Microsoft.

Källa:
Mydeco.com
Derigomedia.com /hack

Webbdesign: Teckenkodning UTF-8

I skolan har vi lärt oss att man ska börja använda UTF-8 när man designar webbsidor eftersom det börjar bli mer standardiserat för webben. Hade egentligen tänkt att skriva en guide om vad man ska tänka på och hur man gör en webbsida i UTF-8 men hittade istället en hyfsat bra guide på webdesignskolan.

Läs guiden om hur du tillverkar en webbsida i UTF-8 här

02 mars, 2008

Nätverk/Server: Sätta upp egen server #2

Förord
Den 13 Juli 2006 publicerade jag en artikel om hur man sätter upp en egen server på sin Windows XP dator. Då talade jag bara Apache 2.2 och PHP 5.1.4. Nu är det dags för en uppdatering som är extremt

förenklad jämfört med min förra artikel. Istället kommer jag nu skriva om senaste Apache, MySQL och PHP. Jag kommer fortfarande gå igenom hur man gör för Windows XP men i en senare artikel kommer jag kanske

gå igenom hur man sätter upp en linux server - som drar otroligt mindre resurser än en Windows "box".

Introduktion
I denna artikeln tänker jag gå igenom hur man sätter upp en webbserver (Apache 2.2.8), en databasserver (MySQL 5.0.51a x86) och skriptspråket PHP 5.2.5 på Windows XP. Vi konfigurerar allt manuellt.

Att tänka på
Man behöver inte konfigurera allt manuellt eftersom det redan finns färdiga "paket" att ladda ner. Ett sådant paket är XAMPP som även finns tillgängligt för Linux, Windows,

Mac OS X och Solaris. XAMPP hittar ni hos
Apache Friends - XAMPP. Men det är ju

så mycket roligare att göra det själv plus att man då har mer kontroll över programmen och filerna. Det är enligt mitt tycke förstås.


Observera att jag inte tänker gå igenom säkerhet eller optimering för flera användare etc. Det får ni själva Googla efter.

Ladda ner programvaran
Apache 2.2.8 kan ni ladda ner här (utan SSL stöd) - x86
PHP 5.2.5 kan ni ladda ner här (klicka på den spegel-länk/mirror ni vill använda)
MySQL 5 (x86) kan ni ladda ner här

Följ mina instruktioner här nedanför för bilderna:

Installera Apache 2.2.8



















Installera MySQL 5













Konfigurera MySQL 5 (grunder och en root-användare)



















Här väljer vi ett lösenord för "root" kontot - det är det konto som har full kontroll över databasen. Vi väljer även att man ska kunna komma åt servern från en fjärrdator.


Påbörja konfigurationen med de inställningar vi har ställt in hittills.




Installera PHP 5.2.5

(Klicka på bilden för att förstora) Filen här ovan kan ni packa upp med vilket program som helst som klarar att öppna ZIP-formatet. Packa upp paketet till sökvägen C:\php5_2_5 som ni ser i nästa bild.


(Klicka på bilden för att förstora)

Konfigurera PHP 5.2.5 och MySQL 5 för ihopkoppling

Kopiera filen här ovanför för nästa steg

Klista in libmySQL.dll i katalogen C:\Windows



För er som inte förstår figuren kan jag tala om att man ska kopiera filen php.ini-recommended till samma katalog fast med namnet php.ini istället.

Den nya filen konfigurerar vi här nedanför.


Visa felmeddelanden som PHP skickar till oss


Sätt katalogen för alla tillägg


Aktivera tilläggen: php_mysql.dll, php_mysqli.dll och php_pdo_mysql.dll

Spara och så är konfigurationen för PHP klar. Det finns mycket mer man kan göra men det vi har gjort hittills räcker gott och väl. Om det är någon som har ett förslag på ändringar får ni gärna skicka en kommentar till artikeln.


Konfigurera Apache 2.2.8
Nu ska vi konfigurera Apache, vilket är mjukvaran för vår webbserver. Dess konfiguration finns lagrad i en fil vid namn "httpd.conf" som man hittar med följande sökväg: C:\Apache2.2\conf\httpd.conf".


Här ovan använder vi en PHP-modul istället för CGI-versionen (php-cgi.exe). Det är säkrare och ger bättre prestanda har jag för mig, samt att det är rekommenderat av nästan alla tekniker.


Ändra sökvägen till katalogen där vi kan lägga alla våra webbsidor



Här får ni välja vilket av följande två rödmarkerade alternativ ni vill konfigurera.

Följande tillåter endast anslutningar från din dator till webbservern


Tillåt anslutningar från alla destinationer för åtkomst till webbservern



DirectoryIndex här ovanför bestämmer i vilken ordning som filerna ska kontrolleras om en katalog innehåller en index-fil. I detta fallet vill vi att en fil som heter "index.php" ska köras även om det redan finns en fil som heter "index.html". Denna fil körs automatiskt när vi besöker en katalog på servern (i sökvägen för katalogen "www") där en sådan fil existerar.

Spara och konfigurationen för webbservern ska vara färdig. Men först innan vi fortsätter måste vi starta om webbservern. Detta kan göras via Apaches egna kontrollpanel som ligger längst ner till höger vi klockan. Ikonen är en rund vit cirkel med en grön pil. Högerklicka på den och välj "Open Apache Monitor". Väl där markerar ni "Apache2.2" i listan och klickar på knappen "Restart" till höger.
Man kan också starta om webbservern via startmenyn > Alla program > Apache HTTP Server 2.2 > Control Apache Server > Restart
Nu återstår bara att testa om det fungerar.

Det slutliga testet

Katalogen "www" här ovan måste ni själva skapa.


Skapa två filer som vi kommer använda i följande steg för att testa och verifiera installationen.




Ett helt vanligt textdokument som vi kommer åt via http://localhost/test.txt


Ett simpelt test-skript i PHP som visar information om installationen.

Resultatet för PHP-installationen

(Klicka på bilden för att förstora)
Via den sida som nu visas av PHP kan man avläsa viktiga inställningar och systemsökvägar samt diverse miljövariabler. Säkerhetsrisk: Om ni använder er webbserver för produktion så att den är tillgänglig ute på Internet så bör ni ta bort denna fil, eller låsa åtkomsten med ett lösenord. Detta för att den kan innehålla känslig information som ej bör läsas av ovälkomna gäster.

Här kan ni observera att MySQL och MySQLi är rätt konfigurerat

(Klicka på bilden för att förstora)
Tillägg: MySQLi är en förbättrad (Improved) version av MySQL och ger även utvecklaren tillgång till något som kallas för "Prepared statements". Det är en teknik som försvårar en intrångsteknik som kallas "SQL Injection". Detta är bara en liten del av alla förbättringar som MySQLi erbjuder.

Ett litet testskript i PHP för att verkligen testa att MySQL fungerar som det ska (åtminstone att funktionerna existerar och finns tillgängliga.



Jippi!!!


Slutord
Så där! Äntligen var det färdigt. Nu hoppas jag att det inte är några där ute som får problem med en manuell installation av en webbserver tillsammans med MySQL och PHP.

Observera att jag inte har implementerat någon säkerhet och för MySQL finns ännu bara ett "root" konto för total åtkomst. Ni ska helst skapa ett extra användarkonto i MySQL med kommandoradsverktyget som medföljer för att göra åtkomsten till databasen lite säkrare.

Viktig information: Denna installation bör ej användas för produktion - den är endast till för utveckling och test av system.

Lycka till!

Välkomna till bloggen

Välkomna ska ni vara kära besökare. Jag skriver om IT för att det är kul och för att jag vill dela med mig av information och kunskap. Jag försöker hålla bloggen så kategoriserad som möjligt för att ni enklare ska hitta intressanta länkar och artiklar.