Question

J'utilise MAMP juste pour mon environnement de développement et n'ont pas vraiment compris la structure du dossier / var / www / nom-projet / sur un serveur web. Je me demande si vous êtes censé pointer le serveur Web vers le dossier htdocs ou il est censé pointer vers la racine du dossier du projet?

La raison pour laquelle je demande est parce que les bibliothèques sont censées exister en dehors du dossier htdocs pour des raisons de sécurité, mais comment sont-ils souligné de l'application Web elle-même? Certes, l'application Web ne peut pas accéder à des dossiers en dehors du dossier htdocs si le serveur Web pointe vers le dossier htdocs pour l'application Web?

Était-ce utile?

La solution

Une solution simple est d'avoir une structure de dossiers comme ceci:

/var/www/project-name/
    + webroot/
    + libraries/

Pointez votre apache2 DocumentRoot dans le répertoire webroot. Gardez toutes les bibliothèques que vous ne voulez pas accessible à partir du Web dans le répertoire libraries. Dans votre code php, utilisez la include pour accéder au code des bibliothèques.

L'astuce est de comprendre que php peut inclure un fichier sur votre système, il a un accès en lecture. Une personne qui navigue sur votre site Web ne peut accéder à des fichiers dans votre répertoire Webroot.

Autres conseils

Si vous avez plusieurs serveurs virtuels sur le même serveur, il est assez fréquent d'avoir chaque site dans un répertoire sous /var/www, et chacun d'entre eux ont un dossier htdocs, qui est monté à la racine web. Vous pouvez ensuite les journaux et les bibliothèques spécifiques à l'application dans un dossier au-dessus de la racine web. Par exemple:.

/var/www/lolcats.com
/var/www/lolcats.com/htdocs
/var/www/lolcats.com/htdocs/index.php
/var/www/lolcats.com/lib
/var/www/lolcats.com/log

PHP peut accéder à un fichier dans le système de fichiers pour lequel l'utilisateur du serveur apache dispose des autorisations appropriées. Sur une boîte de Linux en cours d'exécution sans apache hôtes virtuels, / var / www est un lieu commun à utiliser pour votre répertoire htdocs.

Vous placez les bibliothèques PHP de include_path qui est inaccessible à l'utilisateur général.

Il est une idée googd de cartographier vos sites locaux dans des répertoires de la même manière que votre travail de domaines.

Souvent, vous avez plusieurs sites Web sur un seul compte d'hébergement web, de sorte que les hôtes virtuels de configuration pour refléter la configuration.

Si votre hébergement partagé est:

/var/www/root
 /var/www/root/website1
 /var/www/root/website2
 /var/www/root/website3

Créer 3 hôtes vitual sur votre PC local, mais garder une structure de fichier identique.

En outre, les conditions d'usage dans vos fichiers de configuration pour configurer le site en fonction deifferently sur la structure de fichiers du serveur, pour assurer le même fichier de configuration fonctionne sur les deux configurations. Cela signifie que vous gardez votre processus de construction d'une étape.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top