2012-12-20 67 views
1

我得到了我的新的VPS服務器與CentOS 5.8,我不能轉移我的域名,但我想通過http://my-server-ip達到我的網站,因爲我使用laravel框架,我需要更改默認的DocumentRoot httpdocshttpdocs/public我試圖把那些行httpd.conf文件:如何更改DocumentRoot到一個自定義文件夾

<VirtualHost my-server-ip:80> 
DocumentRoot /var/www/vhosts/my.domain.org/httpdocs/public 
ServerName my.domain.org 
</VirtualHost> 

但是重啓動Apache後,它警告我這個樣子: 警告:的DocumentRoot [/公共]不存在

應該是什麼我做?

+0

該文件夾是否真的存在,並且它是否具有適當的Apache訪問權限? – 2012-12-20 20:05:56

+0

oops。這是我在Linux上的第一天:/我該如何授予Apache許可? (文件夾oes存在)(作爲回答,所以如果它的工作,我可以接受它) – Hasan

回答

2

您需要啓用讀取(並且可能執行)權限的目錄。作爲根嘗試:

# Recursively set the owner of this folder to 'www' 
chown -R www /var/www/vhosts/my.domain.org/httpdocs/public 

# Recursively give the owner read and execute privileges 
chmod -R u+rx /var/www/vhosts/my.domain.org/httpdocs/public 

作爲一些設置替代用戶可能被稱爲nobody。所以,如果www不起作用嘗試:

chown -R nobody /var/www/vhosts/my.domain.org/httpdocs/public 

編輯: 作爲用戶tink運行Apache的用戶形象地稱爲apache評論 」 ...... CentOS中指出,在Debian和它的衍生物,它是www-data。「

+0

沒有工作,我觀察到一些奇怪的:我看到TAB按鈕完成目錄名稱,「cd/var/www/vh」選項卡「pla」選項卡「htt」選項卡「但是;它不完成公共雖然我可以到達那個文件夾 – Hasan

+0

我絕望的權利?(: – Hasan

+0

那麼......在Centos中,運行apache的用戶恰當地稱爲apache。在debian中,它的衍生物是www-data。這可能是你的問題的原因? – tink

0

可能是apache用戶無法進入新目錄。嘗試

chmod a+r /var/www/vhosts/my.domain.org/httpdocs/public

+0

作爲替代它可能是更好的做法,只是爲Apache用戶提供讀取權限和執行權限(通常爲'nobody'或'www') 。 – 2012-12-20 20:12:27

+0

好的,我是真正的linux noob(試圖學習它),這個命令在哪裏指定將授予Apache用戶的特權? – Hasan

+0

看到我的答案。主要的區別是這種方法給予任何用戶可能不需要的目錄的讀權限。我強烈建議查看chmod手冊頁或各種在線教程以瞭解Linux文件權限。您可以使用命令man chmod來訪問它。 – 2012-12-20 20:21:13

0

我有同樣的「403頁」問題。就在我將/etc/apache2/conf-available/sitename.conf中的文檔根目錄從/ var/www/html更改爲/ data/www之後。 爲了解決我做過的問題:

1)使用chown和chmod示例,由Mike提供(上面2個帖子)。非常感謝他;

2)添加2線的/etc/apparmor.d/abstractions/web-data結束如下:

/data/www/ r, 
/data/www/** r, 

,然後運行:

sudo service apparmor reload 

3)I也以下面的代碼位添加到我的apache.conf需要:

<Directory /data/www/> 
Options Indexes FollowSymLinks 
AllowOverride None 
Require all granted 
</Directory> 

可能有些動作是多餘的,但它的工作相當不錯對於m e(Apache v2.4.7,Ubuntu 14.04.1)

相關問題