Palvelut-Tekniikka

From Tampere Hacklab Wiki
Revision as of 14:06, 7 June 2017 by Cos (Talk | contribs) (Muokkaus)

Jump to: navigation, search

Tässä tekniset tiedot palveluista. Ei tunnuksia tai salasanoja wikiin.

Käyttäjille tarkoitettu sivu: Palvelut

Hacklabin webbipalvelut pyörii FAR ry:n tarjoamassa virtuaalipalvelimessa Docker-konteissa.

Docker-konteista ei pääse toisiinsa suoraan. Hostin IP on 172.17.0.1. Eli jos haluat käyttää esim LDAPpia kontista, se löytyy osoitteesta 172.17.0.1:8889 eikä 127.0.0.1.

HUOM! Jos hosti reboottaa, tuo IP voi vaihtua! Tähän pitäisi keksiä ratkaisu. Esim Mezzanine ja Wiki ei tue dns:ää LDAP-hostissa

Kontteihin pääsee shelliin tekemään huoltojuttuja näin:

docker exec -it <nimi> bash

Kontissa tehdyt muutokset EIVÄT TALLENNU ellei konttia committoi:

docker commit <nimi>

Kontin ulkopuolella, esim. /data hakemistossa oleva tieto sitävastoin säilyy. Ks. varmuuskopiointi

Jos teet isomman muutoksen, anna kontille uusi image-nimi ja tagi (versionumero):

docker commit <nimi> <image>:<tagi>

Muista päivittää tälle sivulle uusimman version image:tagi!

Varmuuskopiointi

Skripti /root/backup_docker_containers.sh ottaa konteista talteen tarvittavat datat ja tallentaa ne päiväyksellä varustuettuun tiedostoon. Aja se roottina, kun haluat ottaa varmuuskopiot kaikesta. Nää olisi hyvä vielä kopsia johonkin muualle talteen jos FAR:n palveli leviää täysin.

$ sudo /root/backup_docker_containers.sh
Dumping ldap data..
Dumping MYSQL database..
Creating backup archive /root/backup/backup-2016-02-21.tar.gz
tar: Removing leading `/' from member names
Deleting MYSQL database dump
Backups done! Number of files saved:
9233

LDAP

Tehty tämän ohjeen mukaan: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-a-basic-ldap-server-on-an-ubuntu-12-04-vps

Docker-kontti

Docker-kontin tiedot
Kuvaus slapd LDAP-palvelin
Kontin nimi ldap
Tekijä cos
Image ldap_tuotanto_1. (TODO: ajossa nyt e93f5ae07ebe, joka on 2kk vanhempi kuin tuo?)
Alkuperäinen image ubuntu
Imagen käynnistys
 docker run -d -p 8888:80 -p 8889:389 -v /root/docker-data/ldap:/data --name ldap -t {{{image}}}
 docker exec ldap service apache2 start
 docker exec ldap slapd
Jaetut hakemistot /root/docker-data/ldap:/data . Sisältää etc_ldap:n joka on /etc/ldap-hakemisto.
Verkko LDAP portissa 8889 (389) ja phpldapadmin portissa 8888 (80)
Varmuuskopiointi Aja komento sudo /root/backup_docker_containers.sh

Huom. slapd normaalisti käynnistettäisiin service slapd start:lla, mutta se failaa jostain syystä. Saa korjata.

Debuggaus

Slapd:n logituksen saa näin

killall slapd (ei kuole service stop:lla!)
slapd -d -1

ldapsearch

Ldapsearchilla voi tehdä kaikenlaisia hakuja (http://blogs.splunk.com/2009/07/30/ldapsearch-is-your-friend/)

ldapsearch -h 127.0.0.1 -p 8889 -x -b "dc=tampere,dc=hacklab,dc=fi" -D "cn=<tunnus>,ou=users,dc=tampere,dc=hacklab,dc=fi" -W

Wiki

Mediawiki. Luet sitä. Käyttää FAR:n MySQL-tietokantaa. Imageen asetettu uudempi versio mediawikistä ja LDAPAuthentication-extensio.

WYSIWYG-editori

VisualEditor on suositeltu. Extensioni asennettu, MUTTA asennus kesken

https://www.mediawiki.org/wiki/Parsoid/Setup kohtaan apt-get install curl parsoid

parsoid : Depends: nodejs (>= 0.8.0) but 0.6.12~dfsg1-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

Docker-kontti

Docker-kontin tiedot
Kuvaus Mediawiki
Kontin nimi mediawiki
Tekijä cos
Image mediawiki:beta2
Alkuperäinen image nickstenning/mediawiki
Imagen käynnistys
 docker run -v /root/docker-data/mediawiki:/data -d -p 81:80 --name mediawiki mediawiki:beta2
Jaetut hakemistot /root/docker-data/mediawiki <-> /data
Verkko Mediawiki portissa 81
Varmuuskopiointi /root/docker-data/mediawiki sekä MYSQL-tietokanta tallentuu skriptillä.

Mezzanine

Löytyy kontin sisältä hakemistosta /root/trehacklab

/root:ssa on myös mezzanine.sh, joka asettaa pari ympäristömuuttujaa oikein ja käynnistää mezzaninen. Käytä sitä.

Muokkaus

Labin Mezzanine löytyy GitHubista osoitteesta https://github.com/TampereHacklab/mezzanine

Sitä voi ajaa omalla koneella ja tehdä erilaisia kustomointeja kuten teeman muokkausta, pluginien asennusta jne. Muutokset sitten pullrequestin kautta githubiin ja sieltä palvelimelle.

Lue README jos haluat kokeilla.

Päivitys gitistä tuotantoon (FAR:lla, roottina):

cd /root/docker-data/mezzanine/mezzanine

git pull

Ei tarvi edes restartata normaalisti. Muutokset näkyy välittömästi.

Docker-kontti

Docker-kontin tiedot
Kuvaus Mezzanine CMS
Kontin nimi mezzanine
Tekijä cos
Image mezzanine_tuotanto:4
Alkuperäinen image ubuntu 15.10
Imagen käynnistys
 docker run -d -p 80:80 --name mezzanine -h tampere.hacklab.fi -v /root/docker-data/mezzanine:/data {{{image}}} /data/mezzanine.sh
Jaetut hakemistot /root/docker-data/mezzanine:/data
Verkko Mezzanine portissa 80
Varmuuskopiointi Koko roska on tuolla /data:n alla nykyään. Tietokanta on dev.db-nimiseen sqlite-tietokanta. Shelliskripti taltio nää kaikki.

DLReg

Cos:n tätä varten koodaamaa käyttäjille tarkotettu LDAP-rekisteröintikalu. Sorsat löytyy https://github.com/hacklab-fi/dlreg ja saa kontributoida.

URL: http://tampere.hacklab.fi:8887/

Docker-kontti

Docker-kontin tiedot
Kuvaus DLReg LDAP-rekisteröinti
Kontin nimi dlreg
Tekijä cos
Image dlreg_image
Alkuperäinen image dlreg:n oma, gitistä löytyy dockerfile.
Imagen käynnistys
 docker run --name dlreg -d -p 8887:8000 -v /root/docker-data/dlreg:/data dlreg-image python /data/dlreg/manage.py runserver 0.0.0.0:8000
Jaetut hakemistot /root/docker-data/dlreg:/data jossa on koko applikaatio.
Verkko Webbi-ui portissa 8887
Varmuuskopiointi Skripti tallentaa jaetusta hakemistosta kaiken. Varsinaista pysyvää dataahan ei ole.