Comment puis-je utiliser le répertoire / home sous Mac OS X

J’ai un Mac sur lequel je peux exécuter la version Leopard (10.5) ou Snow Leopard (10.6) de OS X. Je l’utilise pour faire du développement / test Web avant de publier des fichiers sur mon hôte de production.

Sur l’hôte de production, la racine de la documentation de mon site se trouve sous le répertoire personnel (par exemple / home / stimulatingpixels / public_html) et j’aimerais dupliquer cet emplacement sur le Mac. Malheureusement, leur emplacement est caché et verrouillé sur le Mac et ressemble à un lecteur monté sans rien dans l’emplacement / home.

Je sais d’expérience que ce n’est pas judicieux de déplacer cela et de le déposer dans votre propre répertoire / home, car les mises à jour peuvent provoquer son effacement (et il n’est d’ailleurs pas stocké dans la sauvegarde TimeMachine).

Donc, la question, est-il possible d’utiliser / home en toute sécurité sur un Mac, que ce soit Leopard ou Snow Leopard?

(Note: je me rends compte que ceci est très spécifique à Mac et le demandera également sur un forum Apple. Je voulais juste demander ici en plus de couvrir toutes les bases.)

Mise à jour: Pour vous aider à décrire pourquoi je veux faire cela, en plus du site Web frontal, j’ai une série de scripts que je voudrais également lancer. L’un des principaux objectives de la possibilité d’utiliser le répertoire / home (et plus particulièrement le même chemin depuis la racine du serveur) est de pouvoir utiliser les mêmes chemins de sortie sur le Mac de développement que sur le serveur de production. Je sais qu’il existe des moyens de contourner ce problème, mais je préférerais ne pas avoir à y faire face. Le véritable objective est que tous les fichiers sur le développement Mac aient le même chemin de fichier depuis la racine / de l’arborescence de répertoires que le serveur de production.

Une autre mise à jour: L’autre raison que j’ai oublié de mentionner plus tôt pour cela est la mise en place de chemins d’access .htaccess lors de l’utilisation de l’authentification de base. Comme ces chemins proviennent de la racine du système de fichiers au lieu du site Web docroot, ils finissent par passer par “/ home” lorsque cela fait partie de l’arborescence.

    REMARQUE: En 2015, je n’utilise plus ou ne recommande plus cette méthode. Au lieu de cela, j’utilise Vagrant pour configurer des machines virtuelles pour le développement et les tests. C’est gratuit, relativement facile et permet de mieux adapter l’environnement de production. Il sépare complètement l’environnement de développement et vous pouvez en créer autant que vous le souhaitez. Fortement recommandé Je laisse la réponse originale ci-dessous pour l’amour de la postérité.


    J’ai trouvé une réponse ici sur les forums Apple .

    Pour récupérer le répertoire /home , éditez le fichier /etc/auto_master commentaire (ou supprimez) la ligne contenant /home . Vous devrez redémarrer après cela pour que la modification prenne effet (ou, par commentaire nilbus, essayez d’exécuter sudo automount -vc ). Cela fonctionne avec Mac OS X 10.5 (Leopard). Votre millage peut varier pour différentes versions, mais il devrait être similaire.

    Comme noté sur ce post du forum, vous devez également savoir que Time Machine exclut automatiquement le répertoire /home et ne le sauvegarde pas .


    Une note d’avertissement, assurez-vous de sauvegarder votre répertoire /home manuellement avant d’effectuer une mise à jour du système. Je crois que l’une des mises à jour que j’ai effectuée (par exemple, de 10.6 à 10.7) a effacé ce que j’ai enregistré dans /home sans avertissement. Je ne suis pas sûr à 100% que c’est ce qui s’est passé, mais c’est quelque chose à rechercher.

    Je l’ai essayé sur Yosemite (OS X 10.10.1), le sudo automount -vc ne fonctionnait pas, je devais utiliser sudo umount /home .

    Par conséquent, mon stream de travail serait:

    # comment out line starting with /home sudo vi "+g/^\/home/s/\//#\//" "+x" /etc/auto_master sudo umount /home # link actual home directory (/Users/) to new 'home' (/home/) ln -s $HOME /home/$USER

    Rassembler tous les trucs et astuces ci-dessus:

    • edit /etc/auto_master # commente la ligne avec /home dedans.

    • remonter sur:

      sudo automount -vc

    • créer un lien vers le répertoire mac-ified:

      sudo ln -s $HOME /home/$USER

    À ce stade, vos chemins doivent correspondre à vos chemins de production. env vars indiquera toujours /Users/xxxx , mais tout ce que vous ~/.pip/pip.conf dur dans un chemin dans votre .bashrc – ou dans ~/.pip/pip.conf – devrait être essentiellement équivalent. Travaillé pour moi

    re: “Le véritable objective est que tous les fichiers sur le développement Mac aient le même chemin de fichier depuis la racine / de l’arborescence de répertoires que le serveur de production.”

    En production, mon travail de déploiement peut avoir lieu dans /opt/projects/projname , donc je vais juste m’assurer que mon compte peut écrire dans /opt/projects et partir de là. Je commencerais par faire quelque chose comme ceci:

    sudo mkdir /opt/projects sudo chown $USER /opt/projects mkdir /opt/projects/projname cd /opt/projects/projname

    Avec LVM, je vais définir une partition distincte pour /opt/ et y écrire des données d’application au lieu de $HOME . Ensuite, je peux développer le système de fichiers /opt dans les cas où j’ai besoin de plus d’espace disque pour un projet (LVM est votre ami).

    Pourquoi ne lancez-vous pas simplement MAMP et utilisez le répertoire Sites? Vous pouvez développer localhost et avoir juste un tas d’alias pour vos sites. Je ne sais pas pourquoi vous devez utiliser spécifiquement le répertoire personnel.


    EDIT: Ok, je pense que vous allez résoudre votre problème dans le mauvais sens.

    Si les chemins HTML vous inquiètent, commencez par une barre oblique “/” qui sera utilisée par défaut dans le répertoire de la maison.

    Si ce sont les références dans votre PHP, vous devez créer un global (ou similaire) et le définir comme racine de votre site. Ensuite, vous pouvez tout faire référence au global et lorsque vous déplacez le site de dev en production, tout ce dont vous avez besoin pour changer est le global.

    Essayer de développer une méthode de développement à partir de / home parce que cela ressemble plus au serveur de production.

    Installez MAMP, créez le global quelque part haut dans la hiérarchie et commencez à le référencer. Ce sera moins douloureux à long terme.