Apache設定PHP環境(Ubuntu7.10)
- 將系統更新到最新狀態,在做任何操作之前都要做這一步,以確保系統的穩定,同時也不會有一些莫名其妙的現象出現。
$sudo apt-get update
$sudo apt-get dist-upgrade
- 安裝PHP支援
$sudo apt-get install libapache2-mod-php5
$sudo apt-get install php5
如果想支援圖形就加php5-gd,如果想支援Mysql就加php5-mysql,這裡之所以要單獨列出libapache2- mod-php5,主要是由於php5的依賴關係沒有做好,有可能會安裝上libapache-mod-php4的包,所以為了避免不必要的麻煩,乾脆還是單獨指定比較好。如果有朋友還是會出現問題,請在新立得中查詢libapache-mod-php4包,如果安裝的話請將其刪除。
根據個人需要,我們可以編輯/etc/php5/apache2/php.ini檔案,先做一般配置,在改動之前,請先將該配置檔案做個備份。以便在出錯的時候可以恢復。
目前大多數php的open source都是用php4寫的,為了相容以前的php版本,有時需要將register_long_arrays開啟,否則$HTTP_GET_VARS和$HTTP_POST_VARS等變數將無法使用,會出現一些莫名其妙的問題。 a. 另外,在裝完php5後最好確認一下/etc/apache2/mods-enabled/下是否有連結:
php5.load -> /etc/apache2/mods-available/php5.load
- 加固PHP,以增強安全性。注意,下面的安全性要因情況而定,所以我已經把它們的功能寫清楚了,如果有問題的話,看看是否由於下面哪種限制條件所造成,可相應將其註釋掉。那麼讓我們開始吧,我們將再次編輯/etc/php5/apache2/php.ini檔案,之所以沒有一次改完,主要是為了給大家一個清晰的思路。
#開啟安全模式,開啟他的好處就是PHP檔案只能訪問所有者和PHP檔案所
有著一樣的檔案,即使在chroot環境下也無法訪問jail 中屬主不一樣的文
件,類似於php shell這樣的後門就沒用武之地了哦,phpshell是很流行
的php後門,他可以執行系統命令,就象他的名字一樣,和shell很接近。
safe_mode = On
#下面的設定就限制了fopen(), file()等函式可以操作的目錄範圍,避免了入侵者非法讀取檔案,一定要在/var/www後面加"/",否則/var/wwww下的文
件也能被訪問。該選項會禁止任何不在/var/www/目錄下的PHP檔案執行,
包括任何以軟連結方式鏈到/var/www/目錄下的程式,如PhpMyAdmin 包,
就在該選項設定後無法正常執行。
open_basedir = /var/www/
#禁止使用phpinfo和get_cfg_var函式,這樣可以避免洩露服務資訊,一般在在確認PHP能正常工作之後再使之關閉
disable_functions = phpinfo,get_cfg_var
#設定php程式錯誤日誌
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_err.log
#如果php程式沒有指明需要register_globals的話,最好把register_globals設定為Off,這樣可以避免很多安全問題的。注意,如果你的程式是
需要register_globals的話,可千萬別關。Ubuntu預設是關閉的。
register_globals = Off
#禁止開啟遠端地址,記得最近出的php include的那個漏洞嗎?就是在一個php程式中include了變數,那麼入侵者就可以利用這個控制伺服器在本地
執行遠端的一個php程式,例如phpshell,所以我們關閉這個。
allow_url_fopen = Off
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/786540/viewspace-977088/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WSL設定php開發環境PHP開發環境
- Linux搭建PHP+MySQL+Apache環境LinuxPHPMySqlApache
- windows伺服器apache、php、postgresql的環境安裝Windows伺服器ApachePHPSQL
- Servlet 的環境設定Servlet
- 如何設定FreeSWITCH環境
- R環境的設定
- pbootcms偽靜態設定教程含apache、naginx、IIS不同環境配置規則bootApache
- 自動設定autotrace環境
- ansible設定環境變數變數
- ansible 設定環境變數變數
- export 設定環境變數Export變數
- Linux設定環境變數Linux變數
- 4.2.10.2 設定和取消設定環境變數變數
- PHP Windows環境PHPWindows
- php環境配置PHP
- docker(podman)容器設定中文環境Docker
- labelImg macos 執行環境設定Mac
- linux操作環境和xshell設定Linux
- java jdk 設定環境變數JavaJDK變數
- 【環境踩坑】ubuntu下jupyter的環境設定問題Ubuntu
- PHP開發環境 03 - 使用KFKDock搭建PHP專案環境PHP開發環境
- win10環境變數怎麼設定 win10設定環境變數的方法Win10變數
- Mac PHP 環境配置MacPHP
- docker搭建php環境DockerPHP
- PHP開發環境PHP開發環境
- CentOS 配置 PHP 環境CentOSPHP
- JDK1.8環境變數設定JDK變數
- Golang環境變數設定詳解Golang變數
- linux系統設定環境變數Linux變數
- Win11開發環境設定開發環境
- Vue 設定環境變數和模式Vue變數模式
- python 獲取設定環境變數Python變數
- win 命令列 設定環境變數命令列變數
- Centos7環境變數設定CentOS變數
- Visual Studio 2019設定PCL 1.12.1環境
- 環境變數的設定方法(轉)~變數
- LAMP環境中Apache,MySQL,PHP的配置檔案路徑是什麼LAMPApacheMySqlPHP
- 系統預設環境變數PATH設定變數
- 什麼是環境變數?Python中如何設定環境變數?變數Python