/*** By Steve, 2008/03/12, Label Cloud Styles ***/ /*** -----------------------------------------***/

2008年7月23日 星期三

[Note] FC8 編譯 Kernel 以便支持 L7-filter

Note:
FC8 編譯 Kernel 以便支持 L7-filter

L7-filter is a classifier for Linux's Netfilter that identifies packets based on application layer data. It can classify packets as Kazaa, HTTP, Jabber, Citrix, Bittorrent, FTP, Gnucleus, eDonkey2000, etc., regardless of port. 利用支持 L7-filter 的 Kernel,搭配經過 L7-filter Patch 並重新編譯的 iptables,就可以在 iptables 的 rule 中攔截處理如 p2p, IM 等封包。

1. 準備 Build Kernel 的環境 (參考:http://logicornot.blogspot.com/2008/03/note-fc8-kernel.html)

#確認目前已經安裝了 kernel-devel 套件...
yum install kernel-devel
#安裝 "rpmdevtools"...
yum install rpmdevtool
#在 User 的根目錄下建立 rpmbuild 目錄 Trees...(Optional, 或使用 default 目錄:/usr/src)
rpmdev-setuptree
#安裝 "yum-utils"...
yum install yum-utils
#取得目前 kernel 版本的 Source Code,取得的 rpm 會存在目前目錄下...
yumdownloader --source kernel
#安裝 kernel source rpm, 注意替換正確的版本號
rpm -ivh kernel-2.6.25.11.fc8.src.rpm
2. 取得 Application Layer Packet Classifier for Linux
官網:http://l7-filter.sourceforge.net/
下載:http://sourceforge.net/project/platformdownload.php?group_id=80085 (l7-filter kernel version, Protocol definitions)
支援 (可處理) 的 Protocols:http://l7-filter.sourceforge.net/protocols
3. 安裝 L7-filter protocol definitions 以及 kernel 及 iptables 的 patch 檔
#變更目錄到 /usr/src
cd /usr/src
#解壓縮 L7-filter protocol definitions, 注意替換正確的版本號
tar -zxvf ~/l7-protocols-2008-04-23.tar.gz
#安裝 L7-filter protocol definitions
cd l7-protocols-2008-04-23
make install
#變更目錄到 /usr/src
cd /usr/src
#解壓縮 kernel 及 iptables 的 patch, 注意替換正確的版本號
tar -zxvf ~/netfilter-layer7-v2.19.tar.gz
4. Patch and Rebuild Kernel
#變更目錄到 /usr/src
cd /usr/src
#解壓縮 kernel source 到 /usr/src (注意替換正確的版本號)
#
--- 有建立 rpmbuild 時 --- :
tar -jxvf ~/rpmbuild/SOURCES/linux-2.6.25.tar.bz2
#--- 未建立 rpmbuild 時 --- :
tar -jxvf /usr/src/redhat/SOURCES/linux-2.6.25.tar.bz2
#變更目錄到 kernel source 所在目錄
cd linux-2.6.25
#patch kernel (注意替換正確的版本號)
#--- 有建立 rpmbuild 時 --- :
bzip2 -dc ~/rpmbuild/SOURCES/patch-2.6.25.11.bz2 | patch -p1
#--- 未建立 rpmbuild 時 --- :
bzip2 -dc /usr/src/redhat/SOURCES/patch-2.6.25.11.bz2 | patch -p1
#L7-filter patch kernel (注意替換正確的版本號)
patch -p1 < /usr/src/netfilter-layer7-v2.19/kernel-2.6.25-layer7-2.19.patch #Make oldconfig (記得開啟 l7-filter 的設定)
make oldconfig
#Make menuconfig (非必要,除非要改變設定值)
make menuconfig
make
make modules_install
make install
#調整開機預設 kernel
vi /boot/grub/grub.conf
5. 取得 iptables source
官網:http://netfilter.org/
下載:http://netfilter.org/projects/iptables/downloads.html
6. Patch and Rebuild iptables
#變更目錄到 /usr/src
cd /usr/src
#解壓縮 iptables source 到 /usr/src (注意替換正確的版本號)
tar -jxvf ~/iptables-1.4.1.1.tar.bz2
#變更目錄到 iptables source 所在目錄
cd iptables-1.4.1.1
#L7-filter patch (注意替換正確的版本號)
patch -p1 < /usr/src/netfilter-layer7-v2.19/iptables-1.4.1.1-for-kernel-2.6.20forward-layer7-2.19.patch #Config and Make
chmod +x ./extensions/.layer7-test
./configure --with-ksource=/usr/src/linux-2.6.25
make
make install
cp ./iptables /sbin
cp ./ip6tables /sbin

2008年4月26日 星期六

[Note] MySQL 筆記

Note:
MySQL 筆記

安裝完畢之後,建立 root password

mysqladmin -h localhost -u root password NewPassword
修改已經建立過的 root password
mysqladmin -h localhost -u root -p password NewPassword
重設 (Reset) root password
#停掉 mysqld
service mysqld stop
#修改 /etc/my.cnf 設定,在 [mysqld] section 中加入
[mysqld]
skip-grant-tables
user=root
#啟動 mysqld
service mysqld start
#進入 mysql 利用 SQL Commands 修改所有 root 的密碼
mysql -u root
mysql>UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root';
mysql>FLUSH PRIVILEGES;
mysql>\q
#修改 /etc/my.cnf 設定,將剛加入 [mysqld] section 中的兩個 option 拿掉
[mysqld]
# skip-grant-tables
# user=root
#啟動 mysqld
service mysqld start




[Note] FC8 + yum + eGroupWare 安裝筆記

Note:
FC8 + yum + eGroupWare 安裝筆記

1. 增加 yum repos 以便透過 yum 安裝最新版本的 eGroupWare。編輯:/etc/yum.repos.d/eGroupWare.repo

[eGroupWare]
name=eGroupWare (Fedora_8)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/server:/eGroupWare/Fedora_8/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/server:/eGroupWare/Fedora_8/repodata/repomd.xml.key
enabled=1
2. 設定適當的 /var/lib/egroupware/header.ini (先採用預設值)
3. 連接到 eGroupWare Web Setup 畫面
http://yourhost/egroupware/setup

2008年4月12日 星期六

[Note] 版本控制,安裝 Subversion Server (Linux) & TortoiseSVN Client (Windows)

Note:
版本控制,安裝 Subversion Server (Linux FC8) & TortoiseSVN Client (Windows)

Install & Configure Subversion+Apache+DAV on FC8:

# 安裝 Apache (還沒裝?不會吧!?)
yum install httpd
# 安裝 Subversion
yum install subversion
# 安裝 mod_dav_svn
yum install mod_dav_svn
# 建立 SVN 目錄結構
mkdir /pub
mkdir /pub/svn
mkdir /pub/svn/repos
mkdir /pub/svn/users
mkdir /pub/svn/permissions
# 建立新的 Repository
svnadmin create /pub/svn/repos/test
# 針對允許用戶建立存取密碼
htpasswd -cb /pub/svn/users/passwd username password
# 指定 apache 為 SVN 目錄的 Owner,以取得適當權限
chown -R apache.apache /pub/svn
# 設定 apache,修改 /etc/httpd/conf.d/subversion.conf 內容如下:
<Location /pub/svn/repos>
DAV svn
# 所有的 "/pub/svn/repos/foo" URL 將會對應到 SVN 的 repository: /pub/svn/repos/foo
SVNParentPath /pub/svn/repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /pub/svn/users/passwd
Require valid-user
</Location>
# 重新載入 apache
service httpd reload
# 利用 Browser 測試剛才建立的 Repository
http://svn.server.host/svn/repos/test
Install & Configure TortoiseSVN on Windows:
官網:http://tortoisesvn.tigris.org/
下載:http://tortoisesvn.net/downloads
正體中文語系:http://tortoisesvn.net/translator_credits
效能優化:http://www.jeffhung.net/blog/articles/jeffhung/758/
Reference:
[Installing SubVersion on FC 4]
http://www.ferdychristant.com/blog/archive/DOMM-6NFJ6J
[版本控制系統的基礎觀念]
http://huanlin.dyndns.org/techshare/articles/2004061302/svn_concept.htm
[如何不被 TortoiseSVN 拖慢系統效率]
http://www.jeffhung.net/blog/articles/jeffhung/758/
[Optimize performance]
http://tortoisesvn.net/node/267

2008年3月24日 星期一

[Game] Super Crazy Guitar Maniac Deluxe 2 (Flash Game)

連結:http://www.hallpass.com/media/supercrazyguitarmaniacdeluxe2.html

說明:類似 XBox, PS4, Wii 上風迷全美的 Guitar Hero 的玩法,喜歡電吉他和挑戰手腦反應的人一定要試試!

2008年3月22日 星期六

[Note] Truncating MS SQL Transaction Log

Note:
MS SQL Server 的交易紀錄滿了怎麼辦?Truncating MS SQL Transaction Log

Database Name: [DBName]
Data File Name: [DBName_Data]
Log File Name: [DBName_Log]

-- 備份 Log File (Optional)
USE MASTER
GO
BACKUP LOG [DBName] WITH TRUNCATE_ONLY
GO
-- 壓縮 Log File
USE [DBName]
GO
DBCC SHRINKFILE ([DBName_Log], 2)
GO
-- 備份 Data File (Optional)
USE MASTER
GO
BACKUP LOG [DBName] WITH TRUNCATE_ONLY
GO
-- 壓縮 Data File
USE [DBName]
GO
DBCC SHRINKFILE ([DBName_Data], 1)
GO

2008年3月20日 星期四

[Note] 安裝 MSDE 2000 時的 Setup 參數

Note:
安裝 MSDE 2000 時的 Setup 參數

在安裝 MSDE 2000 時,如果單純只是執行 setup.exe,他是不會理你的,因為有一些參數得利用 Command Line 或是在 setup.ini 裡指定。以下是常用到的參數說明,詳細的參數據說在 Microsoft SQL Server 2000 Online Book 裡面有~

setup.ini 的內容範例:

[Options]
; 指定最高權限 sa 的密碼
SAPWD="mypassword"
; SECURITYMODE="SQL" 時,採用混合權限模式
SECURITYMODE="SQL"
; 指定安裝時的 Instance Name,不指定的話會採用預設值 "MSSQL"
INSTANCENAME="MSDE2000"
; DISABLENETWORKPROTOCOLS=1 時,不允許來自非本機的連線要求
DISABLENETWORKPROTOCOLS=1
; 指定資料檔路徑 (最後一定要加上 "\"),系統會在指定的路徑後面加上 "MSSQL\" 或 "MSSQL$InstanceName\" (指定 InstanceName 時)
DATADIR=C:\DB\MSDE\
; 指定執行檔路徑 (最後一定要加上 "\"),系統會在指定的路徑後面加上 "MSSQL\Binn\" 或 "MSSQL$InstanceName\Binn\" (指定 InstanceName 時)
TARGETDIR=C:\DB\MSDE\
; 如果安裝失敗,要不要自動Rollback?
DISABLEROLLBACK=1
將這個 setup.ini 準備好之後,再指定 setup.exe 從 setup.ini 裡讀取參數:
setup /settings "setup.ini"
或是,如果需要將安裝的過程產生 Log 檔案紀錄下來,可以這樣:
setup /settings "setup.ini" /L*v C:\MSDE_setup.log
如果不用參數檔的方式,也可以將這些參數利用 Command Line 的方式傳給 setup.exe:
setup SAPWD="mypassword" SECURITYMODE="SQL" INSTANCENAME="MSDE2000"