PACS系統使用的通訊協定為DICOM,這是一個醫療影像通訊協定,目前大多數實作於TCP/IP基礎上,分為Client (SCU) 與 Server (SCP) 兩種腳色,Server端的認證方式有IP ACL、Port與AE Title,AE Title等同於HL7中的 Sending/Receiving Application 這個資料欄位的用途
Worklist為PACS系統其中的一個組件,可以跟HIS的檢查系統連線取得目前所有開立的檢查項目清單,並提供標準的DICOM協定讓醫療設備或第三方影像軟體可以存取這些資訊
在C#中可以使用fo-dicom這個library https://github.com/fo-dicom/fo-dicom
存取Worklist的動作稱為C-Find,在fo-dicom專案上有提供sample
2017年2月12日 星期日
2015年7月19日 星期日
從OpenWebmail遷移帳號至Zimbra
前言
步驟
1. 首先要取得舊有OpenWebmail系統的帳號(passwd)與密碼(shadow),然後利用下面這個PHP Script轉換成LDIF文件(注意:這個Script會將原本停用的帳號也轉換並「啟用」)
2. 取得Zimbra的LDAP連接資訊,剛開始誤以為是使用OS自帶的openLDAP,看LDAP設定檔的rootDN與password卻一直連不上去,後來才發現是自帶的服務,rootDN與password都不同,password是安裝隨機產生的需要使用「zmlocalconfig -s -m nokey zimbra_ldap_password」才能取得,rootDN「uid=zimbra,cn=admins,cn=zimbra」
3. 使用ldapadd命令匯入LDIF,如果匯入的LDIF有問題則會中斷匯入,造成某些帳號匯入某些尚未匯入,這時候就要修改LDIF錯誤以及去除已經匯入的帳號才能繼續進行匯入
2012年5月9日 星期三
Setup Private Git Server like github (RhodeCode)
2011年11月28日 星期一
python build egg
無意間找到一個python lib感覺應該能用然後就試著裝看看
python setup.py bdist_egg
結果出現
error: invalid command 'bdist_egg'
原來bdist_egg是包含在setuptools中,只要在setup.py中加入就能順利孵出蛋了
from setuptools import setup
python setup.py bdist_egg
結果出現
error: invalid command 'bdist_egg'
原來bdist_egg是包含在setuptools中,只要在setup.py中加入就能順利孵出蛋了
from setuptools import setup
2011年11月3日 星期四
用python模擬DHCP Client找出區網DHCP Server
在比較大的區域網路中常常會使用DHCP來配發IP,但是有時候遇到私假的DHCP或者接反的IP分享器...
在沒有dhcp snooping設備支援的情況下,往往會造成一些麻煩
所以寫了這個script用UDP廣撥的方式來找出DHCP Server
經實驗發現WINXP系統在設定為DHCP狀態下,會值接套用上次的IP來做續約,不會重新做DHCP Discover的掃描
所以可能會抓錯一次DHCP之後一直都是錯的狀況
在沒有dhcp snooping設備支援的情況下,往往會造成一些麻煩
所以寫了這個script用UDP廣撥的方式來找出DHCP Server
經實驗發現WINXP系統在設定為DHCP狀態下,會值接套用上次的IP來做續約,不會重新做DHCP Discover的掃描
所以可能會抓錯一次DHCP之後一直都是錯的狀況
2011年9月28日 星期三
亂搞的X86 embedded
先聲明,這非正統的embedded作法,完全沒有重編譯任何東西的土砲法
起因於想縮小CentOS的大小跟複雜度,為了方便又需要VBOX上就可以測試所做的嘗試
目前進度是可開機進入無init,而是直接執行busybox的ash
1.建立一個新的虛擬硬碟
2.使用fdisk切割為一個分割區再格式化為ext2
3.將新的分割區掛載到/mnt,並建立boot dev proc sys sbin tmp
4.將現在的核心複製到/mnt的boot中
5.使用mkinitrd建立新的initrd.img
6.使用grub-install將loader安裝製新的硬碟並設定grub.conf
7.複製/sbin/busybox到/mnt的/sbin中
起因於想縮小CentOS的大小跟複雜度,為了方便又需要VBOX上就可以測試所做的嘗試
目前進度是可開機進入無init,而是直接執行busybox的ash
1.建立一個新的虛擬硬碟
2.使用fdisk切割為一個分割區再格式化為ext2
3.將新的分割區掛載到/mnt,並建立boot dev proc sys sbin tmp
4.將現在的核心複製到/mnt的boot中
5.使用mkinitrd建立新的initrd.img
6.使用grub-install將loader安裝製新的硬碟並設定grub.conf
7.複製/sbin/busybox到/mnt的/sbin中
標籤:
CentOS,
How to,
Linux,
X86 embedded
2011年9月21日 星期三
於Trac新增phpdoc文件
之前中秋在家狂寫註解,這次使用phpdoc的格式,可以順利生出看起來像是程式碼的文件[疑!!]
但是code更新後都要人工去renew很煩,既然SVN都能自動sync了為啥phpdoc不能順便產生呢??
再加上嵌在Trac中多方變啊,根本就不會忘了URL是多少XD
安裝PhpDocumentor
pear install PhpDocumentor #修正樣版編碼 cd /usr/share/php/data/PhpDocumentor/phpDocumentor find ./ -name '*.tpl' | xargs sed -i 's/iso-8859-1/utf-8/g'
匯出SVN並製做phpdoc
rm -rf /tmp/tipc svn export file:///data/svn/tipc /tmp/tipc rm -rf /data/trac/tipc/htdocs/phpdoc phpdoc --parseprivate -o HTML:frames:earthli -d /tmp/tipc/ -t /data/trac/tipc/htdocs/phpdoc
Trac安裝MenusPlugin
http://trac-hacks.org/wiki/MenusPlugin
#trac.ini設定 [components] tracmenus.* = enabled [mainnav] phpdoc = enabled phpdoc.parent = browser phpdoc.href = /tipc/chrome/site/phpdoc/index.html phpdoc.label = PHPDoc
2011年7月13日 星期三
製做CentOS 6的mini安裝片
CentOS6已經在前幾天Release了,與之前不同這次只有DVD與net-install,沒有CD版了
圖型安裝界面所需的記憶也超過512MB,文字介面安裝少了許多選項(磁碟分割、套件選擇)
不過有加快啟動速度與EXT4的檔案系統
延續之前自訂CentOS安裝片的內容
底下只說明CentOS 6中不同的部分
1.使用net-install當做母片的話,需要複製DVD根目錄中的.discinfo,才會認得安裝片
2.createrepo前,先把repomd.xml改名為comps.xml
3.CentOS6的implantisomd5獨立為isomd5sum套件,位於/usr/bin/implantisomd5
圖型安裝界面所需的記憶也超過512MB,文字介面安裝少了許多選項(磁碟分割、套件選擇)
不過有加快啟動速度與EXT4的檔案系統
延續之前自訂CentOS安裝片的內容
底下只說明CentOS 6中不同的部分
1.使用net-install當做母片的話,需要複製DVD根目錄中的.discinfo,才會認得安裝片
2.createrepo前,先把repomd.xml改名為comps.xml
3.CentOS6的implantisomd5獨立為isomd5sum套件,位於/usr/bin/implantisomd5
2011年7月3日 星期日
新的待辦事項
一直以來都使用Google行事曆中tasks,不過有個問題就是無法分類
於是找了個簡單的todo List程式
http://www.mytinytodo.net
1.簡潔的AJAX介面,支援MySQL與SQLite
2.可設定公開瀏覽的分類
3.有行動裝置版本UI
P.S 型動UI需要在網址後帶入pda參數,如果想要自動判斷可以在index.php中加入下面的自動轉頁
於是找了個簡單的todo List程式
http://www.mytinytodo.net
1.簡潔的AJAX介面,支援MySQL與SQLite
2.可設定公開瀏覽的分類
3.有行動裝置版本UI
P.S 型動UI需要在網址後帶入pda參數,如果想要自動判斷可以在index.php中加入下面的自動轉頁
2011年5月19日 星期四
2011年5月8日 星期日
Lighttpd enable ipv6
前一陣子有個客戶申請了一個IPV6網段,已經把Web及DNS搬上去了,由我負責的vhost主機因為Lighttpd之前編譯時未啟用ipv6的關係,導致主機有IPV6位址卻沒有服務的情況
下午聽完SA的IPV6之後就手癢玩一下
1.首先確定lighttpd是否支援IPV6,沒有的話需要重新編譯
2.設定lighttpd,將IPV6與V4的存取記錄分開
3.重新啟動服務,打開瀏覽器測試(因為IPV6使用分號區隔與URL的分號表示port衝突所以位址需要使用中括號框起來)
http://[ipv6 address]
注意1:IE7以上才支援IPV6位址格式
注意2:XP系統DNS需依賴IPV4,可能會造成無法回解IPV6位址的問題
下午聽完SA的IPV6之後就手癢玩一下
1.首先確定lighttpd是否支援IPV6,沒有的話需要重新編譯
#lighttpd -V
Features:
+ IPv6 support
2.設定lighttpd,將IPV6與V4的存取記錄分開
server.bind = "0.0.0.0"
$SERVER["socket"] == "[::]:80" {
accesslog.filename = "/var/log/lighttpd/ipv6.access.log"
server.errorlog = "/var/log/lighttpd/ipv6.error.log"
}
3.重新啟動服務,打開瀏覽器測試(因為IPV6使用分號區隔與URL的分號表示port衝突所以位址需要使用中括號框起來)
http://[ipv6 address]
注意1:IE7以上才支援IPV6位址格式
注意2:XP系統DNS需依賴IPV4,可能會造成無法回解IPV6位址的問題
2011年4月15日 星期五
自訂CentOS安裝片
為啥要自訂安裝片呢,起因於LAMP環境需要用好幾片CD光碟,怎不用DVD呢....因為老舊的IBM Server沒有DVD,所以當時都用第一片做最小安裝(就是不會討其他片才能完成的),然後再用yum來安裝所需要的PHP、Apache跟Mysql,久而久之也就習慣了,而且還養成了一種怪僻=>只做最小安裝,直到最近TIPC完成後需要大量佈署到機器上,如果一台一台裝常常會忘東忘西的,還好有寫安裝command筆記的習慣,就慢慢的把這些command寫成script,因為看到另一款軟體使用kickstart來自動安裝完全不需要人工介入(當然還是需要人把光碟片放進去啦),不過是DVD版的全安裝,這讓小弟很無法忍受,於是利用閒暇時間爬文找出如何自訂安裝光碟內容(包含新增移除套件)
必備項目
1.UltraISO Premium Edition
2.CentOS 安裝光碟CD1 or DVD
3.VBOX虛擬機器
4.一點閒暇時間XD
5.具有網路連線(非必要)
一、首先先在VBOX中安裝CentOS,安裝完畢後在/root的底下有個install.log這是這次安裝的rpm套件list,接著掛載安裝光碟到/mnt,然後使用下面的shell script把安裝中真正需要用到RPM複製到硬碟中
使用方式 ./mvrpm.sh /mnt/CentOS /root/mycd/CentOS
接著複製原始的repodata
二、更新或加入套件(非必要)
如果說安裝後不想更新想預先把新版RPM置換掉可以利用yum的downloadonly插件來下載RPM,取代就是把現有CentOS目錄中舊版本的RPM刪掉再把新版放進去(此人工動作十分耗時,請量力而為)
三、重製repodata
這是一個很神奇的步驟,這步小弟就搞了兩個禮拜,務必換到repodata的上一層目錄,並同時可以看到repodata與CentOS(放置RPM)的目錄,如果沒有createrepo這個command請自行安裝
新版本的createrepo會在重建db時加入hash在檔名
早期的安裝程式可能會無法正常載入,可以加上 --simple-md-filenames這個參數
createrepo --simple-md-filenames -g repodata/c6-minimal-x86_64.xml .
四、編輯ISO
現在回到Windows把原本安裝那片ISO使用工具打開然後清空CentOS目錄的內容,在把剛剛在VBOX中的/root/mycd/CentOS中的RPM放進來,接著把剛剛重建的repodata也覆蓋掉光碟中的版本
如果要使用kickstart可以複製到光碟根目錄中然後再修改isolinux目錄底下的isolinux.cfg將第一行的預設參數改成
五、測試
在經過幾次1-4的步驟與反覆的測試安裝過程後呢,安裝光碟應該可以如預期的行為運作了,最後加上光碟本身的驗證碼讓光碟的自我檢測功能是可以使用的
必備項目
1.UltraISO Premium Edition
2.CentOS 安裝光碟CD1 or DVD
3.VBOX虛擬機器
4.一點閒暇時間XD
5.具有網路連線(非必要)
一、首先先在VBOX中安裝CentOS,安裝完畢後在/root的底下有個install.log這是這次安裝的rpm套件list,接著掛載安裝光碟到/mnt,然後使用下面的shell script把安裝中真正需要用到RPM複製到硬碟中
#!/bin/sh
if [ "$#" != "3" ];then
echo "$0 install.log src_rpmdir dst_rpmdir";
exit 1;
fi
cat $1|grep Installing|awk -F '[ :]' '{system("if [ -f '$2'"$NF".rpm ];then cp -f '$2'"$NF".rpm '$3';else echo '"Can Not find"' "$NF";fi;")}';
使用方式 ./mvrpm.sh /mnt/CentOS /root/mycd/CentOS
接著複製原始的repodata
cp -R /mnt/repodata /root/mycd
二、更新或加入套件(非必要)
如果說安裝後不想更新想預先把新版RPM置換掉可以利用yum的downloadonly插件來下載RPM,取代就是把現有CentOS目錄中舊版本的RPM刪掉再把新版放進去(此人工動作十分耗時,請量力而為)
yum --downloadonly --downloaddir=/root/new update
三、重製repodata
createrepo -g repodata/comps.xml .
這是一個很神奇的步驟,這步小弟就搞了兩個禮拜,務必換到repodata的上一層目錄,並同時可以看到repodata與CentOS(放置RPM)的目錄,如果沒有createrepo這個command請自行安裝
新版本的createrepo會在重建db時加入hash在檔名
早期的安裝程式可能會無法正常載入,可以加上 --simple-md-filenames這個參數
createrepo --simple-md-filenames -g repodata/c6-minimal-x86_64.xml .
四、編輯ISO
現在回到Windows把原本安裝那片ISO使用工具打開然後清空CentOS目錄的內容,在把剛剛在VBOX中的/root/mycd/CentOS中的RPM放進來,接著把剛剛重建的repodata也覆蓋掉光碟中的版本
如果要使用kickstart可以複製到光碟根目錄中然後再修改isolinux目錄底下的isolinux.cfg將第一行的預設參數改成
default linux ks=cdrom:/ks.cfg
五、測試
在經過幾次1-4的步驟與反覆的測試安裝過程後呢,安裝光碟應該可以如預期的行為運作了,最後加上光碟本身的驗證碼讓光碟的自我檢測功能是可以使用的
/usr/lib/anaconda-runtime/implantisomd5 --force /root/my-centos.iso
2011年4月9日 星期六
利用kickstart在安裝前檢查網路卡數量
最近系統差不多完工了開始製作安裝片,因為設計上最少就需要兩個NIC介面,為了避免裝完後才發現有抓不到網卡的問題,或是使用者想硬裝到只有一張卡的機器上,所已有了安裝前檢查的想法
爬了一下文發現kickstart的%pre區段可以達到這個目的(如下圖)
注意這段程式只適用於文字介面安裝模式
爬了一下文發現kickstart的%pre區段可以達到這個目的(如下圖)
注意這段程式只適用於文字介面安裝模式
2011年2月21日 星期一
2009年6月15日 星期一
VGN-TX56TN install Fedora11 and LXDE
週五剛把Arduino做完閒閒沒事就把NB給重灌了,之前就一直想嘗試看看LXDE的速度,之前使用Ubuntu9.04的時候因為抓不到wifi而作罷這次使用Fedora很順利的可以支援wifi了但是Gnome啟動後就用掉400M的記憶體而且稍微緩慢於是改成使用LXDE來當桌面環境,LXDE已經進到Fedora官方套件庫中了安裝十分方便
首先設定sudo
接著設定yum使用proxy(非必要)
安裝LXDE環境
登出後選擇工作環境就有LXDE的選項囉
安裝Lxrandr,用來切換外接的VGA介面給投影機使用
安裝Flash Player(可使用FF的Flashblock來攔阻Flash,乾脆不要裝Player好了,真矛盾)
安裝Arduino IDE
首先設定sudo
#切換root su - visudo #加入 your_name ALL=(ALL) ALL
接著設定yum使用proxy(非必要)
sudo vi /etc/yum.conf #加入 proxy=http://hostname:3128
安裝LXDE環境
sudo yum groupinstall lxde-desktop
登出後選擇工作環境就有LXDE的選項囉
安裝Lxrandr,用來切換外接的VGA介面給投影機使用
#安裝所需的檔案 sudo yum install gcc gtk2-devel make gettext #取得lxrandr-0.1.tar.gz #http://sourceforge.net/project/showfiles.php?group_id=180858&package_id=281362 #解開 tar -xzf lxrandr-0.1.tar.gz cd lxrandr-0.1 ./configure sudo make install
安裝Flash Player(可使用FF的Flashblock來攔阻Flash,乾脆不要裝Player好了,真矛盾)
#取得Adobe的套件 wget http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm sudo rpm -ivh adobe-release-i386-1.0-1.noarch.rpm sudo yum install flash-plugin
安裝Arduino IDE
#先安裝Sun版本JAVA
sudo yum install avr-gcc avr-lib
#將使用者加入lock與dialout否則無法使用/dev/ttyUSB0裝置
sudo usermod -a -G lock USER_NAME
sudo usermod -a -G dialout USER_NAME
#下載Arduino IDE解開並編輯啟動腳本
vi arduino
#在CLASSPATH之前加入下列腳本,就可以在其他目錄啟動Arduino
path=`echo $0|awk 'BEGIN{FS="/"}{for(n=1;n<NF;n++)printf$n"/";}'`
cd $path
#建立快速啟動捷徑
vi arduino.desktop
#加入下列內容
[Desktop Entry]
Name=Arduino IDE
Exec=arduino_start_script_full_path
Categories=Development
Type=Application
Terminal=false
Icon=development
2009年6月4日 星期四
烙鐵初體驗
最近又開始做RFID專題,有部分的PCB板沒把pin銲上去只留個洞再上面,SO只好自己動手來弄,套句我老媽說的話『現在不做的事,可能一輩子都不會去做了』,於是在電料行買了一把便宜的烙鐵($150)與一些錫絲($15),話說台南北門路上的電料行都很小間常常找不到所需的零件,與台中電子街整棟的電料行比起來差很多,由於沒什麼人可以問所以就隨便亂搞,結果雖然可以用但是銲的很醜....
剛剛找之前買單晶片的賣家討論烙鐵的狀況得到了一些資訊,首先烙鐵不能太熱,如果不是控溫的烙鐵需要準備一塊沾水的海綿來控制溫度,尤其是高瓦數的烙鐵,加熱快很容易過熱,一旦發現錫絲碰到落鐵就冒煙表示溫度過高
錫絲的部分要注意成分,我買到的昰外包裝寫著60/40表示錫60%,鉛40%,如果是環保錫絲錫97%,銀0.5%,銅2.5%,不過聽説環保錫絲比較不容易使用,含鉛量越高越好銲,但是也越毒
烙的時候先用烙鐵加熱針角(pin)與PCB上的座子(pad),然後將錫絲靠在pin上使其融解,完成後先拉開錫絲再拉開烙鐵
我則是把錫絲溶解在落鐵上,接著拿去糊在pin上面,不過對於手會抖的人(像是我)可能會碰到旁邊的東西
如果不小心手滑了用了太多的錫在pin上面,可以加熱溶解後用吸錫器(如果有的話)把錫吸起來,或者用烙鐵把錫拉成柱狀冷卻後再用剪刀剪掉
另外如果有不吃錫(實際上我沒看過也不知道是怎麼的情況)的狀況,可以先用酒精擦拭pad的部分(這是教授講的)
剛剛找之前買單晶片的賣家討論烙鐵的狀況得到了一些資訊,首先烙鐵不能太熱,如果不是控溫的烙鐵需要準備一塊沾水的海綿來控制溫度,尤其是高瓦數的烙鐵,加熱快很容易過熱,一旦發現錫絲碰到落鐵就冒煙表示溫度過高
錫絲的部分要注意成分,我買到的昰外包裝寫著60/40表示錫60%,鉛40%,如果是環保錫絲錫97%,銀0.5%,銅2.5%,不過聽説環保錫絲比較不容易使用,含鉛量越高越好銲,但是也越毒
烙的時候先用烙鐵加熱針角(pin)與PCB上的座子(pad),然後將錫絲靠在pin上使其融解,完成後先拉開錫絲再拉開烙鐵
我則是把錫絲溶解在落鐵上,接著拿去糊在pin上面,不過對於手會抖的人(像是我)可能會碰到旁邊的東西
如果不小心手滑了用了太多的錫在pin上面,可以加熱溶解後用吸錫器(如果有的話)把錫吸起來,或者用烙鐵把錫拉成柱狀冷卻後再用剪刀剪掉
另外如果有不吃錫(實際上我沒看過也不知道是怎麼的情況)的狀況,可以先用酒精擦拭pad的部分(這是教授講的)
2009年5月24日 星期日
Simple Machines Forum(SMF)v1.1.9安裝筆記
最近在整理vhost上的網站,其中orz討論區已經有段時間沒有維護了,趁這個機會升級一下,沒想到一升級就orz了...,原本使用的是1.1.6版的SMF使用的是自訂的佈景,由於之前維護的人也不管了,這個孤兒系統的維護又回到系統管理員小弟身上,未了避免往後維護上的不便,把所有客製化的部分去除,包含自訂的佈景與外掛,以及資料庫編碼由latin1轉為UTF-8
首先在舊系統以管理者登入,強制重設所有使用者的佈景主題為預設值,在模組中升級SMF直到1.1.9版,最後用mysqldump將資料庫整個倒出來,記得修改編碼為UTF-8
重新安裝SMF於新的目錄,清空新建立的資料庫並將舊的資料匯入,將舊有attachments目錄複製到新的目錄,登入管理介面測試
已知問題
1.使用中文化出現"Sorry, the copyright must be in the template.",因為中文化未更新copyright導致的,修改languages底下的index.chinese-traditional-utf8.php檔案,將forum_copyright這個翻譯改為
2.中文在斷字的時候被切掉變成問號(?),因為PHP無法正確判斷中文字的問題須改用mb_string系列的函數,修改Sources目錄底下的Load.php檔案,將$func = array的substr與strlen這兩個索引內容中的return片斷改為
3.中文字看起來太小,因為字體是定義成9pt,可修改Themes目錄中的style.css,在.smalltext區段之後加上
首先在舊系統以管理者登入,強制重設所有使用者的佈景主題為預設值,在模組中升級SMF直到1.1.9版,最後用mysqldump將資料庫整個倒出來,記得修改編碼為UTF-8
重新安裝SMF於新的目錄,清空新建立的資料庫並將舊的資料匯入,將舊有attachments目錄複製到新的目錄,登入管理介面測試
已知問題
1.使用中文化出現"Sorry, the copyright must be in the template.",因為中文化未更新copyright導致的,修改languages底下的index.chinese-traditional-utf8.php檔案,將forum_copyright這個翻譯改為
$forum_copyright = '<a href="http://www.simplemachines.org/" title="Simple Machines Forum" target="_blank">Powered by ' . $forum_version . '</a> | <a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF © 2006-2009, Simple Machines LLC</a>';
2.中文在斷字的時候被切掉變成問號(?),因為PHP無法正確判斷中文字的問題須改用mb_string系列的函數,修改Sources目錄底下的Load.php檔案,將$func = array的substr與strlen這兩個索引內容中的return片斷改為
if(function_exists(\'mb_substr\')){
return $length === null ? mb_substr($string,$start,mb_strlen($string,\'UTF-8\'),\'UTF-8\') : mb_substr($string,$start,$length,\'UTF-8\');
}else{
return $length === null ? implode(\'\', array_slice($ent_arr, $start)) : implode(\'\', array_slice($ent_arr, $start, $length));
}
if(function_exists(\'mb_strlen\')){
return mb_strlen($string,\'UTF-8\');
}else{
return strlen(preg_replace(\'~' . $ent_list . ($utf8 ? '|.~u' : '~') . '\', \'_\', ' . implode('$string', $ent_check) . '));
}
3.中文字看起來太小,因為字體是定義成9pt,可修改Themes目錄中的style.css,在.smalltext區段之後加上
.tborder .bordercolor .windowbg2 b a{
font-size: 1.3em;
}
#upshrinkHeaderIC .windowbg2 b a{
font-size: 1em;
}
#upshrinkHeader2 .titlebg2 span{
font-size: 1.5em
}
.windowbg .smalltext,.windowbg2 .smalltext,.windowbg3 .smalltext{
font-size: 1em;
}
2009年5月22日 星期五
在CentOS使用srpm安裝vsftpd
今天維護VHOST主機時把SFTP轉換成FTP over SSL,使用yum的vsftpd後發現Filezilla可以連線但是無法取得目錄列表,訊息列顯示
Google後發現這是vsftpd的Bug,在2.0.7版後修正了,但是CentOS內建的還是2.0.5,原本打算用Fedora10的rpm安裝,發現有相依性,於是使用Fedora10的srpm重新打包
下載SRPM
解開SRPM
安裝相依的函式庫
編輯spec檔案
將第50行由tcp_wrappers-devel改成tcp_wrappers
因為CentOS中tcp_wrappers-devel包還在tcp_wrappers裡面
打包RPM
打包的結果在
接下來使用rpm指令安裝就好
Could not read from transfer socket: ECONNABORTED - Connection aborted
Google後發現這是vsftpd的Bug,在2.0.7版後修正了,但是CentOS內建的還是2.0.5,原本打算用Fedora10的rpm安裝,發現有相依性,於是使用Fedora10的srpm重新打包
下載SRPM
wget http://opensource.nchc.org.tw/fedora/linux/releases/10/Fedora/source/SRPMS/vsftpd-2.0.7-1.fc10.src.rpm
解開SRPM
rpm -ivh vsftpd-2.0.7-1.fc10.src.rpm
安裝相依的函式庫
yum install tcp_wrappers pam-devel libcap-devel
編輯spec檔案
vi /usr/src/redhat/SPECS/vsftpd.spec
將第50行由tcp_wrappers-devel改成tcp_wrappers
因為CentOS中tcp_wrappers-devel包還在tcp_wrappers裡面
BuildRequires: tcp_wrappers
打包RPM
rpmbuild -bb vsftpd.spec
打包的結果在
/usr/src/redhat/RPMS/i386/vsftpd-2.0.7-1.i386.rpm
接下來使用rpm指令安裝就好
rpm -ivh /usr/src/redhat/RPMS/i386/vsftpd-2.0.7-1.i386.rpm
2009年5月19日 星期二
在VirtualHost中使用不同的php.ini
今天在更新VHOST主機上的lighttpd順便找了點東西,一直以來PHP上傳的檔案擁有者都是HTTP Server,在計算使用者磁碟配額Quota上十分不便,主要是因為PHP是以HTTP Server的身分執行的關係,這也造成另一個問題,所有的檔案對於HTTP Server都是可讀取(甚至可寫入)的,所以在同一台實體主機上的使用者是可以存取其他人的PHP網頁原始碼,雖然PHP提供了safe_mode的功能但是這項功能即將在PHP6中被移除,移除的主因是,PHP團隊認為安全性的問題應該由系統去負責,於是找了些可以用使用者身分執行PHP的相關資訊,意外的找到在VHost中套用不同的php.ini的方法
http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModFastCGI
http://ssorc.tw/rewrite.php/read-956.html
根據一篇lighttpd官方的討論指出,lighttpd並無法在每個要求切換執行身分(Apache可以作到),但是可以把不同的虛擬主機對應到不同的fastcgi server上,也就是每個fastcgi server都使用不同的身分執行,不過安全性提高了,但卻佔用了更多記憶體
http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModFastCGI
http://ssorc.tw/rewrite.php/read-956.html
根據一篇lighttpd官方的討論指出,lighttpd並無法在每個要求切換執行身分(Apache可以作到),但是可以把不同的虛擬主機對應到不同的fastcgi server上,也就是每個fastcgi server都使用不同的身分執行,不過安全性提高了,但卻佔用了更多記憶體
2009年5月16日 星期六
用PowerShell寫GUI
PowerShell是微軟新的加強版命令提示字元,具有類似Unix-link Shell的功能而且與.NET作結合可直接建立.NET中的物件,不過PowerShell並沒有真正取代命令提示字元,比較像是一個外掛,使用的腳本為.ps1附檔名,預設沒有與PowerShell建立關連性,這樣使用起來有點麻煩,於是參考檔案關聯資料在右鍵選單加入"Run PowerShell Script"選項,使用上比較方便,不過預設PowerShell並無法執行任何Script腳本,必須修改安全層級
建立檔案關聯(reg機碼)
PowerShell Script參考資料
Creating GUIs in Windows PowerShell 1.0 with WinForms
Windows PowerShell Blog
set-executionpolicy remotesigned
#如果使用Vista且使用UAC必須使用管理員權限執行
建立檔案關聯(reg機碼)
PowerShell Script參考資料
Creating GUIs in Windows PowerShell 1.0 with WinForms
Windows PowerShell Blog
訂閱:
文章 (Atom)

