Skillnad mellan versioner av "Lysator Web NG"

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök
(Införde en del information om nya weben)
 
 
(28 mellanliggande versioner av 6 användare visas inte)
Rad 1: Rad 1:
  +
Lysators webserver använder programvarorna Nginx och [[Roxen]]. Nginx används som proxy-server och vidarebefordrar det mesta till Roxen.
Lysator har sedan 2006-10-05 en ny och fin webbserver. Egentligen är
 
det samma webbserver med en ny frontända.
 
   
  +
Roxen tillåter användning av RXML i websidorna. Om du vill använda RXML på din användarsida behöver du sätta en exekverings-bit på din HTML-fil (<code>chmod +x foo.html</code>).
=Hur gör jag om jag vill att allt ska fungera som vanligt?=
 
   
  +
/lysator/www/roxen är dessutom ett git-repo för att hålla koll på ändringar av webbsidan. Gör en kommit och du skrivit något. Ska även gå att klona repot för att testa i t.ex. egen hem-mapp.
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 <tt><möte 2077: Infosystem (@) Lysator (WWW, FTP och liknande)></tt>.
 
Filerna i filsystemet har flyttats. Se nästa punkt.
 
   
  +
Maskinen hanteras genom någon av alla puppet-lösningar.
=Var i filsystemet finns filerna?=
 
   
 
== Var i filsystemet finns filerna? ==
De ligger under <tt>/lysator/lyswww</tt> som monteras av alla datorer.
 
* <tt>/lysator/lyswww/projects</tt> innehåller alla projektsidor som inte migrerats till lysators centrala sidor.
 
* <tt>/lysator/lyswww/users</tt> innehåller alla användarsidor, mer exakt common och roxen_only från gamla webservern.
 
** <tt>/lysator/lyswww/users/common</tt> innehåller användarkataloger som kan serveras av valfri bakända
 
** <tt>/lysator/lyswww/users/roxen_only</tt> innehåller användarkataloger som kan serveras av enbart roxen-bakändan.
 
   
 
De ligger under <tt>/lysator/www</tt> som monteras av alla datorer.
<tt>common</tt> och <tt>roxen_only</tt> ska enbart innehålla kataloger som är användares webinnehåll.
 
 
* <tt>/lysator/www/users</tt> innehåller alla användarsidor
  +
* <tt>/lysator/www/roxen</tt> innehåller resten och utgör den "vanliga" webb-rooten. Så http://www.lysator.liu.se/foreningen/styrelsen/ redigeras i filen /lysator/www/roxen/foreningen/styrelsen/index.html
   
Om du har en .public-länk i din hemkatalog behöver du ändra den.
+
Du kan snabbt komma åt din webkatalog genom att följa länken <code>.public</code> i din hemkatalog (<code>cd ~/.public</code>) .
   
=Hur flyttar jag mitt projekt till Apache?=
+
== Hur kommer jag åt min webkatalog/användarsida på webben? ==
  +
<tt>[https://www.lysator.liu.se/~ANVÄNDARNAMN/ https://www.lysator.liu.se/~ANVÄNDARNAMN/]</tt>
   
  +
== Hur anger jag teckenkodning på min sida? ==
Som standard ligger de gamla projektsidorna under <tt>/lysator/lyswww/projects/roxen</tt> och serveras logiskt nog av Roxenbakändan.
 
  +
Lysators webserver använder teckenkodningen UTF-8 om inget annat anges. Om man önskar att serva en HTML-sida med en annan teckenkodning kan man använda sig av <code><header></code> i RXML.
 
Om du vill att ditt projekt ska serveras av en Apache istället så
 
ber du en root att flytta dem till <tt>/lysator/lyswww/projects/apache</tt>.
 
Det är inte möjligt att ha projekt som inte ligger delat på de olika bakändorna.
 
   
  +
====Exempel på hur man anger att en HTML-sida är kodad med Latin-1:====
=Hur flyttar jag mina personliga webbsidor till Apache=
 
  +
<pre>
  +
echo '<header name="Content-Type" value="text/html; charset=ISO-8859-1"/>' >> sida.html
  +
chmod +x sida.html # Så att webservern tolkar sidan som RXML
  +
</pre>
   
  +
== Hur ser jag vilka som besökt min sida? ==
Detta är en trestegsprocess:
 
  +
Skapa en <tt>AccessLog</tt>-fil i din webkatalog och gör den skrivbar av <code>www</code>:
  +
<pre>
  +
touch .public/AccessLog
  +
chmod 620 .public/AccessLog
  +
chgrp www .public/AccessLog
  +
</pre>
  +
Besök av din sida loggas i filen.
   
  +
== Var kan jag hitta ytterligare information eller be om hjälp? ==
# Se till att hela siten ligger under <tt>/lysator/lyswww/users/common/$USER</tt>
 
# Se till att det inte liger en fil som heter .roxen i <tt>/lysator/lyswww/users/common/$USER</tt>
 
# Om du hade en katalog <tt>/lysator/lyswww/users/roxen_only/$USER</tt>, be root utplåna den.
 
   
 
Använd LysLysKOM-mötet <tt><möte 2077: Infosystem (@) Lysator (WWW, FTP och liknande)></tt> eller skicka e-post till <tt>www@lysator.liu.se</tt>.
=Vad kommer hända i framtiden?=
 
   
  +
[[Kategori:WWW]]
Det finns planer på en ny Apache som tillåter lite mer hack i stil med PHP och andra liknande språk.
 
  +
[[Kategori:Instruktioner]]
 
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. 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, för att saker ska bete sig som 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.
 

Nuvarande version från 24 september 2020 kl. 15.15

Lysators webserver använder programvarorna Nginx och Roxen. Nginx används som proxy-server och vidarebefordrar det mesta till Roxen.

Roxen tillåter användning av RXML i websidorna. Om du vill använda RXML på din användarsida behöver du sätta en exekverings-bit på din HTML-fil (chmod +x foo.html).

/lysator/www/roxen är dessutom ett git-repo för att hålla koll på ändringar av webbsidan. Gör en kommit och du skrivit något. Ska även gå att klona repot för att testa i t.ex. egen hem-mapp.

Maskinen hanteras genom någon av alla puppet-lösningar.

Var i filsystemet finns filerna?

De ligger under /lysator/www som monteras av alla datorer.

  • /lysator/www/users innehåller alla användarsidor
  • /lysator/www/roxen innehåller resten och utgör den "vanliga" webb-rooten. Så http://www.lysator.liu.se/foreningen/styrelsen/ redigeras i filen /lysator/www/roxen/foreningen/styrelsen/index.html

Du kan snabbt komma åt din webkatalog genom att följa länken .public i din hemkatalog (cd ~/.public) .

Hur kommer jag åt min webkatalog/användarsida på webben?

https://www.lysator.liu.se/~ANVÄNDARNAMN/

Hur anger jag teckenkodning på min sida?

Lysators webserver använder teckenkodningen UTF-8 om inget annat anges. Om man önskar att serva en HTML-sida med en annan teckenkodning kan man använda sig av <header> i RXML.

Exempel på hur man anger att en HTML-sida är kodad med Latin-1:

echo '<header name="Content-Type" value="text/html; charset=ISO-8859-1"/>' >> sida.html
chmod +x sida.html  # Så att webservern tolkar sidan som RXML

Hur ser jag vilka som besökt min sida?

Skapa en AccessLog-fil i din webkatalog och gör den skrivbar av www:

touch .public/AccessLog
chmod 620 .public/AccessLog
chgrp www .public/AccessLog

Besök av din sida loggas i filen.

Var kan jag hitta ytterligare information eller be om hjälp?

Använd LysLysKOM-mötet <möte 2077: Infosystem (@) Lysator (WWW, FTP och liknande)> eller skicka e-post till www@lysator.liu.se.