2012-11-24 75 views
0

我安裝了zf2骨架應用程序和一些模塊,如zfcuser和zfcBase從https://github.com/ZF-Commons/ZfcUser,我安裝它成功地在我的本地結束我跑192.168.3.12/myproject/user但我發現404沒有發現錯誤總是我必須運行192.168.3.12/myproject/public/user,所以我發現有很多人正在講述製作虛擬主機我無法讓我的虛擬主機運行zf2安裝如何安裝ZF2在Ubuntu 12.04 +虛擬主機+ mod_rewrite

請讓我知道正確的解決方案。我只想在虛擬主機的幫助下安裝zf2。

+0

Mod_rewrite已啓用,但是您是否設置了重寫規則? –

+0

通過htaccess?它在ZF2中已經默認存在...... –

+0

應該是192.168.3.12/user? –

回答

4

對不起,遲了答案我以前做過,你可以用下面的方法做到這一點。

  1. 在/ var/www目錄中安裝zf2假定項目名稱爲site1。

  2. 啓用mod_rewrite的這個命令須藤a2enmod重寫

  3. 配置虛擬主機和主機文件(請記住這是強制性的,必須這樣做)

    一個 .Copy當前的默認設置在/ 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 
    

    ℃。

    <VirtualHost *:80> 
        ServerAdmin [email protected] 
        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.編輯主機文件設置新的主機名和IP地址給它。

運行

sudo nano /etc/hosts 

設置此數據

YOUR_IP_ADDRESS test.zf2.com 

Thatz它!!!!希望這有助於...

+0

有關此主題的最清晰答案。謝謝。 – Nikitas

+0

感謝高興它幫助:) –

0

確保在您的Apache配置中,您網站的根目錄指向'Your_Skeleton_App_Path/public'。重寫規則只公用文件夾

骨架目錄的根文件夾不包含任何的index.php文件(因此404錯誤)

(我希望我能只有取得這個答案設爲評論,但我還不能評論)