如何在ubuntu 12.04 +虚拟主机+ mod_rewrite中安装ZF2

时间:2012-11-24 05:25:10

标签: php mod-rewrite ubuntu zend-framework2

我从https://github.com/ZF-Commons/ZfcUser安装了zf2骨架应用程序和一些模块,如zfcuser和zfcBase,我在本地安装成功,最后我运行了192.168.3.12/myproject/user但我发现404找不到错误总是我必须运行192.168.3.12/myproject/public/user所以我发现很多人都在说要制作虚拟主机我无法让我用虚拟主机运行zf2安装

请让我知道正确的解决方案。我只想在虚拟主机的帮助下安装zf2。

2 个答案:

答案 0 :(得分:4)

很抱歉我已经做了很久以前你可以用以下方式做到这一点。

  1. 在/ var / www目录中安装zf2,假设项目名称为site1。

  2. 使用此命令启用mod_rewrite sudo a2enmod rewrite

  3. 配置虚拟主机和主机文件(请记住这是强制性的必须这样做)

    a 。复制/ etc / apache2 / sites-available / default中的当前默认设置,并将其命名为与新网站相同。

    eg. cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site1
    

    b。使用首选文本编辑器编辑每个站点的新配置文件。在ServerAdmin行的正下方添加ServerName server1行,并将DocumentRoot和Directory更改为指向新站点。 这应该是它的样子:

    /etc/apache2/sites-available/site1
    

    c。

    <VirtualHost *:80>
      ServerAdmin webmaster@localhost
      ServerName test.zf2.com
      DocumentRoot /var/www/site1/public
      <Directory />
        Options FollowSymLinks
        AllowOverride All
     </Directory>
     <Directory /var/www/site1/public/>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
    
     ErrorLog ${APACHE_LOG_DIR}/error.log
    
     # Possible values include: debug, info, notice, warn, error, crit,
     # alert, emerg.
     LogLevel warn
     CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    

    d。运行此命令

    sudo a2ensite site1
    

    e。重启apache

     sudo /etc/init.d/apache2 reload
    
  4. 4.编辑主机文件为其设置新的主机名和IP地址。

    运行

    sudo nano /etc/hosts
    

    设置此数据

    YOUR_IP_ADDRESS    test.zf2.com
    

    那就是它!!!!希望这会有所帮助...

答案 1 :(得分:0)

在您的Apache配置中确保您网站的根目录指向&#39; Your_Skeleton_App_Path / 公开&#39;。重写规则仅针对公用文件夹

设置

skeleton目录的根文件夹不包含任何index.php文件(因此404错误)

(我希望我的回答只是一个评论,但我还不能发表评论)