2009年4月19日

Samba Client on FreeBSD memo

首先要先安裝 Samba

cd /usr/ports/net/samba3
make all install clean

假設
分享主機為 srvsrv
分享主機IP為 10.10.10.10
分享名稱為 shshare
可存取該分享的使用者名稱為 uuuser
可存取該分享的使用者密碼為 passpasspass
本地的 mount point 為 /var/mount_test
且希望開機會自動掛載

則步驟為

vi /etc/nsmb.conf


加上設定

[
SRVSRV:UUUSER]
addr=10.10.10.10
password=passpasspass


***注意!中括號 [] 中的帳號和主機名稱要是大寫***

然後編輯 /etc/rc.conf
加上一行
smbmount_enable="YES"

然後編輯 /usr/local/etc/rc.d/smbmount.sh
加入相關資訊,例如:

則檔案內容為
==============
#!/bin/sh
/usr/sbin/mount_smbfs -f 777 -d 777 //uuuser@srvsrv/shshare /var/mount_test
==============

儲存後將 smbmount.sh 改為可執行
chmod 755 /usr/local/etc/rc.d/smbmount.sh

然後不要忘記建立
/var/mount_test 目錄
mkdir
/var/mount_test

如此開機後存取 /var/mount_test 就等於存取 \\
srvsrv\shshare 了

2009年4月7日

FreeBSD + Apache + PHP + MySQL memo

久久才搞一次 FreeBSD + Apache + PHP + MySQL
每次忘記要怎麼弄,重新找一次資料實在很累
把重點記下來吧!!

0. 參考
http://www.linux.com/feature/142718

1. FreeBSD 裝完更新 Ports Collection

2. 安裝 MySQL

裝完記得要在 /etc/rc.conf 裡加上
mysql_enable="YES"

然後啟動 MySQL
/usr/local/etc/rc.d/mysql-server start

記得設密碼
# mysql -u root -p
Enter password:直接按enter
mysql > set password = password("新密碼");

3. 安裝 Apache
裝完記得要在 /etc/rc.conf 裡加上
apache22_enable="YES"
apache2ssl_enable="YES"

然後啟動 apache
/usr/local/etc/rc.d/apache22 start

然後設定 SSL

cd /usr/local/etc/apache22/
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
chmod 0400 server.key server.crt

只做上述步驟 啟動 apache 時會被問密碼
(這樣比較安全但是不方便)
進行下列步驟後

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
chmod 0400 server.key server.crt

重啟 apache 時就不會問密碼了

vi /usr/local/etc/apache22
/httpd.conf

找到
#Include etc/apache22/extra/httpd-ssl.conf
把#拿掉
然後重啟 apache
/usr/local/etc/rc.d/apache22 restart

如果要加大可以服務的客戶數量
vi /usr/local/etc/apache22/httpd.conf
找到
#Include etc/apache22/extra/httpd-mpm.conf
把#拿掉
vi /usr/local/etc/apache22/extra/httpd-mpm.conf
修改 MaxClients 的數量然後重啟 apache
/usr/local/etc/rc.d/apache22 restart

4. PHP5
cd /usr/ports/lang/php5
vi Makefile
找到並刪掉
--disable-all

然後安裝 php5
make config
make all install clean

裝完記得 vi /usr/local/etc/apache22/httpd.conf
找到

DirectoryIndex index.html

改成

DirectoryIndex index.php index.html

另外加入

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

5. PHP5-extensions
cd /usr/ports/lang/php5-extensions
make config
make all install clean

裝完 php5-extensions 之後
記得在CLI介面下執行 php
如果有模組重複載入的警告
vi /usr/local/etc/php/extensions.ini
在重複的模組前用 # 取消載入

安裝完 PHP5 和 php5-extensions 後要重啟 apache
/usr/local/etc/rc.d/apache22 restart

6. 然後安裝 phpMyAdmin
cd /usr/ports/databases/phpmyadmin
make config
make all install clean

裝完以後
如果有 The configuration file now needs a secret passphrase (blowfish_secret) 的錯誤訊息
cd /usr/local/www/apache22/data/phpMyAdmin
cp config.sample.inc.php config.inc.php
vi config.inc.php

然後找到一行
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */


然後隨便打一些亂數進去,例如
$cfg['blowfish_secret'] = '34$#!@gfsdgUYTU%^&^%'
就可以了

改變phpMyAdmin的session timeout時間
$cfg['LoginCookieValidity'] = 3600 * 9; // 9 hours

2009年2月7日

刪除/重建 Nokia 5800 XM 的音樂資料庫

從Music中刪掉一些歌之後發現音樂資料庫中還有舊歌的資料。
例如,專輯和演奏者等,經過一番搜尋和嘗試,有效方法如下:
清空記憶卡中的下列資料夾

\private\101FFC31
\private\101f8857\Cache
\private\101ffca9
\private\10281e17

2008年3月11日

讓 Windows Server 2003 也可以開啟簡易共用 ()

簡易共用(Simple File Sharing)是在 Windows XP 中,打個勾就可以啟動的功能。但在 Windows Server 2003 中卻沒有相同的選項可以勾選。但其實,在 Windows Server 2003 中,只要設定兩個 Group Policy,就可以達到相同的功能了。打 gpedit.msc 進入設定 Group Policy 的介面,然後然後設定如下圖,不需要重新開機。





複製某個目錄下的所有東西

權限和群組屬性好像都不會跑掉

假設要把 /home 下所有東西都搬到 /home1

就先 cd /home
然後 tar -cvpf - . ( cd /home1; tar -xvpf - )

就可以啦

2008年3月8日

這才是 6TB 變 4.5 TB 的由來,別再搞混了!!

最近 C 同事買了 6TB 的磁碟陣列,500GB 的硬碟 12 顆,跑 RAID5 + Hot Spare。設定完後,在 Windows 上只看到約 4.5 TB。

C 問:我買的 RAID 不是 6TB 嗎,怎麼只剩 4.5 TB!?

G 答:那是因為跑 RAID5 + Hot Spare !

唉!暈倒,只能說,C 根本沒觀念,而 G 則是觀念不清楚 ,來! 叔叔幫你們複習國小數學。

500GB x 12 = 6000GB = 6TB

雖然總共有 12 顆 HDD,但因為我們要拿其中 1 顆來做 Hot Spare 。所以,只剩下 11 顆 HDD 可以運用 。剩下的 11 顆要跑 RAID5 又要掉減 1 顆 。所以,真正能用來存放資料的硬碟只剩 10 顆。

500GB x 10 = 5000GB = 5TB 啊

怎麼會是 4.5TB 勒? (所以說 G 君的觀念不清楚囉) 。其實,這跟跑不跑 RAID 或是 Hot Spare 無關 。純粹只是計算方式不同所造成的差異。

廠商標示硬碟容量時,所用的「千」,也就是 K,是 1000

以 5TB 為例,B是指 byte
1KB = 1B x 1,000 = 1,000B
1MB = 1KB x 1000 = 1,000,000B
1GB = 1MB x 1000 = 1,000,000,000B
1TB = 1GB x 1000 = 1,000,000,000,000B
5 TB = 5 x 1,000,000,000,000B = 5000,000,000,000B

所以,以廠商的算法,5 TB 應該是 5000,000,000,000B

但是,電腦計算硬碟容量時,所用的「千」,也就是 K,是 1024

也就是說
1KB = 1B x 1,024 = 1,024B
1MB = 1KB x 1024 = 1,048,576B
1GB = 1MB x 1024 = 1,073,741,824B
1TB = 1GB x 1024 = 1,099,511,627,776B
5 TB = 5 x 1,099,511,627,776B = 5,497,558,138,880B

所以,以電腦的算法,5 TB 應該是 5,497,558,138,880B,因此
5TB x (5000,000,000,000/5,497,558,138,880)
= 5TB x 0.9094947017729282379150390625
= 4.5474735088646411895751953125TB

因為容量到 TB 時有 4個 K相乘過,所以比較快的算法其實是
5,000,000,000,000 / (1024 x 1024 x 1024 x 1024 )
= 4.5474735088646411895751953125TB

這才是 6TB 變 4.5 TB 的由來,別再搞混了!!

2008年1月23日

FreeBSD Ramdisk

需要大量存取小檔案,想不出比 memory disk 更好的辦法了,建立方法如下

1. 先在想建 Ramdisk 地方建個空目錄,例如
mkdir /ramdisk

2. 用 mdmfs [-s size] md-device mount-point 來建立 ramdisk
mdmfs -s 64m md1 /ramdisk
會用 memory device md1 來建立 64MB的 ramdisk,並且掛載點為 /ramdisk

3. 看看有沒有建成功
df -h