Competences techniques apache et drupal » Historique » Version 7
Julien Enselme, 29/05/2013 00:26
Réunion des informations à partir de de drupal6 vers drupal 7
1 | 1 | Florent Torregrosa | {{toc}} |
---|---|---|---|
2 | 1 | Florent Torregrosa | |
3 | 7 | Julien Enselme | h1. Compétences techniques apache et drupal |
4 | 1 | Florent Torregrosa | |
5 | 7 | Julien Enselme | h2. Différences majeures entre les distributions |
6 | 1 | Florent Torregrosa | |
7 | 7 | Julien Enselme | apache2 -> httpd |
8 | 7 | Julien Enselme | service -> systemctl |
9 | 1 | Florent Torregrosa | |
10 | 7 | Julien Enselme | h2. Installer et configurer Apache, phpmyadmin |
11 | 7 | Julien Enselme | |
12 | 7 | Julien Enselme | # savoir installer un serveur apache et phpmyadmin (dépend de votre système) |
13 | 7 | Julien Enselme | # augmenter sa mémoire dédiée |
14 | 7 | Julien Enselme | # savoir ajouter/activer des modules pour le serveur apache (notamment le module mod rewrite pour les url-simplifiées) : <code>sudo a2enmod nom_du_module</code> |
15 | 7 | Julien Enselme | # avoir drush d'installer (peut-être présent dans les dépôts de votre distributions) et savoir où il est installé : which drush |
16 | 7 | Julien Enselme | # augmenter la taille maximale des fichiers pouvant être importés dans phpmyadmin (dans le(s) php.ini, la méthode suivante est basée sur les systèmes basés sur debian. À adapter pour votre système.). Il faut trouver et modifier les lignes suivantes dans /etc/php5/apache2/php.ini et /etc/php5/cli/php.ini |
17 | 7 | Julien Enselme | |
18 | 7 | Julien Enselme | # <code class="php">memory_limit = 512M;</code> |
19 | 7 | Julien Enselme | # <code class="php">post_max_size = 32M;</code> |
20 | 7 | Julien Enselme | # <code class="php">upload_max_filesize = 32M;</code> |
21 | 7 | Julien Enselme | # <code>service apache2 restart</code> |
22 | 7 | Julien Enselme | # savoir recharger la configuration d’apache et le redémarer <code class="bash">service apache2 reload</code> et <code class="bash">service apache2 restart</code> |
23 | 7 | Julien Enselme | |
24 | 1 | Florent Torregrosa | h2. Savoir ajouter/activer des modules pour le serveur apache (notamment le module pour les url-simplifiées) |
25 | 1 | Florent Torregrosa | |
26 | 1 | Florent Torregrosa | * sudo a2enmod mod_rewrite |
27 | 7 | Julien Enselme | * sudo a2ensite NOM_DU_SITE |
28 | 1 | Florent Torregrosa | |
29 | 1 | Florent Torregrosa | |
30 | 7 | Julien Enselme | h2. Savoir installer drush et les bibliothèques php |
31 | 7 | Julien Enselme | |
32 | 7 | Julien Enselme | * si drush est fourni dans les dépôts de votre distribution, l’installer depuis ceux-ci. Si votre distribution fourni également drupal, il peut être intéressant de l’installer également pour avoir la liste des dépendances. L’installation de drupal via drush est la méthode recommandée. |
33 | 1 | Florent Torregrosa | * savoir où est installé drush : drush config |
34 | 7 | Julien Enselme | * sudo apt-get install curl libcurl3 libcurl3-dev php5-curl |
35 | 1 | Florent Torregrosa | |
36 | 3 | Florent Torregrosa | h2. Pouvoir utiliser un nom de domaine en local |
37 | 1 | Florent Torregrosa | |
38 | 1 | Florent Torregrosa | Quand je vais sur assos.centrale-marseille.fr, c’est mon site local que je vois et non pas celui de centrale. |
39 | 1 | Florent Torregrosa | |
40 | 1 | Florent Torregrosa | Constater qu’en allant sur assos.centrale-marseille.fr on tombe sur la page par defaut de notre apache (la page sur laquelle on tombe dépend de si oui ou non elle a un vhost qui la concerne). |
41 | 1 | Florent Torregrosa | |
42 | 3 | Florent Torregrosa | * Pour les distributions basées sur Debian |
43 | 3 | Florent Torregrosa | * Pour Mageia 3 |
44 | 3 | Florent Torregrosa | * Pour Fedora |
45 | 3 | Florent Torregrosa | |
46 | 7 | Julien Enselme | * Quand je vais sur localhost.d6, c’est le site local qu'on voit : tout simplement ajouter l’entrée suivante dans /etc/hosts |
47 | 7 | Julien Enselme | <pre>127.0.0.1 assos.centrale-marseille.fr</pre> |
48 | 7 | Julien Enselme | * constater qu’en allant sur assos.centrale-marseille.fr on tombe sur la page par defaut de notre apache (la page sur laquelle on tombe dépend de si oui ou non elle a un vhost qui la concerne). On peut vérifier avec le module Firefox _show ip_ qui donne l’IP du site sur lequel on ait. |
49 | 7 | Julien Enselme | |
50 | 1 | Florent Torregrosa | h2. Pouvoir créer des vhost à la pelle |
51 | 1 | Florent Torregrosa | |
52 | 1 | Florent Torregrosa | Exemple : créer le domaine titi.local |
53 | 1 | Florent Torregrosa | |
54 | 1 | Florent Torregrosa | * Pour les distributions basées sur Debian |
55 | 1 | Florent Torregrosa | * Pour Mageia 3 |
56 | 1 | Florent Torregrosa | * Pour Fedora |
57 | 1 | Florent Torregrosa | |
58 | 7 | Julien Enselme | * Exemple : créer deux domaines assos.fun.local et titi.local |
59 | 7 | Julien Enselme | Exemple pour titi.local : |
60 | 7 | Julien Enselme | |
61 | 7 | Julien Enselme | * dans /etc/apache2/sites-available/ créer un fichier titi. Le contenu de titi est : |
62 | 7 | Julien Enselme | |
63 | 7 | Julien Enselme | <pre> |
64 | 7 | Julien Enselme | <VirtualHost *:80> |
65 | 7 | Julien Enselme | ServerAdmin webmaster@localhost |
66 | 7 | Julien Enselme | ServerName titi.local |
67 | 7 | Julien Enselme | ServerAlias titi.local |
68 | 7 | Julien Enselme | |
69 | 7 | Julien Enselme | DocumentRoot /chemin/dossier_site |
70 | 7 | Julien Enselme | |
71 | 7 | Julien Enselme | <Directory /chemin/dossier_site/> |
72 | 7 | Julien Enselme | Options Indexes FollowSymLinks MultiViews |
73 | 7 | Julien Enselme | AllowOverride All |
74 | 7 | Julien Enselme | Order allow,deny |
75 | 7 | Julien Enselme | allow from all |
76 | 7 | Julien Enselme | </Directory> |
77 | 7 | Julien Enselme | |
78 | 7 | Julien Enselme | ErrorLog ${APACHE_LOG_DIR}/titi.error.log |
79 | 7 | Julien Enselme | |
80 | 7 | Julien Enselme | # Possible values include: debug, info, notice, warn, error, crit, |
81 | 7 | Julien Enselme | # alert, emerg. |
82 | 7 | Julien Enselme | LogLevel warn |
83 | 7 | Julien Enselme | |
84 | 7 | Julien Enselme | CustomLog ${APACHE_LOG_DIR}/titi.access.log combined |
85 | 7 | Julien Enselme | </VirtualHost> |
86 | 7 | Julien Enselme | </pre> |
87 | 7 | Julien Enselme | |
88 | 7 | Julien Enselme | * créer le fichier test.html dans /chemin/dossier_site et mettre dedans <pre><h1>TITI</h1></pre> |
89 | 7 | Julien Enselme | * ajouter un lien symbolique dans /etc/apache2/sites-enabled qui pointe sur le fichiet titi qui est dans /etc/apache2/sites-available/ |
90 | 7 | Julien Enselme | |
91 | 7 | Julien Enselme | * <code>cd /etc/apache2/sites-enabled/</code> |
92 | 7 | Julien Enselme | * <code>ln -s ../sites-available/titi .</code> |
93 | 7 | Julien Enselme | * ajouter l’entrée titi.local dans le fichier /etc/hosts |
94 | 7 | Julien Enselme | <pre> |
95 | 7 | Julien Enselme | 127.0.0.1 titi.local |
96 | 7 | Julien Enselme | </pre> |
97 | 7 | Julien Enselme | |
98 | 7 | Julien Enselme | * Redémarrer apache : <code>sudo service apache2 restart</code> |
99 | 7 | Julien Enselme | * Consulter titi.local/test.html |
100 | 7 | Julien Enselme | |
101 | 1 | Florent Torregrosa | h2. Pouvoir reproduire en local un site en particulier |
102 | 1 | Florent Torregrosa | |
103 | 7 | Julien Enselme | h3. Par Florent |
104 | 7 | Julien Enselme | |
105 | 1 | Florent Torregrosa | * pouvoir télécharger en local juste le minimum de fichiers |
106 | 1 | Florent Torregrosa | * le minimum c’est tout le htmltest sauf le dossier sites |
107 | 1 | Florent Torregrosa | * dans sites/ il faut ne prendre que le dossier default et le dossier du site qui nous concerne. |
108 | 1 | Florent Torregrosa | * pouvoir se démerder (script ou suite de ligne de commande ou …) pour pouvoir faire ça efficacement (une suite de commande scp n’est pas une mauvaise idée) |
109 | 1 | Florent Torregrosa | * rsync -lr --exclude nom_fichier_ou_dossier_a_exclure assos@sas1.centrale-marseille.fr:chemin_vers_dossier/* . |
110 | 1 | Florent Torregrosa | * sur sa machine se faire un dossier d6 et un dossier d7 |
111 | 1 | Florent Torregrosa | |
112 | 1 | Florent Torregrosa | * exemple dans d6 : |
113 | 1 | Florent Torregrosa | <pre> |
114 | 1 | Florent Torregrosa | cd d6 |
115 | 1 | Florent Torregrosa | rsync -lr --exclude sites assos@sas1.centrale-marseille.fr:html/* . |
116 | 1 | Florent Torregrosa | mkdir sites |
117 | 1 | Florent Torregrosa | cd sites |
118 | 1 | Florent Torregrosa | rsync -lr assos@sas1.centrale-marseille.fr:html/sites/default . |
119 | 1 | Florent Torregrosa | rsync -lr assos@sas1.centrale-marseille.fr:html/sites/assos.centrale-marseille.fr.annales . (étape longue) |
120 | 1 | Florent Torregrosa | </pre> |
121 | 1 | Florent Torregrosa | |
122 | 7 | Julien Enselme | h3. Par Jenselme |
123 | 7 | Julien Enselme | |
124 | 7 | Julien Enselme | * pouvoir télécharger en local juste le minimum de fichiers. Le minimum c’est : |
125 | 7 | Julien Enselme | |
126 | 7 | Julien Enselme | * tout le htmltest sauf le dossier sites |
127 | 7 | Julien Enselme | * dans sites/ il faut ne prendre que le dossier default et le dossier du site qui nous concerne. |
128 | 7 | Julien Enselme | * pouvoir se démerder (script ou suite de ligne de commande ou …) pour pouvoir faire ça efficacement (une suite de commande scp ou rsync n’est pas une mauvaise idée) |
129 | 7 | Julien Enselme | |
130 | 7 | Julien Enselme | * sur sa machine : se faire un dossier d6 et un dossier d7 |
131 | 7 | Julien Enselme | * <code>cd d6</code> |
132 | 7 | Julien Enselme | * _Exemple pour le site des annales, à apapter_ : <code>rsync -lr --exclude sites assos@sas1.centrale-marseille.fr:html/* .</code> |
133 | 7 | Julien Enselme | * <code>mkdir sites</code> |
134 | 7 | Julien Enselme | * <code>cd sites</code> |
135 | 7 | Julien Enselme | * <code>rsync -lr assos@sas1.centrale-marseille.fr:html/sites/default .</code> |
136 | 7 | Julien Enselme | * <code>rsync -lr assos@sas1.centrale-marseille.fr:html/sites/assos.centrale-marseille.fr.annales .</code> (étape longue) |
137 | 7 | Julien Enselme | |
138 | 1 | Florent Torregrosa | h2. Pouvoir télécharger la base de donnée d’un seul site en particulier |
139 | 2 | Florent Torregrosa | |
140 | 1 | Florent Torregrosa | * savoir faire ça avec phpmyadmin, dans phpmyadmin : |
141 | 1 | Florent Torregrosa | > * exporter |
142 | 1 | Florent Torregrosa | > * options personnalisées |
143 | 1 | Florent Torregrosa | > * choisir que les tables qui vous intéressent |
144 | 1 | Florent Torregrosa | > * laisser les autres options |
145 | 1 | Florent Torregrosa | > * enregistrer |
146 | 1 | Florent Torregrosa | > * ça enregistre dans votre dossier de téléchargements sur votre machine |
147 | 2 | Florent Torregrosa | |
148 | 1 | Florent Torregrosa | * savoir le faire avec drush car parfois le fichier téléchargé par phpmyadmin est trop gros |
149 | 1 | Florent Torregrosa | |
150 | 1 | Florent Torregrosa | > * sur le sas : |
151 | 7 | Julien Enselme | > > <pre>dump_site annales (pour une base de données isolée, se placer dans le dossier du site puis drush sql-dump > nom_du_fichier.sql) |
152 | 1 | Florent Torregrosa | cd Desktop/dump_individuels</pre> |
153 | 4 | Florent Torregrosa | |
154 | 1 | Florent Torregrosa | > * sur sa machine : |
155 | 1 | Florent Torregrosa | > > </pre>@scp assos@sas1.centrale-marseille.fr:Desktop/dump_individuels/annales....</pre> |
156 | 1 | Florent Torregrosa | |
157 | 1 | Florent Torregrosa | h2. Monter un site en local |
158 | 1 | Florent Torregrosa | |
159 | 1 | Florent Torregrosa | * monter un seul vhost pour assos.centrale-marseille.fr (il sera valable pour tous les sous sites, il ne sera jamais édité) |
160 | 1 | Florent Torregrosa | * télécharger les fichiers et la base de donnée du site en question |
161 | 1 | Florent Torregrosa | * injecter la dbb en local (utiliser le phpmyadmin en local ou sudo mysql -u root -pmotdepasse nomdelabase < fichier.sql) |
162 | 7 | Julien Enselme | * modifier le settings.php du site en question pour donner les informations de connection mysql et modifier $base_url |
163 | 7 | Julien Enselme | * pour aller plus vite, renommer le dossier du site en default |
164 | 1 | Florent Torregrosa | |
165 | 1 | Florent Torregrosa | h2. Installer le script drush de mise à jour http://drupal.org/project/drush_sup |
166 | 1 | Florent Torregrosa | |
167 | 1 | Florent Torregrosa | * suivre la procédure d’installation |
168 | 1 | Florent Torregrosa | * critère de validation : la commande suivante marche : drush sup |
169 | 1 | Florent Torregrosa | |
170 | 1 | Florent Torregrosa | h2. Exécuter correctement le script de mise à jour |
171 | 1 | Florent Torregrosa | |
172 | 1 | Florent Torregrosa | * lire la doc de drush sup |
173 | 1 | Florent Torregrosa | * exécuter drush sup avec les bons arguments |
174 | 7 | Julien Enselme | |
175 | 7 | Julien Enselme | h2. Alias drush |
176 | 7 | Julien Enselme | |
177 | 7 | Julien Enselme | |
178 | 7 | Julien Enselme | TODO (dans la doc drush ?) |
179 | 7 | Julien Enselme | installer dom, xml (paquet php) |
180 | 1 | Florent Torregrosa | |
181 | 3 | Florent Torregrosa | h1. Annexe : Nom de domaine |
182 | 1 | Florent Torregrosa | |
183 | 5 | Julien Enselme | Normalement, toutes les unix reposent sur le même principe. Ajouter l’entrée suivante dans /etc/hosts : @127.0.0.1 assos.centrale-marseille.fr@ |
184 | 1 | Florent Torregrosa | |
185 | 3 | Florent Torregrosa | h1. Annexe : Vhosts |
186 | 1 | Florent Torregrosa | |
187 | 1 | Florent Torregrosa | h2. Pour les distributions basées sous Debian |
188 | 1 | Florent Torregrosa | |
189 | 3 | Florent Torregrosa | * Dans /etc/apache2/sites-available/ créer un fichier titi dont le contenu est : |
190 | 3 | Florent Torregrosa | <pre> |
191 | 3 | Florent Torregrosa | <VirtualHost *:80> |
192 | 3 | Florent Torregrosa | ServerAdmin webmaster@localhost |
193 | 3 | Florent Torregrosa | ServerName titi.local |
194 | 3 | Florent Torregrosa | ServerAlias titi.local |
195 | 2 | Florent Torregrosa | |
196 | 3 | Florent Torregrosa | DocumentRoot /chemin/dossier_site |
197 | 1 | Florent Torregrosa | |
198 | 3 | Florent Torregrosa | <Directory /chemin/dossier_site/> |
199 | 3 | Florent Torregrosa | Options Indexes FollowSymLinks MultiViews |
200 | 3 | Florent Torregrosa | AllowOverride All |
201 | 3 | Florent Torregrosa | Order allow,deny |
202 | 3 | Florent Torregrosa | allow from all |
203 | 3 | Florent Torregrosa | </Directory> |
204 | 3 | Florent Torregrosa | |
205 | 3 | Florent Torregrosa | ErrorLog ${APACHE_LOG_DIR}/titi.error.log |
206 | 3 | Florent Torregrosa | |
207 | 3 | Florent Torregrosa | # Possible values include: debug, info, notice, warn, error, crit, |
208 | 3 | Florent Torregrosa | # alert, emerg. |
209 | 3 | Florent Torregrosa | LogLevel warn |
210 | 3 | Florent Torregrosa | |
211 | 3 | Florent Torregrosa | CustomLog ${APACHE_LOG_DIR}/titi.access.log combined |
212 | 3 | Florent Torregrosa | |
213 | 3 | Florent Torregrosa | </VirtualHost> |
214 | 3 | Florent Torregrosa | </pre> |
215 | 3 | Florent Torregrosa | * créer le fichier test.html dans /chemin/dossier_site et mettre dedans @<h1>TITI</h1>@ |
216 | 3 | Florent Torregrosa | * ajouter un lien symbolique dans /etc/apache2/sites-enabled qui pointe sur le fichier titi qui est dans /etc/apache2/sites-available/ : |
217 | 3 | Florent Torregrosa | > * Manuellement : |
218 | 4 | Florent Torregrosa | > <pre> |
219 | 3 | Florent Torregrosa | cd /etc/apache2/sites-enabled/ |
220 | 3 | Florent Torregrosa | ln -s ../sites-available/titi . |
221 | 3 | Florent Torregrosa | </pre> |
222 | 3 | Florent Torregrosa | > * Avec la commande apache : |
223 | 4 | Florent Torregrosa | > <pre> |
224 | 3 | Florent Torregrosa | sudo service a2ensite titi |
225 | 3 | Florent Torregrosa | </pre> |
226 | 3 | Florent Torregrosa | * ajouter l’entrée titi.local dans le fichier /etc/hosts : |
227 | 1 | Florent Torregrosa | <pre> |
228 | 1 | Florent Torregrosa | @127.0.0.1 titi.local@ |
229 | 3 | Florent Torregrosa | </pre> |
230 | 4 | Florent Torregrosa | * restart apache |
231 | 3 | Florent Torregrosa | <pre> |
232 | 4 | Florent Torregrosa | sudo service apache2 restart |
233 | 1 | Florent Torregrosa | </pre> |
234 | 1 | Florent Torregrosa | * consulter titi.local/test.html |
235 | 1 | Florent Torregrosa | |
236 | 1 | Florent Torregrosa | h2. Pour Mageia 3 |
237 | 4 | Florent Torregrosa | |
238 | 4 | Florent Torregrosa | {{warning(la partie pour mageia permet pour l'instant d'atteindre le site via localhost/nom_du_site, pas encore bien connecté avec le fichier Hosts)}} |
239 | 4 | Florent Torregrosa | |
240 | 4 | Florent Torregrosa | * Dans /etc/httpd/conf/sites.d/ créer un fichier nom_du_fichier.conf dont le contenu est : |
241 | 4 | Florent Torregrosa | <pre> |
242 | 4 | Florent Torregrosa | # Drupal configuration |
243 | 4 | Florent Torregrosa | Alias /nom_du_site /chemin/dossier_site |
244 | 4 | Florent Torregrosa | |
245 | 4 | Florent Torregrosa | <Directory /chemin/dossier_site/> |
246 | 4 | Florent Torregrosa | Require local granted |
247 | 4 | Florent Torregrosa | Options -Indexes +FollowSymlinks +Multiviews |
248 | 4 | Florent Torregrosa | AllowOverride None |
249 | 4 | Florent Torregrosa | |
250 | 4 | Florent Torregrosa | # Protect files and directories from prying eyes. |
251 | 4 | Florent Torregrosa | <FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$"> |
252 | 4 | Florent Torregrosa | Order allow,deny |
253 | 4 | Florent Torregrosa | </FilesMatch> |
254 | 4 | Florent Torregrosa | |
255 | 4 | Florent Torregrosa | # Don't show directory listings for URLs which map to a directory. |
256 | 4 | Florent Torregrosa | Options -Indexes |
257 | 4 | Florent Torregrosa | |
258 | 4 | Florent Torregrosa | # Follow symbolic links in this directory. |
259 | 4 | Florent Torregrosa | Options +FollowSymLinks |
260 | 4 | Florent Torregrosa | |
261 | 4 | Florent Torregrosa | # Make Drupal handle any 404 errors. |
262 | 4 | Florent Torregrosa | ErrorDocument 404 /index.php |
263 | 4 | Florent Torregrosa | |
264 | 4 | Florent Torregrosa | # Set the default handler. |
265 | 4 | Florent Torregrosa | DirectoryIndex index.php index.html index.htm |
266 | 4 | Florent Torregrosa | |
267 | 4 | Florent Torregrosa | # Override PHP settings that cannot be changed at runtime. See |
268 | 4 | Florent Torregrosa | # sites/default/default.settings.php and drupal_environment_initialize() in |
269 | 4 | Florent Torregrosa | # includes/bootstrap.inc for settings that can be changed at runtime. |
270 | 4 | Florent Torregrosa | |
271 | 4 | Florent Torregrosa | # PHP 5, Apache 1 and 2. |
272 | 4 | Florent Torregrosa | <IfModule mod_php5.c> |
273 | 4 | Florent Torregrosa | php_flag magic_quotes_gpc off |
274 | 4 | Florent Torregrosa | php_flag magic_quotes_sybase off |
275 | 4 | Florent Torregrosa | php_flag register_globals off |
276 | 4 | Florent Torregrosa | php_flag session.auto_start off |
277 | 4 | Florent Torregrosa | php_value mbstring.http_input pass |
278 | 4 | Florent Torregrosa | php_value mbstring.http_output pass |
279 | 4 | Florent Torregrosa | php_flag mbstring.encoding_translation off |
280 | 4 | Florent Torregrosa | </IfModule> |
281 | 4 | Florent Torregrosa | |
282 | 4 | Florent Torregrosa | # Requires mod_expires to be enabled. |
283 | 4 | Florent Torregrosa | <IfModule mod_expires.c> |
284 | 4 | Florent Torregrosa | # Enable expirations. |
285 | 4 | Florent Torregrosa | ExpiresActive On |
286 | 4 | Florent Torregrosa | |
287 | 4 | Florent Torregrosa | # Cache all files for 2 weeks after access (A). |
288 | 4 | Florent Torregrosa | ExpiresDefault A1209600 |
289 | 4 | Florent Torregrosa | |
290 | 4 | Florent Torregrosa | <FilesMatch \.php$> |
291 | 4 | Florent Torregrosa | # Do not allow PHP scripts to be cached unless they explicitly send |
292 | 4 | Florent Torregrosa | # cache headers themselves. Otherwise all scripts would have to |
293 | 4 | Florent Torregrosa | # overwrite the headers set by mod_expires if they want another |
294 | 4 | Florent Torregrosa | # caching behavior. This may fail if an error occurs early in the |
295 | 4 | Florent Torregrosa | # bootstrap process, and it may cause problems if a non-Drupal PHP |
296 | 4 | Florent Torregrosa | # file is installed in a subdirectory. |
297 | 4 | Florent Torregrosa | ExpiresActive Off |
298 | 4 | Florent Torregrosa | </FilesMatch> |
299 | 4 | Florent Torregrosa | </IfModule> |
300 | 4 | Florent Torregrosa | |
301 | 4 | Florent Torregrosa | # Various rewrite rules. |
302 | 4 | Florent Torregrosa | <IfModule mod_rewrite.c> |
303 | 4 | Florent Torregrosa | RewriteEngine on |
304 | 4 | Florent Torregrosa | |
305 | 4 | Florent Torregrosa | # Block access to "hidden" directories whose names begin with a period. |
306 | 4 | Florent Torregrosa | # This includes directories used by version control systems such as |
307 | 4 | Florent Torregrosa | # Subversion or Git to store control files. Files whose names begin with |
308 | 4 | Florent Torregrosa | # a period, as well as the control files used by CVS, are protected by |
309 | 4 | Florent Torregrosa | # the FilesMatch directive above. |
310 | 4 | Florent Torregrosa | # |
311 | 4 | Florent Torregrosa | # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, |
312 | 4 | Florent Torregrosa | # it is not possible to block access to entire directories from |
313 | 4 | Florent Torregrosa | # .htaccess, because <DirectoryMatch> is not allowed here. |
314 | 4 | Florent Torregrosa | # |
315 | 4 | Florent Torregrosa | # If you do not have mod_rewrite installed, you should remove these |
316 | 4 | Florent Torregrosa | # directories from your webroot or otherwise protect them from being |
317 | 4 | Florent Torregrosa | # downloaded. |
318 | 4 | Florent Torregrosa | RewriteRule "(^|/)\." - [F] |
319 | 4 | Florent Torregrosa | |
320 | 4 | Florent Torregrosa | # If your site can be accessed both with and without the 'www.' prefix, |
321 | 4 | Florent Torregrosa | # you can use one of the following settings to redirect users to your |
322 | 4 | Florent Torregrosa | # preferred URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY |
323 | 4 | Florent Torregrosa | # one option: |
324 | 4 | Florent Torregrosa | # To redirect all users to access the site WITH the 'www.' prefix, |
325 | 4 | Florent Torregrosa | # (http://example.com/... will be redirected to http://www.example.com/...) |
326 | 4 | Florent Torregrosa | # uncomment the following: |
327 | 4 | Florent Torregrosa | # RewriteCond %{HTTP_HOST} !^www\. [NC] |
328 | 4 | Florent Torregrosa | # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] |
329 | 4 | Florent Torregrosa | # |
330 | 4 | Florent Torregrosa | # To redirect all users to access the site WITHOUT the 'www.' prefix, |
331 | 4 | Florent Torregrosa | # (http://www.example.com/... will be redirected to http://example.com/...) |
332 | 4 | Florent Torregrosa | # uncomment the following: |
333 | 4 | Florent Torregrosa | # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] |
334 | 4 | Florent Torregrosa | # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301] |
335 | 4 | Florent Torregrosa | |
336 | 4 | Florent Torregrosa | # Modify the RewriteBase if you are using Drupal in a subdirectory or in a |
337 | 4 | Florent Torregrosa | # VirtualDocumentRoot and the rewrite rules are not working properly. |
338 | 4 | Florent Torregrosa | # For example if your site is at http://example.com/drupal uncomment and |
339 | 4 | Florent Torregrosa | # modify the following line: |
340 | 4 | Florent Torregrosa | RewriteBase /nom_du_site |
341 | 4 | Florent Torregrosa | # |
342 | 4 | Florent Torregrosa | # If your site is running in a VirtualDocumentRoot at http://example.com/, |
343 | 4 | Florent Torregrosa | # uncomment the following line: |
344 | 4 | Florent Torregrosa | # RewriteBase / |
345 | 4 | Florent Torregrosa | |
346 | 4 | Florent Torregrosa | # Pass all requests not referring directly to files in the filesystem to |
347 | 4 | Florent Torregrosa | # index.php. Clean URLs are handled in drupal_environment_initialize(). |
348 | 4 | Florent Torregrosa | RewriteCond %{REQUEST_FILENAME} !-f |
349 | 4 | Florent Torregrosa | RewriteCond %{REQUEST_FILENAME} !-d |
350 | 4 | Florent Torregrosa | RewriteCond %{REQUEST_URI} !=/favicon.ico |
351 | 4 | Florent Torregrosa | RewriteRule ^ index.php [L] |
352 | 4 | Florent Torregrosa | |
353 | 4 | Florent Torregrosa | # Rules to correctly serve gzip compressed CSS and JS files. |
354 | 4 | Florent Torregrosa | # Requires both mod_rewrite and mod_headers to be enabled. |
355 | 4 | Florent Torregrosa | <IfModule mod_headers.c> |
356 | 4 | Florent Torregrosa | # Serve gzip compressed CSS files if they exist and the client accepts gzip. |
357 | 4 | Florent Torregrosa | RewriteCond %{HTTP:Accept-encoding} gzip |
358 | 4 | Florent Torregrosa | RewriteCond %{REQUEST_FILENAME}\.gz -s |
359 | 4 | Florent Torregrosa | RewriteRule ^(.*)\.css $1\.css\.gz [QSA] |
360 | 4 | Florent Torregrosa | |
361 | 4 | Florent Torregrosa | # Serve gzip compressed JS files if they exist and the client accepts gzip. |
362 | 4 | Florent Torregrosa | RewriteCond %{HTTP:Accept-encoding} gzip |
363 | 4 | Florent Torregrosa | RewriteCond %{REQUEST_FILENAME}\.gz -s |
364 | 4 | Florent Torregrosa | RewriteRule ^(.*)\.js $1\.js\.gz [QSA] |
365 | 4 | Florent Torregrosa | |
366 | 4 | Florent Torregrosa | # Serve correct content types, and prevent mod_deflate double gzip. |
367 | 4 | Florent Torregrosa | RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1] |
368 | 4 | Florent Torregrosa | RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1] |
369 | 4 | Florent Torregrosa | |
370 | 4 | Florent Torregrosa | <FilesMatch "(\.js\.gz|\.css\.gz)$"> |
371 | 4 | Florent Torregrosa | # Serve correct encoding type. |
372 | 4 | Florent Torregrosa | Header set Content-Encoding gzip |
373 | 4 | Florent Torregrosa | # Force proxies to cache gzipped & non-gzipped css/js files |
374 | 4 | Florent Torregrosa | # separately. |
375 | 4 | Florent Torregrosa | Header append Vary Accept-Encoding |
376 | 4 | Florent Torregrosa | </FilesMatch> |
377 | 4 | Florent Torregrosa | </IfModule> |
378 | 4 | Florent Torregrosa | </IfModule> |
379 | 4 | Florent Torregrosa | |
380 | 4 | Florent Torregrosa | </Directory> |
381 | 4 | Florent Torregrosa | </pre> |
382 | 4 | Florent Torregrosa | {{tip(Pour ce fichier de configuration, se baser sur celui fournit par Mageia lors de l'installation d'un Drupal depuis la logithèque de Mageia.)}} |
383 | 4 | Florent Torregrosa | |
384 | 4 | Florent Torregrosa | * créer un dossier (avec un Drupal dedans) appelé dossier_site dans /chemin/ |
385 | 4 | Florent Torregrosa | * restart apache |
386 | 4 | Florent Torregrosa | <pre> |
387 | 4 | Florent Torregrosa | sudo service httpd stop |
388 | 4 | Florent Torregrosa | sudo service httpd start |
389 | 4 | Florent Torregrosa | </pre> |
390 | 4 | Florent Torregrosa | |
391 | 4 | Florent Torregrosa | * consulter localhost/nom_du_site |
392 | 4 | Florent Torregrosa | |
393 | 2 | Florent Torregrosa | |
394 | 2 | Florent Torregrosa | h2. Pour Fedora |