-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlxc-init.sh
More file actions
160 lines (132 loc) · 3.24 KB
/
Copy pathlxc-init.sh
File metadata and controls
160 lines (132 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#!/bin/bash
# Installation LXC
# Virtualisation
# Open Source Services - 01/2015
# GPL
#
# Syntaxe: # su - -c "./lxc-init.sh"
# Syntaxe: or # sudo ./lxc-init.sh
#
# Doit etre lance en root
if [ $EUID -ne 0 ]; then
echo "Le script doit être lancé en root: # sudo $0" 1>&2
exit 1
fi
# Fonctions
#-----------------------------------
sauveFic() {
if [ ! -f ${1} ]; then
echo "ERREUR: $1 inexistant!!!"
fi
if [ ! -f ${1}.0 ]; then
cp ${1} ${1}.0
echo "$1 sauvegardé"
else
cp ${1}.0 ${1}
echo "$1 restauré"
fi
}
pose() {
echo -n "<ENTREE> pour continuer ou <CTRL+C> pour arreter"
read a
}
# Traitement
#-----------------------------------
clear
echo -e "\n-- Traitement"
echo " > installation de LXC"
echo " > Creation de 4 conteneurs"
echo " - proxy [10.0.3.100]"
echo " - web [10.0.3.101]"
echo " - odoo [10.0.3.102]"
echo " - perso [10.0.3.103]"
pose
# LXC
echo -e "\n--- Installation Lxc"
sauveFic '/etc/fstab'
echo 'cgroup /sys/fs/cgroup cgroup defaults 0 0' >> /etc/fstab
mount /sys/fs/cgroup
apt-get update
/usr/bin/apt-get remove -y --force-yes --purge lxc bridge-utils
/usr/bin/apt-get -y --force-yes install lxc bridge-utils
lxc-checkconfig
pose
sauveFic '/etc/default/lxc-net'
sed -i 's/LXC_ADDR="10.0.3.1"/LXC_ADDR="10.0.3.254"/g' /etc/default/lxc-net
sed -i 's/#LXC_DHCP_CONFILE=/LXC_DHCP_CONFILE=/g' /etc/default/lxc-net
sauveFic '/etc/lxc/dnsmasq.conf'
cat <<EOF >/etc/lxc/dnsmasq.conf
dhcp-host=srv-dns,10.0.3.100
dhcp-host=srv-proxy,10.0.3.101
dhcp-host=srv-mail,10.0.3.102
dhcp-host=web,10.0.3.110
dhcp-host=perso,10.0.3.120
dhcp-host=odoo,10.0.3.130
EOF
service lxc-net restart
lxc-create -t ubuntu -n srv-dns
lxc-create -t ubuntu -n srv-proxy
lxc-create -t ubuntu -n srv-mail
lxc-create -t ubuntu -n web
lxc-create -t ubuntu -n perso
lxc-create -t ubuntu -n odoo
cat <<EOF >>/var/lib/lxc/srv-dns/config
lxc.start.auto = 1
lxc.start.order = 1
lxc.start.delay = 0
EOF
cat <<EOF >>/var/lib/lxc/srv-proxy/config
lxc.start.auto = 1
lxc.start.order = 2
lxc.start.delay = 1
EOF
cat <<EOF >>/var/lib/lxc/srv-mail/config
lxc.start.auto = 1
lxc.start.order = 3
lxc.start.delay = 1
EOF
cat <<EOF >>/var/lib/lxc/web/config
lxc.start.auto = 1
lxc.start.order = 4
lxc.start.delay = 2
EOF
cat <<EOF >>/var/lib/lxc/perso/config
lxc.start.auto = 1
lxc.start.order = 5
lxc.start.delay = 2
EOF
cat <<EOF >>/var/lib/lxc/odoo/config
lxc.start.auto = 1
lxc.start.order = 6
lxc.start.delay = 2
EOF
lxc-start -d -n srv-dns
lxc-start -d -n srv-proxy
lxc-start -d -n srv-mail
lxc-start -d -n web
lxc-start -d -n perso
lxc-start -d -n odoo
Lxc-ls --fancy
echo "Pour chaque conteneur:"
echo "---------------------------"
echo "lxc-console -n nomConteneur"
echo "ubuntu / ubuntu"
echo "sudo su"
echo "adduser nomUser"
echo "usermod -a -G sudo nomUser"
echo "exit ou [CTRL+D]"
echo "exit ou [CTRL+D]"
echo "login: nomUser / pwdUser"
echo "sudo su"
echo "deluser ubuntu --remove-home"
echo "apt-get update"
echo "apt-get dist-upgrade"
echo "apt-get install nano wget git iptables aptitude"
echo "..."
echo "[CTRL+A] puis [Q] pour quitter lxc-console et revenir sur le host"
echo "Demarrage automatique"
echo "nano /var/lib/lxc/nomConteneur/config"
echo "lxc.start.auto = 1"
echo "lxc.start.order = x"
echo "lxc.start.delay = x"
exit 0