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