David Steinsland – informatikkstudent og webutvikler

Innlegg merket med «guide»

Wamp: Sette opp egen hjemmeserver

| 3 kommentarer »

Tidligere har jeg beskrevet hvordan du kan installere ffmpeg på Wamp, samt hvordan du kan opprette underdomener på Wampserver. Nå tenkte jeg å forklare hvordan du kan sette opp en liten hjemmeserver som du få tilgang til gjennom Internett.

Hva er en hjemmeserver?

Kort sagt er det et Webhotell du har på din egen PC. Du styrer alt av underdomener (forklart i egen artikkel), PHP-, Apache- og MySQL-innstillinger med mer. Veldig fleksibel løsning til utvikling, da du kan invitere andre utenfor nettverket ditt til f. eks. å teste systemet.

For å koble deg på hjemmeserveren, stilles det to krav:

  • WampServer må kjøres, og satt i Online-modus
  • Port 80 må være åpen, det vil si at du har viderekoblet denne i ruteren din til PC-ens IP-adresse.

NB: Du vil ikke bli tildelt et domenenavn (som «minside.com») da dette blir styrt av en DNS, som ofte koster penger.

Hva trenger vi?

Normalt bruker Internett port 80 til å sende og motta informasjon, men noen ISP-er har denne porten blokkert slik du ikke kan sette opp en hjemmeserver. Slapp av — det er mulig å jobbe seg rundt.

Om det skulle vise seg at porten er blokkert, må du konfigurere Apache til å følge med på (eng. «listen») en annen port. Velg gjerne 8080.

Videre i denne guiden tar jeg som utgangspunkt at du kan bruke port 80 uten problem (dette gjelder de aller, aller fleste).

Let’s get to it!

I mitt internnettverk har PC-en min (som serveren er installert på) en fast IP-adresse, 192.168.0.197. Ruteren min er en Linksys WRT54GL (som jeg for øvrig anbefaler på det sterkeste). Jeg tar ikke opp emnet om å videreføre porter i denne guide, da alle har hver sin ruter og oppsettet varierer derfor. Men ved å følge Port Forward sin enkle guide, blir det en lek å åpne porten. Sørg bare for at PC-en din er stilt inn med en statisk IP!

Når du har sørget for at porten din er åpen, vel — da er du i bunn og grunn ferdig. Om du er i tvil om du har åpnet porten skikkelig, så kan du ta deg en tur innom CanYouSeeMe og skriver inn 80 som portnummer. Du er nødt til å ha Wamp kjørende for at den skal klare å sjekke det. Om du får opp en feilmelding, er det fordi:

  • Du har gjort en feil da du åpnet porten din. Har du skrevet inn riktig IP-adresse, og haket av for «Enable» ?
  • ISP-en (Internett-tilbyderen) din blokkerer port 80, og du må derfor velge en annen port

Jeg vil råde deg til å passordbeskytte både phpMyAdmin og index.php i www-mappen. På denne måten har du kontroll over at ingen uvedkommende skal ødelegge prosjektene dine.

For å sjekke om du virkelig kan koble deg til serveren din, går du innom WhatIsMyIP og finner ut hvilken IP-adresse du har på Internett. Kopier denne inn i adressefeltet i nettleseren din, og se resultatet!

IP-en peker egentlig til ruteren din (det ytterste elementet i nettverket ditt), men ruteren vil registrere at du kommer fra Internett (port 80), og retter denne forespørselen videre til en PC på lokalnettet. Dette gjelder selvsagt kun dersom du har konfigurert ruteren din slik jeg har beskrevet.

Jeg kan skissere prosessen slik:

Om du føler det blir vanskelig å huske IP-adressen din hver gang du skal innom serveren din, kan du alltids registrere deg hos en gratis DNS-tilbyder.

Håper du fikk nytte av denne guiden! Kom gjerne med tilbakemeldinger i kommentarfeltet.

10 tips: Hvordan oppdage svindel på e-post

| 12 kommentarer »

I de siste tidene har det vært veldig mye oppstyr om sindel på Internett, spesielt konsentrert i e-postform. Svindel har så klart eksistert i alle år — helt siden det fantes en valuta — og folk har alltid latt seg lure, en eller en annen gang.

I fjor var det en rekke saker om en «ny type» svindelforsøk, nemlig Nigeriabrev. Her blir offeret tilbudt fantastiske tilbud, nesten uimotståelig, hvor personen må «hjelpe» svindleren med saksomkostninger for å få en familiearv. Offeret blir da fortalt om å føre over en viss sum, mot at han får tilbake en viss prosentdel av arven.

Det finnes selvsagt mange varianter, hvor for eksempel offeret har funnet flere millioner euro i lotteri og må «bare» oppgi kredittopplysninger for å få pengene. Uansett hvordan en vrir og vender på det, må offeret som regel gi i fra seg sensitiv informasjon eller forhåndsbetale store summer.

Det heter forresten Nigeriabrev fordi svindleren utgir seg for å være en nigeriansk statsmann (gjelder også afrikanske land, generelt).

I det siste har det derimot blitt veldig vanlig å motta e-poster skrevet på gebrokken norsk, med tydelige trekk på at svindleren har brukt et program for å oversette originalteksten til norsk (for eksempel Google Translate).

Selv har jeg lagt ut annonser på Finn.no, og har i den sammenheng ofte mottatt svindlerbrev på e-post.

Advarsel nummer én er da: se etter om teksten er norsk og forståelig. Siden du retter deg mot et norsk publikum (Finn.no), skal du da være veldig skeptisk når en person i Afrika (som kan skrive norsk) ønsker å kjøpe varen din.

Jeg mottok faktisk en e-post i går, hvor jeg ble stilt spørsmålet:
«Kan jeg vite det endelige beløpet jeg kan ha denne?»

Det første jeg merket meg var så klart den dårlige norsken, og skjønte det var høy sannsynelighet for at senderen var en svindler. Jeg svarte derimot e-posten (i tilfelle personen er en dyslektiker) hvor jeg forklarte konsist hva varen min kostet.

Personen svarte meg da med følgende e-post:

Hei, jeg er OK med en pris for så vennligst bestille varen for meg.
jeg er fra England, jeg vil gjerne kjøpe elementet som en gave til min
venn som jobber i Amerika og britiske tobakk selskap i Vest-Afrika.
jeg har sjekket på Posten nettsiden for kostnaden for forsendelsen for
element med 3 kilo og er 800 kroner så jeg betaler deg 4100 kroner for
varen + forsendelse. Hope elementet er i god stand? Jeg kan betale via
bankoverføring eller postanvisning så hvis du vil at min å gå til
banken min, slik at de overføre pengene direkte til kontoen din, må du
gi meg et kontonummer og navn, men hvis du vil at pengene skal sendt
med postanvisning, må du gi meg navn og adresse hvor postanvisning
selskapet kan levere de pengene ok. jeg vil vente å høre fra deg
snart.

Jeg la da umiddelbart merke til følgende:

  1. Personen sier direkte han ikke er norsk (hvordan kunne han da forstå seg på den norske annonsen?)
  2. Han smører på seg at «vennen» hans er amerikansk og jobber for britiske tobakkselskaper i Vest-Afrika (er ikke det merkelig når en britisk person skal kjøpe en bruktvare fra Norge til sin venn i USA?)
  3. Blanding av et uforståelig norskspråk + engelske ord

For å finne ut litt mer, svarte jeg personen hvor jeg oppgav et falskt/ugyldig kontonummer. Det tok ikke lange tiden før jeg fikk følgende e-post i svar:

Hallo, har 4100 kroner er overført til kontoen din. Kontroller at du
pakke varen godt så det vil ikke bli skadet på veien ok. her er min
venn navn og adresse for forsendelsen.

ANYANWU COLLINS
32 OSENI STREET
LAWANSON SURULERE
LAGOS STATE
23401
Nigeria.

Det er hyggelig å gjøre dette med deg. ha en fin dag og gi meg beskjed
når elementet er på vei til min venn ok.

Ting jeg legger merke til her er:

  1. Pengene ble overført (til en konto som ikke eksisterer)
  2. Landet jeg skal sende varen til, er utrolig nok Nigera.

Et par timer senere, mottar jeg det som skal være en bekreftelse på overføringen. E-posten er fra ingen ringere enn den britiske banken Barclays Bank (med e-postadressen transfer.update@accountant.com)! Dette må da være for godt til å være sant!

I e-posten kommer det frem at pengene er satt på vent, og skal bli overført til meg når jeg har sendt fraktbevis tilbake til Barclays (når ble en bank en slik tredjepart egentlig?).

Det står også kort om Barclays, at de er en stor og flott bank med et godt rykte. Dette er jo forsåvidt sant, da Barclays er en stor bank i England som for eksempel sponser Premier League.

På dette tidspunkt er jeg godt over skepsisen, og vet at jeg har med en svindler å gjøre.

Som jeg nevnte i sted, sa jeg at Barclays er hovedsponsor for Premier League. Dette er selvsagt noe svindlerene også har fått med seg, og har lagt inn flere bilder i e-posten som henviser til dette (Preamier League-logo, etc). Typiske trekk som peker til at svindleren prøver å overbevise deg om at han er til å stole på.

I e-posten følger det også med noen bruksvilkår, som forklarer kort om hvordan prosessen skal gå føre seg. Dette er i normale tilfeller en juridisk tekst, og inneholder således ingen referanse verken til mitt namn eller svindlerens. I disse heller unormale bruksvilkårene er blant annet svindlerens navn nevnt flere ganger.

E-posten er også generelt stappet med ulike bilder og logoer. De har til og med inkludert en digital signatur, som visstnok skal være bankens representant.

Hele e-posten i sin klartekst, har jeg lagt ut her:
http://davidsteinsland.net/svindel/epost.htm

Anbefaler deg å gå gjennom e-posten, før du leser videre.

Ting jeg merker meg i den endelige e-posten:

  1. E-posten er fra Barclays Bank, mens e-postadressen er fra accountant.com
    • Et kjapt Googlesøk etter «accountant.com» viser til mange nettsider som advarer om svindel.
  2. Mange ulike bilder, som er totalt irrelevant for e-postens innhold.
    • Dersom jeg høyreklikker på bildene og sjekker hvor de er hentet fra, finner jeg fort ut at bildene har sitt opphav på minst fem forskjellige nettsider (blant annet Barclays’ nettsider, Citibank, Google Images).
  3. Jeg er nødt til å oppgi ekstraopplysninger til banken
  4. Selve utseende på mailen skriker: «dette er ikke en formell e-post fra Barclays!!!»
  5. Hvorfor er jeg egentlig nødt til å bekrefte sendingen for banken? Ingen banker jeg vet om tilbyr slike tjenester for kundene sine
  6. Fotnoten «*APY equals annual percentage yield. Rates are guaranteed to november 30, 2012.» er ikke relevant for e-posten, og gir inntrykk av at den er kopiert i fra noe som gjelder renter: altså ikke relevant for denne e-posten

Jeg svarer da pent (nei, egentlig ikke) på E-posten, og ber personen fint om å dra til et visst sted.

Oppsummering

I dette tilfellet, mener jeg, at det kom klart frem tidlig i konversasjonen at personen er en svindler. Jeg er fullt klar over at det i andre tilfeller kan virke mye mer troverdig, derfor har jeg laget en oppsummering av min erfaring (og en generell huskeliste):

  1. Vær tvilsom til utenlandske henvendelser (dersom du retter deg mot en norsk publikum)
  2. Se etter om teksten kunne faktisk vært skrevet av en nordmann, og ikke en oversettingsmotor
  3. Aldri, aldri oppgi sensitiv informasjon som kredittopplysninger osv.
  4. Banker (eller andre offentlige bedrifter) vil aldri spørre deg etter slik informasjon, spesielt ikke gjennom e-post
  5. Se etter typiske trekk i e-posten som kan peke mot at den er masseprodusert (bilder, tekst, linker osv)
  6. Foreta et Googlesøk etter avsenderens navn og e-postadresse. Det kan hende du ikke finner noe interessant, men det kan redde deg fra å bli svindlet
  7. Krev forhåndsbetaling. Ikke stol på penger som er satt på «vent» gjennom tjenester som f. eks Paypal (svindleren kan angre kjøpet, og få pengene sine tilbake — etter at du allerede har sendt varen)
  8. Det skader ikke å ringe personen, istedenfor og ikke bare bruke e-post som eneste kommunikasjonsmiddel
  9. Er ting for godt til å være sant, er det som regel det
  10. Vær kritisk

Jeg har selv blitt svindlet før, da jeg skulle utføre et arbeid for en norsk nettside. Hadde jeg følgt listen ovenfor, hadde jeg funnet ut hvem personen egentlig utgav seg for å være!

Har du tips, historier eller erfaringer å dele? Skriv dem gjerne i kommentarfeltet.

Annet lesestoff

Database med Norges postnummer, poststeder, fylker og kommuner (med koordinater)

| 22 kommentarer »

Norway_counties.svg

Her kommer det er oversikt over absolutt alle postnummer i Norge med tilhørende fylke, kommune og poststed. Hvert postnummer har også en lengde- og breddegrad tilknyttet seg. På denne måten kan du koble opp postnummeret til f.eks Google Maps.

Databasesettet er generert med hjelp av Postnummer-dugnaden Yr.no arrangerte sommeren 2009.

Ved hjelp av lengde- og breddegradene kan du jo også regne deg frem til avstanden mellom to steder, eller finne nærmeste postkontor til en bruker.

For å få lett oversikt over alle postkoder, kjører du følgende spørring:

SELECT
 postnummer, fylkeNavn, kommuneNavn, poststedNavn, kategoriNavn, lat, lon
FROM `postnumre`
INNER JOIN poststed
USING(poststedID)
INNER JOIN kommuner
USING(kommuneID)
INNER JOIN fylker
USING(fylkeID)
INNER JOIN kategorier
USING(kategoriID)
ORDER BY
 postnummer ASC, fylkeNavn ASC, kommuneNavn ASC, poststedNavn ASC

Med enhver sak kan det forekomme feil, så om dere kommer over noe som skulle vise seg til å være en bug: si i fra.

Oppdateringer

Versjon 1.4
- Har innført alle endringer gjort av posten pr. 1. februar 2012
- Det er nye navn på tabeller og kolonner (norsk)
- Koordinater er synkronisert med listene til Erik Bolstad

Versjon 1.3
- Tabellene er gjort om til InnoDb med nødvendige indekser og fremmednøkler
- Jan Mayen og Svalbard er nå plassert inn i to fylker (med samme navn), i henhold til ISO 3166-2:NO. På grunn av at områdene ikke har noe de facto fylke, måtte det gjøres slik.
- Enkelte justeringer på koordinater
- Kommunesentre for hver kommune er lagt inn

Versjon 1.2
- Jan Mayen og Svalbard har klart å falle ut fra oversikten. Det er pga. områdene ikke er del av noen fylker, og det har dermed blitt opprettet et «Svalbard og Jan Mayen»-fylke.

Last ned (versjon 1.4)

Last ned Norske postnummer (4593 nedlastninger) , lisensiert under Creative Commons.

LaTeX på nett: matematiske formler til bilder

| 2 kommentarer »

Innenfor realfagene matematikk, fysikk og kjemi skriver jeg alt av rapporter og øvinger i LaTeX, som er et typesettingssystem for dokumentproduksjon. Det er spesielt egnet for matematisk litteratur, og blir definert av den engelske Wikipedia slik:

A document-typesetting system derived from TeX and used mainly to create scientific and mathematical literature.

LaTeX er originalt skrevet for Linux, men er per i dag tilgjengelig på alle plattformer gjennom ulike distribusjoner. Personlig bruker jeg distribusjonen MikTeX med versjonsnummer 2.8. Redigeringsprogrammet jeg bruker heter LaTeX Editor — forkortet LEd.

Det er tusenvis av fordeler for å bruke LaTeX kontra såkalte What You See Is What You Get-program (Microsoft Office, OpenOffice, Lotus Symphony etc.). Den største er at i LaTeX så er det du som har kontrollen: What You See Is What You Mean.  Ting blir faktisk slik du sier det skal være!

Du har vel sett noen matematiske formler på Wikipedia? Der anvender de nemlig  LaTeX, og ser omtrent slik ut:

Det er nemlig dette jeg har tenkt å ta tak i, i denne posten: nemlig forklare deg hvordan du også kan få slike deilige formler på din nettside!

Hva må gjøres klart?

For å skrive LaTeX på PC-en din, og for at alt skal gå optimalt, krever det en rekke program som f.eks MikTeX (LaTeX-distro), LEd (redigering) og GhostScript / Ghost View (postscript-støtte). For å skrive LaTeX på nett krever jeg derimot at du kun har MikTeX installert!

PS: Jeg tar som utgangspunkt at webserveren din er din egen PC. Veldig få webhotell-leverandører som installerer LaTeX…

Last så ned siste versjon av MikTeX og installer denne på PC-en din. For din egen del er det nok lurest å velge «Basic Installer». Her vil kun de mest nødvendige pakkene bli installert (pakker kan oversettes som plugins). Om du ønsker å installere alle pakker tilgjengelig, velger du «Complete MikTeX System».

La oss begynne!

Det aller første du må gjøre rede for er følgende:

  1. Hvor installerte du MikTeX?

La oss si du installerte programmet i C:\Programfiler\MikTeX 2.8\

Da må du leite frem til miktex\bin\latex.exe og \miktex\bin\dvipng.exe.

Dersom disse programmene ikke er tilstede, vil du ikke være i stand til å gjennomføre denne guiden: prøv da å re-installere MikTeX.

Har du lokalisert programmene? Flott — da går vi videre.

Finn frem til root-mappen på serveren din (bruker du WampServer er dette C:\wamp\www\). Opprett en mappe som du kaller for «latex».
Inni den nye mappen, oppretter du så følgende mapper:

  • images
  • tmp

«Images» er mappen hvor de endelige formlene kommer til å bli plassert, og «tmp» er mappen hvor produksjonsfilene våre ligger. Når du kompilerer et dokument i LaTeX vil det bli opprettet totalt 4 filer per prosjekt. Disse er respektivt .tex, .aux, .log og .dvi. Tex-filen inneholder selve dokumentet vårt, og DVI-filen er selve outputen etter kompilering. Disse to er essensielle.

PHP-klassen

Jeg har allerede skrevet klassen ferdig, som du skal få. Før jeg overrekker den, vil jeg ta tiden til å forklare litt hva den gjør.

Det er to ting du umiddelbart må få i stand etter at du har lastet ned klassen:

- Øverst i klassen er det deklarert to variabler: _latex_path og _dvipng_path. Disse må du endre til hva du fant ut i punkt #1 (under «La oss begynne!»). Det er veldig viktig at du følger denne regelen når du endrer sti: Variabelen må være omgitt av to enkle apostrofer, og selve stien til programmene må være omgitt av gåseøyne.

Dette er fordi at dersom det er mellomrom en plass i stien (i C:\Program Files\MikTeX\ er det mellomrom i «Program Files») må teksten være omgitt av gåseøyne, som forteller at teksten skal tolkes som én sti, og ikke to.

Dersom stien til latex.exe på PC-en din er følgende: C:\Program Files\MikTeX 2.8\miktex\bin\latex.exe skal _latex_path være formet slik:

 $_latex_path = '"C:\Program Files\MikTeX 2.8\miktex\bin\latex.exe"';

Utover dette, skal klassen fungere ut-av-boksen (dersom du har opprettet de korrekte mappene).

Laste klassen ned

PHP5 LaTeX Renderer, lisensiert under Creative Commons.

Hvordan fungerer klassen?

I seg selv er den ganske liten, og rett frem. Det er en innebygget cache-funksjon som lagrer bildene ved hjelp av:

  • den matematiske formelen
  • tekst-størrelsen

Om du vil endre tekst-størrelse, gjør du slik:

= new LaTeX();    latex->set ('font_size', 16); // 16 is the font size, measured in "points"

Dersom du vil endre artikkel-klassen for dokumentet, gjør du slik:

$latex->set ('article_class', 'article'); 

Ved default er det «scrartcl» som fungerer som dokumentets klasse, men dette er en tilleggspakke som må installeres. Derfor kan du anvende «article» som kommer ferdig-installert via MikTeX.

… og slik setter du innholdet:

$latex->set ('tex_content', '\frac{1}{2}');

For å rendere dokumentet, og vise den endelige formelen som et bilde, gjør du slik:

$data = $latex->render ();
echo '<img src="' . $data['img'] . '" alt="' . $data['tex'] . '" />';

Klassen støtter naturligvis linking, og kan brukes slik:

= new LaTeX();    data = $latex->set ('font_size', 16)->set ('tex_content', 'ax^2 + bx + c = 0')->render ();

Dersom du ønsker å skrive ABC-formelen (som jeg viste lengre oppe i artikkelen), skriver du den slik:

 x = \frac{ -b \pm \sqrt{b^2 - 4ac}}{2a}

Flyteskjema

For de av dere som er interessert i flowcharts (meg inkludert): slik er fremgangsmåten i klassen:

Det var det!

Nå er du i bunn og grunn ferdig, og kan begynne å eksperimentere selv. Det rådes selvsagt at du har noen kunnskaper innen LaTeXs måter å skrive ting på. Om du vil lese deg opp på emnet, er det mange gode ressurser for det:

Om det er noen spørsmål om hjelp, tips til forbedringer etc, kan dette tas opp i kommentarfeltet.

PS: LaTeX uttales Lah-tek. Vil ikke høre om noen som sier det rett ut..

Wamp: Opprette underdomener

| 3 kommentarer »

Veldig konsis guide på hvordan du kan opprette underdomener lokalt på datamaskinen din, om du bruker Wampserver. Orker du ikke en haug med tekst? Sjekk ut videoen i bunnen!

1. Gå til mappen: C:\Windows\System32\Drivers\etc\

Der ligger det en fil som heter «hosts». Ja, det er riktig: den har ingen filendelse. Høgreklikk på filen, velg «åpne med …» og velg en tekstredigerer (type Notepad).

Under linjen

127.0.0.1     localhost

legger du til:

127.0.0.1     underdomene.localhost

«Underdomene» kan du endre til hva du vil: dette blir da navnet på underdomenet ditt.

PS: Dersom det er et nummertegn (#) foran «127.0.0.1     localhost», så er du nødt til å fjerne dette tegnet.

 

2. Klikk på Wamp-ikonet i tray, velg Apache og trykk på «httpd.conf«

Bla ned (nesten til bunns) i filen, til du kommer til følgende linje:

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

Fjern nummertegnet fra siste linje.

3. Gå til C:\wamp\bin\apache\Apache2.2.11\conf\extra\

Her åpner du filen «httpd-vhosts.conf«. Dette er konfigurasjonsfilen som styrer de virtuelle serverinnstillingene i Apache.

Fjern de to <VirtualHost *:80>-blokkene, og legg til følgende kode:

<VirtualHost *:80>
 DocumentRoot C:/wamp/www/
 ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot C:/wamp/www/underdomene/
ServerName underdomene.localhost
</VirtualHost>

Dette forteller Apache at alle  forespørsler skal sendes til www-mappen, såfremt det ikke eksisterer et underdomene. I praksis betyr det at http://underdomene.localhost/ vil vise deg samme innhold som http://localhost/underdomene/.

4. Restart Wampserver — You are Good to Go!

Husk selvsagt å endre «underdomene» til hva du ønsker (gjelder alle kodene).

 

Som vanlig følger det også med en video som viser fremgangsmåte.