Ubuntu下安裝PHP支持
$sudo apt-get install libapache2-mod-php5
$sudo apt-get install php5
如果想支持圖形就加php5-gd,如果想支持Mysql就加php5-mysql,這里之所以要單獨(dú)列出libapache2-mod-php5,主要是由于php5的依賴關(guān)系沒(méi)有做好,有可能會(huì)安裝上libapache-mod-php5的包,所以為了避免不必要的麻煩,干脆還是單獨(dú)指定比較好。
修改PHP配置文件,以限制內(nèi)存和文件最大上傳尺寸
我們編輯/etc/php5/apache2/php.ini文件,先做一般配置,在改動(dòng)之前,請(qǐng)先將該配置文件做個(gè)備份。以便在出錯(cuò)的時(shí)候可以恢復(fù)。
>memory_limit = 8M =>修改成你所需的內(nèi)存大小
>upload_max_filesize = 2M =>修改文件最大上傳尺寸
=============
>extension=mysql.so 支持Mysql服務(wù)
>extension=gd.so 支持gd函數(shù)
=============
其實(shí)在Ubuntu下,如果你安裝了php5-mysql和php5-gd之后,會(huì)自動(dòng)修改以上二行的,我們做的只不過(guò)是確認(rèn)一下它們前面的注釋符是否去掉。
bobyang 寫(xiě)道:
補(bǔ)充:
1。目前大多數(shù)php的open source都是用php4寫(xiě)的,為了兼容以前的php版本,有時(shí)需要將register_long_arrays打開(kāi),否則$HTTP_GET_VARS和$HTTP_POST_VARS等變量將無(wú)法使用,會(huì)出現(xiàn)一些莫名其妙的問(wèn)題。
2。另外,在裝完php5后最好確認(rèn)一下/etc/apache2/mods-enabled/下是否有鏈接:
php5.load -> /etc/apache2/mods-available/php5.load
加固PHP,以增強(qiáng)安全性。
注意,下面的安全性要因情況而定,所以我已經(jīng)把它們的功能寫(xiě)清楚了,如果有問(wèn)題的話,看看是否由于下面哪種限制條件所造成,可相應(yīng)將其注釋掉。
下面我們開(kāi)始加固php,我們?cè)俅尉庉?etc/php5/apache2/php.ini文件,之所以沒(méi)有一次改完,主要是為了給大家一個(gè)清晰的思路。
>#打開(kāi)安全模式,打開(kāi)他的好處就是PHP文件只能訪問(wèn)所有者和PHP文件所有著一樣的文件,即使在chroot環(huán)境下也無(wú)法訪問(wèn)jail中屬主不一樣的文件,類似于php shell這樣的后門(mén)就沒(méi)用武之地了哦,phpshell是很流行的php后門(mén),他可以執(zhí)行系統(tǒng)命令,就象他的名字一樣,和 shell很接近。
>safe_mode = On
>#下面的設(shè)置就限制了fopen(), file()等函數(shù)可以操作的目錄范圍,避免了入侵者非法讀取文件,一定要在/var/www后面加" /",否則/var/wwww下的文件也能被訪問(wèn) 。該選項(xiàng)會(huì)禁止任何不在/var/www/目錄下的PHP文件運(yùn)行,包括任何以軟鏈接方式鏈到/var /www/目錄下的程序,如PhpMyAdmin包,就在該選項(xiàng)設(shè)定后無(wú)法正常運(yùn)行。
>open_basedir = /var/www/
>#禁止使用phpinfo和get_cfg_var函數(shù),這樣可以避免泄露服務(wù)信息,一般在在確認(rèn)PHP能正常工作之后再使之關(guān)閉
>disable_functions = phpinfo,get_cfg_var
>#設(shè)置php程序錯(cuò)誤日志
>error_reporting = E_ALL
>log_errors = On
>error_log = /var/log/php_err.log
>#如果php程序沒(méi)有指明需要register_globals的話,最好把register_globals設(shè)置為Off,這樣可以避免很多安全問(wèn)題的。注意,如果你的程序是需要register_globals的話,可千萬(wàn)別關(guān)。Ubuntu默認(rèn)是關(guān)閉的。
>register_globals = Off
>#禁止打開(kāi)遠(yuǎn)程地址,記得最近出的php include的那個(gè)漏洞嗎?就是在一個(gè)php程序中include了變量,那么入侵者就可以利用這個(gè)控制服務(wù)器在本地執(zhí)行遠(yuǎn)程的一個(gè)php程序,例如phpshell,所以我們關(guān)閉這個(gè)。
>allow_url_fopen = Off
測(cè)試PHP5是否安裝成功
sudo gedit /var/www/testphp.php
在里面寫(xiě)入然后在Firefox中打開(kāi):http://localhost/testphp.php
應(yīng)該能看到下面的畫(huà)面,很長(zhǎng)的,俺截了一下php5.png
看完后把testphp.php刪掉,可能會(huì)有安全風(fēng)險(xiǎn)
安裝MySqlsudo apt-get install mysql-server********************上面的命令極有可能出現(xiàn)問(wèn)題,就是告訴你有部分依賴的問(wèn)題,這時(shí)千萬(wàn)別聽(tīng)信別人的信口亂說(shuō),follow me,否則你很有可能重裝系統(tǒng),信不信走著試試一句話,更新源有問(wèn)題系統(tǒng)-》系統(tǒng)管理-》軟件源,選擇主服務(wù)器,再次運(yùn)行上面的命令,OK了嗎?go on......注意設(shè)置mysql root賬號(hào)。
MySql初始只允許本機(jī)(127.0.0.1)連接,如果想多臺(tái)機(jī)子使用或者向Internet開(kāi)放的話,
編輯/etc/mysql/my.cnfsudo gedit /etc/mysql/my.cnf
找到bind-address = 127.0.0.1
用#注釋掉,象這樣#bind-address = 127.0.0.1
MySql默認(rèn)沒(méi)有設(shè)置root密碼,本機(jī)的root用戶也沒(méi)有密碼,有風(fēng)險(xiǎn)是吧,這樣
mysqladmin -u root password your-new-password
mysqladmin -h root@local-machine-name -u root -p password your-new-password(這里我怎么也連接不上mysql服務(wù)器,最后在mysql-admin里面改的)
sudo /etc/init.d/mysql restart
安裝MYSQL Administrator
sudo apt-get install mysql-admin
安裝好后在Gnome-應(yīng)用程序-系統(tǒng)工具-MySQL Administrator這里俺遇到了一個(gè)問(wèn)題,就是運(yùn)行MySQL Administrator后,點(diǎn)擊User Administrator后,整個(gè)MySQL Administrator掛死,最后還是解決了,方法見(jiàn)后面
安裝MYSQL for Apache HTTP Server
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo apt-get install phpmyadmin
要讓PHP與MySql一起工作,編輯
sudo gedit /etc/php5/apache2/php.ini
取消對(duì);extension=mysql.so的注釋,象這樣
…
extension=mysql.so
…
保存文件,然后
sudo /etc/init.d/apache2 restart
測(cè)試:http://localhost/phpmyadmin 這里俺能修改用戶,新增用戶等
億恩科技地址(ADD):鄭州市黃河路129號(hào)天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|