Kapsin web-palvelinuudistus

Jani Huhtala / 20. heinäkuuta 2016

Kapsin web-palvelinten historia

Kapsilla oli aikaisemmin muutaman palvelingeneraation ajan dedikoidut web-palvelimet Kirsikka ja Karviainen. Vuosien 2012 ja 2013 aikana tehtiin päätös systemaattisesti ruveta siirtämään Kapsin infrastruktuuria fyysisestä ympäristöstä vahvasti virtualisoituun ympäristöön. Ensimmäisessä vaiheessa vanhat web-palvelimet migratoitiin sellaisenaan ja palvelimiin lyötiin lähinnä lisää muistia, joka ratkaisi sen hetkiset tarpeet. Tämä ratkaisu noudatti lähinnä perinteistä ”rautaa rajalle” -ratkaisua.

Virtualisoidun infrastruktuurin hyödyntäminen 

Vuoden 2014 aikana aloitettiin kehittämään  web-palvelimen arkkitehtuuria vastaamaan tulevaisuuden tarpeita ja hyödyntämään virtualisoidun infrastruktuurin arkkitehtuuria täysimääräisesti. Nopeasti tultiin havaintoon, että edusta- ja taustapalvelimet halutaan eriyttää toisistaan ja nämä halutaan rakentaa arkkitehtuurillisesti siten, että ovat skaalattavissa tarpeen mukaan.

Seuraavat asiat on tehty 

Kaikkien nettisivujen nimipalvelut, jotka on osoitettu Kapsin nimipalvelimille, on siirretty osoittamaan uusia frontend-web-palvelimia. Nämä ohjaavat toistaiseksi vanhoille taustapalvelimille Kirsikalle ja Karviaiselle. Sivustot (”sites”) on kopioitu uudelle levyjärjestelmälle ja sivustohakemisto on korvattu symbolisella linkillä uuteen levyalueeseen. Vanhat ”sites”-hakemistot on siirretty nimelle sites.old ja nämä tullaan poistamaan ylläpidon toimesta lähiaikoina. Halutessasi voit poistaa ”sites.old”-hakemiston myös itse. Ylläpito luo kaikki uudet vhostit oletuksena uusille taustapalvelimille.

Käyttäjille näkyvät muutokset 

Sivustot on omassa tiedostojärjestelmässään ja käytetyn ratkaisun vuoksi quota-komento ei toimi oikein. Itse quota on siitä huolimatta voimassa, kuten aikaisemminkin. Edusta- ja taustapalvelut on eriytetty omille virtuaalikoneilleen, joka mahdollistaa jatkossa koneiden ohjelmistopäivitykset helpommin.

Koti.kapsi.fi/~käyttäjätunnus-osoitteet tulevat jatkossa häviämään kokonaan ja ne korvataan käyttäjätunnus.kapsi.fi-osoitteilla. Mikäli haluat käyttäjätunnus.kapsi.fi-osoitteen, ole yhteydessä ylläpitoon.

Uusien taustojen käyttöönoton yhteydessä ”secure-www”-hakemisto poistuu käytöstä kokonaan. Sekä salattu, että salaamaton sivusto palvellaan ”www”-hakemistosta. Mikäli haluat uudelleenohjauksen HTTP → HTTPS, niin sen voi toteuttaa .htaccess-tiedostolla näin:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Uusilta taustapalvelimilta ei ole oletusarvoisesti mahdollista käyttää Siilon levytilaa. Tämä on estetty, jotta mahdolliset tietoturvapoikkeukset käyttäjän web-hakemistoissa eivät paljastaisi varmuuskopioita hyökkääjälle. Siilon käyttöön webin yli on tehty oma taustapalvelimensa (websiilo1), jonka voi pyytää käyttöön halutuille sivustoille ylläpidolta.

Tällä hetkellä jäsenet pääsevät kirjautumaan omilla tunnuksillaan web-koneilla Kirsikka ja Karviainen. Uusille web-palvelimille ei ole pääsyä jäsenillä, mutta sovelluspalvelimia ja muita shell-pääsyn vaativaa käyttöä varten on tehty webapp1-kone, joka löytyy osoitteesta webapp1.kapsi.fi.

Oman sivuston siirtäminen uusille taustoille

Ennen siirtämistä sivustosi pitää osoittaa uusille edustapalvelimille. Mikäli nimipalvelusi ovat Kapsilla, on tämä jo tehty. Mikäli ei, niin suosittelemme tekemään nimipalvelussa seuraavan nimipalvelutietueen:

oma.sivusto.tld IN CNAME sites.kapsi.fi.

(tai ssl-sites.kapsi.fi, mikäli sivustosi toimii salattuna). Voit toki vaihtoehtoisesti tehdä A- ja AAAA-tietueet suoraan kohti uusia edustapalvelimia:

oma.sivusto.tld IN A 91.232.156.81
oma.sivusto.tld IN A 91.232.156.82
oma.sivusto.tld IN AAAA 2001:67c:1be8::80:1
oma.sivusto.tld IN AAAA 2001:67c:1be8::80:2

Seuraavana pitää suorittaa migraatio järjestelmässä. Lakalta löytyy komento web2migrate.py, joka siirtää www-sivusi palveltavaksi uusilta taustapalvelimilta. web2migrate.py list -komennolla voit listata omien vhostiesi migraation tilan. web2migrate.py migrate omavhost.domain.tld -komennolla voit migratoida omat vhostisi uudelle taustapalvelimelle. Yhden vhostin migratointiin kuluu aikaa 5–15 minuuttia. Huomioithan, että sivusi saattaa olla toimimatta migraation aikana.

Huomioitavia asioita:

  • Uusilla backend-palvelimilla on asennettu PHP 5.6 sekä Apache 2.4.
  • Apache-sovelluspalvelimessa on tällä hetkellä käytössä Apache 2.2 -yhteensopivuustila.
  • Konfiguraatiot olisi hyvä saattaa 2.4-konfiguraatioiden mukaiseksi, koska jossain vaiheessa yhteensopivuustilasta pitää luopua.

Aikataulu

Uudet taustat ovat tällä hetkellä mahdollista ottaa käyttöön kaikille sivustoille. Ylläpito migratoi kaikki loput sivustot 17.2.2017.

Mikäli haluat varmistaa sivustosi toiminnan, on migraatio syytä tehdä web2migrate.py-skriptillä haluttuna ajankohtana. Näin voit itse korjata mahdolliset migraation tuomat ongelmat heti.

Päivitys 16.1.2017: Korjattu faktoja aikataulujen sekä webapp1- ja websiilo1-palvelinten osalta.

19 vastausta käyttäjälle “Kapsin web-palvelinuudistus”

  1. Sami Olmari sanoo:

    Tuohon A- ja AAAA-tietue kohtaan voisi erikseen vielä mainita että ssl-sites.kapsi.fi on eri A ja AAAA-tietueet kuin ilman SSL:ää, se ei tuosta oikein selviä. (cname kyllä selvitetään hyvin ennen sitä).

  2. Markus Sipilä sanoo:

    Mikäli joku muu törmää migraation jälkeen uudessa webbiympäristössä PHP:n fatal erroreihin tyyliin ”PHP Fatal error: Cannot redeclare class…”, johtuu tämä siitä että uuden webbiympäristön PHP:n konfiguraatioissa on tällä hetkellä kaksi eri opcode cachea päällä (xcache ja PHP:n versiosta 5.5 lähtien coressa ollut Zend Opcache). Itselläni tämä tuli vastaan Drupal 7:n ja Views moduulin kohdalla ”PHP Fatal error: Cannot redeclare class view”.

    Olen pyytänyt ylläpitoa tutkimaan asiaa, mutta sitä odotellessa käyttäjät voivat kytkeä toisen cacheista pois päältä .user.ini -tiedostolla, joka sijoitetaan sites/example.com/www -hakemistoon. Tähän tiedostoon sisällöksi, alla oleva rivi, joka kytkee xcachen pois päältä.

    xcache.cacher=0

    Cheers,
    Markus

  3. ”Yhden vhostin migratointiin kuluu aikaa 5–15 minuuttia.”

    Itselläni meni yhden vhostin migratointiin noin 1,5 tuntia, josta suurimman osan ajasta web2migrate.py list sanoi homman olevan valmis. Skriptin läpi menemiseen meni siis aikaa ehkä 10 minuuttia, mutta selain väitti vhostin olevan konfiguroitumatta lopun aikaa.

  4. Markus Sipilä sanoo:

    Tiedoksi tännekin, että ylempänä mainittu XCachen ja Opcachen konflikti on nyt ratkaistu ylläpidon toimesta (disabloimalla xcache).

    Eli .user.ini -workaroundia ei tarvita enää uudessa webbiympäristössä xcachen sammuttamiseen.

    Cheers,
    Markus

  5. Jani sanoo:

    Migratoin tuosta Siilo-varoituksesta huolimatta ja rikkihän se meni. Vieläkö kauan siihen että Siilo tulee uusilla palvelimilla käytettäväksi?

  6. Joonas Lahtinen sanoo:

    Samoin kiinnostais tuo pääsy Siiloon ownCloudin ajamista varten.

  7. MikkoZ sanoo:

    Oliko tuo Siilo jo OK vai nöy? Nextcloudin puolesta kiinnostelis.

  8. Zami sanoo:

    Kaipa Siilo toimii tuon websiilon kautta, kunhan ylläpito vain ehtisi opastaa sen käyttöön ja sallisi sen käytön.

  9. Markus Sipilä sanoo:

    Kaipailisin myös tarkempia toimintaohjeita tuosta websiilosta, käyttötapauksena myös minulla se, että owncloud käyttää siilon levytilaa varmuuskopiointiin.

    Tuolla yleisellä ohjesivulla lukee seuraavaa:
    –clips–
    Varmuuskopioihin käytettävää Siilo-levytilaa voi käyttää ainoastaan Websiilo-palvelimelta. Websiilo-palvelimella ei ole käytössä kotihakemistoa eikä kotihakemiston sites-hakemistoa. Websiilolta tarjottavat verkkosivut löytyvät kansiosta siilo/sites/sivusto/www.

    Websiilon käyttö on sivustokohtaista ja sen voi pyytää käyttöön ylläpidolta.
    –clips–

    Jos siis haluan ajaa owncloudia, niin mihin se pitää asentaa? Nyt se on minulla ~/sites/kayttajatunnus.kapsi.fi:n alla ja se palvellaan urlista https://kayttajatunnus.kapsi.fi. Jatkossa näin ei siis varmastikaan ole… Eli mihin owncloud asennetaan, mistä URLista se palvellaan ja mitä tietoja ylläpidolle pitää toimittaa jotta kaikki tämä onnistuisi?

    Cheers,
    Markus

  10. Zami sanoo:

    Itselle tehtiin oma vhost-sivusto siilon käyttöä varten. ja ohjeen mukaisesti verkkosivut löytyvät hakemistosta ~/siilo/sites/sivusto/www/ Owncloud/nextcloud asentuu uuteen paikkaan kyllä, mutta herjaa ettei löydä .ocdata -tiedostoa tai ettei data -kansiota pysty tekemään vaikka oikeudet laittaisi miten tahansa.

  11. Eri Perl-versiot koneissa.

    Hei, luulin että kaikkiin ympäristöihin oli päivitetty perl 5.20.0.
    Mutta 5.14.2 tuntuu edelleen kummittelevan jossakin.

    Kun Perl -cgi-skripti ei toiminut, heitin sen wrap.cgi:n sisään (hyvä ohje), ja paljastui, että palvelimella ajetaan vanhaa versiota.

  12. Mikko Koivunalho sanoo:

    Problems with locale in webapp1:

    mikkoi@webapp1:~/sites$ locale
    locale: Cannot set LC_ALL to default locale: No such file or directory
    LANG=en_US.UTF-8
    LANGUAGE=
    LC_CTYPE=”en_US.UTF-8″
    LC_NUMERIC=sv_SE.UTF-8
    LC_TIME=sv_SE.UTF-8
    LC_COLLATE=”en_US.UTF-8″
    LC_MONETARY=sv_SE.UTF-8
    LC_MESSAGES=”en_US.UTF-8″
    LC_PAPER=sv_SE.UTF-8
    LC_NAME=sv_SE.UTF-8
    LC_ADDRESS=sv_SE.UTF-8
    LC_TELEPHONE=sv_SE.UTF-8
    LC_MEASUREMENT=sv_SE.UTF-8
    LC_IDENTIFICATION=sv_SE.UTF-8
    LC_ALL=
    mikkoi@webapp1:~/sites$

  13. Petteri Aimonen sanoo:

    Tämä ohje kaipaisi päivittämistä polun suhteen, /home/users/…/sites ei toimi uusilla webbiservereillä:

    https://www.kapsi.fi/ohjeet/htpasswd.html

  14. Markus Sipilä sanoo:

    Zami, kun owncloudin siirtää palveltavaksi websiilon kautta, niin owncloudin konfiguraatiotiedostoon pitää tehdä pieni muutos. Owncloudin konfiguraatiot löytyvät tiedostosta config/config.php

    Tässä tiedostossa on määriteltynä datadirectory-hakemisto, jossa data majailee. Tämä arvo ei saa olla websiiloa käytettäessä muotoa /home/users/kayttajatunnus/siilo/datahakemisto, vaan se pitää olla muodossa /siilo/users/kayttajatunnus/datahakemisto

    Hope this helps,
    Markus

  15. Joni sanoo:

    Moi,

    voisiko joku ystävällisesti tehdä tähän owncloudin migraation jotkut step-by-step ohjeet?

    Siirsin jo tuolta poistuneelta secure-www-kansion alta kansion www-kansion alle ja tein tuon https-uudelleenohjauksen. Nyt kuitenkin sivuille mentäessä herjaa: ’Data directory (/siilo/users//owncloud-data) is invalid
    Please check that the data directory contains a file ”.ocdata” in its root.’

  16. Veijo Pesonen sanoo:

    Hei,

    owncloud:n osalta pohjaksi tommosta:
    ”Varmuuskopioihin käytettävää Siilo-levytilaa voi käyttää ainoastaan Websiilo-palvelimelta. Websiilo-palvelimella ei ole käytössä kotihakemistoa eikä kotihakemiston sites-hakemistoa. Websiilolta tarjottavat verkkosivut löytyvät kansiosta siilo/sites/sivusto/www.
    Websiilon käyttö on sivustokohtaista ja sen voi pyytää käyttöön ylläpidolta.

    ” – https://www.kapsi.fi/ohjeet/web2.html

    1. Tuommoinen vastaus tuli ylläpidolta kun tein owncloud:a varten pyynnön ylläpitoon – ota siis yhteyttä heihin

    ”””
    Tässäpä pyytämäsi siilo-vhost:

    Siilosivu: http://KÄYTTÄJÄNIMI-siilo.kapsi.fi/
    Kotisivuhakemisto: ~/siilo/sites/KÄYTTÄJÄNIMI-siilo.kapsi.fi/www/ (luodaan automaattisesti lakka-palvelimelle)
    ”””

    2. Seuraavaksi kopsasin aiemmin käyttämäni secure-www-kansion sisällön tuon www-kansion sisälle.

    3. owncloud:n config-tiedostoon kävin vaihtamassa trusted-domains-kentän sisällön

  17. Juha sanoo:

    Sama toive kuin Jonilla.

  18. Joni sanoo:

    1. Ano ylläpidolta websiiloon pääsy. Sähköposti yllapito@tuki.kapsi.fi, mainitse postissa että käytät owncloudia ja sivuston muutoksen myötä se ei toimi
    2. Kun saat pääsyn, osoite on muotoa https://-siilo.kapsi.fi/
    3. Yhdistä puttyllä kapsi.fi osoitteeseen ja anna komento cp -rp ~/sites/.kapsi.fi/secure-www/owncloud ~/siilo/sites/-siilo.kapsi.fi/www
    4. Lataa tiedosto ~/siilo/sites/-siilo.kapsi.fi/www/owncloud/config/config.php koneellesi
    5. Muokkaa tiedostoon seuraavat kohdat:
    ’trusted_domains’ =>
    array (
    0 => ’-siilo.kapsi.fi’,
    ),

    ja

    ’overwrite.cli.url’ => ’https://-siilo.kapsi.fi/owncloud/’,

    6. Lataa muokattu tiedosto palvelimelle ja ylikirjoita vanha tiedosto
    7. Lisää .htaccess loitsu: https://ukk.kapsi.fi/questions/160/owncloud-asennus-kapsiin?sivu=1&focusedAnswerId=339#339
    8. Tee https-uudelleenohjaus ohjeen loitsu: https://www.kapsi.fi/ohjeet/web2.html
    9. Poista Owncloud clientistä vanha tunnus ja yhdistä uudelleen https://-siilo.kapsi.fi/owncloud osoitteeseen
    10. Kun olet varmistanut että kaikki toimii ok, poista kansio ~/sites/.kapsi.fi/secure-www/owncloud

Vastaa