Skillnad mellan versioner av "Lysator Web NG"

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök
(17 mellanliggande sidversioner av 2 användare visas inte)
Rad 1: Rad 1:
  +
Lysators webserver använder programvarorna Nginx, Roxen och [[LysCMS]]. Nginx används som proxy-server och vidarebefordrar anrop till antingen LysCMS – för framsidan – eller Roxen – för användar- och projektsidor.
Lysator har sedan 2006-10-05 en ny och fin webblösning. 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>). Även SSI stöds.
= Var i filsystemet finns filerna? =
 
  +
 
== Var i filsystemet finns filerna? ==
   
 
De ligger under <tt>/lysator/lyswww</tt> som monteras av alla datorer.
 
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
* <tt>/lysator/lyswww/users</tt> innehåller alla användarsidor, mer exakt common och roxen_only från gamla webservern.
+
* <tt>/lysator/lyswww/projects/roxen</tt> innehåller alla projektsidor som servas av Roxen.
** <tt>/lysator/lyswww/users/common</tt> innehåller användarkataloger som kan serveras av valfri bakända
+
* <tt>/lysator/lyswww/projects/front</tt> innehåller alla projektsidor som servas av Nginx.
** <tt>/lysator/lyswww/users/roxen_only</tt> innehåller användarkataloger som kan serveras av enbart roxen-bakändan.
+
* <tt>/lysator/lyswww/main/static_pages/lib</tt> innehåller ~/libs boklista
  +
* <tt>/lysator/lyswww/main/static_pages/protokoll</tt> innehåller mötesprotokoll
 
<tt>common</tt> och <tt>roxen_only</tt> 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 gör jag om jag vill att allt ska fungera som det gjorde förut? =
 
 
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.
 
 
Om du använt RXML1 i dina sidor kan du dock behöva [[RXML2-migrering | migrera dem till RXML2]].
 
 
= Hur flyttar jag mitt projekt till Apache? =
 
 
Som standard ligger de gamla projektsidorna under <tt>/lysator/lyswww/projects/roxen</tt> 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 <tt>/lysator/lyswww/projects/apache</tt>.
 
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? =
 
   
  +
Du kan snabbt komma åt din webkatalog genom att följa länken <code>.public</code> i din hemkatalog (<code>cd ~/.public</code>) .
Detta är en trestegsprocess:
 
   
  +
== Hur kommer jag åt min webkatalog/användarsida på webben? ==
# Se till att hela siten ligger under <tt>/lysator/lyswww/users/common/$USER</tt>
 
  +
<tt>[https://www.lysator.liu.se/~ANVÄNDARNAMN/ https://www.lysator.liu.se/~ANVÄNDARNAMN/]</tt>
# Se till att det inte ligger 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.
 
   
  +
== Hur anger jag teckenkodning på min sida? ==
= Vad kommer hända i framtiden? =
 
  +
Lysators webserver använder teckenkodningen ISO-8859-1 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.
  +
====Exempel på hur man anger att en HTML-sida är kodad med UTF-8:====
  +
<pre>
  +
echo '<header name="Content-Type" value="text/html; charset=UTF-8"/>' >> sida.html
  +
chmod +x sida.html # Så att webservern tolkar sidan som RXML
  +
</pre>
   
  +
== Hur ser jag vilka som besökt min sida? ==
Det finns planer på en ny Apache som tillåter lite mer hack i stil med PHP och andra liknande språk.
 
  +
Skapa en <tt>AccessLog</tt>-fil i din webkatalog och gör den skrivbar av <code>www</code>:
 
  +
<pre>
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.
 
  +
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? ==
= 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. ([http://opensolaris.org/os/community/zones/ 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.
 
   
  +
Använd LysLysKOM-mötet <tt><möte 2077: Infosystem (@) Lysator (WWW, FTP och liknande)></tt> eller skicka e-post till <tt>lyswww@lysator.liu.se</tt>.
   
 
[[Kategori:WWW]]
 
[[Kategori:WWW]]

Versionen från 19 januari 2016 kl. 18.58

Lysators webserver använder programvarorna Nginx, Roxen och LysCMS. Nginx används som proxy-server och vidarebefordrar anrop till antingen LysCMS – för framsidan – eller Roxen – för användar- och projektsidor.

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). Även SSI stöds.

Var i filsystemet finns filerna?

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

  • /lysator/lyswww/users innehåller alla användarsidor
  • /lysator/lyswww/projects/roxen innehåller alla projektsidor som servas av Roxen.
  • /lysator/lyswww/projects/front innehåller alla projektsidor som servas av Nginx.
  • /lysator/lyswww/main/static_pages/lib innehåller ~/libs boklista
  • /lysator/lyswww/main/static_pages/protokoll innehåller mötesprotokoll

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 ISO-8859-1 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 UTF-8:

echo '<header name="Content-Type" value="text/html; charset=UTF-8"/>' >> 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 lyswww@lysator.liu.se.