Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 586ddd165e
Fetching contributors…

Cannot retrieve contributors at this time

234 lines (180 sloc) 7.879 kb
~~LANG:EN@enman:application-configuration~~
===== Configuration de PHP =====
* @@V@magic_quotes_gpc@@ et @@V@magic_quotes_runtime@@ doivent être à
@@L@Off@@. Si ce n'est pas le cas, [[plugins/coord|il faut activer le plugin magicquotes]] livré avec jelix.
* @@V@session.auto_start@@ doit être à 0
* @@V@safe_mode@@ doit être à @@L@Off@@ (À cause des nombreux fichiers
temporaires créés par jelix, il peut être difficile de configurer une
installation avec Jelix avec le safe_mode activé)
Il est également recommandé de mettre ces valeurs :
* @@V@register_globals = off@@
* @@V@asp_tags = off@@
* @@V@short_open_tag = off@@
Un [[phpapi:phpinfo|phpinfo()]] peut vous permettre de vérifier votre
configuration. Par défaut la configuration se trouve dans un fichier nommé
@@F@php.ini@@.
==== Sur un serveur OVH mutualisé ====
Si votre serveur de production est chez OVH, vous devez spécifier que vous
utilisez PHP 5 (par défaut c'est PHP 4), sinon il y a des parse error. Ça se
fait via le fichier ".htaccess" qui sera à la racine publique du site (www/) et
vous devez indiquer :
SetEnv PHP_VER 5
SetEnv SESSION_USE_TRANS_SID 0
La seconde ligne indique qu'il ne faut pas passer le cookie de session dans l'URL.
===== Configuration du serveur =====
Voici ce qu'il faut configurer au niveau du serveur.
Note : À chaque fois que vous modifiez la configuration du serveur web pour
votre site, il faut supprimer les fichiers temporaires de jelix (dans
@@F@temp/myapp@@ etc par ex), afin que Jelix prenne en compte la nouvelle
configuration.
Exemple :
<code bash>
sudo rm -rf temp/myapp/*
</code>
==== Si vous pouvez spécifier le document root ====
Si vous pouvez spécifier la racine du site en modifiant les fichiers de
configuration du serveur web ou via une interface d'administration comme le
proposent certains hébergeurs, indiquez alors le répertoire @@F@myapp/www/@@
comme étant la racine du site.
Par exemple, avec apache, vous indiquerez dans le fichier @@F@httpd.conf@@,
quelque chose comme :
<code htaccess>
<VirtualHost *>
ServerName www.monsite.com
DocumentRoot /home/monsite/myapp/www/
</VirtualHost>
<Directory "/home/monsite/myapp/www/">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</code>
Vous devez indiquer aussi un alias vers le répertoire @@F@lib/jelix-www/@@, en le nommant jelix :
<code htaccess>
<VirtualHost *>
ServerName www.monsite.com
DocumentRoot /home/monsite/myapp/www/
Alias /jelix/ "/home/monsite/lib/jelix-www/"
</VirtualHost>
<Directory "/home/monsite/myapp/www/">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/home/monsite/lib/jelix-www/">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</code>
Note : vous pouvez indiquer un autre nom que "jelix" pour l'alias. Vous devez
alors l'indiquer dans l'option @@V@jelixWWWPath@@ dans le fichier de
configuration de l'application @@F@myapp/var/config/defaultconfig.ini.php@@,
section @@urlengine@@.
Et enfin dans ce même fichier vous ajusterez l'option @@V@basePath@@, en
indiquant le chemin jusqu'au index.php (ici donc, /) s:
<code ini> basePath="/"</code>
Vous pouvez laisser cette option vide, Jelix la devinera tout seul, sauf pour
des applications dans lesquelles vous avez plusieurs points d'entrée dans des
répertoires différents.
Ainsi, en tapant http://www.monsite.com vous accédez à votre site, et
http://www.monsite.com/jelix/, à @@F@jelix-www/@@, qui contient un certain
nombre de scripts javascript utiles etc..
==== Si vous ne pouvez pas spécifier le document root ====
Dans ce cas, il est préférable de déplacer le contenu du répertoire
@@F@monsite/myapp/www@@ à la racine de votre site, @@F@monsite/@@. Vous devriez
donc obtenir une arborescence comme ceci :
monsite/
myapp/
lib/
temp/
index.php
Ici dans notre exemple, @@F@index.php@@ est un point d'entrée jelix de
l'application. Il faut le modifier pour changer les chemins relatifs qu'il
contient, et faire de même pour le fichier @@F@myapp/application.init.php@@. Par
exemple, après modification, le fichier @@F@index.php@@ devrait ressembler à
ceci dans notre exemple :
<code php>
require_once ('myapp/application.init.php');
require_once (JELIX_LIB_CORE_PATH.'request/jClassicRequest.class.php');
$config_file = 'index/config.ini.php';
$jelix = new jCoordinator($config_file);
$jelix->process(new jClassicRequest());
</code>
Il faut aussi modifier le fichier @@F@myapp/project.xml@@ pour modifier le
chemin de chaque répertoire déplacé (les chemins doivent être relatifs au chemin
du fichier @@F@project.xml@@) :
<code xml>
<project xmlns="http://jelix.org/ns/project/1.0">
<!-- ... -->
<directories>
<config>./var/config/</config>
<log>./var/log/</log>
<var>./var/</var>
<www>../</www>
<temp>../temp/myapp/</temp>
</directories>
<entrypoints>
<!-- ... -->
</entrypoints>
</project>
</code>
Il faut ensuite déplacer le répertoire @@F@lib/jelix-www/@@ à la racine et le
renommer en "jelix". Vous obtiendrez :
monsite/
myapp/
jelix/
lib/
temp/
index.php
Note : vous pouvez indiquer un autre nom que "jelix" pour ce renommage. Vous
devez alors l'indiquer dans l'option @@V@jelixWWWPath@@ dans le fichier de
configuration de l'application, @@F@myapp/var/config/defaultconfig.ini.php@@,
section @@urlengine@@.
**Attention : il est fortement recommandé de ne pas mettre vos propres scripts et css dans ce répertoire jelix copié.**
Sinon les futures mises à jour risquent d'être plus compliquées, et vos successeurs ou collègues risquent d'être un peu
perdu, en ne sachant pas ce qui vient de jelix et ce qui vient de votre appli. Bref, ne touchez pas au contenu de
jelix-www ou du répertoire qui est la copie de jelix-www. Mettez vos propres scripts dans un autre répertoire, par
exemple dans @@F@monsite/js/@@.
Dans le fichier @@F@myapp/application.init.php@@, vous devez modifier le chemin
indiqué à @@C@jApp@@ pour le répertoire www (deuxième argument) :
<code php>
jApp::initPaths(
$appPath
$appPath.'../',
//$appPath.'var/',
//$appPath.'var/log/',
//$appPath.'var/config/',
//$appPath.'scripts/'
);
</code>
Vous pouvez alors taper l'adresse de votre site (http://www.monsite.com par
exemple, ou http://localhost/)
==== Configuration pour les urls "cools" ====
Pour pouvoir utiliser des urls significatives avec le [[urls|système d'url automatique de jelix]],
il faut activer dans apache (au niveau de la configuration serveur ou dans le
@@F@.htaccess@@ si cela est permis) :
<code htaccess>
Options +Multiviews
</code>
Et pour Apache 2, rajouter :
<code htaccess>
AcceptPathInfo on
</code>
Pour vérifier que cela fonctionne, créez sur votre site web un fichier
@@F@test.php@@ qui affiche @@f@phpinfo()@@ et essayez l'url :
@@monsite.com/test/foo/bar@@ . Le phpinfo devrait s'afficher, et vous devriez
avoir dans @@V@$_SERVER['PATH_INFO']@@ la chaine "/foo/bar" (voir tout en bas de
l'affichage de phpinfo).
===== Droits sur les répertoires =====
Vous devez donner le droit en écriture à l'utilisateur exécutant votre serveur
web (apache ou autre) au moins sur le répertoire @@F@myapp/var/log/@@, ainsi que
tous les répertoires dans le répertoire @@F@temp/@@.
Exemple, sur un serveur debian/ubuntu :
<code bash>
sudo chown www-data:www-data temp/myapp* myapp/var/log
sudo chmod g+w temp/myapp* myapp/var/log
</code>
Peut être que pour certaines applications, il y a d'autres répertoires à
configurer de la sorte dans @@F@myapp/var/@@. Renseignez-vous dans la procédure
d'installation spécifique à cette application si il y en a une.
Jump to Line
Something went wrong with that request. Please try again.