Comment définir un serveur virtuel pour Zend Framework?

J’ai du mal à faire fonctionner un serveur virtuel avec ZEND. J’ai suivi l’installateur et mis en place un projet dans mon lecteur C: /. Cependant, le navigateur ne récupérera pas le site.

J’ai changé le fichier de configuration d’Appache pour supprimer la ligne suivante.

# Hôtes virtuels

Include conf/extra/httpd-vhosts.conf 

J’ai modifié le fichier vhosts.conf avec le code suivant en fonction des informations de démarrage rapide incluses sur le site Web de zend. Les dossiers du projet sont situés dans C: \ zendProject \ quickstart \ public

  ServerName local DocumentRoot /zendProject/quickstart/public SetEnv APPLICATION_ENV "development"  DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all   

J’ai ensuite changé le fichier hosts pour le lire avec les lignes suivantes.

127.0.0.1 localhost

127.0.0.1 local

:: 1 localhost

J’ai ensuite redémarré le serveur Appache à l’aide du gestionnaire de services vista. J’ai vérifié la page Web de base du panneau de contrôle ZEND et celle-ci fonctionne pour que le serveur soit définitivement opérationnel, mais un message m’informe que le navigateur ne peut pas se connecter au local.

Est-ce que quelqu’un sait ce que je fais mal?

Je viens de parcourir les journaux d’erreurs et j’ai trouvé l’entrée suivante – je ne suis pas sûr que cela aide [Dim Aug 19 12:05:38 2012] [warn] NameVirtualHost *: 8080 n’a pas de VirtualHosts

vous pouvez pratiquement utiliser n’importe quel port avec vhost, mais assurez-vous que vous avez une ligne comme: NameVirtualHost *:80 quelque part dans le document vhost. Cette ligne indique le port que Apache examine pour le routage. La plupart des serveurs préconfigurés (WAMP, Xampp, Zend Server) seront livrés avec un modèle httpd-vhosts.conf qui comprend généralement cette ligne. Parfois, il est toujours commenté, dans les deux cas, assurez-vous qu’il est là et décommenté et reflète le port que vous souhaitez utiliser.

Aussi, si vous utilisez des projets MVC Zend Framework dans un vhost, vous voulez suivre

Voici un exemple complet de fonctionnement httpd-vhosts.conf:

 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at #  # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any  block. #  DocumentRoot "C:\Zend\Apache2/htdocs" ServerName localhost   DocumentRoot "E:\www\home-local\public" ServerName home.local ErrorLog "E:\www\home-local\logs\error.log"  Options Indexes FollowSymLinks AllowOverride all Order deny,allow Allow from all   

Ceci est le httpd-vhosts.conf fourni Zend Server CE tel que modifié pour mon environnement de développement.

Quelques notes supplémentaires.

  • Si vous souhaitez utiliser le localhost, assurez-vous de l’append à votre fichier vhosts et d’en faire le premier vhost
  • Si vous avez plus d’un répertoire qui héberge des sites, vous pouvez mettre la définition de répertoire dans votre vhost, en fait, il est utile d’appliquer un access ssortingct aux répertoires de premier niveau et de ne détacher que ce dont vous avez besoin dans les vhosts.
  • Comme toujours, assurez-vous de vous assurer que mod_rewrite n’est pas commenté:
    LoadModule rewrite_module modules/mod_rewrite.so
  • Toujours redémarrer Apache après avoir apporté des modifications à httpd.conf ou http-vhosts.conf

Si le port 80 n’est utilisé par rien d’autre qu’Apache sur votre serveur, remplacez par et redémarrez Apache.

Vous devriez alors pouvoir accéder à votre vhost en naviguant sur http://local

Il n’est pas nécessaire d’utiliser le port 8080 sauf si vous exécutez déjà quelque chose sur le port 80. Si tel était le cas, vous n’avez pas d’autre choix que d’inclure le :8080 après le nom d’hôte lorsque vous accédez à votre site dans le navigateur.

Tout d’abord, vous avez défini votre port sur 8080, changez cela en * .80

Votre configuration devrait ressembler à:

  ServerName local DocumentRoot C:\zendProject\quickstart\public SetEnv APPLICATION_ENV "development"  

Dans Windows, le chemin commence par C:\ et non /

Jetez également un coup d’œil à ce tutoriel de démarrage .