Je suis en train de migrer vers un nouveau serveur Web et j'aimerais avoir une architecture de fichier propre et sûre pour Apache et mon application Web.
Le serveur servira une seule application PHP/MySQL. Cette application reçoit des fichiers de FTP et de Webservices et génère des fichiers de journaux.
Le système d'exploitation du serveur est CENTOS 5.4.
La racine de document Apache par défaut est /var/www/html
.
Devrais-je mettre mon répertoire d'applications Web sous:
/var/www/html/myWebApp
?/www/myWebApp
?/home/www/myWebApp
?Le répertoire d'application doit appartenir à l'utilisateur root
ou Apache
utilisateur ou un autre utilisateur?
Merci de votre aide.
En supposant que vous avez activé Selinux, toutes ces options ne fonctionneront pas en raison de SELINUX refusant l'accès aux dossiers non standard par le processus HTTPD.
IIRC, la méthode préférée d'ajout manuellement des applications Web sur Centos (par exemple, une installation MediaWiki) consiste à les installer à /var/www/<myappname>
et créer un alias dans le fichier /etc/httpd/conf/httpd.conf qui pointe vers votre application (I habituellement la mine à la mine similaire à l'alias existant pour le /var/www/icons
dossier).
Propriété typique du fichier pour quoi que ce soit sous /var/www
sur Centos est root
.
(Cela devrait être un commentaire pour Ophidian, mais cela ne correspondra pas dans l'espace autorisé pour un commentaire, donc je le pose comme une réponse)
Vous pouvez le faire sous SELINUX par Chon'ing les DIRS/fichiers que vous souhaitez utiliser avec les contextes/types appropriés.
Pour connaître le contexte correct, la méthode la plus simple consiste à examiner un DIR déjà correctement étiqueté. Par exemple.
[root @ ONEHOST ~] # ls -ldz/var/www/html drwxr-xr-x racine racine System_u: objet_r: httpd_sys_content_t/var/www/html
Ensuite, définissez le type SE Linux correct sur votre nouveau Dir du contenu. Par exemple. Si vous souhaitez utiliser/home/myApp comme racine DOC: chcon -t httpd_sys_content_t/home/myApp
chcon ne persiste que jusqu'à la prochaine relabelle du système de fichiers. N'oubliez pas d'utiliser Semanage FCONText Si vous le faites afin que les nouveaux contextes persistent via les répartiteurs du système de fichiers!
semanage fcontext -at httpd_sys_content_t/home/myApp