配置symfony和apache

时间:2017-02-24 19:28:35

标签: linux apache virtualhost

我现在正在学习symfony。我想使用apache webserver而不是运送的php。如果我还想使用默认的localhost,我该如何添加虚拟主机? (localhost:80为我的笔记本,我有一个" personalhomepage")

2 个答案:

答案 0 :(得分:1)

您可以像设置其上有多个站点的任何其他Web服务器一样设置Apache - 理想情况下,命名为vhost。 Symfony有一个例子Apache vhost config

<VirtualHost *:80>
    ServerName domain.tld
    ServerAlias www.domain.tld
    ServerAlias www.sitename.127.1.0.1.xip.name

    DocumentRoot /var/www/project/web
    <Directory /var/www/project/web>
        AllowOverride None
        Order Allow,Deny
        Allow from All

        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ app.php [QSA,L]
            # In local development, I default this to app_dev.php
        </IfModule>
    </Directory>

    ErrorLog /var/log/apache2/project_error.log
    CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>

在此示例中,domain.tld(或www。)是您用于访问网站的名称。您必须能够通过DNS访问这些名称 - 在本地计算机上,127.0.0.1。还有一些“通配符DNS”服务可能有所帮助,例如http://xip.name/通过这些服务,您可以将ServerName sitename.127.1.0.1.xip.name置于上述配置中,然后使用它来访问您的网站。

我自己使用我为本地计算机拥有的通配符DNS子域做类似的事情。我有许多这样的Apache Vhost配置设置。

答案 1 :(得分:1)

这是我目前使用的vHost之一(cronolog用于日志轮换):

<VirtualHost *:80>
        ServerName projectname.dev
        DocumentRoot /var/www/projectname/html/web
        <Directory /var/www/projectname/html/web>
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>
        ErrorLog  "|/usr/bin/cronolog /var/www/projectname/log/%Y-%m/error_%d_%m_%Y.log"
        CustomLog "|/usr/bin/cronolog /var/www/projectname/log/%Y-%m/access_%d_%m_%Y.log" combined
</VirtualHost>

出于测试和开发目的,我通常创建一个本地域,其中.dev或.local以hosts文件结尾,例如:

127.0.0.1       projectname.dev

确保域名与vHost配置中的域名相对应。哦,不要忘记重启apache。希望这会有所帮助。

使用这些步骤,您可以使用 projectname.dev projectname.dev/app_dev.php ,也可以直接设置vHost的DirectoryIndex,如果您使用希望始终使用 app_dev.php

<Directory /var/www/projectname/html/web>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    DirectoryIndex app_dev.php
</Directory>