Ubuntu Apache 服务之 PHP 配置
將Ubuntu 系統更新到最新狀態,在做任何操作之前都要做這一步,以確保系統的穩定,同時也不會有一些莫名其妙的現象出現。
??? $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包,如果安裝的話請將其刪除。
??? 修改PHP配置文件,以限制內存和文件最大上傳尺寸
??? 我們編輯/etc/php5/apache2/php.ini文件,先做一般配置,在改動之前,請先將該配置文件做個備份。以便在出錯的時候可以恢復。
??? ...
??? memory_limit == 8M ==>修改成你所需的內存大小
??? upload_max_filesize == 2M ==>修改文件最大上傳尺寸
??? ...
??? extension=mysql.so 支持Mysql服務
??? extension=gd.so 支持gd函數
??? ...
??? 其實在Ubuntu 下,如果你安裝了php5-mysql和php5-gd之后,會自動修改以上二行的,我們做的只不過是確認一下它們前面的注釋符是否去掉。
??? a. 目前大多數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
??? #清注意,安全模式打開一個會導致judge online一類有調用外部程序的php無法工作。
??? #下面的設置就限制了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
總結
以上是生活随笔為你收集整理的Ubuntu Apache 服务之 PHP 配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ipc命令祥解
- 下一篇: jQuery-强大的jQuery选择器