web-dev-qa-db-fra.com

comment créer un hôte virtuel sur XAMPP

Je suis sûr que cette question est posée à plusieurs reprises, mais je ne suis pas confronté à un problème. J'utilise XAMPP pour configurer le framework Zend.

XAMPP fonctionne sur le port 8081 as 80 est occupé par un processus Windows dont j'ai besoin pour utiliser l'hôte virtuel pour celui que je configure avec le code suivant dans C:/xampp/Apache/config/extra/httpd-vhosts.config (ou C:/xampp/Apache/conf/extra/httpd-vhosts.conf dans les versions plus récentes).

<VirtualHost *:80>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public"
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>    

et mettez également à jour le fichier hosts avec 127.0.0.1 comm-app.local et essayez de redémarrer Apache, mais cela indique une erreur.

15:03:01  [Apache]  Error: Apache shutdown unexpectedly.
15:03:01  [Apache]  This may be due to a blocked port, missing dependencies, 
15:03:01  [Apache]  improper privileges, a crash, or a shutdown by another method.
15:03:01  [Apache]  Press the Logs button to view error logs and check
15:03:01  [Apache]  the Windows Event Viewer for more clues
15:03:01  [Apache]  If you need more help, copy and post this
15:03:01  [Apache]  entire log window on the forums
63
Paras Arora

Je vois deux erreurs:

<VirtualHost *:80> -> Fix to :8081, your POrt the server runs on
    ServerName comm-app.local
    DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public" -> This is probably why it crashes, missing >
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
 -> MIssing close container: </VirtualHost> 

Version fixe:

<VirtualHost *:8081>
    ServerName comm-app.local
    DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Une chose à mentionner:

Vous pouvez toujours essayer et exécuter la commande:

service Apache2 configtest

Cela vous dira quand vous avez une configuration mal formée et peut même vous dire où est le problème.

De plus, cela permet d'éviter l'indisponibilité sur un système LIVE:

service Apache2 restart

s’éteindra puis ne démarrera pas, ce configtest que vous connaissez au préalable "oups j’ai fait quelque chose de mal, je devrais le réparer en premier" mais Apache lui-même fonctionne toujours avec une ancienne configuration. :)

57
Steini

Étape 1) C:\WINDOWS\system32\drivers\etc\ Ouvrez le fichier "hosts":

127.0.0.1       localhost
127.0.0.1       test.com
127.0.0.1       example.com

Étape 2) xampp\Apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot C:/xampp/htdocs/test/
    ServerName www.test.com
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:/xampp/htdocs/example/
    ServerName www.example.com
</VirtualHost>

Étape 3) C:\xampp\Apache\conf\httpd.conf. Faites défiler jusqu'à la section Configuration supplémentaire à la fin et localisez la section suivante (autour de la ligne 500), supprimez le # du début de la deuxième ligne afin que la section ressemble à ceci:

#Virtual hosts
Include conf/extra/httpd-vhosts.conf

Étape 4) Redémarrez XAMPP .__ et lancez-le dans votre navigateur: 

www.example.com or www.test.com
48
Amit Naraniwal

Écrivez ces codes à la fin du fichier C:\xampp\Apache\conf\extra\httpd-vhosts.conf,

DocumentRoot "D:/xampp/htdocs/foldername"
ServerName www.siteurl.com
ServerAlias www.siteurl.com
ErrorLog "logs/dummy-Host.example.com-error.log"
CustomLog "logs/dummy-Host.example.com-access.log" common

entre le tag hôte virtuel.

et éditez le fichier System32/Drivers/etc/hosts utilisez le bloc-notes en tant qu'administrateur

ajouter le bas du fichier

127.0.0.1    www.siteurl.com
5
Asarudeen

Ajouter ce code dans C:\xampp\Apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName qa-staging.com
ServerAlias www.qa-staging.com
<Directory "c:/xampp/htdocs">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Maintenant, ajoutez votre nom d'hôte virtuel dans le fichier ci-dessous.

C:\Windows\System32\drivers\etc\hosts

127.0.0.1 qa-staging.com

Si vous ne pouvez pas enregistrer ce code dans le fichier hôte, cliquez avec le bouton droit de la souris sur notpad, sélectionnez Exécuter en tant qu'administrateur pour pouvoir enregistrer votre code personnalisé et redémarrez votre XAMP

4
Ashish pathak

Changez simplement le port en 8081 et l'hôte virtuel suivant fonctionnera:

<VirtualHost *:8081>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory> 
</VirtualHost>
4
Pupil
<VirtualHost *:80>
    DocumentRoot "D:/projects/yourdirectry name"
    ServerName local.yourdomain.com
    <Directory "D:/projects/yourdirectry name">
        Require all granted 
    </Directory>
</VirtualHost>

Enregistrez le fichier de configuration Apache.

pour plus d'informations, reportez-vous à this

2
Bhutto Hafeez

Dans votre lecteur de disque:\xampp\Apache\conf\extra\httpd-vhosts.conf existe un exemple et vous pouvez le modifier avec votre configuration:

 ##<VirtualHost *:80>
 ##ServerAdmin [email protected]
 ##DocumentRoot "C:/xampp/htdocs/dummy-Host.example.com"
 ##ServerName dummy-Host.example.com
 ##ServerAlias www.dummy-Host.example.com
 ##ErrorLog "logs/dummy-Host.example.com-error.log"
 ##CustomLog "logs/dummy-Host.example.com-access.log" common
 ##</VirtualHost>

Ce serait comme ça, à titre d'exemple, et n'oubliez pas d'ajouter VirtualHost pour que localhost lui-même ait la possibilité de lancer phpmyadmin et un autre projet en même temps sur le port 80, comme exemple, je montrerai avec le projet store.local:

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName www.store.local
ServerAlias store.local
<Directory C:/xampp/htdocs/store.local>
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>

puis, comme mentionné ci-dessus, vous devez ajouter: C:\windows\system32\drivers\hosts au bas du fichier} _

127.0.0.1    store.local
127.0.0.1    www.store.local

redémarrez Apache et essayez dans le navigateur:

store.local or www.store.local

peut-être que vous devez ajouter comme ceci à la première fois: 

http://store.local or http://www.store.local

pour utiliser d'autres ports, vous devez ajouter ce qui suit avant votre VirtualHost:

Listen 8081 or another which you prefer

ensuite, utilisez simplement le port de votre VirtualHost comme ceci:

<VirtualHost *:8081>
ServerAdmin [email protected]
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName store.local
ServerAlias www.store.local
<Directory C:/xampp/htdocs/store.local>
    AllowOverride All
    Require all granted
</Directory>

puis redémarrez Apache et essayez dans le navigateur

store.local:8081 or www.store.local:8081

et seul le projet pour lequel vous ajoutez le port s'exécutera sur ce port, par exemple, d'autres projets et phpmyadmin seront toujours exécutés sur le port 80

1
develway

Je l'ai corrigé en utilisant la configuration suivante.

 Listen 85
 <VirtualHost *:85>
           DocumentRoot "C:/xampp/htdocs/LaraBlog/public"
           <Directory "C:/xampp/htdocs/CommunicationApp/public">
           DirectoryIndex index.php
           AllowOverride All
           Order allow,deny
           Allow from all
           </Directory>
 </VirtualHost>
1
Jakir Hosen Khan

Je suis un peu en retard pour la fête, mais j'ai écrit ce petit script bash pour Mac qui crée un VirtualHost via le terminal: 

#!/bin/bash

echo "Welcome to the VirtualHostCreator! Press <RETURN> to continue."

read

echo "Enter the name the VirtualHost you would like to create. No spaces or dashes, please."

read hostname

echo "Enter the document root of the VirtualHost."

read doc_root

echo "Creating VirtualHost \"$hostname\". You may be prompted for your password."

hosts_file="/etc/hosts"
vhosts_file="/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf"
restart_command="Sudo /Applications/XAMPP/xamppfiles/xampp restart"

cat >> $vhosts_file << EndOfMessage
<VirtualHost ${hostname}>
    ServerName ${hostname}
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/${doc_root}"
</VirtualHost>
EndOfMessage

Sudo sh -c "echo \"127.0.0.1       $hostname\" >> $hosts_file"

$restart_command

Je suis sûr que quelques améliorations peuvent être apportées et qu'il ne comporte que les deux options requises pour vhost (nom du serveur et racine du document), mais il fait le travail beaucoup plus rapidement et efficacement que d'ouvrir et de modifier tous les fichiers manuellement, puis redémarre automatiquement XAMPP par la suite.

Cela suppose que vous avez l'emplacement d'installation par défaut pour XAMPP, qui peut tous être modifié.

0
Yaakov Ainspan

Le problème avec xampp dans mon cas, c’est lorsqu’on spécifie un dossier différent de htdocs, en particulier avec plusieurs domaines et dossiers dédiés. En effet, httpd-ssl.conf fait également référence à <VirtualHost>.

Pour ce faire, supprimez l’entrée entière <VirtualHost> sous httpd-ssl.conf

À partir de là, tous les réglages effectués dans votre httpd-vhosts.conf seront mis à jour comme prévu. http et https références.

0
edmoncuaft

Si vous avez besoin d'une installation facile 

https://github.com/scyzho/xampp

télécharger dans votre dossier htdocs

et entrez votre hôte

0
Rex Adrivan

Étape 1) Ouvrez le fichier hôte sous "C:\Windows\System32\drivers\etc"

Ajouter 

127.0.0.1  vipsnum.mk

Étape 2) Ouvrez le fichier httpd-vhosts.conf sous "C:\xampp\Apache\conf\extra"

Ajouter 

<VirtualHost vipsnum.mk:80>
    ServerName vipsnum.mk
    DocumentRoot "C:/xampp/htdocs/vipnum/"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/vipnum/">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost> 
0
Mahesh Kathiriya
1. C:\xampp\Apache\conf\https.conf
Virtual hosts
Include conf/extra/httpd-vhosts.conf


2. C:\Windows\System32\drivers\etc\hosts
127.0.0.1       localhost
127.0.0.1       helpdesk.local


3. C:\xampp\Apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/helpdesk/public"
    ServerName helpdesk.local
</VirtualHost>


Now, Restart Apache and go through the link. 
URL : http://helpdesk.local
0
Hasib Kamal