Lighttpd

Tråden skapades och har fått 27 svar. Det senaste inlägget skrevs .
1
  • Oregistrerad
  • 2006-09-02 00:05

Hej.

Jag har en webbserver (Apache 1.3) på min dator i hemkatalogen > webbsidor. Men jag vill förändra lite med detta. Jag vill ha en Apache server och en Lighttpd server. Vissa arbeten vill jag göra (PHP) med Apache och andra med Lighttpd (Ruby On Rails osv). Men hur kan jag göra en mapp i min hemkatalog eller någon annanstans för den delen som även kan läggas upp som server? Eller går det inte kanske? Får man bara en server per IP?

Fråga nummer två är om någon har en bra guide till hur man installerar Lighttpd, Ruby, Ruby On Rails, PHP och MySQL på sin server. Jag har inte fått det till att fungera. Kanske beror det på att jag har Apache igång? Isf hur stänger jag av/avinstallerar Apache?

EDIT: Jag har en PowerBook G4, om ni behöver veta det för att hjälpa mig.

Tack på förhand.

Jag kör både Apache och lighttpd samtidigt. Det går alldeles utmärkt. Det man får göra är att ställa in dem så att de svarar på olika portar. Till exempel så kan Apache svara på http://localhost:80/ och lighttpd på http://localhost:3000/ (vanligt vid Rails-utveckling). Du kan även använda virtuella servrar genom Apache så att du slipper hålla på med portar på samma sätt.
http://www.99mac.se/allt-om-mac/84976-apache1-3-i-tiger.html#post606484

Jag installerade lighttpd, ruby, rails och lite mer med hjälp av den här guiden. Det gick alldeles utmärkt och det svåraste var att komma på vad man skulle göra medan källkoden kompilerades.
http://hivelogic.com/articles/2005/12/01/ruby_rails_lighttpd_mysql_tiger

PHP och MySQL genom lighttpd går, men var lite knepigare. Man måste kompilera PHP som FastCGI så går det. Jag gjorde som det stod i den här guiden, men bara de delar som behandlade PHP och MySQL.
http://www.99mac.se/mac-os-x/100340-guide-installera-webbserver-pa-mac-os-x-10-4-a.html

När jag för andra gången byggde PHP så använde jag detta kommando för att köra configure.
[FONT="Courier New"]./configure --enable-fastcgi --enable-discard-path --enable-force-redirect --prefix=/usr/local --with-pcre=/usr/local --enable-sockets --with-iodbc=/usr --with-mysql=/usr/local/mysql[/FONT]

Det fungerar hur fint som helst. lighttpd, Ruby, Rails, PHP och MySQL fungerar som en klocka tillsammans.

Du behöver en inställningsfil till lighttpd. Jag använder denna.

server.document-root = "/Users/bjorn/Sites"

server.port = 3000

mimetype.assign = (
	".html" => "text/html", 
	".txt" => "text/plain",
	".jpg" => "image/jpeg",
	".png" => "image/png"
)

dir-listing.activate = "enable"

static-file.exclude-extensions = ( ".fcgi", ".rb", "~", ".inc" )
index-file.names = ( "index.html", "index.php" )

server.modules = (
	"mod_fastcgi",
)


fastcgi.server = ( ".php" => (( 
                     "bin-path" => "/usr/local/bin/php",
                     "socket" => "/tmp/php.socket",
                 )))

Du måste byta ut en del bitar så att det fungerar enligt din installation. Mer om hur du gör finns på lighttpds webbplats under manual.
http://www.lighttpd.net/

  • Oregistrerad
  • 2006-09-02 02:25

Den där guiden (Björn Leanders andra länk) om hur man ska installera Lighttpd, MySQL, PHP, Ruby, Ruby On Rails osv är väldigt utförlig och bra, men jag hade ett problem med den. Nämligen vid path delen av guiden. Jag skapade en "src" mapp i Macintosh HD > "Mitt hem" > src

Enligt artikeln ska jag hitta en ~/.bash_login fil som jag ska ändra sökvägar i. Men jag hittar inte en bash_login.

Även när jag i Terminalen skriver "defaults write com.apple.Finder AppleShowAllFiles YES" för att visa dolda filer i Finder och sedan söker på bash_login så finns det ingen sådan fil.

Väldigt skumt. Har jag missuppfattat kanske? Ska den verkligen ligga i Macintosh HD > "Mitt hem" > src eller i /usr/local som även guiden skriver om. Hängde inte riktigt med på det eftersom jag direkt fastnade vid att ställa in sökvägen...

Tacksam för svar.

hej.. finns inte .bashrc eller .bash_login så får du skapa dessa filer

"touch .bashrc"

Om du skriver nano (eller pico) följt av ett mellanrum samt filnamnet så kommer textredigeraren nano att starta. Skriv därför [FONT="Courier New"]nano ~/.bash_login[/FONT] följt av enter. Då startar textredigeraren nano och du kan skriva in:

export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

Du avslutar nano genom att trycka på ctrl + x och därefter spara filen genom att trycka en gång på y.

  • Oregistrerad
  • 2006-09-03 21:31

Det fungerade att installera då. Nu har jag allt installerat förutom PHP fixet. Men det är ett problem till Du (Björn) sade att jag skulle använda den config som du hade för att se till att porten blir 3000. Men vilken config är det? Lighttpd configen? Andra frågan; vet inte om jag installerade rätt. Jag skrev bara in allt i Terminalen som det stod. Men det leder till att vissa saker som jag installerade hamnade i mappar som jag tidigare installerat. Är det rätt? Eller ska jag öppna en ny kommandotolk varje gång jag ska installera "ett steg"? Hur gjorde du med det Björn?

Tack på förhand.

Det ska fungera att använda samma kommandotolk även mellan alla steg.

Du kan lägga config-filen var du vill, t ex i hemkatalogen. Du kan t ex skriva [FONT="Courier New"]nano lighttpd.conf[/FONT] för att öppna den i nano. Du kan även kalla den för något annat om du vill.

Du startar lighttpd genom att i en kommandotolk stega dig till den katalog du har config-filen i och skriva t ex [FONT="Courier New"]lighttpd -D -f lighttpd.conf[/FONT]. Om du inte kallat din config-fil för lighttpd.conf byter du bara ut filnamnet. Flaggan -D gör så att lighttpd inte går igång som bakgrundsprocess. Då kan du enkelt stänga av det genom att trycka på ctrl + c. Flaggan -f talar om att du ska läsa in en config-fil.

  • Oregistrerad
  • 2006-09-03 23:19
Ursprungligen av Björn Leander:

Det ska fungera att använda samma kommandotolk även mellan alla steg.

Du kan lägga config-filen var du vill, t ex i hemkatalogen. Du kan t ex skriva [FONT="Courier New"]nano lighttpd.conf[/FONT] för att öppna den i nano. Du kan även kalla den för något annat om du vill.

Du startar lighttpd genom att i en kommandotolk stega dig till den katalog du har config-filen i och skriva t ex [FONT="Courier New"]lighttpd -D -f lighttpd.conf[/FONT]. Om du inte kallat din config-fil för lighttpd.conf byter du bara ut filnamnet. Flaggan -D gör så att lighttpd inte går igång som bakgrundsprocess. Då kan du enkelt stänga av det genom att trycka på ctrl + c. Flaggan -f talar om att du ska läsa in en config-fil.

Ok. Ska testa det nu. En fråga bara. Jag installerade ju bara allt rakt av. Vart hamnar det då? En sak jag skulle vilja är att kunna koppla mappar från t.ex skrivbordet till servern. Så att inte endast HD > "Mitt hem" > Webbsidor är den mapp som är kopplad till servern. Går det?

Tack för din hjälp Björn. Ska testa nu om det fungerar, förhoppningsvis gör de det.

lighttpd installeras i /usr/local/sbin men det är inget man behöver känna till om man ställt in PATH enligt ovan.

Du kan ändra vilken katalog som ska agera rot. Ändra bara i config-filen:

server.document-root = "/Users/bjorn/Sites"

Du kan t ex ha

server.document-root = "/Users/bjorn/Desktop/server"

Ett bra sätt att ta reda på sökvägen till katalogen är att i ett terminalfönster skriva "cd " (mellanrummet efter cd är viktigt) och sedan dra mappsymbolen in i terminalfönstret så att plustecknet visas. Tryck enter, skriv [FONT="Courier New"]pwd[/FONT] och därefter enter igen.

Tänk på att de svenska översättningarna som t ex "Skrivbord" egentligen är "Desktop" när det kommer till sökvägar.

  • Oregistrerad
  • 2006-09-09 18:31

Får det verkligen inte att fungera Otroligt irriterande. Följer guiderna in i detalj, men fortfarande är det någonting som inte fungerar.

Alla filer lägger sig i Macintosh HD > "Mitt hem" > Webbsidor ; vilket säkert är korrekt men det fungerar fortfarande inte. Har raderat allt och ska testa igen när jag väl har tid. Tack för hjälpen däremot

Följ inte guiderna helt i detalj. Om de till exempel behandlar hur du kompilerar PHP som Apache-modul får du ändra i configure så att det kompileras med FastCGI och under den sökväg där du vill ha det.

Nu hittade jag en guide som går igenom hur du får lighttpd, SSL, PHP, Rails och MySQL att fungera på Tiger. Den kan nog vara läsvärd.
http://www.foliosus.com/2006/04/04/howto-lighttpd-with-ssl-rails-php-and-mysql-on-osx-104-tiger/

  • Oregistrerad
  • 2006-09-14 22:11

Tusen tack Björn. Ska sätta mig ner med den nu och försöka installera denna för en gång skull. Förhoppningsvis kommer det att fungera efter ikväll. Tack igen.

  • Oregistrerad
  • 2006-09-14 23:59

Förresten. Om jag installerar och konfigurerar på korrekt sätt och sedan går in på http://localhost:3000/

Kommer jag att se någon "Congrats! You've successfully installed Lighttpd"? Med andra ord, hur vet jag att jag installerade allt korrekt?

Ursprungligen av B.O.V.N:

Förresten. Om jag installerar och konfigurerar på korrekt sätt och sedan går in på http://localhost:3000/

Kommer jag att se någon "Congrats! You've successfully installed Lighttpd"? Med andra ord, hur vet jag att jag installerade allt korrekt?

Nej, du kommer att se det som finns i roten du specifierat. T ex

server.document-root = "/Users/bovn/Sites"
  • Oregistrerad
  • 2006-09-15 18:23

Vilket dokument ska jag öppna upp för att se det? Kan jag inte bara skriva in http://localhost:3000/någonLighttpdKommando

Ett kommando där jag kan kolla servern helt enkelt.

  • Oregistrerad
  • 2006-09-15 18:57

Är det bäst om jag efter varje steg stänger ner Terminalen och sedan öppnar en ny innan varje steg? Just nu lägger sig allt i en Lighttpd mapp i Macintosh HD > Mitt hem. Sedan lägger sig alla andra saker i den osv. Verkar inte som om de ligger i en separat mapp för sig själv. Dessutom får jag problem när jag ska installera MySQL. Tror inte att min MySQL ligger i /usr/local/mysql/ utan i program mappen. Men hur kollar jag detta? Har tidigare endast installerat det med en fil och inte vetat om vart den lägger sig.

Annars har jag fått mer klarhet i hur allt ska fungera. Nu verkar det lugnt förutom att jag är osäker på om jag inte bör stänga ner Terminalen varje gång efter ett steg och sedan öppna den igen. Med andra ord ska de olika programen vara i en enskild mapp? Sedan hur kollar jag vart mina PHP och MySQL filer ligger? Behöver jag installera dem på nytt trots att jag har installerat dem tidigare när jag nöjde mig med Apache?

  • Oregistrerad
  • 2006-09-15 19:01

Skickar även en bild på hur det ser ut nu i min hemma mapp med Ruby, Lighttpd osv. Alla visas inte, men det ger er en bra bild om hur allt lägger sig. Nämligen inom readline och i Ruby

  • Oregistrerad
  • 2006-09-15 21:23

Löste MySQL problemet. Tittade i en lista med Unix kommandon och hittade en locate funktion. Kopierade min path till mysql/bin och bytte ut Havlogic's path mot min. Då fungerade den där extensionen som man skulle installera. Nu håller jag på med att installera PHP. Men är fortfarande osäker på om jag har gjort rätt. Har inte stängt ner terminalen mellan de olika stegen utan har kört på precis som Havelogic har sagt. I vissa delar säger han "Close your terminal and open a new one. [..]". När han inte har sagt det har jag inte gjort det. Men om någon ser att mina filer ligger helt fel i ovanstående bild (i mitt tidigare inlägg) så vore jag tacksam för en varningsflagga. Tack. Ska försöka fixa klart det här snabbt nu. Återkommer med status.

EDIT: Min Unix programmerande styvpappa kom hem och hjälpte mig med felet nu. Tydligen var felet att jag inte tog varje Unix kommando en och en utan kopierade hela listan och körde. Nybörjare... nu bör det alltså fungera. ska installera om från början nu. Återkommer om det blir något problem. Förmodligen blir det inte det denna gång.

Senast redigerat 2006-09-15 23:29
  • Oregistrerad
  • 2006-09-16 04:28

Ett problem. Allt har fungerat mycket bättre än tidigare nu. För första gången är jag säker på att allt ligger som det ska. MEN, ett problem har dykt upp. Jag har följt Havelogic guiden ändå fram till LightTPD instruktionerna då jag böt till Foliosus guiden. Har bara konfigureringen kvar. Problemet är bara att det jag kan se (som jag installerat) är det ni kan se på bifogad bild. Men alla path's som jag ställt in, t.ex i ~/.bash_login riktar ju sig till /usr/local/sbin

Jag har i Terminal kört "locate Lighttpd" och hittat att i just /usr/local/sbin ska det finnas en mapp som heter Lighttpd. Men när jag ska göra lite konfigureringsfiler som ska automatiskt boota Lighttpd servern när datorn skapas så kan jag inte skriva i den mappen. Detta fall gäller när jag ska skapa filen Lighttpdctl från Foliosus guide (längst ner på sidan typ). Använder Xcode när jag skriver dessa konfigurationsfilerna.

EDIT: Om ni ser på bilden nedan ser ni att jag har många konfigurationsfiler i just "src" mappen. Tror nog att de hör hemma i /usr/local/sbin, men för att kunna göra det måste jag först ha skrivrättigheter till den mappen...

Men min fråga är alltså vart ligger egentligen /usr/local/sbin? Och har allt det som jag installerat osv bara visats som i min bifogad bild fast installeras som en mapp (/usr/local/sbin/Lighttpd)?

För hittills i konfigurationsfilerna har jag länkat direkt till min src mapp i "Mitt hem". Men då får jag bara "Permission denied" hela tiden av internet när jag försöker visa index.php i en browser.

Hur ska jag göra detta är alltså min fråga och om det är Lighttpd i /usr/local/sbin som är själva huvudmappen och resten innehåller endast filer till den?

Plus vart ligger egentligen /usr/local/sbin och hur kan jag få den att bli skrivbar? Det är bara detta steget kvar och sedan bör det vara fixat. Men jag är inte så insatt i Unix och detta så tips och hjälp skulle uppskattas väldigt mycket.

Tack på förhand.

Var mappen src ligger spelar ingen roll. Den mappen används enbart till källkoden. När du kör "sudo make install" installeras programmet du kompilerade med "make" till t ex /usr/local/sbin. När du kört det kommandot kan du plocka bort mappen från src. När allt är klart kan du plocka bort hela mappen src.

Då en sökväg börjar med "/" så betyder det att den utgår från roten i filsystemet. Roten är nivån i filsystemet som du når om du i ett Finder-fönster går till startskivan (där programmappen, systemmappen osv ligger). För att det inte ska bli alltför krångligt visar Finder inte alla filer.De flesta gör aldrig något i /usr/local.

/usr/local/sbin når du alltså från startskivan (t ex Macintosh HD) --> usr --> local --> sbin. De mapparna visas inte utan du får stega dit genom Terminal eller genom att med hjälp av t ex OnyX välja att visa osynliga filer och mappar i Finder.

lighttpd.conf kan du lägga var du vill. Jag har min direkt i min hemkatalog och startar servern med. Om du vill köra lighttpd i bakgrunden kan du skippa flaggan -D. Men då måste du stänga av lighttpd med hjälp av kommandot "killall -9 lighttpd" senare.

Om du ska skriva till /usr/local med Terminal måste du skriva sudo före de kommandon du vill köra samt ange ditt lösenord. Men det ska du inte behöva i någon större grad. Allt som ska vara där installeras där de ska vara då du kör "sudo make install". Var det ligger behöver man inte veta så länge PATH är korrekt.

  • Oregistrerad
  • 2006-09-16 15:34

Äntligen fick jag det att fungera. Den startade dock inte automatiskt vid omstart. Men eftersom jag har "gått en lektion" i Unix hos min styvfar nu så kan jag lite mer om hur man ska hantera liknande saker i Unix miljö. Visade sig att några saker i konfigurationsfilerna inte var nödvändiga/korrekta. Har fixat det nu och det gick att fixa allt med en ./lighttpd -f /etc/lighttpd/lighttpd.conf

Men om jag skriver /usr/local/sbin/lighttpd i terminalen så klagar den på att den inte hittar konfigurationsfilen, men det spelar ingen roll. Fast det är klart, vore ju skönt om att rullade klockrent.

Har inte testat med PHP, MySQL och Ruby on Rails ännu. Men jag ser ingen anledning till att oroa sig för det. Bör fungera. Men vet någon vart jag kan få gratis Ruby on Rails script för att kunna testa just detta?

Ska testa några PHP script nu... men tusen tack för hjälpen Björn Leander.

EDIT: Det fungerade med PHP och MySQL! Underbart!

  • Oregistrerad
  • 2006-09-16 18:08

Har kollat runt lite i olika manualer osv, men inte riktigt hittat svar på en fråga. Hur öppnar jag upp all information om min LightTPD server som man kan se i följande sida: http://www.lighttpd.net/screenshots/

Det verkar som om man måste installera de moduler man vill ha för att kunna se olika typer av aktiviteter. Men finns det ingen grundläggande/standard vy som man kan kolla på? Är i fasen att lära mig LightTPD nu

  • Medlem
  • Uppsala
  • 2006-09-17 10:42

Den informationen kommer från mod_status. Den kan tillhandahålla status-, konfigurerings- och statistikinformation.

  • Oregistrerad
  • 2006-09-17 14:46

Men jag gjorde såhär:

server.modules = ( "mod_rewrite",
"mod_status",
"mod_access",
"mod_fastcgi",
"mod_userdir",
"mod_accesslog" )

# Main folder containing web documents
server.document-root = "/Users/pittbull/LighttpdServer"

status.status-url = "/server-status"

Ovanstående är en del av min lighttpd_shared.conf som jag skapade precis som den Foliosus hade. Men om jag skriver http://localhost:3000/server-status/ så blir det en 404 error. Vad gör jag för fel?

  • Medlem
  • Uppsala
  • 2006-09-17 17:52

Nu har jag inte min server uppe och snurrar så att jag kan dubbelkolla men jag tror felet ligger i att du har en / i slutet. Du försöker mao gå till katalogen server-status/ istället för till sidan server-status

Rätt url till statussidan ska vara http://localhost:3000/server-status

  • Oregistrerad
  • 2006-09-17 18:37

Ops, skrev fel i mitt tidigare inlägg. Jag skrev http://localhost:3000/server-status men det visade ingenting; endast 404. Men jag startade som servern och nu fungerar det. Men som du ser så har jag ju massor med andra moduler i min config. Men jag ser dem inte. Hur ser jag till att de kommer in i server-status?

  • Medlem
  • Uppsala
  • 2006-09-17 19:00

Såvitt jag vet kan man inte konfigurera vad som ska synas på statussidan. Enligt dokumentationen så visar den:

  • uptime

  • average throughput

  • current throughput

  • active connections and their state

För att se vilka moduler som är laddade så måste du definiera:

status.config-url

Modulerna kan dessutom lägga ut information på statistiksidan. Den får du tillgång till genom att definiera:

status.statistics-url

Dessa definieras på motsvarande sätt som statussidan. När det är gjort måste du antingen starta om lighttpd eller tvinga den att läsa om konfigurationsfilen för att dom ska fungera.

  • Oregistrerad
  • 2006-09-19 17:02

Ok, låter bra, ska kolla in det där. Tack Nilrog och Björn Leander för alla tips och all hjälp. Tror jag kan strycka ett streck över LightTPD projektet nu

1
Bevaka tråden