Come è stato già rilevato, a meno che non si stia specificamente inoltrando il traffico http dal router alla macchina, i contenuti ospitati localmente saranno disponibili solo per te e per gli altri computer sulla tua rete locale.
Per rispondere alla tua domanda su come limitare l'accesso al tuo webserver solo alla tua macchina. Puoi farlo in due modi.
Ricorda che, ogni volta che cambi le configurazioni di apache, devi riavviare apache affinché tali modifiche abbiano effetto.
Metodo 1
Se vuoi limitare tutto sul tuo webserver locale solo alla tua macchina locale, modifica il file "/etc/apache2/httpd.conf". A circa la linea 195 troverai un blocco di configurazione che assomiglia a:
<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>
Dovrai commentare le due righe inferiori di quel blocco e aggiungere nuove regole
Deny from all
e
Allow from 127.0.0.1
quel blocco dovrebbe ora apparire come:
<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>
Metodo 2
Puoi anche usare i file .htaccess per limitare chi ha accesso a una directory. Per far funzionare i file .htaccess è necessario prima abilitarli. Aprire lo stesso file a cui ho fatto riferimento nel metodo 1 (/etc/apache2/httpd.conf) e andare allo stesso blocco di configurazione che ho menzionato prima (alla riga 195 circa). Dovrai cambiare (all'incirca alla linea 215):
AllowOverride None
a
AllowOverride All
Dopo averlo fatto, puoi creare un file chiamato .htaccess in qualsiasi cartella sul tuo server web con le seguenti informazioni:
Deny from all
Allow from 127.0.0.1
Ciò impedirà a chiunque, oltre alla tua macchina locale, di accedere ai contenuti di quella cartella o di una delle sue sottocartelle.
Conclusione
Il Metodo 1 ha il vantaggio di non doversi preoccupare di cancellare accidentalmente i file .htaccess o di preoccuparsi di più configurazioni. Il metodo 2 semplifica molto l'accesso a determinate directory del server web.
Nota inoltre che il file .htaccess deve includere quel punto all'inizio del nome del file (è .htaccess not htaccess) e che quando vuoi visualizzare il tuo server web locale devi farlo andando a link (non puoi usare [nome del tuo computer] .local).