Tampere Hacklab Wiki

Kaiken maailman pysyvää tietoa labista ja labin touhuista

User Tools

Site Tools


palvelut-tekniikka

Hacklabin palveluiden tekniikka

Labilla on FAR ry:n konesalissa virtuaali, tampere.hacklab.fi jossa Ubuntu 18.04.

Docker

Koneella on virallinen dockerin apt-repo käytössä.

Jos säädät dockeria, älä käytä roottia vaan lisää itsesi grouppiin: sudo usermod -aG docker ${USER}

Dockerissa on verkko: tamperehacklab - lisää kaikki kontit siihen niin ne näkevät toisensa.

Dockerin konttien tiedostot löytyvät hakemistosta /docker/<kontti>, johon pitäisi olla kirjoitusoikat docker-ryhmään kuuluvilla käyttäjillä.

Konteissa käytetään docker-composea. Käytä sitä jos teet kontin. Katso esimerkkiä olemassaolevista. Ei salasanoja tai muuta salaista docker-compose.yml:n.

Konttien ympäristömuuttujat ovat joka kontin hakemistoissa .env-tiedostossa. Ne sisältävät salasanoja joten niitä ei voi laittaa gittiin. Älä laita niitä gittiin.

Skriptit

Löytyvät /docker:sta.

  • start_all, stop_all käynnistävät tai pysäyttävät kaikki kontit
  • rebuild_all.sh päivittää imaget ja rakentaa kontit uusiksi. Testaa palveluiden toiminta jos ajat tämän!
  • backup_all.sh varmuuskopioi kaiken.

Lue skriptit ennen ajoa, niissä on kommenteissa lisätietoja.

LDAP

Käyttäjätietokanta, jota kaikki palvelut käyttävät.

Käytetään tätä imagea: https://github.com/osixia/docker-openldap

Kontin nimi: ldap

Adminkäyttäjä on: “cn=admin,dc=tampere,dc=hacklab,dc=fi” LDAP-tunnukset ovat tyyliin: “cn=<kayttaja>,ou=users,dc=tampere,dc=hacklab,dc=fi”

Vanhan Importtaus

(Jos joskus tarvii siirtää dataa koneelta toiselle) Avaa lähde-phpldapadmin, valkkaa export.

  • Base dn: dc=tampere,dc=hacklab,dc=fi
  • Search Scope: Sub (entire subtree)

Save as file ja LDIF

Avaa export.ldif, poista alusta 2 kohtaa eli base dn ja admin-käyttäjätunnus.

Avaa kohde-phpldapadmin (jossa vain admin-tunnus ja muuten tyhjää). Importtaa export.ldif. Maailma ehkä räjähtää, ehkä ei.

phpLDAPadmin

LDAP:n ylläpitotyökalu.

Kontin nimi: phpldapadmin

Web ui urlissa /phpldapadmin/

Mezzanine

Labin CMS eli webbisivut/blogialusta.

Sisältää mezzanine-hakemiston joka on gitistä: https://github.com/TampereHacklab/mezzanine

Datojen siirto

* Kopsi vanhasta trehacklab/dev.db data:n alle * Kopsi staattiset trehacklab/static/img static/media static/wp-content data/static:n alle.

DLReg

Cos:n koodaama LDAP:n rekisteröitymiskikkare. Gitistä: https://github.com/hacklab-fi/dlreg

Kontitettu ja kukkuu. Ei erikoisempaa konffia kuin local_settings.py.

URL: /dlreg/

Apache Proxy

Reverse proxy jonka läpi muut (webbi)palvelut näkyy http/https- portin kautta.

Huom! Jos muutat konffista, käynnistä kontti uudestaan. Se ei lataa sitä lennosta.

Pohjana tämä kontti, kts dokkarit https://github.com/DiouxX/docker-apache-proxy

TLS

Käytettävät certit on data/ssl/ -hakemistossa. Varmenteet myöntää Letsencrypt ja ne ovat voimassa 3kk kerrallaan. Luonti hoidetaan ACME protokollalla. Proxyn hakemistossa /docker/apache-proxy on vanhalta serveriltä kopsittu skripti renewcerts.sh. Se on cronissa ja päivittäin tarkistaa tilanteen.

Jos tehdään uusia varmenteita, niin silloin voidaan käyttää

/docker/apache-proxy/acmetiny/rikucron_renewal.sh

Jotta tämä ACME menetelmä toimisi, niin

  1. uuden varmenteen CN on lisättävä skriptissä SAN kohtaan
  2. apachella on oltavata site määritys tälle CN nimelle.
  3. Tärkeää on lisätä ennen muita ProxyPass määrityksiä rivi
 ProxyPass /.well-known/acme-challenge/ !    

Huom: rivi sisälsi huutomerkin. (!)

 
  * Jos sivustolle on vain TLS (portti 443) yhteys, niin yo. rivi kuuluu sinne.
  * Jos sivustolla on redirect 80->443, niin ACME protokolla yrittää ensin 80 porttiin ja sitten vasta 443, 
    mikä hidastaa n. 5 sekuntia renewal skriptin ajoa, joten oikea paikka olisi :80 määrityksessä.

HUOM: Jos ylläolevat ehdot eivät täyty, bugaa skriptikin eikä pääse loppuun asti uusimaan varmenteita. Onneksi LetsEncrypt kuitenkin lähettää hallitukselle varoitusmailin 19 päivää ennen vanhenemisia, kuten kävi tänään 15.3.2019 -RI

Dokuwiki

Wiki, joka on vähän järkevämpi ylläpitää kuin MediaWiki. Käyttää imagea bitnami/dokuwiki

Datojen siirto (Mediawikistä)

dokuwiki/yamdwe :sta löytyy importtaustyökalu. Käyttää virtualenviä.

env/bin/activate
./yamdwe.py https://tampere.hacklab.fi/viswiki/api.php ../data/dokuwiki/

(säädä data:n tiedosto-oikkia tarvittaessa)

Nakkisade

cos:n koodaama tapahtumiin ilmottatumisjärjestelmä.

Git: https://github.com/hacklab-fi/nakkisade

Web ui: http://nakkisade.tampere.hacklab.fi/

Piwigo aka kuvat

Piwigo- kuvagalleriasofta. Valitettavasti LDAP-plugin ei tue halutusti LDAP-grouppeja joten sitä ei käytetä. Yleistunnukset käy.

Web ui: https://kuvat.tampere.hacklab.fi/

Matrixbot

cos:n koodaama geneerinen matrix-botti.

Hakemisto: python-matrix-bot-api

Git: https://github.com/TampereHacklab/python-matrix-bot-api

Muutokset gitistä:

  • git pull
  • docker-compose stop
  • docker-compose build
  • docker-compose up -d

Mulysa

Jäsenrekisteri, djangoa. Kesken.

Sähköpostit

  • Postfix asennettu palvelimelle
  • Logitiedosto: /var/log/mail.log
  • 20190309 dockerkonteista voi lähettää postia ulkopuolelle eli sallittu relay verkosta 172.18.0.0/16. Nyt hakijatkin saavat vahvistusviestin.

Aliasten muokkaus

  • Muokkaa /etc/aliases:ia
  • sudo newaliases
  • sudo systemctl restart postfix
palvelut-tekniikka.txt · Last modified: 08.07.2019 11:38 by cos