1、sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd mysql-server php5-mysql phpmyadmin
在下載來自動安裝配置的時候會出現一個框子讓你輸入密碼哦!!記住是密碼
2、啟用 mod_rewrite 模組
sudo a2enmod rewrite
3、配置 網站的目錄了
sudo gedit /etc/apache2/sites-available/default
------------------預設情況下你會看到
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
------------------我們把它改到別處去~~也就是自訂位置
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /home/felix/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/felix/www/>
------------------看到了把?這個就是放在了home下你的使用者名稱的www檔案夾裡面
4、重啟伺服器
sudo /etc/init.d/apache2 restart
=======================================================================
以下文章為轉載:
安裝MySQL
sudo apt-get install mysql-server
這個應該很簡單了,而且我覺得大家在安裝方面也沒什麼太大問題,所以也就不多說了,下面我們來講講配置。
配置MySQL
注意,在Ubuntu下MySQL預設是只允許本地訪問的,如果你要其他機器也能夠訪問的話,那麼需要改變/etc/mysql/my.cnf設定檔了!下面我們一步步地來:
預設的MySQL安裝之後根使用者是沒有密碼的,所以首先用根使用者進入:
$mysql -u root
在這裡之所以用-u root是因為我現在是 一般使用者(firehare),如果不加-u root的話,mysql會以為是firehare在登入。注意,我在這裡沒有進入根使用者模式,因為沒必要。一般來說,對mysql中的資料庫進行操作,根本沒必要進入根使用者模式,只有在設定時才有這種可能。
進入mysql之後,最要緊的就是要設定Mysql中的root使用者密碼了,否則,Mysql服務無安全可言了。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
注意,我這兒用的是123456做為root使用者的密碼,但是該密碼是不安全的,請大家最好使用大小寫字母與數字混合的密碼,且不少於8位。
這樣的話,就設定好了MySQL中的root使用者密碼了,然後就用root使用者建立你所需要的資料庫。我這裡就以xoops為例:
mysql>CREATE DATABASE xoops;
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";
這樣就建立了一個xoops_roots的使用者,它對資料庫xoops有著全部許可權。以後就用xoops_root來對xoops資料庫進行管理,而無需要再用root使用者了,而該使用者的許可權也只被限定在xoops資料庫中。
如果你想進行遠端存取或控制,那麼你要做兩件事:
其一:
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";
允許xoops_root使用者可以從任意機器上登入MySQL。
其二:
$sudo gedit /etc/mysql/my.cnf
老的版本中
>skip-networking => # skip-networking
新的版本中
>bind-address=127.0.0.1 => bind-address= 你機器的IP
這樣就可以允許其他機器訪問MySQL了。
1、安裝Apache2
命令: |
sudo apt-get install apache2 |
2、編輯/etc/apache2/apache2.conf檔案,在改動之前,請先將該設定檔做個備份。以便在出錯的時候可以恢複。
>AddDefaultCharset ISO-8859-1 =>AddDefaultCharset GB2312
這樣的話,我們就不會每次開啟網頁都是亂碼了!
3、增加安全模組,以保障Apache服務的正常運行,現在我們安裝mod-security。
a)首先安裝libapache2-mod-security包
命令: |
sudo apt-get install libapache2-mod-security |
b)該模組預設是沒啟用的,我們可以在/etc/apache2/mods-available目錄下看到有mod-security.load檔案,但在/etc/apache2/mods-enabled目錄卻沒有它的軟連結。我們現在啟用它:
$sudo ln -s /etc/apache2/mods-available/mod-security.load /etc/apache2/mods-enabled/mod-security.load
$sudo cp /usr/share/doc/libapache2-mod-security/examples/httpd2.conf.example-full /etc/apache2/mods-available/mod-security.conf
$sudo cp /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-available/mod-security.conf.orig
$sudo vi /etc/apache2/mods-available/mod-security.conf
># 檢測內容長度以避免堆溢出攻擊
>SecFilterForceByteRange 32 254 =>SecFilterForceByteRange 32 126
># debug設定
>SecFilterDebugLevel 9 =>SecFilterDebugLevel 0
># 設定預設的動作
>SecFilterDefaultAction "deny,log,status:499" =>SecFilterDefaultAction "deny,log,status:404"
># 把設定傳遞給子目錄
>SecFilterInheritance Off
># Redirect user on filter match
># 當匹配sh的時候,重新定向到一個特殊的警告頁面,該頁面是自行編寫的,寫些警告的話讓攻擊者知難而退,該段先不要生效,等到相關配置配好之後再失效不遲。記住在配好之後要使之生效。
>#SecFilter sh redirect:http://localhost/hack/warning.htm
># Prevent OS specific keywords
>#過濾一些敏感的東西,我們使用*是為了攻擊者使用/etc/./passwd來繞開檢測
>SecFilter /etc/passwd =>SecFilter /etc/*passwd
>SecFilter /bin/*sh
># Very crude filters to prevent SQL injection attacks
># 防止SQL插入(SQL Injection)攻擊
>SecFilter "delete[[:space:]]+from"
>SecFilter "insert[[:space:]]+into"
>SecFilter "select.+from"
>SecFilter "select[[:space:]]+from"
>SecFilter "union[[:space:]]+from"
命令: |
sudo ln -s /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-enabled/mod-security.conf |
c)重啟Apache2服務即可。
命令: |
sudo /etc/init.d/apache2 restart |
第三步可能會引起部分網站不能正常運行,可以參照著去掉某些限制,由於是安全模組,所以參照的是防火牆的做法,關掉一切不安全的,再根據需要開啟必要的。
安裝PHP支援
$sudo apt-get install libapache2-mod-php5
$sudo apt-get install php5
如果想支援圖形就加php5-gd,如果想支援Mysql就加php5-mysql,這裡之所以要單獨列出libapache2-mod-php5,主要是由於php5的依賴關係沒有做好,有可能會安裝上libapache-mod-php5的包,所以為了避免不必要的麻煩,乾脆還是單獨指定比較好。
3、修改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之後,會自動修改以上二行的,我們做的只不過是確認一下它們前面的注釋符是否去掉。
bobyang 寫道: |
補充: 1。目前大多數php的open source都是用php4寫的,為了相容以前的php版本,有時需要將register_long_arrays開啟,否則$HTTP_GET_VARS和$HTTP_POST_VARS等變數將無法使用,會出現一些莫名其妙的問題。 2。另外,在裝完php5後最好確認一下/etc/apache2/mods-enabled/下是否有連結: php5.load -> /etc/apache2/mods-available/php5.load |
4、加固PHP,以增強安全性。注意,下面的安全性要因情況而定,所以我已經把它們的功能寫清楚了,如果有問題的話,看看是否由於下面哪種限制條件所造成,可相應將其注釋掉。
下面我們開始加固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
5、OK,打完收功!
_______________________________________________________________________________________________________
一、安裝apache2+php5+mysql
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server
二、設定mysql密碼
mysqladmin -u root password 新密碼
三、安裝phpmyadmin
sudo apt-get install phpmyadmin
測試:http://localhost/phpmyadmin/
四、其它操作:
編輯測試頁:()
sudo gedit /var/www/testphp.php
啟動Apache
$ sudo /usr/sbin/apache2ctl start
停止Apache
$ sudo /usr/sbin/apache2ctl stop
重啟Apache
$ sudo /etc/init.d/apache2 restart
如果只是用於本地開發,加強安全性,設定如下:
$ gksudo "gedit /etc/apache2/ports.conf"
$ password:
更改ports.conf
Listen 127.0.0.1:80
儲存檔案之後,並重啟apache。這時,只有通過127.0.0.1才能訪問Apache。
我想說的:我還是喜歡把包包下載下來自己配置環境,難是難了點,而且費時間,但網上資料很多,不會有解決不了的問題的。Ubuntu這點做得有些傻瓜,我不喜歡。apache2昨天自己下了個tar.gz的包,自己裝上,配置完測試成功,今天在新立得軟體包管理器裡安裝上面那些東西(偷懶一下),嗚嗚,自己裝的apache2就不能用了,還要去改,哎,懶得改了都。我對電腦有潔癖,用不到的東西就想刪掉捏。哎,去刪嘍。
因為工作需要,想看看WordPress中Html編輯器是如何?的,以及它在伺服器端是如何進行安全操作的,如過濾html中的javascript關鍵字等,所以手把手地在我虛擬機器中的Ubuntu7.04上過了把安裝癮。
首先,我使用新利德軟體管理工具,安裝了Apache2.2.3、MySQL5.0.38、libapache2-mod-php5及php5-cgi(兩者應該裝前者就夠了),置於這兩個的安裝就不用我說了吧,哈哈,按照新利德軟體管理工具安裝軟體的正常步驟就行了。
裝完後,需要給MySQL資料庫的 root 使用者佈建密碼(預設是空)
mysqladmin -u root password [newpassword]
然後使用 root 使用者登陸進去,建立一個新的資料庫,並新增加一個使用者擁有這個資料庫操作的所有權,所以指令如下:
mysql -u root -p [yourpassword]
>create database wordpressdb;
>grant all privileges on wordpressdb.* to [newusername] identified by “321456″ with grant options;
>exit;
至此,資料庫已經準備好了,接下來就是下載 WordPress2.2 (最新版)了,然後將其解壓到Apache的Web目錄(Apache預設安裝後,會在/var/目錄下建立一個www/目錄,將WordPress整個目錄複寫到www目錄下就可以了,這裡需要管理員權限),然後在瀏覽器中敲入 http://localhost/wordpress ,頁面提示沒有找到 wp-config.php 檔案,跟到裡面一看,原來他只有一個 wp-config-simple.php 的模板,另外,還有一個readme.html的檔案,你可以先看看這個檔案,然後就知道怎麼回事了,於是我將 wp-config-simple.php 相應的地方(其實一般只要改三個地方,資料庫名、訪問資料庫的使用者名稱及該使用者名稱的密碼),另存新檔 wp-config.php 檔案。
重新整理前面的頁面,這個時候提示了一個這樣的問題:Your PHP installation appears to be missing the MySQL which is required for WordPress.,開始我以為是WordPress找不著資料了,一個勁地修改資料庫,訪問資料庫,看是否是我的資料回名或是使用者名稱寫錯了,不過好像都不是,後來問同事,原來是 PHP 少了一個與 MySQL 進行通訊的模板,哎,沒辦法,英文太次了!
於是只好又Google了一下,終於在一個外文網站上找到了這個模板的名稱:libapache2-mod-auth-mysql php5-mysql
於是開啟終端,敲入如何命令列(下面的命令列中順帶安裝了phpmyadmin用於管理mysql,其它我更喜歡mysql query browser來操作MySQL資料庫):
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
等待安裝完後,繼續如下操作:
sudo gedit /etc/php5/apache2/php.ini
找到這一行“;extension=mysql.so”,將前面的分號去掉,表示Apache啟動的時候,載入與MYSQL串連的模組,然後儲存。
最後就是重啟Apache伺服器:
sudo /etc/init.d/apache2 restart
Linux學習網收集整理 ,轉貼請標明原始連結。