26 votes

Comment faire pour que mon répertoire utilisateur fonctionne à nouveau pour le partage sur le web ?

J'avais activé le partage de sites web dans Lion et un site web à http://localhost/~useruser est mon répertoire d'utilisateur. Lorsque j'ai effectué la mise à niveau vers Mountain Lion, le partage web (Apache) est resté activé et je peux aller sur localhost et obtenir la page web par défaut "It works !", mais je ne peux plus accéder à ma page utilisateur. L'erreur est la suivante

Interdit

Vous n'avez pas la permission d'accéder à /~user/ sur ce serveur.

Comment réactiver la page web de mon répertoire d'utilisateurs ?

18voto

innaM Points 22831

Voici comment vous pouvez réactiver la page web avec la ligne de commande en utilisant le Terminal.

Copiez d'abord ceci et collez-le dans le Terminal. Vous devrez peut-être appuyer sur enter après avoir collé pour l'exécuter. Il vous demandera votre mot de passe car il ajoute un fichier à votre répertoire système.

USER_DIR=$(basename $(echo ~))
sudo bash -c "cat > /etc/apache2/users/$USER_DIR.conf" <<TEXT
<Directory "/Users/$USER_DIR/Sites">
     Options Indexes MultiViews
     AllowOverride None
     Order allow,deny
     Allow from all
</Directory>
TEXT

Ensuite, exécutez cette commande pour redémarrer le serveur web :

sudo apachectl restart

1voto

Matthieu Riegler Points 20160

J'ai dû ajouter FollowSymLinks comme suit à mon /etc/apache2/users/username.conf :

<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>

( username doit être remplacé par votre vrai nom d'utilisateur)

1voto

Wowfunhappy Points 6021

Voici un texte d'une ligne † qui activera le serveur apache intégré de MacOS et vous permettra d'utiliser le répertoire Sites dans votre dossier utilisateur. Cette commande est compatible avec la dernière version de MacOS à ce jour (Mojave), et a également été testée pour fonctionner avec Sierra et High Sierra. Je pense qu'il fonctionnera également avec d'autres versions. J'ai fait de mon mieux pour l'écrire de manière à ce qu'il soit à l'épreuve du temps.

mkdir ~/Sites ; sudo bash -c "printf '<Directory \"/Users/`whoami`/Sites/\">\n\tAddLanguage en .en\n\tAllowOverride All\n\tOptions Indexes MultiViews FollowSymLinks\n\tRequire all granted\n</Directory>' > /etc/apache2/users/`whoami`.conf ; echo 'AddDefaultCharset utf-8' >> /etc/apache2/httpd.conf ; sed -i '' '/LoadModule userdir_module libexec\/apache2\/mod_userdir.so/s/^#*//g' /etc/apache2/httpd.conf ; sed -i '' '/LoadModule php[0-9]_module libexec\/apache2\/libphp[0-9].so/s/^#*//g' /etc/apache2/httpd.conf ; sed -i '' '/Include \/private\/etc\/apache2\/extra\/httpd-userdir.conf/s/^#*//g' /etc/apache2/httpd.conf ; sed -i '' '/Include \/private\/etc\/apache2\/users\/\*.conf/s/^#*//g' /etc/apache2/extra/httpd-userdir.conf ; apachectl start"

† Eh bien, c'est <em>techniquement </em>une ligne, même si elle est vraiment très longue...

0voto

nohillside Points 82672

Voir https://apple.stackexchange.com/a/57555/9058 Si vous avez besoin d'aide, vous devez activer manuellement le partage web par utilisateur (avec Terminal.app).

0voto

innaM Points 22831

Mountain Lion supprime le fichier de configuration qui donne accès au Web à votre répertoire utilisateur. Les fichiers de configuration se trouvent dans /etc/apache2/users/ . Celui qui manque est user.conf où utilisateur est votre nom d'utilisateur court.

Si vous ne voulez pas jouer avec la ligne de commande, voici un Applescript que vous pouvez exécuter pour créer un fichier de configuration pour votre utilisateur. Il vous demandera votre mot de passe car il doit créer le fichier dans un répertoire au niveau du système et nécessite des privilèges élevés.

Dans votre dossier d'applications ou dans le Launchpad, ouvrez Other > Applescript Editor . Copiez le script ci-dessous et collez-le dans la zone de texte de l'éditeur Applescript. Cliquez ensuite sur le bouton Exécuter bouton.

set userHome to (short user name of (system info))
set configFile to "/etc/apache2/users/" & userHome & ".conf"
set configFileContents to "<Directory \"/Users/" & userHome & "/Sites/\">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>"

do shell script "echo '" & configFileContents & "' > " & configFile with administrator privileges
do shell script "/usr/sbin/apachectl restart" with administrator privileges

Lorsque le script se termine, vous devriez être en mesure d'accéder à votre page Web de niveau utilisateur.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X