總目錄
前 言
第一章 在Debian上配置Apache+MySQL+PHP4
第二章 在Debian上用Wu-ftpd配置FTP服務器
第三章 在Debian上用Exim配置郵件服務器
第四章 在Debian上配置Samba服務器
第五章 在Debian上用Bind配置DNS服務器
《Debian服務器設置入門》系列教程之第一章:Web服務器+數據庫服務器
第一章 在Debian上配置Apache+MySQL+PHP4
本章目錄
1 選擇Apache+MySQL+PHP4
2 安裝
3 配置
4 綜合測試
5 結束語
1 選擇Apache+MySQL+PHP4
你可能會問我:為什麼不選擇別的軟件,而非得選擇Apache+MySQL+PHP4的組合?呵呵,我要告訴你,著名的Free
Lamp組合,說的就是Linux/Apache/MySQL/PHP/Perl/Python,你可以到www.freelamp.com上面去看看。PHP在互聯網上的應用,正成燎原之勢。如果作Web開發,在我看來,別無選擇,就是PHP。詳細情況可以到www.php.net上面去了解。MySQL非常輕便,性能卓越。Apache就不必多說了,互聯網上沒有幾個Web站點不用它。
2 安裝
在Debian上安裝軟件,真的是非常簡單。不需要configure,不用make,不用make
install,遍布全球的Debian的工作人員已經為你做好了一切。
你可以一口氣把這些軟件全部裝上:
其中,php-gd是一個非常棒的圖形庫,如果你不需要使用php生成動態圖片,就不用裝。
這時,系統會自動列出一些相關的軟件,然後問你是不是要繼續(說Debian棒,這是其中一點:自動查找軟件關聯,自動補充安裝)——Debian給你一次反悔的機會,如果你現在不想裝了,那麼按n,就退出來了。
當然我們在這裡要按回車,繼續安裝。現在Debian會到你的sources.list裡面指定的站點去下載這些軟件。下載完後,會自動進行配置,配置過程中會征求你的意見,問你幾個問題。
比如現在他就問你:你要在計算機啟動時就運行MySQL嗎?當然選Yes了,否則每次要用的時候才啟動,怪麻煩的。
又問你:你想運行apacheconfig腳本嗎?默認是N,不過我們輸入Y讓它替我們配置一下。配置完後,問你是否保存配置,當然是了,呵呵。然後,他會問你是否要啟動Apache,好,啟動它。
接著,系統會自動配置PHP。由於你選擇了php-gd和php-mysql,他會問你是否把gd.so和mysql.so的支持寫入php.ini,回答是。你看,Debian聰明吧。
3 配置
3.1 配置Apache
3.1.1 提供php支持
Apache剛裝上的時候不提供php支持。當你點擊有.php腳本的連接,浏覽器會下載這個腳本:-(
修改/etc/apache/httpd.conf,以便提供php支持。運行:
順便提一下,我非常喜歡這個叫做nano的編輯器,它很容易上手。
使用nano的ctrl+w功能找到下面這一行:
把這一行前面的井號去掉,以便apache加載這個libphp4.so模塊。
然後,配置默認頁,找到:
改成:
DirectoryIndex index.php index.php3 index.html index.htm index.shtml index.cgi然後再加上.php3擴展名的支持和php源碼支持,找到:
#把後面兩行修改成:
#3.1.2
修改默認字符集
讓Apache把簡體中文作為默認的字符集。找到這一行:
修改成:
AddDefaultCharset gb2312 好,Apache就配置完了,按ctrl+o保存後,再按ctrl+x退出nano。
為了使我們的修改生效,需要重新啟動Apache,運行:
apache 1.3 提供了這個apachectl工具,但是2.0就沒了。
另外,注意一個技巧:Debian提供的服務器軟件包,幾乎都會提供一個腳本用於啟動/終止/重新啟動這個服務。腳本全部放在/etc/init.d/下面。
比如Apache,可以通過下面的命令控制:
其它的服務也可以如此操作。
3.2
MySQL配置
3.2.1 修改MySQL的口令
由於MySQL默認沒有口令,為了安全起見,一定要修改你的口令!
先來看看你的mysql是不是真的沒有口令:
如果你能夠看到mysql的版本信息,證明目前MySQL沒有口令。
好,運行mysqladmin password xxxxxx 修改口令:
這裡xxxxxx是你的新口令。
現在你需要運行 mysqladmin version --user=root --pass,然後輸入口令,才能查看版本號等信息。
注意,上面命令中的--user=root --pass這一部分,可以簡寫為-u
root -p。我們來測試一下,看口令是否生效:
3.2.2
打開3306端口監聽
這項工作要慎重。處於安全考慮,默認情況下,Debian把3306端口關閉了。因為,不少黑客通過它來攻擊你的系統。如果你不通過其他機器來存取數據庫,那麼不要打開這個端口。
修改/etc/mysql/my.cnf,找到:
把它注釋掉:
# skip-networking3.2.3
修改默認字符集
讓MySQL把簡體中文作為默認的字符集。編輯/etc/init.d/mysql,找到這一行:
改成:
/usr/bin/safe_mysqld > --default-character-set=gb2312 > /dev/null 2>&1 &好,重新啟動MySQL:
# /etc/init.d/mysql restart
3.3 PHP配置
主要是要修改php的默認字符集,把它改成簡體中文。編輯/etc/php4/apache/php.ini:
找到 ;default_charset = "iso-8859-1"這一行:
;default_charset = "iso-8859-1"把前面的分號去掉,並改成: default_charset = "gb2312"
default_charset = "gb2312"4 綜合測試
好了,安裝完了,我們來測試一下。
這一部分,高手完全可以略過。我主要考慮到初學者,才寫了這些。
4.1 建立一個數據庫
下面我們來創建一個簡單的數據庫,這個庫裡面只有一張表,叫做user,用來存放用戶名/明文密碼/出生日期/激活狀態。
#
mysql -u root -p
Enter password:
mysql> CREATE DATABASE
mytest;
Query OK, 1 row affacted (0.00 sec)
mysql> USE
mytest;
Database changed
mysql>
CREATE TABLE user (
-> username varchar(16) NOT NULL default '',
-> password varchar(16) binary NOT NULL default '',
-> birthday date NOT NULL
default '1975-12-31',
-> actived int(1) NOT NULL default
'0',
-> UNIQUE KEY username (username)
-> );
Query OK, 0 row affected (0.00 sec)
mysql> INSERT INTO user VALUES
('kanaka','kanakapswd','1975-09-18',0);
Query OK, 1 row affected (0.01 sec)
mysql>
INSERT INTO user VALUES
('atfa','atfapswd','1977-10-30',1);
Query OK, 1 row affected (0.00 sec)
mysql>
quit
Bye
注意,默認情況下,所有的數據庫放在/var/lib/mysql/下面。每個數據庫占一個目錄,目錄名就是數據庫名。你創建數據庫的時候,系統自動就把它放在這個目錄下面了。
4.2 編寫一個php腳本
下面我們來編寫一個簡單的php腳本,來調用上面數據庫裡面的內容。文件名比如叫做mytest.php。
我好長時間沒寫程序了,連php的語法都快忘了,呵呵。我去年給公司的生產線編寫了一個應用,上面就是摘抄下來的,我本來想寫一個最簡單的程序在這裡,但是我還是把兩個函數保留在裡面了,為的是讓初學者有個借鑒,呵呵。
4.3 測試
把這個mytest.php復制到/var/www下面,在你的浏覽器裡面,訪問這個mytest.php,就會看到數據庫的內容。
之所以把mytest.php放到/var/www下面,是因為,默認情況下,Apache的httpd.conf裡面定義了把/var/www作為文檔根目錄。
初學者注意,在linux控制台下面有好幾款浏覽器,w3c,lynx,links等等。三個各有優劣,都不完美。個人感覺links比較適合初學者,因為按下esc鍵之後有菜單出現。
5 結束語
本文是《Debian服務器設置入門》系列教程之第一章,建議您按照順序閱讀,有問題可以和作者kanaka聯系。