[筆記][FreeBSD] 升級系統 upgrade FreeBSD 6.2 release to 7.0 release

今天在 Sayya BBS 看到 JoeHorn 的個人版,裡面寫到 “[筆記] remote upgrade FreeBSD 6.2 -> 7.0” 這一篇文章,裡面寫的作法,我自己實做到我自己的機器,就成功了,作法如下 首先修改 /usr/share/examples/cvsup/stable-supfile,找到

# Defaults that apply to all the collections
#
# IMPORTANT: Change the next line to use one of the CVSup mirror sites
# listed at http://www.freebsd.org/doc/handbook/mirrors.html.
*default host=CHANGE_THIS.FreeBSD.org
*default base=/var/db
*default prefix=/usr
# The following line is for 7-stable.  If you want 6-stable, 5-stable,
# 4-stable, 3-stable, or 2.2-stable, change to "RELENG_6", "RELENG_5",
# "RELENG_4", "RELENG_3", or "RELENG_2_2" respectively.
*default release=cvs tag=RELENG_6
*default delete use-rel-suffix
[Read More]

[Apache] mod_rewrite 進階用法,網域 redirect

我對 mod_rewrite 的技術相當有興趣,最近又有人在 ptt Linux 版上問到這相關的問題,如下

我用的是虛擬主機 (web hosting) 他的管理是這樣的, 不論代管哪個domain 一律都是對應到 /home/user/public_html 這個目錄下 也就是說, 1.com 跟 2.com 都會對到 ~/public_html 問題是: –> 我希望有人輸入 “1.com” 時, 就是讀 ~/public_html/data1 –> 有人讀 “2.com” 時, 就是讀 ~/public_html/data2 當然目前如果都不做設定, 那就是要用 http;//1.com/data1/ 跟 http;//2.com/data2/ 才能答成相同功能. 請問 .htaccess 有辦法改寫這樣的狀況嗎.

[Read More]

[MySQL] 取代部份字串問題

剛剛在 ptt 遇到之前當兵的工作同事,話說他要去中華電信工作了,還真是不錯,他在 database 版問一個取代的問題,然後我幫他找一下答案,解決了,這可以用 sql 語法解決,或者是用程式都可以 問題:

在MySQL 我有大約50000筆資料 有個欄位像這樣 00400000010040050000 現在因故要把 004改成005 變成像這樣 00500000010050050000 我的解法:

UPDATE `test` SET `test` = CONCAT( '005', SUBSTRING( `test` , 4 ) )  WHERE
SUBSTRING( `test` , 1, 3 ) = '004'
有更快解法嗎? REPLACE 好像不行,因為後面數字也會被改到,不過還是主要用 SUBSTRING

[Proftpd] 如何讓 /bin/false 跟 /sbin/nologin 連上 Proftpd

昨天遇到這個問題,不過其實之前就有解決過這問題,只是忘記怎麼解決,之前是利用 MySQL 的方式建立帳號,因為相當方便,請參考這篇 [Linux] Ubuntu 6.06 Proftpd + Mysql 安裝方式,支援 /bin/false 跟 /sbin/nologin 也相當簡單 只要在 proftpd.conf 加上

RequireValidShell on
官網寫的

config_ref_RequireValidShell 然後在編輯 /etc/shells 加上

/sbin/nologin

[MYSQL] 忘記 root 密碼,登不進去 phpMyAdmin 教學

2011.06.24 Update: 修改語法 剛剛在處理老闆的機器移機問題,雖然有給我 root 權限,可是 MySQL 密碼沒有給我 root 的,然後我去看程式,都沒有用到 root ,都是用普通使用者,所以就上網找一下忘記密碼怎麼處理,其實找到的方法就是利用 command line 的方法,相當方便,最終解決方法還是文字介面,作法如下 首先先 Kill 掉所有 MySQL 的連線 # on Linux /etc/init.d/mysqld stop # on FreeBSD /usr/local/etc/rc.d/mysql-server stop killall -9 mysqld 然後進入 MySQL 安全模式 mysqld_safe -u root --skip-grant-tables & 然後利用文字介面修改 MySQL root 密碼 $ mysql -u root -p > use mysql; > UPDATE user SET password=password('這裡輸入你的密碼') where user='root'; > FLUSH PRIVILEGES; > exit; dump database $ mysqladmin -uroot -p flush-logs $ mysqldump -B -uroot -p --opt phpbb2 > phpbb2_20020601. [Read More]

[UNIX] bash 記憶指令 For Linux

在 FreeBSD 裡面,要做到這樣非常方便,當我們在終端機輸入 vi 之後按下 Up 鍵,終端機會顯示之前下過的 vi 指令,這在常常使用 command 的使用者來講相當方便,也非常重要,在 FreeBSD 底下,只要在 .cshrc 裡面加上

bindkey “^W” backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward 可是在 linux 底下要如何達到這樣呢,那就是 man bash『history-search-backward』,『history-search-forward』這兩個功能,對我來說非常重要,然而你要達到這功能,就是利用 showkey 跟 bind 這兩個指令 首先你要先找到 Up 這個鍵的 16 位元的編碼

showkey -a

Press any keys - Ctrl-D will terminate this program

^[[A     27 0033 0x1b
         91 0133 0x5b
         65 0101 0x41
然後在 bind 上去,寫到 /etc/bashrc 地下就可以了
bind '"\x1b\x5b\x41":history-search-backward'
bind '"\x1b\x5b\x42":history-search-forward'
我之前有寫一篇

[Ubuntu] bash 記憶指令,也可以參考看看

[FreeBSD] ipfw + Nat 無線網卡當內部DHCP Server

之前在寫 [FreeBSD] 無線網卡架設AP Server DWL-G520 Ralink RT2561 這篇的時候,是利用 pf 當作防火牆,可是我偏好使用 ipfw 來作防火牆的工作,所以今天研究一下 nat 的作法,ipfw Firewall 設定方法。 請先參考設定 IPFW 編譯核心:[FreeBSD] 系統核心支援ipfw 更新kernel 系統:FreeBSD 6.2-RELEASE or STABLE 200709 網卡:一張有線網卡,另一張無線網卡 目前的架構,一張有線網卡對外,然後無線網卡對內,架設dhcp伺服器,提供ap的功能,會加上 802.1X 認證,這我晚一點會寫教學 目前要先修改 /etc/rc.conf # 第一片網卡固有的設定: ifconfig_rl0="inet 140.123.107.XX netmask 255.255.255.0" # 只用一片網卡時,將第一片網卡虛擬出另一個IP(如果使用兩片網卡,就不要設這一行,或者註解起來也可)。 ifconfig_rl0_alias0="inet 192.168.1.254 netmask 255.255.255.0" # 如果你有第二片網卡時,將此網卡設定如下(當然啦,這一行的註解就應該取消,第二塊網卡才會有作用)。 # ifconfig_ral0="inet 192.168.1.254 netmask 255.255.255.0" # 宣告本主機可做為gateway(通訊閘) gateway_enable="YES" # 宣告防火牆(IP-FIREWALL) firewall_enable="YES" firewall_type="simple" firewall_quiet="YES" tcp_extensions="YES" # 定義 NATD 的網路卡介面,應定義在設定 public IP 的網卡代號上。 natd_interface="vr0" natd_enable="YES" 然後 /etc/netstart 重新啟動網卡 再來是設定防火牆 ipfw 檔案在 /etc/rc. [Read More]

[FreeBSD] 無線 AP 鎖定使用者 MAC Address

在之前的文章已經提到如何利用一張無線網卡架設 AP 伺服器,[FreeBSD] 無線網卡架設AP Server DWL-G520 Ralink RT2561,但是如何跟外面賣得產品一樣可以鎖mac呢,雖然mac的竄改相當普遍,linux底下只要下一個指令就可以達到了,不過你要知道別人的mac還蠻難的吧,除非你跟她同一網域,所以底下就介紹在freebsd底下如何做到。 在linux底下其實很簡單,因為google一下就好了 http://madwifi.org/wiki/UserDocs 這個網頁相當豐富,教你如何在linux底下實做ap跟鎖MAC。 Steps 1. First, make sure your card is not set to any particular mode or essid. 2. Run: * To flush the list of MAC addresses: iwpriv ath0 maccmd 3 * To make the list a whitelist: iwpriv ath0 maccmd 1 3. Put the card in master mode: iwconfig ath0 mode master essid test ifconfig ath0 up 4. At this point, nothing will be able to connect to the AP, since the whitelist is empty. [Read More]

[FreeBSD] 無線網卡架設AP Server DWL-G520 Ralink RT2561

今天終於搞定了這張網卡,同樣的 DWL-G520 有兩種版本,一個是 Atheros 另一個就是大廠 ralink 了,不過話說我自己已經把 Atheros 晶片的無線網卡實做過一個ap server了,其實也不難啦,不過之前在搞 ralink 的晶片的時候,是可以驅動,可是就是弄不起來ap,後來怎麼解覺得呢,那就是換freebsd的版本,我之前是在 FreeBSD 6.2 release 底下弄的,我換到 FreeBSD 6.2-STABLE-200709版本,就馬上抓到,然後就進行ap的架設,後來就成功了,相當爽,畢竟可以繼續惡搞其他東西了。 接下來教大家如何安裝了,系統配備如下

  • 硬體:i386 PC Intel P4 1.6G
  • 記憶體:256M RAM
  • 網卡:2 片網卡 ( 一般 100M 網卡 + 一片 D-Link DWL-G520 54G無線網卡 )
  • 作業系統:FreeBSD 6.2 Stable
[Read More]

[FreeBSD] 安裝 memcache for php 多重伺服器共享 Session

今天來玩看看 memcache 看看,話說 memcache 是個非常好用的東西,可以參考官網作法 連結,其實我在前一個工作,就有老闆問我說,像公司作這麼多網站,有沒有辦法統整成一個,然後底下各種服務,只需要登入過一次就好,而不必重複登入,畢竟會讓使用者覺得很煩,所以就有了 memcache 這東西出來,底下就來介紹 FreeBSD 的安裝方式

  • 安裝方法: 安裝 ports 的套件 memcache 跟 pecl-memcache
cd /usr/ports/databases/memcached; make install clean
cd /usr/ports/databases/pecl-memcache; make install clean
然後他會把 extension=memcache.so 寫到 /usr/local/etc/php/extensions.ini 然後你只需要重新啟動 apache 即可,還有把 memcached 服務打開 所以請下底下指令
echo "memcached_enable=\"YES\"" >> /etc/rc.conf
/usr/local/etc/rc.d/memcached start
/usr/local/etc/rc.d/apache22 restart
[Read More]