Freebsd6.1+Apache2.2.3+Mysql5.0.26+PHP5.1.6+phpMyAdmin2.9.0.2手工整合指南
swallow發佈於 2006-11-09
經過一晚上的操作,終於成功整合.寫一篇文章和大家交流一下經驗,什麼問題可以聯繫我. 我使用的操作系統是FreeBSD最新版本6.1,如果是別的操作系統安裝方法有少許不一樣,請作適當處理.
說明:本文檔系alone原創,經過辛勤實驗,努力編輯而成,轉載無妨,請不要修改任何內容。參考不少前輩文章,不一一列舉,謹表感謝!如有錯誤,敬請好手斧正!費話少說,進入正題.
首先安裝整合的工具必不可少.我整個過程用的到工具如下:
Freebsd6.1
下載地址:http://www.freebsd.org
Apache2.2.3
下載地址: http://www.apache.org
Mysql5.0.26 for freebsd
下載地址: http://dev.mysql.com/downloads/
Php5.1.6
下載地址: http://www.php.net/downloads.php
libxml2-2.6.19
下載地址:
http://ftp.gnome.org/pub/GNOME/s ... bxml2-2.6.19.tar.gz
libiconv-1.9.1
下載地址: http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.1.tar.gz
Phpmyadmin2.9.0.2 for nix
下載地址: http://www.mycodes.net/soft/6369.htm
一、 Freebsd的安裝
安裝FreeBSD就不講了,熟悉linux的很容易上手,只要稍微定製一下就可以了,過程我就不說了。建議新手選擇ALL安裝方式。
二、 安裝Apache
安裝Apache要簡單點,我這裡安裝的Apache版本是 httpd-2.2.3,下載回來的包叫做 httpd-2.2.3.tar.gz 我們放在 /usr/local/src目錄下。如果沒有該目錄,就自己建一個。
首先進入目錄後解壓縮:
# cd /usr/local/src
# tar -zxvf httpd-2.0.50.tar.gz
然後就會得到 httpd-2.0.50目錄,我們進入目錄
# cd httpd-2.0.50
首先配置:
# ./configure --prefix=/usr/local/apache \--enable-module=so
\*--prefix指定我們要把Apache安裝在那個目錄,我們這裡裝在 /usr/local/apache下*\
\*--enable-module=so必設,不然後面配置php時要出問題*\
執行上面的命令,如果沒有錯誤信息,證明配置成功,然後進行編譯:
# make
一兩分鐘就編譯完了,然後進行安裝:
# make install
安裝完成後,Apache就存放在 /usr/local/apache目錄下了, bin是執行文件的目錄,conf是配置文件目錄,htdocs是網頁的主目錄,logs是日誌目錄.
Apache通過 bin/apachectl或者bin/httpd來控制啟動或者停止.
# /usr/local/apache/bin/httpd -k start #啟動apache
# /usr/local/apache/bin/httpd -k stop #停止apache
# /usr/local/apache/bin/httpd -k restart #重啟apache
然後你可以通過 http://IP來測試apache是否安裝成功,如果出現apache的頁面則安裝成功,否則請檢查上面的步驟.
三、 安裝MySQL
我使用的的Mysql是5.0.26二進製版,不需要編譯。
把它下到/usr/local/src目錄下,下載回來的包名字叫 mysql-5.0.26.tar.gz,然後我們把它解壓出來:
# tar -zxvf mysql-5.0.26.tar.gz
解壓後生成/usr/local/mysql目錄,我們進入該目錄:
# cd mysql
#pw groupadd mysql #建立mysql組
#pw useradd –g mysql mysql #建立mysql用戶並且加入到mysql組中
#scripts/mysql_install_db --user=mysql #初試化表並且規定用mysql用戶來訪問
#chown -R root . #然後設置權限
#chown -R mysql data
#chgrp -R mysql .
設置完成後,基本上就裝好了,好了,我們運行一下我們的mysql:
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
如果沒有問題的話,應該會出現類似這樣的提示:
[1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var
這就證明你安裝成功了,如果出現:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
062110 01:53:45 mysqld ended
則證明你的mysql運行不來,請查看錯誤日誌: /usr/local/mysql/var/*.err 然後確定安裝是否成功,如果沒有成功,請檢查上面的步驟是否正確
.
安裝完成後,能夠通過 /usr/local/mysql/bin/mysql 來連接mysql進行管理,如果你裝了apache並且能夠解析php的話,也能使用phpMyadmin來管
理你的mysql,記得裝完後使用mysql或者mysqladmin來修改root的密碼,這裡我們就不說了,請參考相關的文章.
四、 安裝php5腳本支持
去以下地址下載源代碼包到/usr/local/src/下,
接著,安裝libxml2 (安裝php5必須,我們先不裝,測試一下效果):
#cd /usr/local/src
#tar –zxvf php-5.1.6.tar.gz
#cd php-5.1.6
#./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
有關於zend 的參數 --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
可見php內建對php加速軟件zend的支持
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
configure: error: xml2-config not found. Please check your libxml2 installation.
出錯啦
現在來裝libxml2
#tar –zxvf libxml2-sources-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure
#make;make install
再來配置:
# cd /usr/local/src/php-5.1.6
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
顯示:
configure: error: Please specify the install prefix of iconv with --with-iconv= ;
--with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI.
xmlrpc-epi is an implementation of the xmlrpc protocol in C. It provides an easy to use API for developers to serialize RPC requests to and from XML.
# cd /usr/ports/converters/iconv
# make all
# make install
===>; Installing for iconv-2.0_3
===>; iconv-2.0_3 depends on file: /usr/local/bin/perl5.8.5 - found
===>; Generating temporary packing list
===>; Checking if converters/iconv already installed
pkg_info: package bsdpan-DBD-mysql-2.9007 has no origin recorded
pkg_info: package bsdpan-DBI-1.48 has no origin recorded
===>; lib
install -C -o root -g wheel -m 444 libbiconv.a /usr/local/lib
install -C -o root -g wheel -m 444 libbiconv_p.a /usr/local/lib
install -s -o root -g wheel -m 444 libbiconv.so.2 /usr/local/lib
ln -fs libbiconv.so.2 /usr/local/lib/libbiconv.so
install -C -o root -g wheel -m 444 biconv.h /usr/local/include
install -o root -g wheel -m 444 biconv.3.gz /usr/local/man/man3
install -o root -g wheel -m 444 biconv_open.3.gz /usr/local/man/man3
install -o root -g wheel -m 444 biconv_close.3.gz /usr/local/man/man3
===>; ccs
cd /usr/ports/converters/iconv/work/iconv-2.0/ccs; install -o root -g wheel -m 444 big5.cct cns11643-plane1.cct cns11643-plane2.cct cns11643-plane14.cct cp775.cct cp850.cct cp852.cct cp855.cct cp866.cct gb_2312-80.cct iso-8859-1.cct iso-8859-2.cct iso-8859-4.cct iso-8859-5.cct iso-8859-15.cct jis_x0201.cct jis_x0208-1983.cct jis_x0212-1990.cct koi8-r.cct koi8-u.cct ksx1001.cct shift_jis.cct /usr/local/share/iconv; install -o root -g wheel -m 555 iconv_mktbl /usr/local/bin
===>; ces
cd /usr/ports/converters/iconv/work/iconv-2.0/ces && install -o root -g wheel -m 444 euc-jp.so euc-kr.so euc-tw.so gb2312.so iso-10646-ucs-2.so iso-10646-ucs-4.so ucs-2-internal.so utf-16.so /usr/local/libexec/iconv
===>; util
install -s -o root -g wheel -m 555 biconv /usr/local/bin
install -o root -g wheel -m 444 biconv.1.gz /usr/local/man/man1
{ echo "# BEGIN iconv"; cat /usr/ports/converters/iconv/work/iconv-2.0/ccs/charset.aliases /usr/ports/converters/iconv/work/iconv-2.0/ces/charset.aliases | /usr/ports/converters/iconv/work/iconv-2.0/iconv_builtin -n us-ascii utf-8 ucs-4-internal; echo "# END iconv"; } >; /usr/local/share/iconv/charset.aliases
===>; Running ldconfig
/sbin/ldconfig -m /usr/local/lib
===>; Registering installation for iconv-2.0_3
再裝libiconv-1.9.1.tar.gz,把libiconv-1.9.1.tar.gz放到/usr/local/src/下
# tar -zvxf libiconv-1.9.1.tar.gz
# cd libiconv-1.9.1
# ./configure
#make;make install
# cd /php-5.0.4
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
到此php5成功配置完成. Thanks : )
#make
#make test
#make install
# cp /usr/local/src/php-5.0.4/php.ini-dist /usr/local/lib/php.ini
配置php.ini請參考手冊
五、 phpMyAdmin的安裝
phpMyAdmin是比較好的通過web訪問方式來管理數據庫的免費程序。
下載該程序後,通過flashfxp上傳到/usr/local/apache/htdocs/目錄下,執行如下命令:
#cd /usr/local/apache/htdocs
#tar –zvxf phpMyAdmin-2.9.0.2.tar.gz
mv –fi phpMyAdmin-2.9.0.2 phpmyadmin
www# cd phpmyadmin
www#cp config..simple.inc.php config.inc.php
修改config.inc.php文件如下:
(1)查找$cfg['PmaAbsoluteUri'] = ''; ,將該行內容更改為$cfg['PmaAbsoluteUri'] = 'http://IP/phpmyadmin/';
執行:wq!命令保存退出,在IE瀏覽器裡輸入http://IP/phpmyadmin/就可以訪問了。
請注意其中的紅色文字,默認的mysql數據庫用戶名root是沒有密碼的,這是一個安全漏洞,所以我們要修改數據庫的密碼,請執行如下步驟:
首先點「權限」,進入另一個頁面
在新頁面中,勾選三個用戶,只剩下一個用戶名為root、主機為localhost的用戶,然後點「執行」來刪除那三個勾選的用戶,
只 剩下一個root用戶了,勾選它,點「編輯」, 再點擊「更改密碼」下面的「密碼」前的圓圈,選擇它,然後敲入你的mysql數據庫密碼(比如789),再點「執行」。這樣mysql的數據庫密碼就改變 了。當然了,我們也可以通過phpmyadmin來創建新的mysql數據庫名,用戶名等等,這些功能就要你自己去探索了。我們再點IE瀏覽器裡的「刷 新」來刷新該頁面,就會出現無法訪問的情況。
出現上面的情況後,也不要著急,我們可以修改phpmyadmin的配置文件config.inc.php來解決這個問題,執行如下命令:
www#vi config.inc.php
更改內容如下:
(2)查找$cfg['Servers'][$i]['auth_type'] = 'config';
更改為$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['controluser'] = '你的用戶名';
$cfg['Servers'][$i]['controlpass'] = '你的密碼';
然後重新在IE瀏覽器裡輸入http://IP/phpmyadmin/ 訪問,敲入用戶名「root」和密碼後,點「確定」,就可以重新進入到phpmyadmin管理頁面,至此,phpmyadmin安裝完畢。
到些,整個過程完畢.你可以上傳php網站程序、修改apache的httpd.conf文件配置一台高性能的web服務器,當然也不要忘了mysql數據庫對數據庫、用戶相應的增減。在這裡我就不說了。現在已經是凌晨3點,累就一個字。呼呼去咯……
後話:當然你也可以直接選擇ports安裝,更方便快捷。
附過程:
# cd /usr/ports/www/apache2
# make install clean
# cd /usr/ports/databases/mysql5X-server
# make install clean
# source ~/.cshrc
# mysql_install_db --user=mysql
# cd /usr/ports/lang/php5
# make install clean
在出現的界面中選中apache2, 如果要用zend,不要選debug
cp /usr/local/etc/php.ini-dist php.ini
vi /usr/local/etc/apache2/httpd.conf
添加
AddType application/x-http-php .php
AddType application/x-http-php-source .phps
在 DirectoryIndex 後加一個 index.php
# cd /usr/ports/lang/php5-extensions
# make config
在出現的界面中選種想要的
# make install clean
如果要裝zend,去www.zend.com 下載相應的包,解壓縮
# ./install.sh
就這麼簡單。
如果php要裝GD libxml2 libxslt 等支持,源碼都要自己裝,用ports只要選一下就ok了~而且以後方便升級和維護。 |
|
沒有留言:
張貼留言