Comme cela a déjà été souligné, à moins que vous ne transfériez spécifiquement le trafic http de votre routeur vers votre machine, votre contenu hébergé localement ne sera accessible qu'à vous et aux autres ordinateurs de votre réseau local.
Pour répondre à votre question sur la restriction de l'accès à votre serveur web à votre seule machine. Vous pouvez le faire de plusieurs manières.
N'oubliez pas qu'à chaque fois que vous modifiez la configuration d'Apache, vous devez redémarrer Apache pour que les modifications soient prises en compte.
Méthode 1
Si vous voulez limiter tout ce qui se trouve sur votre serveur web local à votre seule machine locale, éditez le fichier "/etc/apache2/httpd.conf". À la ligne 195 environ, vous trouverez un bloc de configuration qui ressemble à ceci :
<Directory "/Library/WebServer/Documents">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks MultiViews
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
Vous allez devoir commenter les deux dernières lignes de ce bloc et ajouter de nouvelles règles
Deny from all
et
Allow from 127.0.0.1
ce bloc devrait maintenant ressembler à :
<Directory "/Library/WebServer/Documents">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks MultiViews
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
#Order allow,deny
#Allow from all
Deny from all
Allow from 127.0.0.1
</Directory>
Méthode 2
Vous pouvez également utiliser les fichiers .htaccess pour limiter l'accès à un répertoire. Pour que les fichiers .htaccess fonctionnent, vous devez d'abord les activer. Ouvrez le fichier que j'ai référencé dans la méthode 1 (/etc/apache2/httpd.conf) et allez au même bloc de configuration que j'ai mentionné plus haut (à la ligne 195 environ). Vous devrez modifier (à la ligne 215 environ) :
AllowOverride None
à
AllowOverride All
Une fois que vous avez fait cela, vous pouvez créer un fichier appelé .htaccess dans n'importe quel dossier de votre serveur web avec les informations suivantes :
Deny from all
Allow from 127.0.0.1
Cela empêchera toute personne autre que votre machine locale d'accéder au contenu de ce dossier ou de l'un de ses sous-dossiers.
Conclusion
La méthode 1 présente l'avantage de ne pas avoir à s'inquiéter de la suppression accidentelle de fichiers .htaccess ou de configurations multiples. La méthode 2 permet de restreindre très simplement l'accès à certains répertoires de votre serveur web.
Notez également que le fichier .htaccess doit inclure ce point au début du nom du fichier (c'est .htaccess et non htaccess) et que lorsque vous voulez voir votre serveur web local, vous devez le faire en allant à l'adresse suivante http://localhost (vous ne pouvez pas utiliser [nom de votre ordinateur].local).