User:Didier2020/Utilisation osmose

From OpenStreetMap Wiki
Jump to: navigation, search

Prérequis sur la machine hôte

configurer sudo

addusers didier sudo
redemarrer session (le groupe est modifié mais pas encore pris en compte)

mode bridge nat

modification du fichier /etc/sysctl.conf
net.ipv4.ip_forward  = 1

modification du fichier /etc/network/interfaces

allow-hotplug eth0
iface eth0 inet dhcp
#ajouter
auto lxc-bridge-nat
iface lxc-bridge-nat inet static
       bridge_ports none
       bridge_fd 0
       bridge_maxwait 0
       address 172.20.20.1
       netmask 255.255.255.0
       up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ou 172.20.20.1 est le reseau que nous voulons créer
et 255.255.255.0 le netmask (correspond au "/24" a la fin des adresses ip des vm par la suite)
puis relancer la configuration pour prise en compte des modifications
/etc/init.d/networking restart

Installer LXC

installer lxc

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install lxc bridge-utils (optionnel : libvirt-bin)
parametre voulus pour les containers
/usr/share/lxc/config
parametre voulus pour les modeles des containers (distributions)
il n'est pas inutile de regarder la : /usr/share/doc/lxc/examples

petit test

lxc-checkconfig

configuration de lxc machine hote

creer /etc/lxc/lxc.conf et ajouter
lxc.lxcpath #     The location in which all containers are stored.
# creation d'un fichier avec la configuration voulue pour le container
# /data/container/config.1
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = lxc-bridge-nat
lxc.network.hwaddr = 00:FF:AA:20:20:02
lxc.network.ipv4 = 172.20.20.2/24
lxc.network.ipv4.gateway = 172.20.20.1

creer machine

sudo LANG=fr_FR.UTF-8 LC_ALL=C LANGUAGE=fr_FR lxc-create -f /data/container/config.1 -n osmose1 -t debian -- -r jessie
il y aura un message du type
Root password is 'b/I2+RcF', please change
verfier /data/container/osmose1/rootfs/etc/apt/sources.list (pour les mises a jours)

premiere connection a la vm (il faut la demarrer au préalable)

sudo lxc-start -n monContainer -o /data/container/osmose1/osmose1.log  #le chemin du log est a spécifier quand on change le repertoire par defautl des containers
se connecter en root
passwd #for change root password
init 0

verifier si vm eteinte

sudo lxc-info -n monContainer
le cas echeant
sudo lxc-stop -n monContainer -o /data/container/osmose1/osmose1.log

autre commandes

sudo lxc-ls
sudo lxc-info -n monContainer 
sudo lxc-destroy -n monContainer

préparer la vm pour installation d'osmose dans le container

lancer la vm en background (option -d)

sudo lxc-start -n monContainer -d -o /data/container/osmose1/osmose1.log

connection a la vm (quitter par Ctrl+a puis q )

(il n'y a pas d'utilisateur configuré pour l'instant donc login root)
sudo lxc-console -n monContainer -t 1

ajouter utilisateur autre que root

adduser osmose 

paquets prérequis pour osmose

apt install -y wget git
* suivre la procedure d'installation d'osmose sur github OU
apt install -y python
apt install -y python-dateutil python-imposm-parser python-lockfile python-polib python-poster python-psycopg2 python-shapely python-regex
apt install -y postgresql-9.4 postgresql-contrib-9.4 postgresql-9.4-postgis-2.1 openjdk-7-jre-headless
* préparer postgresql
As postgres user: (su - postgress)
createuser osmose
# Set your own password
psql -c "ALTER ROLE osmose WITH PASSWORD '-osmose-';"
createdb -E UTF8 -T template0 -O osmose osmose
# Enable extensions
psql -c "CREATE extension hstore; CREATE extension fuzzystrmatch; CREATE extension unaccent; CREATE extension postgis;" osmose
psql -c "GRANT SELECT,UPDATE,DELETE ON TABLE spatial_ref_sys TO osmose;" osmose
* installation osmose
as user osmose
git clone https://github.com/osm-fr/osmose-backend.git
adapter le fichier de configuration (osmose-backend/modules/config.py)
(dir_work="home/%s/work" % (username)
creer /home/osmose/work/logs (ou /home/%s/work/logs)
* mise a jour du prog
git pull