跳到主要內容

IIIF的安裝筆記

IIIF伺服器比較好搞的大概是IIP吧,Apache也可以跑,可以參考官網的資料。不過網頁已經2008年的內容了,安裝時被舊軟體弄的頭昏腦脹,以下使用xampp(2019/6/5)版處理。


重點1:

xampp的Apache已經到2.4版,不用再抓2.2。

重點2:

mod_fcgid 2.3.10下載地址:
下載mod_fcgid-2.3.10-win64-VS16.zip或mod_fcgid-2.3.10-win32-VS16.zip

重點3:

不用裝Visual C++ 2005 SP1。

重點4:

新版的 IIPImage server
下載iipsrv-1.0-win32.zip

重點5:

詳細安裝步驟如下:

第一步:裝好xampp,確定web伺服器可以順利開啟後,下載mod_fcgid,解壓縮後把mod_fcgid.so丟到apache\modules資料夾。

第二步:打開httpd.conf,加入以下幾行:
# Load mod_fcgid
LoadModule fcgid_module modules/mod_fcgid.so

第三步:解壓縮iipsrv-1.0-win32.zip,把裡面的fcgi-bin資料夾放到web伺服器的網頁資料夾底下(一般是xampp\htdocs)。

第四步:在apache\conf\extra底下新增httpd-iipimage.conf,貼入以下內容:

# Settings for user home directories
#
# Required module: mod_fcgid
# Create a directory for the iipsrv binary
ScriptAlias /fcgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/fcgi-bin/"
# Set the options on that directory
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/fcgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
# Set the module handler
AddHandler fcgid-script .fcgi
</Directory>
# Set our environment variables for the IIP server
DefaultInitEnv VERBOSITY "0"
DefaultInitEnv LOGFILE "c:/windows/temp/IIPImageServer.log"
DefaultInitEnv MAX_IMAGE_CACHE_SIZE "10"
DefaultInitEnv JPEG_QUALITY "50"
DefaultInitEnv MAX_CVT "3000"
# Define the idle timeout as unlimited and the number of processes we want
IdleTimeout -1

「C:/Program Files/Apache Software Foundation/Apache2.2/fcgi-bin/」跟「C:/Program Files/Apache Software Foundation/Apache2.2/fcgi-bin」
改成第三步裡「fcgi-bin」資料夾的實際路徑(注意有/)。
「c:/windows/temp/IIPImageServer.log」是log檔位置,可以隨便換個地方。

第五步:再次打開httpd.conf,加入以下幾行:
<IfModule fcgid_module>
# IIPImageServer configuration directory
Include conf/extra/httpd-iipimage.conf
</IfModule>

第六步:重啟apache,看看這個路徑能不能跑
「127.0.0.1」是本機位置,可以換成「localhost」或IP。
正常的話會看到「IIPImage Server」「Version 1.1」這幾行字。

有時候新版的 IIPImage server會無法執行,這時可以降到0.97版,在最前面參考網頁中的「7) Download IIPImageServer」。

重點6:

下載iipmooviewer,解開後放到xampp的網頁資料夾
(不要用IIP官網的iipzoom,那是flash做的古董了。)

改這兩行就好了
   var server = '/fcgi-bin/iipsrv.fcgi';
   var image = '/path/to/image.tif';
server就是iipsrv.fcgi的所在位置
image圖檔路徑,圖檔不用放在web資料夾裡,所以這個路徑是「根目錄」的位置,例如在「D:\img\image.tif」就是寫「\img\image.tif」

然後前往網頁
http://localhost/iipmooviewer/

重點7:

由於只能讀取tiled過的tif檔,所以要先tiled,以下是用php處理:
第一步:安裝ImageMagick
找適合的裝,我是用php_imagick-3.4.4-7.3-ts-vc15-x64
第二步:把解壓縮後的php_imagick.dll丟到「php/ext」資料夾,其他CORE_RL 跟 IM_MOD_RL開頭的檔案丟到「php.exe」所在位置。
第三步:打開php.ini,加入這一行:
extension=php_imagick.dll
第四步:重啟apache,執行php檔案,內容如下:

$tempImg = new Imagick();
$tempImg->readImage('/img/img.jpg');
$tempImg->setFormat('ptif');
$tempImg->setImageDepth(8);
$tempImg->setOption('tiff:tile-geometry','256x256');
$tempImg->writeImage('/img/img.tif');

順利的話就能得到tiled過的tif檔。

還是無法執行Imagick的話,試著把CORE_RL 跟 IM_MOD_RL開頭的檔案丟到「apache\bin」「Windows\System32」「Windows\SysWOW64」再重啟。
還是不行的話重複第一步,多試幾個版本的ImageMagick。

留言

這個網誌中的熱門文章

2017宮崎鹿兒島(二)高千穗町內交通

進入高千穗景點之前,必須再提一下高千穗內的交通情況, 1.步行 請看下圖: 以「巴士中心」為基準,藍色的「高千穗鐵道」「高千穗神社」「高千穗峽」是一小時內可以走得到的景點,紅色是千萬不要走也走不到的景點,白色箭頭是地勢高低,「高千穗神社」到「高千穗峽」是很陡的下坡,去程很輕鬆,回程會很辛苦。 「天岩戶神社」「天安河原」之間走路可到,但從千萬不要想從「巴士中心」走到「天岩戶神社」,一望無際的梯田,會走到你懷疑人生的價值(笑),兩邊只能搭公車或計程車。 「國見之丘」不管從哪裡都沒有大眾交通工具,只能搭計程車。 2.計程車 高千穗巴士中心旁就是計程車中心,有非常清楚的價目表、所需時間等等資訊,假如是平日而且有三四個人的話,計程車絕對是最好的選擇。價目表如下: 3.巴士 高千穗的巴士有兩種,但班次都很少: a.平日有的 ふれあいバス http://www.town-takachiho.jp/industry/bus/entry090908332.html b.只有週末跟國定假日開的 回遊バス http://www.miyakoh.co.jp/bus/rosen/takachiho_kaiyuu.html 普通只有「天岩戶神社-巴士中心」,「高千穗峽-巴士中心」兩種路線會需要搭巴士,兩種巴士的站名不太一致,簡易說明如下: 「天岩戶神社-巴士中心」: 「ふれあいバス」的「宮交バスセンター」到「岩戶」,「回遊バス」的「高千穂バスセンター」到「天岩戸神社」 「高千穗峽-巴士中心」: 「ふれあいバス」在高千穗峽沒有站牌,「回遊バス」的「高千穂バスセンター」到「高千穂峡」。 非常強烈建議要去高千穗玩的遊客,盡量選擇週末假日前往,巴士班次多很多,也比較可能「宮崎-高千穗」一日遊,如果一定要平日去的話,計程車大概是唯一的選擇了。

河口湖的富士山遐想(下)

大池 第三天離開甲府前往河口湖,這趟旅程才算正式開始吧,只是一大早就開始下雨,一整天都陰陰的,河口湖的氣溫也很低,即使是五月中也只有10幾度,好險我們連著兩夜都住河口湖,就是賭總不會連著都下雨。 第一天的旅館是「大池」,那時候剛整修完重新開放,設備都很新,但似乎連人都很新...... https://www.ooike-hotel.co.jp/ 這間的露天溫泉看不到富士山,室內湯可以,但天氣太糟,什麼都看不到。 房間實景,天氣好時窗戶外就可以看到富士山。 窗外的景色,中間右邊可以看到一點點富士山的底部 隔天終於等來了晴天,一大早從窗外就能看到富士山,心情愉快。 旅館旁有個小池塘,從池塘邊看到的富士山更有另一種風情。 芝櫻季 芝櫻其實跟櫻花沒關係,只是也有粉紅、白色等各種顏色,開花期間又與櫻花相近,而且是草本,好種又不受氣候影響,還容易拼各種圖案,遂成了櫻花季期間最受歡迎的展覽用花了。日本到處都有芝櫻季,河口湖也不例外。只是展覽地點非常偏遠,要從河口湖站搭快一小時的車,好險有車票加門票的優惠卷。不過老實說,這種展覽去過就好了,展場跟人潮都沒什麼好回味的。 特地拍一張旗幟做紀念。 門票加車票的套票,好像有便宜數百日圓的樣子。 會場風景隨手拍。 會場中到處都是這種花毯。 富士山造景。 中間的就是富士山,可惜雲多看不到。 音樂盒之森 來這裡可說是個美麗的錯誤,從芝櫻會場回到河口湖後,我們便移動到第二天的住宿地點,但時間太早了,還不能入住,只好隨便在週邊逛逛,看到地圖不遠處有這個景點,便信步前往,豈料中間的路基本上是給車走不是給人走的,而且非常遠...。好在歐洲風的造景做得很用心,音樂盒的表演及介紹也很到位,是相當值得一逛的地方。 音樂盒之森的招牌。 園區中的歐洲造景 來到音樂盒之森當然要看音樂盒,這裡有日本最大的表演型音樂盒,就是會利用各種娃娃演奏出音樂的那種,規模有一整面牆那麼大。 另外也有使用音樂盒當伴奏的真人表演,這些音樂盒都是古董了,現在沒人在做了。 整個園區說大不大,但規劃得很好,走完一圈看完兩個表演,也差不多要前往住宿點了。 富士吟景 河口湖第二的住宿地是富士吟景。河口湖大致分成南北兩區,第一天住的是南區,離湖邊較遠,住宿選擇多而且也比較平價。第二天住北區,幾乎都是沿著湖邊建的,價格自然也高了許多,富士吟景算是其中CP值不錯的飯店了。 http://www.fu...

主機標頭注入的測試與應對

最近處理「主機標頭注入」弱點,花了很大力氣,總算告一段落,把相關資料筆記起來。 1.主機標頭注入是啥 弱點掃描的描述永遠是上個世紀的翻譯軟體做的,有時候寧願顯示英文orz 簡單的說就是在開啟網頁時,另外輸入header資訊,導致網站發生錯誤。 2.如何測試主機標頭注入 以PHP來說,$_SERVER['HTTP_HOST']可以取得host資料,範例如下 執行起來會是下面狀況 會把IP或網址印出來,主機標頭注入就是把HOST改掉,測試方式要使用curl。 windows版請到這裡下載:https://curl.se/download.html 下載後解壓縮,進入curl.exe所在的資料夾,開啟終端機,輸入下面指令 塗掉的地方就是網站的IP或網址,這時候可以發現$_SERVER['HTTP_HOST']的資訊被改掉了,印出的是輸入的測試資料「www.123.com」。 3.如何防範主機標頭注入 這個問題在網路上找了很久,各家方法都有,但最簡單的是改.htaccess檔,加入這幾行: RewriteEngine On  RewriteCond %{HTTP_HOST} !^ 網址或IP [NC] RewriteCond %{REQUEST_URI} !^/error [NC] RewriteRule ^.(.*) - [L,F] 這時再用curl測試,跑出來的就是403了,解決。