Lysator Web NG
Lysator har sedan 2006-10-05 en ny och fin webbserver. Egentligen är det samma webbserver med en ny frontända.
Hur gör jag om jag vill att allt ska fungera som vanligt?
Grattis! Om du inte gör något ska det fungera redan. Om det inte fungerar, kontakta en root eller ännu hellre lämpligt möte i LysLysKOM. Lämpligt möte är <möte 2077: Infosystem (@) Lysator (WWW, FTP och liknande)>. Filerna i filsystemet har flyttats. Se nästa punkt.
Om du använt RXML1 i dina sidor kan du dock behöva migrera dem till RXML2.
Var i filsystemet finns filerna?
De ligger under /lysator/lyswww som monteras av alla datorer.
- /lysator/lyswww/projects innehåller alla projektsidor som inte migrerats till lysators centrala sidor.
- /lysator/lyswww/users innehåller alla användarsidor, mer exakt common och roxen_only från gamla webservern.
- /lysator/lyswww/users/common innehåller användarkataloger som kan serveras av valfri bakända
- /lysator/lyswww/users/roxen_only innehåller användarkataloger som kan serveras av enbart roxen-bakändan.
common och roxen_only ska enbart innehålla kataloger som är användares webinnehåll.
Om du har en .public-länk i din hemkatalog så behöver du ändra den.
Hur flyttar jag mitt projekt till Apache?
Som standard ligger de gamla projektsidorna under /lysator/lyswww/projects/roxen och serveras logiskt nog av Roxenbakändan.
Om du vill att ditt projekt ska serveras av en Apache istället så ber du en root att flytta dem till /lysator/lyswww/projects/apache. Det är inte möjligt att ha projekt som ligger delat på de olika bakändorna. Alla filer som hör till ett visst projekt måste för närvarande serveras av samma server. Det går inte att t ex låta images/*.gif servas av Apache och pages/*.xml av Roxen.
Hur flyttar jag mina personliga webbsidor till Apache
Detta är en trestegsprocess:
- Se till att hela siten ligger under /lysator/lyswww/users/common/$USER
- Se till att det inte liger en fil som heter .roxen i /lysator/lyswww/users/common/$USER
- Om du hade en katalog /lysator/lyswww/users/roxen_only/$USER, be root utplåna den.
Vad kommer hända i framtiden?
Det finns planer på en ny Apache som tillåter lite mer hack i stil med PHP och andra liknande språk.
Det planeras även att man som användare kan bestämma vilken bakända som ska servera ens användarhemsida genom att själv peta i admingränssnittet <http://admin.lysator.liu.se/>. I dagsläget får man dock använda filer på filsystemet.
Hur fungerar det?
Kort version
Frontändan kollar om den ska servera sidan själv eller vilken bakända som ska servera sidan och fungerar sedan som en proxy för den uppkopplingen.
Lång version
Lysators webserver består i dagsläget av tre zoner. (Vad är en zon?). En av dessa zoner kör en frontända som bara fördelar trafiken till den webserver som ska servera den efterfrågade sidan. En av zonerna har som huvudsyfte att köra apache och den tredje kör Roxen. Frontändan kör en rysk programvara som heter Nginx och har www-interfacet knutet till sig.
En fördel med att köra varje server för sig i en egen zon är att man kan flytta zonen till en annan fysisk dator på ett relativt enkelt sätt.
På frontändan körs även Django, som är ett ramverk i Python som används för att servera lysators centrala sidor. Normalt använder Django en PostgreSQL-databas som bakända, men Lysator använder filer i filsystemet eftersom det är Emacsvänligare.
När en klient frågar Lysators webserver efter en sida så kommer frontändan att analysera den efterfrågade URL:en och gör något av följande:
- Om frågan rör en sida som ligger på frontändan, det vill säga en central sida eller vissa specialfall så serveras svaret direkt.
- Om frågan rör en sida som städats bort eller en sida som av annan anledning medvetet plockats bort så ger frontändan lämplig svarskod. Som exempel kan nämnas datorhandboken som ligger på en egen wiki numera.
- Om det rör en användarhemsida så slår frontändan upp vilken bakända som ska användas genom att kontrollera om användaren valt bort standardalternativet Apache. Om Roxen används så serveras sidan från common/$USER eller roxen_only/$USER enligt Roxenkonfigurationen av Roxenbakändan. Apacheanvändare får alltid sina sidor serverade från common/$USER. Användare som inte gjort ett aktivt val serveras från Apacheservern. För alla användare som existerade vid denna reforms införande har ett aktivt val av Roxen gjorts av root, för att saker ska bete sig så mycket som möjligt som tidigare.
- Om det rör sig om en projektsida så slår frontändan upp vilken bakända som ska användas, och skeppar iväg förfrågan till den bakändan.