Apache預設的網站目錄設定
Apache預設的網站目錄是在/var/www/html,我們現在要把網站目錄更改到/home/wwwroot/web1/htdocs,操作如下
建立目錄:
cd /home
mkdir wwwroot
cd wwwroot
mkdir web1
cd web1
mkdir htdocs
touch index.php
操作步驟:
1、vi /etc/httpd/conf/httpd.conf
找到 DocumentRoot "/var/www/html" 這一段 #apache的根目錄
把/var/www/html 這個目錄改為/home/wwwroot/web1/htdocs
再找到 #定義apache /var/www/html這個地區
把 /var/www/html改成/home/wwwroot/web1/htdocs
這樣我們就把apahce的預設路徑改掉了
service httpd restart #重啟Apache伺服器
2、訪問localhost的時候,會發現訪問拒絕,這是為什麼呢?
主要是因為你的/home/wwwroot/web1/htdocs的許可權是750,apache這個使用者沒有許可權訪問,你需要更改掉許可權,可以這樣改
chmod -R 755 /home/wwwroot/web1/htdocs
然後去訪問 發現正常運行了(apache的使用者:apache 運行apache的組:apache)
至此,Apache預設網站目錄更改成功。
apache日誌產生設定
下面設定apache讓伺服器每天單獨產生一個記錄檔,這樣管理、分析日誌會方便很多。
vi /etc/httpd/conf/httpd.conf #編輯檔案
#ErrorLog logs/error_log #注釋此行,添加下面這行
ErrorLog "|rotatelogs /var/log/httpd/error_log%Y%m%d.log 86400 480" #每天單獨產生一個記錄檔
#CustomLog logs/access_log common #注釋此行,添加下面這行
CustomLog "|rotatelogs /var/log/httpd/access_log%Y%m%d.log 86400 480" common #每天單獨產生一個記錄檔
Tips:如果想禁止Apache記錄檔,可以設定如下
ErrorLog /dev/null #禁用錯誤記錄檔
CustomLog /dev/null common #禁用訪問日誌
Apache防止php木馬跨站設定
代碼如下:
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
注意:把/usr/local/apache/htdocs/www/替換成你自己的網站目錄
例如:
編輯虛擬機器主機設定檔
vi /etc/httpd/conf.d/vhost.conf
在你的網站配置中添加下面的代碼
<VirtualHost *:80>
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
</VirtualHost>
注意:
因為/etc/httpd/conf.d/vhost.conf中設定了open_basedir之後, 虛擬使用者就不會再自動繼承php.ini
中的open_basedir設定值了,這就難以達到靈活的配置措施, 所以建議您不要在/etc/httpd/conf.d/vhost.conf
中設定此項限制。
例如,可以在php.ini中設定open_basedir = .:/tmp/
這個設定表示允許訪問目前的目錄(即PHP指令檔所在之目錄)和/tmp/目錄,有效防止php木馬跨站運行