Projet

Général

Profil

TestIPv6 » Historique » Version 4

Fabien Dupont, 10/02/2013 14:26

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