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,8081ecc. 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\htdocsoC:\Bitnami\wampstack\apache2\htdocsche 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
- Crea una cartella per i tuoi progetti; Ho creato uno in
c:\vhostpuoi chiamarlo progetti ecc. - Nella cartella
c:\vhostcreiamo una sottocartella domain1 o project1 o qualsiasi altra, dipende da te (c:\vhost\project1) - Apri il file
httpd-vhosts.confC:\XAMPP\apache\conf\extra\httpd-vhosts.confAggiungi 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\laravel2etc e renderec:\vhost\laravel1\publiccome 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:8080ecc - 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
- Arresta i servizi Apache e MySQL da XAMPP / WAMP.
- 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. - Aggiungi
127.0.0.1 project1.localhostalla 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
- C: \ xampp \ apache \ conf \ extra Apri il file httpd-vhost quindi Aggiungi
DocumentRoot “C: \ xampp \ htdocs \ project \ timegrid \ public” ServerName mytimegrid.me (scelta ur) - 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.