Board logo

標題: [資源分享] [分享] FreeBSD 6.1學務系統架設記錄 [打印本頁]

作者: 祐祐    時間: 2010-8-11 11:19     標題: [分享] FreeBSD 6.1學務系統架設記錄

FreeBSD 6.1學務系統架設記錄
Description :

所有軟體安裝皆採用 ports 安裝,軟體安裝前已先更新過 ports tree。

Environment :

*OS:FreeBSD 6.1 Release
* mysql-server-4.1.21:/usr/ports/database/mysql40-server
* apache-2.2.0:/usr/ports/www/apache22
* php4-4.4.0:/usr/ports/lang/php4

進行時間校正︰

#ntpdate  clock.stdtime.gov.tw
設定make.conf
FreeBSD為您預先設置了個 make.conf 檔案,它的位置在 /usr/share/examples/etc/make.conf,請將 它複製一份成為 /etc/make.conf。
#cp /usr/share/examples/etc/make.conf /etc/make.conf
#ee /etc/make.conf
MASTER_SITE_BACKUP?= \
ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
ftp://ftp3.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
ftp://ftp6.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
ftp://ftp8.tw.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}

/etc/make.conf 這個檔案其實並非一定要存在的,沒有它的存在,您一樣能使用您的 FreeBSD,但是如果您使用了它,相信您會更加方便的。由 make.conf 這個檔案名稱中,我們不難聯想到與 make 這個編譯指令有關。我們可以將一些固定使用的 make 參數給加進這個 make 參數設置檔裡頭,像是針對所使用的中央處理器 (CPU) 型號所設定的編譯參數 CPUTYPE?=i686 或是指定使用 ports-tree 安裝套件時,抓取原始碼包的伺服器以加快原始碼包的下載速度︰

解決ssh到FreeBSD的中文亂碼
使用 CSH 方式如下:在 /etc/csh.cshrc 加入下面三行後重開機即可 show 中文編碼。
#ee /etc/csh.cshrc
setenv LC_CTYPE en_US.ISO8859-1
setenv LC_ALL zh_TW.Big5
setenv LANG zh_TW.Big5

安裝  CVSup
#cd /usr/ports/net/cvsup-without-gui
不裝Xwindows時用此安裝才不會裝了一堆X11的東西
#make install clean
以下選項皆不選

在系統中有一份以 CVSup 更新 port tree 的設定檔範例,可以直接加以修改或著先複製一份後再修改。
我們將該設定檔範例複製到 /root 之後再加以修改:
# cp /usr/share/examples/cvsup/ports-supfile /root/
接著請以文書編輯軟體打開 /root/ports-supfile 後,找到 host 的部份來設定所要使用的 CVSup 伺服器。
# ee /root/ports-supfile
修改成
*default host=cvsup.tw.freebsd.org

上面的範例中,我們將 CVSup 伺服器設為 cvsup.tw.freebsd.org,您可以依您所在位置使用其它 cvsup1 ~ cvsup13.tw.freebsd.org 的伺服器。最後一行的 ports-all 表示我們要更新 /usr/ports 目錄下的所有檔案。您也可以只更新其中的部份目錄,只要將 ports-all 以井字號 "#" 標示起來,並將檔案中 ports-base 那一行的 # 移除,接著您就可以依您所要更新的目錄來要移除其它的 # 字號。例如,我們只要更新 /usr/ports/www 這個目錄,將 ports-all 以 # 標示起來之後,我們還要移除 ports-base 及 ports-www 開頭的 #。
設定完畢之後,我們就可以開始進行 ports 的更新了。
# reboot
ports 更新
# cvsup -g -L 2  /root/ports-supfile

安裝portupgrade
#cd /usr/ports/sysutils/portupgrade
#make install clean
# reboot

更新 PORTS-Tree 且升級已安裝的軟體
到/usr/ports下可以直接打make fetchindex,去抓現成的來用
#cd /usr/ports
#make fetchindex

更新locate資料庫
#/usr/libexec/locate.updatedb

安裝 MySQL41 ( Server/Client )

#cd /usr/ports/databases/mysql41-server/
修改Makefile 中的CONFIGURE_ARGS;新增--with-charset=big5
#make install clean

#ee /etc/rc.conf       #  設定 mysql 重開機自動啟動
加入
mysql_enable="YES"

#reboot     #  重開機讓 mysql 啟動
設定mysql密碼
# mysqladmin -u root password '*********'
測試mysql
#mysql –u root –p
Mysql>show databases;
Mysql>quit
#netstat -na |grep LISTEN      #  確認 mysql server 有啟動

tcp4       0      0  *.3306                *.*                   LISTEN

安裝 Apache22

在/usr/ports/www/apache22中,先要修改Makefile中MPM为worker模式。然后就是
make WITH_CHARSET=big5 WITH_XCHARSET=all WITH_MPM=worker WITHOUT_IPV6=yes WITH_THREADS=yes WITHOUT_SSL=yes install clean

最后装完了需要在/etc/rc.conf中apache22_enable="YES"一下,就算ok了。
#cd /usr/ports/www/apache22
#make install
移除ipv6其他預設安裝即可


#ee /etc/rc.conf      #  設定 apache2 開機自動 up
加入
apache22_enable="YES"
建立網頁根目錄
#mkdir /var/www
編輯apache設定
#ee /usr/local/etc/apache22/httpd.conf    #編輯apache設定

//存放網頁的目錄,原來為DocumentRoot "",改成︰
DocumentRoot "/var/www"
//這句應該和DocumentRoot 的目錄保持一致,原來為<Directory "">,改成︰
<Directory "/var/www">
//Indexes︰當在目錄中找不到DirectoryIndex列表中指定的文件就生成當前目錄的文件列表
//FollowSymlinks︰允許符號鏈接跟隨,訪問不在本目錄下的文件
Options Indexes FollowSymLinks
//禁止讀取.htaccess配置文件的內容
AllowOverride None
//指定先執行Allow(允許)訪問規則,再執行Deny(拒絕)訪問規則
Order allow,deny
//設置Allow(允許)訪問規則,允許所有連接
Allow from all
</Directory>

ServerAdmin admin@test.edu.tw
ServerName 127.0.0.1
AddDefaultCharset big5
DirectoryIndex index.php index.html index.htm index.html.var
#/usr/local/sbin/apachectl  start
#ps -ax |grep http      #  確認 apache 有啟動

70558  ??  Ss     0:00.06 /usr/local/sbin/httpd -k start
70559  ??  S      0:00.01 /usr/local/sbin/httpd -k start
70560  ??  S      0:00.01 /usr/local/sbin/httpd -k start
70561  ??  S      0:00.01 /usr/local/sbin/httpd -k start

httpd啟動,ps xa | grep httpd 出現-DNOHTTPACCEPT訊息
82178 ?? Ss 0:00.43 /usr/local/sbin/httpd -DNOHTTPACCEPT
82179 ?? I 0:00.01 /usr/local/sbin/httpd -DNOHTTPACCEPT
若在/etc/rc.conf裡多增加
apache22_http_accept_enable="YES"
則該-DNOHTTPACCEPT就不會出現

[Wed Sep 13 13:15:24 2006] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

安裝 PHP4 + php4-session
#cd /usr/ports/lang/php4
#make install clean

如果下次安裝未出現此畫面可用#make config的指令

#ee /usr/local/etc/apache22/httpd.conf        #  修改 apache2 設定讓 php 運行在 apache2
找到#AddType application/x-tar .tgz 這行,在下面加兩行。

#php_mod4
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
找到下面一行在后面加上index.php,這表示網站的默認頁也能夠為index.php

DirectoryIndex index.html index.html.var index.php index.htm

#cd /usr/local/etc
#cp /usr/local/etc/php.ini-dist php.ini
#ee /usr/local/etc/php.ini
default_charset = "zh-TW"
session.save_path = /tmp
現在php4 的各個 extension 分開放在 ports 中。
像是 php4 mysql extension, it is in /usr/ports/database/php4-mysql directory.
安裝php4-mysql
#cd /usr/ports/databases/php4-mysql
#make install clean
#reboot

#ee /usr/local/etc/php.ini
session.auto_start 的值改為1
#  安裝 php4-session 是 postfixadmin 需要用到的,所以是必須要加裝的,在安裝 php4-extensions 的時候
會跳選項~~ 但是第二次 進行make install時 他怎樣都不會在跳選項讓我選了請打make config

#cd /usr/ports/www/php4-session/      
#make install clean

#apachectl  restart        #  重新起動 apache
#ee /usr/local/www/apache22/data/index.php
<?
phpinfo();
?>
開個瀏覽器測試 php4 有無安裝成功:  http://88.88.88.88/index.php

安裝php4-pcre
#cd /usr/ports/devel/php4-pcre
#make install
安裝學務系統
#cp sfs_********.gz /usr/local/www/apache22/data/
#cd /usr/local/www/apache22/data/
#tar zxvf sfs-3.xxxx.tar.gz
#./setup.sh




歡迎光臨 UT男同志論壇 (http://vn.jdlog.com/) Powered by Discuz! 7.0.0