David Steinsland – informatikkstudent og webutvikler

Innlegg merket med «wampserver»

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.

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.

Wamp: Hvordan installere ffmpeg (Windows)

| 8 kommentarer »

Noen ganger kan det være ganske ålreit å kunne konvertere videoer via PHP, eller for eksempel hente ut miniatyrbilder fra en film. Da er det også ganske ålreit at ffmpeg finnes.

Med ffmpeg kan du gjøre slike ting lekende lett, men veien der til er ikke alltid like grei. Heldigvis har jeg i den sammenheng laget en liten guide til hvordan du kan gjøre det!

Før vi begynner …

Sørg for at du har:

Når du har de to punktene under kontroll er du klar til å gå videre.

Hva vi trenger

Da er tiden inne for å laste ned ffmpeg-arkivene. Last ned de to arkivene under, og plasser dem f. eks på skrivebordet ditt.

FFmpeg:  http://sourceforge.net/projects/mplayer-win32/files/FFmpeg/(last ned en .7z-fil)
FFmpeg-php: http://sergey89.ru/files/ffmpeg-php/ffmpeg-php-win32-all.zip (kun kompatibel med PHP 5.2.5)

La oss begynne

Pakk ut innholdet fra den første zip-filen, og kopier filen ffmpeg.exe til C:\ffmpeg\. Det er denne filen PHP kommer til å sende kommandoene til.

Pakk så ut innholdet fra det siste arkivet (ffmpeg-php). Her vil det være totalt 5 filer som vi trenger. Kopier filene avcodec-51.dll, avformat-51.dll, avutil-49.dll og pthreadGC2.dll og lim dem inn i: C:\WINDOWS\System32\.

Dersom du kjører et 64-bits operativsystem, må du også legge de samme filene i: C:\WINDOWS\SysWOW64\.

Da gjenstår det én fil igjen, og det er: php_ffmpeg.dll.  Dette er utvidelsefilen for PHP; denne må du plassere i C:\wamp\bin\php\php5.2.5\ext\ som da er PHPs mappe over utvidelser. Siste punktet du må gjøre er å endre PHPs konfigurasjonsfil, php.ini. Denne kan du nå på to måter:

  • Trykke på Wampserver-ikonet i Tray, klikke på PHP og så velge php.ini
  • Gå til C:\wamp\bin\php\php5.2.5\

Åpne konfigurasjonsfilen i en teksteditor (f. eks Notepad), og bla ned til du kommer til «Windows extensions». Her kommer det opp en liste over mange ulike utvidelser; lag en ny linje, og lim inn følgende kode:

extension=php_ffmpeg.dll

Nå trenger du bare starte Wampserver om igjen, ved å trykke på Wampserver-ikonet i tray og deretter velge «Restart all services».

Nå kan du åpne din favoritt-nettleser, og lime inn følgende adresse:

http://localhost/?phpinfo

Dersom installasjonen har vært vellykket, vil du kan kunne finne ffmpeg på den listen (se bilde).

Sluttord

Nå er det bare til å sette i gang med å konvertere videoer, hente ut stillbilder, lyd eller hva det måtte være. Du kan teste installasjonen ved å kjøre følgende kode:

<?php
    $clip = 'clip.mp4'; // Which video to extract from
    $frame = '00:00:10'; // ... and at which frame
    $dimensions = '640x480'; // Image dimensions (width x height)
    $output = 'myscreen.png'; // path to captured image

    $command = 'C:\ffmpeg\ffmpeg.exe -y -i ' . $clip . ' -vframes 1 -ss ' . $frame . ' -an -vcodec png -f rawvideo -s ' . $dimensions . ' ' . $output;
    exec ($command);
?>

Den vil hente ut et bilde fra videoen clip.mp4 ti sekunder ut i filmen, og lagre bildet som myscreen.png. Legg spesielt merke til at vi må spesifisere fulle stien til hvor vi har plassert ffmpeg.exe-filen. De fleste plasser på Internett, så står det som regel bare «ffmpeg», istedenfor full sti; slik må du ikke gjøre det!

Du kan også teste installasjonen ved å skrive denne koden:

<?php
    echo shell_exec ('C:\ffmpeg\ffmpeg.exe -formats');
?>

Om du har innspill, kommentarer eller lignende, så er du velkommen til å kommentere artikkelen!
Video som viser hva jeg gjør — i dårlig kvalitet — er å se under: