Lysator Web NG: Skillnad mellan sidversioner

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök
(Länka till RXML2-migrering.)
 
(23 mellanliggande sidversioner av 5 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.
Om du använt RXML1 i dina sidor kan du dock behöva [[RXML2-migrering | migrera dem till RXML2]].


=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/www</tt> som monteras av alla datorer.
* <tt>/lysator/lyswww/projects</tt> innehåller alla projektsidor som inte migrerats till lysators centrala sidor.
* <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
* <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.


Du kan snabbt komma åt din webkatalog genom att följa länken <code>.public</code> i din hemkatalog (<code>cd ~/.public</code>) .
<tt>common</tt> och <tt>roxen_only</tt> ska enbart innehålla kataloger som är användares webinnehåll.


== Hur kommer jag åt min webkatalog/användarsida på webben? ==
Om du har en .public-länk i din hemkatalog så behöver du ändra den.
<tt>[https://www.lysator.liu.se/~ANVÄNDARNAMN/ https://www.lysator.liu.se/~ANVÄNDARNAMN/]</tt>


=Hur flyttar jag mitt projekt till Apache?=
== Hur anger jag teckenkodning 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 <code><header></code> i RXML.


====Exempel på hur man anger att en HTML-sida är kodad med Latin-1:====
Som standard ligger de gamla projektsidorna under <tt>/lysator/lyswww/projects/roxen</tt> och serveras logiskt nog av Roxenbakändan.
<pre>
echo '<header name="Content-Type" value="text/html; charset=ISO-8859-1"/>' >> sida.html
Om du vill att ditt projekt ska serveras av en Apache istället så
chmod +x sida.html # Så att webservern tolkar sidan som RXML
ber du en root att flytta dem till <tt>/lysator/lyswww/projects/apache</tt>.
</pre>
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=
== Hur ser jag vilka som besökt min sida? ==
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? ==
Detta är en trestegsprocess:

# 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.

=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. ([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>www@lysator.liu.se</tt>.


[[Kategori:WWW]]
[[Kategori:WWW]]
[[Kategori:Instruktioner]]

Nuvarande version från 24 september 2020 kl. 16.13

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.