Projet

Général

Profil

TestIPv6 » Historique » Version 6

Fabien Dupont, 10/02/2013 15:52

1 1 Fabien Dupont
h1. Mise en place de Falling-Sky
2 1 Fabien Dupont
3 6 Fabien Dupont
{{>toc}}
4 6 Fabien Dupont
5 1 Fabien Dupont
Falling-sky est le script open-source se cachant derrière : http://test-ipv6.com/ .
6 1 Fabien Dupont
7 1 Fabien Dupont
Ici, ce script sera installé sur http://test-ipv6.tetaneutral.net/ dans /var/www/test-ipv6.tetaneutral.net.
8 1 Fabien Dupont
9 1 Fabien Dupont
h2. Installation des pré-requis systèmes
10 1 Fabien Dupont
11 1 Fabien Dupont
Ces pré-requis sont nécessaires uniquement pour l'installation du script.
12 1 Fabien Dupont
Ils pourront êtres nettoyés une fois tout installé.
13 1 Fabien Dupont
14 1 Fabien Dupont
<pre>
15 1 Fabien Dupont
# aptitude install apache2-prefork-dev subversion yui-compressor tidy libtemplate-perl libyaml-perl libyaml-syck-perl libjson-perl
16 1 Fabien Dupont
</pre>
17 1 Fabien Dupont
18 1 Fabien Dupont
h2. Récupération des sources
19 1 Fabien Dupont
20 1 Fabien Dupont
Les sources sont accessibles depuis le serveur SVN de google
21 1 Fabien Dupont
22 1 Fabien Dupont
<pre>
23 1 Fabien Dupont
# cd /usr/local/src
24 1 Fabien Dupont
# svn checkout http://falling-sky.googlecode.com/svn/trunk/ falling-sky
25 1 Fabien Dupont
</pre>
26 1 Fabien Dupont
27 1 Fabien Dupont
h2. Installation de mod_ip
28 1 Fabien Dupont
29 1 Fabien Dupont
Falling-sky fournit le module d'apache mod_ip. C'est un module qui retourne l'IP, dans un objet JSONP, depuis laquelle un client web accède à une page web.
30 1 Fabien Dupont
Ce service est fourni en tant que module apache pour des raisons de performances.
31 1 Fabien Dupont
32 1 Fabien Dupont
<pre>
33 1 Fabien Dupont
# cd /usr/local/src/falling-sky/mod_ip
34 1 Fabien Dupont
# apxs2 -c -i -a mod_ip.c
35 1 Fabien Dupont
</pre>
36 1 Fabien Dupont
37 1 Fabien Dupont
h2. Activation des modules dans apache
38 1 Fabien Dupont
39 1 Fabien Dupont
Falling-sky a besoin des modules mod_usertrack, mod_header et mod_expire pour fonctionner.
40 1 Fabien Dupont
41 1 Fabien Dupont
<pre>
42 1 Fabien Dupont
# /etc/apache2/mods-enabled
43 1 Fabien Dupont
# ln -sv ../mods-available/usertrack.load
44 1 Fabien Dupont
# ln -sv ../mods-available/header.load
45 1 Fabien Dupont
# ln -sv ../mods-available/expire.load
46 1 Fabien Dupont
</pre>
47 1 Fabien Dupont
48 2 Fabien Dupont
h2. Ajout du VirtualHost dans apache
49 2 Fabien Dupont
50 2 Fabien Dupont
<pre>
51 2 Fabien Dupont
# cat /etc/apache2/sites-available/test-ipv6.tetaneutral.net 
52 2 Fabien Dupont
<VirtualHost *:80>
53 2 Fabien Dupont
	# Basic stuff commmon to any virtual host
54 2 Fabien Dupont
	ServerName test-ipv6.tetaneutral.net
55 2 Fabien Dupont
	ServerAlias www.test-ipv6.tetaneutral.net
56 2 Fabien Dupont
	DocumentRoot /var/www/test-ipv6.tetaneutral.net
57 2 Fabien Dupont
58 2 Fabien Dupont
	# I have a "server alias" for every possible name I expect to answer.
59 2 Fabien Dupont
	ServerAlias test-ipv6.tetaneutral.net *.test-ipv6.tetaneutral.net 
60 2 Fabien Dupont
	ServerAlias 91.224.149.206
61 2 Fabien Dupont
	ServerAlias 2a01:6600:8081:ce00::1
62 2 Fabien Dupont
63 2 Fabien Dupont
	# Enable etags.  Improve cachability of
64 2 Fabien Dupont
	# most stuff.
65 2 Fabien Dupont
	FileETag MTime
66 2 Fabien Dupont
67 2 Fabien Dupont
	# Apache built in cookie tracking.
68 2 Fabien Dupont
	# We use this to record only the most recent submission from a given browser,
69 2 Fabien Dupont
	# to avoid stuffing the ballot box on the survey.
70 2 Fabien Dupont
	CookieExpires "24 hours"
71 2 Fabien Dupont
	CookieStyle RFC2109
72 2 Fabien Dupont
	CookieTracking on
73 2 Fabien Dupont
74 2 Fabien Dupont
	# Limit disk access.  Don't look for .htaccess in directories.
75 2 Fabien Dupont
	<Directory /var/www/test-ipv6.tetaneutral.net>
76 2 Fabien Dupont
		AllowOverride None
77 2 Fabien Dupont
	</Directory>
78 2 Fabien Dupont
79 2 Fabien Dupont
	################################################################
80 2 Fabien Dupont
	# IP reporting                                                 #
81 2 Fabien Dupont
	################################################################
82 2 Fabien Dupont
83 2 Fabien Dupont
	# mod_ip - reports IP address.  CGI arguements: callback= and fill=
84 2 Fabien Dupont
	# This is a custom module in the test-ipv6.com archive.
85 2 Fabien Dupont
	# This was implemented as a module for performance reasons.
86 2 Fabien Dupont
	# /ip/ is *the* single most requested element (6 or more times per test!)
87 2 Fabien Dupont
	<LocationMatch ^/ip/?$>
88 2 Fabien Dupont
		SetHandler mod_ip
89 2 Fabien Dupont
		Header append Cache-Control no-cache
90 2 Fabien Dupont
		Header append Pragma no-cache
91 2 Fabien Dupont
		Header append Expires "Thu, 01 Jan 1971 00:00:00 GMT"
92 2 Fabien Dupont
	</locationMatch>
93 2 Fabien Dupont
94 2 Fabien Dupont
	################################################################
95 2 Fabien Dupont
	# Cache busting                                                #
96 2 Fabien Dupont
	################################################################
97 2 Fabien Dupont
98 2 Fabien Dupont
	# This virtualhost requires RewriteEngine
99 2 Fabien Dupont
	RewriteEngine on
100 2 Fabien Dupont
101 2 Fabien Dupont
	# Cache Busting the javascript code
102 2 Fabien Dupont
	# Each time we update index.html, we do this:
103 2 Fabien Dupont
	#   <script type="text/javascript" src="/v71/index.js">
104 2 Fabien Dupont
	# This is to force the browser to fetch any updated javascript.
105 2 Fabien Dupont
	# We do a similiar thing for CSS.
106 2 Fabien Dupont
	# This RewriteRule will see /v71 and strip it from the request.
107 2 Fabien Dupont
	RewriteRule ^/v[0-9]+(/.*)$ $1 [N]
108 2 Fabien Dupont
109 2 Fabien Dupont
	################################################################
110 2 Fabien Dupont
	# Precompressed files                                          #
111 2 Fabien Dupont
	################################################################
112 2 Fabien Dupont
113 2 Fabien Dupont
	# Our build.pl script will generate precompressed versions
114 2 Fabien Dupont
	# of our HTML, JS, and CSS; and store the compressed versions
115 2 Fabien Dupont
	# on disk.  We want to serve these directly to users who support
116 2 Fabien Dupont
	# compression.  This avoids having Apache do compresion on-the-fly,
117 2 Fabien Dupont
	# lowering the load on the web server.
118 2 Fabien Dupont
	AddType "text/html;charset=UTF-8" .htmlgz
119 2 Fabien Dupont
	AddType "text/javascript;charset=UTF-8" .jsgz
120 2 Fabien Dupont
	AddType "text/css;charset=UTF-8" .cssgz
121 2 Fabien Dupont
	AddEncoding gzip .htmlgz
122 2 Fabien Dupont
	AddEncoding gzip .jsgz
123 2 Fabien Dupont
	AddEncoding gzip .cssgz
124 2 Fabien Dupont
125 2 Fabien Dupont
	# If the browser supports gzip, redirect users
126 2 Fabien Dupont
	# of these file types to the compressed versions.
127 2 Fabien Dupont
	RewriteCond %{HTTP:Accept-Encoding} gzip
128 2 Fabien Dupont
	RewriteRule (.*)\.html$ $1\.htmlgz [L]
129 2 Fabien Dupont
	RewriteCond %{HTTP:Accept-Encoding} gzip
130 2 Fabien Dupont
	RewriteRule (.*)\.css$ $1\.cssgz [L]
131 2 Fabien Dupont
	RewriteCond %{HTTP:Accept-Encoding} gzip
132 2 Fabien Dupont
	RewriteRule (.*)\.js$ $1\.jsgz [L]
133 2 Fabien Dupont
134 2 Fabien Dupont
	################################################################
135 2 Fabien Dupont
	# Images                                                       #
136 2 Fabien Dupont
	################################################################
137 2 Fabien Dupont
138 2 Fabien Dupont
	# Images used for testing need to be un-cached, always.
139 2 Fabien Dupont
	# Make sure these are either a copy of the image directory, or 
140 2 Fabien Dupont
	# a symlink to the images directory.
141 2 Fabien Dupont
	<Location /images-nc>
142 2 Fabien Dupont
		FileETag none   
143 2 Fabien Dupont
		ExpiresActive off
144 2 Fabien Dupont
		RequestHeader unset If-Modified-Since
145 2 Fabien Dupont
		Header append Expires "Thu, 01 Jan 1971 00:00:00 GMT"
146 2 Fabien Dupont
	</location>
147 2 Fabien Dupont
148 2 Fabien Dupont
	# Tell browsers that once /images/ [anything] is fetched, cache it forever.
149 2 Fabien Dupont
	# Don't even try and *ask* again.  These images do not change.  This will
150 2 Fabien Dupont
	# permit followup tests by the user both run faster, and lower the load on 
151 2 Fabien Dupont
	# the web server.
152 2 Fabien Dupont
	<Location /images>
153 2 Fabien Dupont
		FileETag none
154 2 Fabien Dupont
		ExpiresActive on
155 2 Fabien Dupont
		ExpiresDefault "access plus 10 years"
156 2 Fabien Dupont
	</location>
157 2 Fabien Dupont
158 2 Fabien Dupont
	################################################################
159 2 Fabien Dupont
	# Localization                                                 #
160 2 Fabien Dupont
	################################################################
161 2 Fabien Dupont
162 2 Fabien Dupont
	# Fix character sets using regex.  This is so we can
163 2 Fabien Dupont
	# handle unlimited number of langauges.
164 2 Fabien Dupont
	<LocationMatch "/.*[.](js|jsgz)[.]">
165 2 Fabien Dupont
		Header set Content-type text/javascript;charset=UTF-8
166 2 Fabien Dupont
	</LocationMatch>
167 2 Fabien Dupont
	<LocationMatch "/.*[.](css|cssgz)[.]">
168 2 Fabien Dupont
		Header set Content-type text/css;charset=UTF-8
169 2 Fabien Dupont
	</LocationMatch>
170 2 Fabien Dupont
	<LocationMatch "/.*[.](html|htmlgz)[.]">
171 2 Fabien Dupont
		Header set Content-type text/html;charset=UTF-8
172 2 Fabien Dupont
	</LocationMatch>
173 2 Fabien Dupont
174 2 Fabien Dupont
	# Content Negotiation
175 2 Fabien Dupont
	Options +MultiViews
176 2 Fabien Dupont
	LanguagePriority en-us en
177 2 Fabien Dupont
	ForceLanguagePriority prefer fallback
178 2 Fabien Dupont
179 2 Fabien Dupont
	AddLanguage en .en-us   
180 2 Fabien Dupont
	AddLanguage en-us .en-us
181 2 Fabien Dupont
	AddLanguage fr .fr
182 2 Fabien Dupont
183 2 Fabien Dupont
	DirectoryIndex index.html
184 2 Fabien Dupont
185 2 Fabien Dupont
	# Identify IPv6 prefixes
186 2 Fabien Dupont
	mod_ip_prefix 2001::/32 "Teredo"
187 2 Fabien Dupont
	mod_ip_prefix 2002::/16 "6to4"
188 2 Fabien Dupont
	mod_ip_prefix 2001:470:8000::/33 "he.net or tunnelbroker.net"
189 2 Fabien Dupont
	mod_ip_prefix 2001:470:8000::/33 "tunnelbroker.net"          
190 2 Fabien Dupont
	mod_ip_prefix 2001:55c::/32 "Comcast"
191 2 Fabien Dupont
	mod_ip_prefix 2001:888::/32 "XS4ALL"
192 2 Fabien Dupont
	mod_ip_prefix 2001:5c0::/32 "freenet6"
193 2 Fabien Dupont
	mod_ip_prefix 2001:1291:200::/48 "brudi01.sixxs.net ctbc"
194 2 Fabien Dupont
	mod_ip_prefix 2001:1291:200::/40 "brudi01.sixxs.net ctbc"
195 2 Fabien Dupont
	mod_ip_prefix 2001:1418:100::/48 "ittrn01.sixxs.net itgate"
196 2 Fabien Dupont
	mod_ip_prefix 2001:1418:100::/40 "ittrn01.sixxs.net itgate"
197 2 Fabien Dupont
	mod_ip_prefix 2001:14b8:100::/48 "fihel01.sixxs.net dna"
198 2 Fabien Dupont
	mod_ip_prefix 2001:14b8:100::/40 "fihel01.sixxs.net dna"
199 2 Fabien Dupont
	mod_ip_prefix 2001:15c0:65ff::/48 "simbx01.sixxs.net amis"
200 2 Fabien Dupont
	mod_ip_prefix 2001:15c0:6600::/40 "simbx01.sixxs.net amis"
201 2 Fabien Dupont
	mod_ip_prefix 2001:15c0:6700::/40 "simbx01.sixxs.net amis"
202 2 Fabien Dupont
	mod_ip_prefix 2001:1620:f00::/48 "chzrh02.sixxs.net init7"
203 2 Fabien Dupont
	mod_ip_prefix 2001:1620:f00::/40 "chzrh02.sixxs.net init7"
204 2 Fabien Dupont
	mod_ip_prefix 2001:16d8:cc00::/40 "sesto01.sixxs.net phonera"
205 2 Fabien Dupont
	mod_ip_prefix 2001:16d8:dd00::/48 "dkcph01.sixxs.net phonera"
206 2 Fabien Dupont
	mod_ip_prefix 2001:16d8:dd00::/40 "dkcph01.sixxs.net phonera"
207 2 Fabien Dupont
	mod_ip_prefix 2001:16d8:ee00::/48 "noosl01.sixxs.net phonera"
208 2 Fabien Dupont
	mod_ip_prefix 2001:16d8:ee00::/40 "noosl01.sixxs.net phonera"
209 2 Fabien Dupont
	mod_ip_prefix 2001:16d8:ff00::/48 "sesto01.sixxs.net phonera"
210 2 Fabien Dupont
	mod_ip_prefix 2001:16d8:ff00::/40 "sesto01.sixxs.net phonera"
211 2 Fabien Dupont
	mod_ip_prefix 2001:1938:100::/40 "usdal01.sixxs.net highwinds"
212 2 Fabien Dupont
	mod_ip_prefix 2001:1938:200::/40 "usphx01.sixxs.net highwinds"
213 2 Fabien Dupont
	mod_ip_prefix 2001:1938:80::/48 "usdal01.sixxs.net highwinds"
214 2 Fabien Dupont
	mod_ip_prefix 2001:1938:81::/48 "usphx01.sixxs.net highwinds"
215 2 Fabien Dupont
	mod_ip_prefix 2001:1af8:fe00::/48 "nlhaa01.sixxs.net leaseweb"
216 2 Fabien Dupont
	mod_ip_prefix 2001:1af8:fe00::/40 "nlhaa01.sixxs.net leaseweb"
217 2 Fabien Dupont
	mod_ip_prefix 2001:1af8:ff00::/40 "nlhaa01.sixxs.net leaseweb"
218 2 Fabien Dupont
	mod_ip_prefix 2001:41e0:ff00::/48 "chzrh01.sixxs.net ipman"
219 2 Fabien Dupont
	mod_ip_prefix 2001:41e0:ff00::/40 "chzrh01.sixxs.net ipman"
220 2 Fabien Dupont
	mod_ip_prefix 2001:4428:200::/48 "nzwlg01.sixxs.net acsdata"
221 2 Fabien Dupont
	mod_ip_prefix 2001:4428:200::/40 "nzwlg01.sixxs.net acsdata"
222 2 Fabien Dupont
	mod_ip_prefix 2001:4830:1100::/48 "usbos01.sixxs.net occaid"
223 2 Fabien Dupont
	mod_ip_prefix 2001:4830:1100::/40 "usbos01.sixxs.net occaid"
224 2 Fabien Dupont
	mod_ip_prefix 2001:4830:1600::/48 "usqas01.sixxs.net occaid"
225 2 Fabien Dupont
	mod_ip_prefix 2001:4830:1600::/40 "usqas01.sixxs.net occaid"
226 2 Fabien Dupont
	mod_ip_prefix 2001:4978:100::/40 "uschi02.sixxs.net yourorg"
227 2 Fabien Dupont
	mod_ip_prefix 2001:4978:200::/40 "uschi02.sixxs.net yourorg"
228 2 Fabien Dupont
	mod_ip_prefix 2001:4978:300::/40 "uschi02.sixxs.net yourorg"
229 2 Fabien Dupont
	mod_ip_prefix 2001:4978:400::/40 "uschi02.sixxs.net yourorg"
230 2 Fabien Dupont
	mod_ip_prefix 2001:4978:f::/48 "uschi02.sixxs.net yourorg"
231 2 Fabien Dupont
	mod_ip_prefix 2001:4dd0:fc00::/40 "decgn01.sixxs.net netcologne"
232 2 Fabien Dupont
	mod_ip_prefix 2001:4dd0:fd00::/40 "decgn01.sixxs.net netcologne"
233 2 Fabien Dupont
	mod_ip_prefix 2001:4dd0:fe00::/40 "decgn01.sixxs.net netcologne"
234 2 Fabien Dupont
	mod_ip_prefix 2001:4dd0:ff00::/48 "decgn01.sixxs.net netcologne"
235 2 Fabien Dupont
	mod_ip_prefix 2001:4dd0:ff00::/40 "decgn01.sixxs.net netcologne"
236 2 Fabien Dupont
	mod_ip_prefix 2001:610:600::/48 "nlams05.sixxs.net surfnet"
237 2 Fabien Dupont
	mod_ip_prefix 2001:610:600::/40 "nlams05.sixxs.net surfnet"
238 2 Fabien Dupont
	mod_ip_prefix 2001:610:700::/40 "nlams05.sixxs.net surfnet"
239 2 Fabien Dupont
	mod_ip_prefix 2001:6a0:100::/40 "plwaw01.sixxs.net icm"
240 2 Fabien Dupont
	mod_ip_prefix 2001:6a0:200::/48 "plwaw01.sixxs.net icm"
241 2 Fabien Dupont
	mod_ip_prefix 2001:6a8:200::/48 "bebru02.sixxs.net belnet"
242 2 Fabien Dupont
	mod_ip_prefix 2001:6a8:200::/40 "bebru02.sixxs.net belnet"
243 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1000::/40 "deham01.sixxs.net easynet"
244 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1100::/40 "deham01.sixxs.net easynet"
245 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1200::/40 "deham01.sixxs.net easynet"
246 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1300::/40 "deham01.sixxs.net easynet"
247 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1400::/40 "bebru01.sixxs.net easynet"
248 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1c00::/48 "deham02.sixxs.net easynet"
249 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1c00::/40 "deham02.sixxs.net easynet"
250 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:1d00::/40 "deham02.sixxs.net easynet"
251 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:202::/48 "bebru01.sixxs.net easynet"
252 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:300::/40 "bebru01.sixxs.net easynet"
253 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:900::/48 "deham01.sixxs.net easynet"
254 2 Fabien Dupont
	mod_ip_prefix 2001:6f8:900::/40 "deham01.sixxs.net easynet"
255 2 Fabien Dupont
	mod_ip_prefix 2001:770:100::/48 "iedub01.sixxs.net heanet"
256 2 Fabien Dupont
	mod_ip_prefix 2001:770:100::/40 "iedub01.sixxs.net heanet"
257 2 Fabien Dupont
	mod_ip_prefix 2001:7b8:1500::/40 "nlede01.sixxs.net bit"
258 2 Fabien Dupont
	mod_ip_prefix 2001:7b8:2ff::/48 "nlede01.sixxs.net bit"
259 2 Fabien Dupont
	mod_ip_prefix 2001:7b8:300::/40 "nlede01.sixxs.net bit"
260 2 Fabien Dupont
	mod_ip_prefix 2001:7e8:2200::/48 "lulux01.sixxs.net ptlu"
261 2 Fabien Dupont
	mod_ip_prefix 2001:7e8:2200::/40 "lulux01.sixxs.net ptlu"
262 2 Fabien Dupont
	mod_ip_prefix 2001:808:100::/48 "plpoz01.sixxs.net poznan"
263 2 Fabien Dupont
	mod_ip_prefix 2001:808:100::/40 "plpoz01.sixxs.net poznan"
264 2 Fabien Dupont
	mod_ip_prefix 2001:808:e100::/48 "plpoz01.sixxs.net poznan"
265 2 Fabien Dupont
	mod_ip_prefix 2001:808:e100::/40 "plpoz01.sixxs.net poznan"
266 2 Fabien Dupont
	mod_ip_prefix 2001:838:300::/48 "nlams01.sixxs.net concepts"
267 2 Fabien Dupont
	mod_ip_prefix 2001:838:300::/40 "nlams01.sixxs.net concepts"
268 2 Fabien Dupont
	mod_ip_prefix 2001:960:2::/48 "nlams04.sixxs.net scarlet"
269 2 Fabien Dupont
	mod_ip_prefix 2001:960:600::/40 "nlams04.sixxs.net scarlet"
270 2 Fabien Dupont
	mod_ip_prefix 2001:960:700::/40 "nlams04.sixxs.net scarlet"
271 2 Fabien Dupont
	mod_ip_prefix 2001:a60:f000::/48 "demuc02.sixxs.net mnet"
272 2 Fabien Dupont
	mod_ip_prefix 2001:a60:f000::/40 "demuc02.sixxs.net mnet"
273 2 Fabien Dupont
	mod_ip_prefix 2001:ad0:900::/48 "eetll01.sixxs.net linxtelecom"
274 2 Fabien Dupont
	mod_ip_prefix 2001:ad0:900::/40 "eetll01.sixxs.net linxtelecom"
275 2 Fabien Dupont
	mod_ip_prefix 2001:b18:2000::/48 "ptlis01.sixxs.net nfsi"
276 2 Fabien Dupont
	mod_ip_prefix 2001:b18:4000::/40 "ptlis01.sixxs.net nfsi"
277 2 Fabien Dupont
	mod_ip_prefix 2604:8800:100::/48 "uschi03.sixxs.net cymru"
278 2 Fabien Dupont
	mod_ip_prefix 2604:8800:100::/40 "uschi03.sixxs.net cymru"
279 2 Fabien Dupont
	mod_ip_prefix 2610:0100:4fff::/48 "usanc01.sixxs.net gci"
280 2 Fabien Dupont
	mod_ip_prefix 2610:0100:6000::/40 "usanc01.sixxs.net gci"
281 2 Fabien Dupont
	mod_ip_prefix 2a00:14f0:e000::/48 "gblon03.sixxs.net gyron"
282 2 Fabien Dupont
	mod_ip_prefix 2a00:14f0:e000::/40 "gblon03.sixxs.net gyron"
283 2 Fabien Dupont
	mod_ip_prefix 2a00:15b8:100::/48 "iedub02.sixxs.net digiweb"
284 2 Fabien Dupont
	mod_ip_prefix 2a00:15b8:100::/40 "iedub02.sixxs.net digiweb"
285 2 Fabien Dupont
	mod_ip_prefix 2a01:198:200::/48 "dedus01.sixxs.net speedpartner"
286 2 Fabien Dupont
	mod_ip_prefix 2a01:198:200::/40 "dedus01.sixxs.net speedpartner"
287 2 Fabien Dupont
	mod_ip_prefix 2a01:198:300::/40 "dedus01.sixxs.net speedpartner"
288 2 Fabien Dupont
	mod_ip_prefix 2a01:198:400::/40 "dedus01.sixxs.net speedpartner"
289 2 Fabien Dupont
	mod_ip_prefix 2a01:198:500::/40 "dedus01.sixxs.net speedpartner"
290 2 Fabien Dupont
	mod_ip_prefix 2a01:198:600::/40 "dedus01.sixxs.net speedpartner"
291 2 Fabien Dupont
	mod_ip_prefix 2a01:198:700::/40 "dedus01.sixxs.net speedpartner"
292 2 Fabien Dupont
	mod_ip_prefix 2a01:240:fe00::/48 "frmrs01.sixxs.net jaguar"
293 2 Fabien Dupont
	mod_ip_prefix 2a01:240:fe00::/40 "frmrs01.sixxs.net jaguar"
294 2 Fabien Dupont
	mod_ip_prefix 2a01:348:100::/40 "gblon02.sixxs.net goscomb"
295 2 Fabien Dupont
	mod_ip_prefix 2a01:348:200::/40 "gblon02.sixxs.net goscomb"
296 2 Fabien Dupont
	mod_ip_prefix 2a01:348:6::/48 "gblon02.sixxs.net goscomb"
297 2 Fabien Dupont
	mod_ip_prefix 2a01:8c00:ff00::/48 "czprg01.sixxs.net ignum"
298 2 Fabien Dupont
	mod_ip_prefix 2a01:8c00:ff00::/40 "czprg01.sixxs.net ignum"
299 2 Fabien Dupont
	mod_ip_prefix 2a02:2528:ff00::/48 "chgva01.sixxs.net ipmax"
300 2 Fabien Dupont
	mod_ip_prefix 2a02:2528:ff00::/40 "chgva01.sixxs.net ipmax"
301 2 Fabien Dupont
	mod_ip_prefix 2a02:278:1200::/48 "iegwy01.sixxs.net airwire"
302 2 Fabien Dupont
	mod_ip_prefix 2a02:278:1200::/40 "iegwy01.sixxs.net airwire"
303 2 Fabien Dupont
	mod_ip_prefix 2a02:980:1000::/48 "dkcph02.sixxs.net fullrate"
304 2 Fabien Dupont
	mod_ip_prefix 2a02:980:1000::/40 "dkcph02.sixxs.net fullrate"
305 2 Fabien Dupont
</virtualhost>
306 2 Fabien Dupont
# cd /etc/apache2/sites-enabled
307 2 Fabien Dupont
# ln -sv ../sites-available/test-ipv6.tetaneutral.net
308 2 Fabien Dupont
# service apache2 restart
309 2 Fabien Dupont
</pre>
310 2 Fabien Dupont
311 1 Fabien Dupont
h2. Configuration
312 1 Fabien Dupont
313 1 Fabien Dupont
Les différents scripts de Falling-Sky sont buildés par un programme en perl.
314 1 Fabien Dupont
Il faut le configurer selong le système sur lequel on l'installe.
315 1 Fabien Dupont
316 1 Fabien Dupont
<pre>
317 1 Fabien Dupont
# cd /usr/local/falling-sky/source
318 1 Fabien Dupont
# cp config.inc config.inc.local
319 1 Fabien Dupont
# vi config.inc.local
320 1 Fabien Dupont
</pre>
321 1 Fabien Dupont
322 1 Fabien Dupont
Le contenu de config.inc.local est :
323 1 Fabien Dupont
324 1 Fabien Dupont
<pre>
325 1 Fabien Dupont
#!/bin/echo used by build.pl
326 1 Fabien Dupont
327 1 Fabien Dupont
use strict;
328 1 Fabien Dupont
329 1 Fabien Dupont
$COMPRESS{"js"} =  "/usr/bin/yui-compressor --type js --charset utf-8 -o [OUTPUT] [INPUT]";
330 1 Fabien Dupont
$COMPRESS{"css"} = "/usr/bin/yui-compressor --type css --charset utf-8 -o [OUTPUT] [INPUT]";
331 1 Fabien Dupont
$COMPRESS{"html"} = "/usr/bin/tidy -quiet -indent -asxhtml -utf8 -w 120 < [INPUT] > [OUTPUT]";
332 1 Fabien Dupont
$INSTALL = "/var/www/test-ipv6.tetaneutral.net"; 
333 1 Fabien Dupont
$VARS->{"domain"} = "test-ipv6.tetaneutral.net";
334 1 Fabien Dupont
$VARS->{"ipv4"} = "91.224.149.206";
335 1 Fabien Dupont
$VARS->{"ipv6"} = "2a01:6600:8081:ce00::1";
336 1 Fabien Dupont
$VARS->{"contact"} = 'Tetaneutral.net';
337 1 Fabien Dupont
$VARS->{"mailto"} = 'contact@tetaneutral.net';
338 1 Fabien Dupont
$VARS->{use_survey} = 0;
339 1 Fabien Dupont
$VARS->{hash_survey} = 0;  
340 1 Fabien Dupont
$VARS->{'facebook_like'} = 0;
341 1 Fabien Dupont
$VARS->{"twitter_tweet"}=0;
342 1 Fabien Dupont
343 1 Fabien Dupont
1;
344 1 Fabien Dupont
</pre>
345 1 Fabien Dupont
346 1 Fabien Dupont
h2. Installation
347 1 Fabien Dupont
348 1 Fabien Dupont
Par défaut, falling-sky est buildé pour une tripotée de langages.
349 1 Fabien Dupont
Ici, on limite à l'anglais et le français.
350 1 Fabien Dupont
351 1 Fabien Dupont
<pre>
352 1 Fabien Dupont
# cd /usr/local/falling-sky/source
353 1 Fabien Dupont
# vi build.pl
354 1 Fabien Dupont
@LANG = qw(en-us fr);
355 1 Fabien Dupont
</pre>
356 1 Fabien Dupont
357 1 Fabien Dupont
Et on peut lancer le script d'installation.
358 1 Fabien Dupont
359 1 Fabien Dupont
<pre>
360 1 Fabien Dupont
# ./build.pl --config config.inc
361 1 Fabien Dupont
Processing: en-us: js/index.js
362 1 Fabien Dupont
Processing: en-us: js/base.js
363 1 Fabien Dupont
Processing: en-us: js/without-ui.js
364 1 Fabien Dupont
Processing: en-us: js/jquery.js
365 1 Fabien Dupont
Processing: en-us: js/tablesorter.js
366 1 Fabien Dupont
*snip*
367 1 Fabien Dupont
Processing: fr: html/when.html
368 1 Fabien Dupont
Processing: fr: php/comment.php
369 1 Fabien Dupont
Processing: fr: php/survey.php
370 1 Fabien Dupont
Processing: fr: php/report-ip.php
371 1 Fabien Dupont
</pre>
372 1 Fabien Dupont
373 1 Fabien Dupont
Les images doivent être installées manuellement.
374 1 Fabien Dupont
375 1 Fabien Dupont
<pre>
376 3 Fabien Dupont
# cd /usr/local/src/falling-sky
377 1 Fabien Dupont
# rsync -av images/. /var/www/test-ipv6.tetaneutral.net/images
378 1 Fabien Dupont
# rsync -av images/. /var/www/test-ipv6.tetaneutral.net/images-nc
379 3 Fabien Dupont
</pre>
380 3 Fabien Dupont
381 3 Fabien Dupont
Les fichiers doivent appartenir à l'utilisateur d'apache.
382 3 Fabien Dupont
383 3 Fabien Dupont
<pre>
384 3 Fabien Dupont
# chown -R www-data:www-data /var/www/test-ipv6.tetaneutral.net
385 2 Fabien Dupont
</pre>
386 2 Fabien Dupont
387 2 Fabien Dupont
h2. Modification du DNS
388 2 Fabien Dupont
389 2 Fabien Dupont
La plupart des tests effectués par Falling-Sky se basent sur des requêtes DNS.
390 2 Fabien Dupont
Il faut donc modifier le serveur DNS pour ajouter différents enregistrements et une zone.
391 2 Fabien Dupont
392 2 Fabien Dupont
Ici, la zone tetaneutral.net est modifiée et une zone v6ns.test-ipv6.tetaneutral.net est ajoutée.
393 2 Fabien Dupont
394 2 Fabien Dupont
<pre>
395 2 Fabien Dupont
# grep test-ipv6 tetaneutral.net.zone
396 2 Fabien Dupont
test-ipv6                   IN CNAME   www
397 2 Fabien Dupont
ipv4.test-ipv6              IN A       91.224.149.206
398 2 Fabien Dupont
ipv6.test-ipv6              IN AAAA    2a01:6600:8081:ce00::1
399 2 Fabien Dupont
aaaa.test-ipv6              IN AAAA    2a01:6600:8081:ce00::1
400 2 Fabien Dupont
a.test-ipv6                 IN A       91.224.149.206
401 2 Fabien Dupont
ds.test-ipv6                IN A       91.224.149.206
402 2 Fabien Dupont
ds.test-ipv6                IN AAAA    2a01:6600:8081:ce00::1
403 2 Fabien Dupont
v6ns.test-ipv6              IN NS      v6ns1.test-ipv6
404 2 Fabien Dupont
v6ns1.test-ipv6             IN AAAA    2a01:6600:8000::2
405 2 Fabien Dupont
# cat v6ns.test-ipv6.tetaneutral.net.zone
406 2 Fabien Dupont
; -*- mode: zone; -*-
407 2 Fabien Dupont
;
408 2 Fabien Dupont
$TTL 86400
409 2 Fabien Dupont
@    IN SOA v6ns1.v6ns.test-ipv6.tetaneutral.net. root.tetaneutral.net. (
410 2 Fabien Dupont
        2013021003      ; serial
411 2 Fabien Dupont
        86400      ; Refresh
412 2 Fabien Dupont
        3600       ; Retry
413 2 Fabien Dupont
        3600000    ; expire
414 2 Fabien Dupont
        86400 )    ; negative cache TTL
415 2 Fabien Dupont
416 2 Fabien Dupont
                            IN  NS     v6ns1.test-ipv6.tetaneutral.net.
417 2 Fabien Dupont
418 2 Fabien Dupont
                            IN  MX 1   mx1.tetaneutral.net.
419 2 Fabien Dupont
                            IN  MX 100 mx2.tetaneutral.net.
420 2 Fabien Dupont
421 2 Fabien Dupont
                            IN  A      91.224.149.206
422 2 Fabien Dupont
                            IN  AAAA   2a01:6600:8081:CE00::1
423 2 Fabien Dupont
424 2 Fabien Dupont
; Script de test de connectivite IPv6 (fab-)
425 2 Fabien Dupont
ipv4                        IN A       91.224.149.206
426 2 Fabien Dupont
v4                          IN A       91.224.149.206
427 2 Fabien Dupont
ipv6                        IN AAAA    2a01:6600:8081:ce00::1
428 2 Fabien Dupont
v6                          IN AAAA    2a01:6600:8081:ce00::1
429 2 Fabien Dupont
aaaa                        IN AAAA    2a01:6600:8081:ce00::1
430 2 Fabien Dupont
a                           IN A       91.224.149.206
431 2 Fabien Dupont
ds                          IN A       91.224.149.206
432 2 Fabien Dupont
ds                          IN AAAA    2a01:6600:8081:ce00::1
433 2 Fabien Dupont
</pre>
434 2 Fabien Dupont
435 2 Fabien Dupont
<pre>
436 2 Fabien Dupont
# cat /etc/bind/named.conf
437 2 Fabien Dupont
*snip*
438 2 Fabien Dupont
    zone "tetaneutral.net" IN {
439 2 Fabien Dupont
        type  master;
440 2 Fabien Dupont
        file  "wan/tetaneutral.net.zone";
441 2 Fabien Dupont
        allow-transfer { 91.216.110.40; 217.70.177.40; };
442 2 Fabien Dupont
    };
443 2 Fabien Dupont
*snip*
444 2 Fabien Dupont
    zone "v6ns.test-ipv6.tetaneutral.net" IN {
445 2 Fabien Dupont
        type  master;
446 2 Fabien Dupont
        file  "wan/v6ns.test-ipv6.tetaneutral.net.zone";
447 2 Fabien Dupont
    };
448 2 Fabien Dupont
*snip*
449 1 Fabien Dupont
</pre>
450 5 Fabien Dupont
451 5 Fabien Dupont
#h2. Nettoyage
452 5 Fabien Dupont
453 5 Fabien Dupont
Étant donné que c'est pas super secure de laisser des outils de développement sur un serveur web, tous les pré-requis d'installation peuvent être nettoyés.
454 5 Fabien Dupont
455 5 Fabien Dupont
<pre>
456 5 Fabien Dupont
# aptitude purge apache2-prefork-dev subversion yui-compressor tidy libtemplate-perl libyaml-perl libyaml-syck-perl libjson-perl
457 5 Fabien Dupont
</pre>