Come configurare gli host virtuali Apache su XAMPP (Windows)

di 01T-admin-NS | Ott 15, 2022 | LAMP

 

FONTE

Data pubblicazione originale: 15/10/2022

Link originale: come-configurare-gli-host-virtuali-apache-su-xampp-windows.html

 

 

Linee guida complete per rendere VHOST (Virtual Host) su XAMPP / WAMP

 

Nota: per cominciare, l’unica differenza per questa linea guida, tra XAMPP e WAMP o altri pacchetti Apache per Windows, è la domanda in cui tali pacchetti sono installati sul tuo computer.

Introduzione: vhost (host virtuale) è un’ottima soluzione se intendi sviluppare molti progetti indipendenti in php e tenerli isolati gli uni dagli altri, come:

  • Il progetto 1 è basato su php e ha l’indirizzo url locale php.localhost
  • Project 2 è un progetto Laravel con url laravel.localhost
  • Project 3 è un Codeigniter con url codeigniter.locathost
  • Project 4 è un WordPress con url wordpress.locathost

Ci si aspetta che abbia installato l’ultima versione di XAMPP / WAMP. A proposito, nel mio caso, ho solo installato Apache e MySQL.

* Nota: per impostazione predefinita, la maggior parte dei server Web utilizza la porta 80 come porta predefinita, in alcuni casi se si dispone di un altro server Web come (Microsoft IIS), utilizza anche la porta 80 OPPURE in altri casi SKYPE utilizza anche alcune porte 80 come per alcuni utenti di Windows 8/10, in questo caso puoi fare due cose

  • Cambia la tua porta Apache nella porta 8080 , 8081 ecc. O alcune altre porte libere (nota: 8080 può anche dare qualche problema)
  • OPPURE Cambia il tuo software / porta IIS e mantieni Apache sulla porta predefinita 80 in caso di Skype, basta uccidere l’app Skype e riavviarla dopo aver installato Apache sulla porta 80, Skype otterrà automaticamente la nuova porta.

Ho scelto di cambiare il mio Apache alla porta 8080 .

Nota:
– Per la prossima sezione, abbiamo bisogno di usare un editor di testo come un blocco note o un IDE regolare. Ho usato un editor di testo sublime.
– Se si mantiene Apache sulla porta predefinita 80, saltare questa parte e passare agli host virtuali

Cambiare la porta XAMPP / WAMP (solo se necessario) se lasciato default, quindi passare a Setting virtual host

Passaggio 1. Modificare httpd.conf

Fare clic su Config -> Apache (httpd.conf) O si trova il file C:\XAMPP\apache\conf\httpd.conf , C:\XAMPP\apache2\conf\httpd.conf , C:\Bitnami\wampstack\apache\conf\httpd.conf o C:\Bitnami\wampstack\apache2\conf\httpd.conf o percorso simile.

Cambia la linea con

Listen 80

Per 8080 o altre porte libere.

Listen 8080

Mentre abbiamo il file httpd.conf aperto, dobbiamo assicurarci che httpd-vhosts.conf sia incluso: Include conf/extra/httpd-vhosts.conf

 

Host virtuali

 

Nota: per impostazione predefinita, i documenti del server sono localizzati su C:\XAMPP\htdocs o C:\Bitnami\wampstack\apache2\htdocs che va bene se si dispone di un solo progetto o di molti piccoli file di test. Tuttavia, se è necessario sviluppare molti progetti, è consigliabile separarli dall’host virtuale, come accennato in precedenza.

Passaggio 2. Impostazione dell’host virtuale

  1. Crea una cartella per i tuoi progetti; Ho creato uno in c:\vhost puoi chiamarlo progetti ecc.
  2. Nella cartella c:\vhost creiamo una sottocartella domain1 o project1 o qualsiasi altra, dipende da te ( c:\vhost\project1 )
  3. Apri il file httpd-vhosts.conf C:\XAMPP\apache\conf\extra\httpd-vhosts.conf Aggiungi il seguente codice in linea a seconda del numero di vhost che vuoi creare:
 AllowOverride All Require all granted  #this is the default address of XAMPP  DocumentRoot "C:/XAMPP/htdocs/" ServerName localhost  #this is the first vhost address in XAMPP  DocumentRoot "C:/vhost/project1/" ServerName php.localhost SetEnv NS_ENV variable_value  #this is the second vhost address in XAMPP for project like Laravel  DocumentRoot "C:/vhost/Laravel-Blog/public" ServerName laravel.localhost  etc

Nota: se lavori su progetti Laravel puoi creare progetti Laravel illimitati e altri framework come codeigniter, Yii, ecc., Il punto è avere i tuoi progetti Laravel su c:\vhost\laravel1 , c:\vhost\laravel2 etc e rendere c:\vhost\laravel1\public come DocumentRoot ecc. come mostrato in precedenza. Ogni progetto Laravel avrà il proprio URL VirtualHost.

Salva e chiudi il file

Alcune informazioni aggiuntive e note:

  • Se la porta è impostata come predefinita 80, l’indirizzo URL sarà localhost
  • Se la porta è rimasta predefinita 80, il tag VirtualHost dovrebbe essere cambiato in
  • Se la porta viene cambiata in 8080 , l’indirizzo URL sarà localhost:8080
  • E l’indirizzo URL vhost potrebbe essere simile a questo project1.localhost:8080 ecc
  • In questo modo puoi aggiungere progetti illimitati e host virtuali.

Non siamo ancora pronti, leggi di più.

Passaggio 3. Modificare il file host di Windows

  1. Arresta i servizi Apache e MySQL da XAMPP / WAMP.
  2. Aprire il file hosts in C:\windows\system32\drivers\etc è necessario il privilegio di amministratore per modificare il file. Suggerisco di modificare il file direttamente con l’editor di testo Sublime.
  3. Aggiungi 127.0.0.1 project1.localhost alla fine del file, Salva e chiudi il file.
127.0.0.1 localhost 127.0.0.1 php.localhost 127.0.0.1 laravel.localhost 127.0.0.1 codeigniter.localhost 127.0.0.1 wordpress.localhost 127.0.0.1 laravel2.localhost etc. those are just examples

salva il file

Passo finale. Avvia / riavvia nuovamente Apache e MySQL.


Aggiunta (suggerimento)

Nota: durante il tuo processo di sviluppo potresti avere problemi con la cache triggers, perché puoi rischiare di aggiornare qualcosa in Laravel e questo non apparirà nel tuo browser. Pertanto potrebbe essere necessario disabilitare la cache php durante il processo di sviluppo nel proprio ambiente locale.

Apri il file php.ini nella cartella php nella cartella Apache (XAMPP o WAMP) e cambia opcache.enable in 0 modo che assomigli a questo:

[opcache] zend_extension=php_opcache.dll ; Determines if Zend OPCache is enabled opcache.enable=0

Aggiunta (soluzione alternativa)

Importante: la seguente soluzione non è idonea per testare Api, canvas, soluzioni pesanti, ecc. Restful potrebbe darti dei grattacapi, suggerirei la soluzione host virtuale con port 80 come default.

È ansible distribuire un server virtuale temporaneo senza necessariamente configurare l’host virtuale XAMPP / WAMP, avviare la console CMD ed eseguire il seguente comando php:

php -S localhost:8001 -tc:\vhost\Laravel-Project\public
  • La porta 8001 può essere modificata in qualsiasi numero di porta disponibile ed essere sicuro né in conflitto con altre porte software.
  • c:\vhost\Laravel... percorso dovrebbe essere cambiato in qualunque sia il percorso del tuo progetto.
  • È ansible avviare più server, ma dovrebbero avere numeri di porta diversi.

Nel tuo browser hai bisogno solo di destra

http://localhost:8001/

Nota su 403 Errore vietato accesso

Se ricevi un errore 403 Access proibito quando navighi sul tuo sito, potrebbe essere necessario aggiungerlo al tuo file httpd.conf:

 AllowOverride none Require all granted 

È ansible impostare il localhost in modo che punti a cartelle diverse su numeri di porta diversi. Segui questi semplici passaggi:

Passo 1: fai il tuo apache per ascoltare più porte. Vai a C: \ xampp \ apache \ conf \ httpd.conf e cerca la parola chiave Ascolta puoi vedere qualcosa come questo Ascolta 80. Ora dì al tuo apache di ascoltare più porte, sostituiscile con il contenuto sottostante

  • Ascolta 80
  • Ascolta 8001
  • Ascolta 8002

Passo 2: Ora vai su “C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf”, questo è il giocatore attuale. Alla fine del file puoi specificare qualcosa di simile sotto:

DocumentRoot “C: / xampp / htdocs / project1” ServerName localhost: 8001

 

DocumentRoot “C: / xampp / htdocs / project2” ServerName localhost: 8002

 

Che dice al tuo apache di prendere diverse cartelle per colpire numeri di porta diversi. Quello è quando colpisci localhost: 8001 / prenderà il contenuto da project1, localhost analogamente: 8002 / punterà alla tua cartella project2.

In questo modo noi ed eseguiamo 2 diversi siti sulla nostra macchina locale.

Nota: è necessario riavviare l’apache ogni volta che si modifica qualcosa in httpd.conf o httpd-vhosts.conf.

Prima di tutto, apri il blocco note come amministratore e quindi fai clic su file > open . Quindi vai al tuo window driver ora cerca la cartella system32 e poi cerca la cartella drivers e poi la cartella etc

Ora vedrai una cartella di file vuoti, quindi non preoccuparti di vedere Documenti di testo ( *.txt ) in fondo. Cambia la vista in all files e poi vedrai il file vhost .

Apri e divertiti!

 

Crea host virtuale

  1. C: \ xampp \ apache \ conf \ extra Apri il file httpd-vhost quindi Aggiungi
    DocumentRoot “C: \ xampp \ htdocs \ project \ timegrid \ public” ServerName mytimegrid.me (scelta ur)
  2. C: \ Windows \ System32 \ drivers \ etc Apre il file hosts, quindi aggiungi 127.0.0.1 mytimegrid.me (Your Domain Name)

NB per prima cosa apri il tuo editor (blocco note ecc.) Come modalità Run As Administrator altrimenti non puoi salvare questi file. ok.

 

Il tuo contenuto va qui. Modifica o rimuovi questo testo inline o nelle impostazioni Contenuto del modulo. Puoi anche definire lo stile di ogni aspetto di questo contenuto nelle impostazioni Design del modulo e persino applicare CSS personalizzato a questo testo nelle impostazioni Avanzate del modulo.