Pixmicat貼圖板教學

44ef91b7c2769ab2417d8e038e40f3d5

對於有需要的人應該是一份不錯的禮物吧:P

架設需知:

  1. 有自己的主機(免費付費皆可)
  2. 您必須有一個支援 PHP: Hypertext Preprocessor的網頁空間。
    此空間至少需滿足幾點要求:
    PHP 4.3.0 以上
    GD 模組 2.0.28 以上

這裡提供一個免費的主機─110MB (詳細申請教學可以參考這裡)
再提供一個Host月流量100G……(我沒用過,不過K島有人用這個架過)

之後請去Pixmicat貼圖板官方網站下載檔案
”目前可取得的版本有 Log, MySQL 和 PIO 版,前兩個現在僅進行安全性維護,功能單純;後者支援性廣泛,可支援 Log/MySQL/SQLite/PostgreSQL 等,以函式庫包裝方式得到支援,功能強大。如果您打不定主意那就使用較為推薦的 PIO 版。”

其實官網就有教學了,不過滿艱澀不容易懂的

接下來是重點了,也是最重要的一步

修改環境設定檔內容

在修改之前,提醒一下請您不要使用微軟的記事本來儲存修改過後的 config.php 檔案,因為記事本並沒有另存新檔不存入 Unicode BOM 檔頭標記的功能。此標記是用來表示檔案編碼為 UTF-8 之用,但不是一定得用,當檔案開頭為 EF BB BF 時就表示此檔案是以 UTF-8 編碼,而 PHP 4/5 程式原始碼如果含有 BOM 標記會直接輸出,造成網頁的輸出結果有問題,嚴重的話還會影響 Cookie 的寫入或程式的執行。請您改用 EmEditor, UltraEdit, Notepad++ 等程式作編輯,在另存新檔時設定不要加入 BOM 標記即可。
(建議 EmEditor Free 版,點連結進入Brain下載教學)

Part 1:程式基本設定 (引用自Pixmicat官網)

MySQL伺服器連接設定 (MySQL 版)

請認真的寫入此設定,這將會影響你的貼圖板架設是否成功

MYSQL_SERVER
MySQL 伺服器之位置。如果 MySQL 與網頁伺服器是同一台,設定為 localhost 即可。如果 MySQL 埠號是其他值,請用冒號指定 (例如 :4706)
MYSQL_USER
MySQL 連結使用者名稱。請依照 MySQL 伺服器帳號權限設定填寫。
MYSQL_PASSWORD
MySQL 連結使用者密碼。同上。
MYSQL_DBNAME
MySQL 連結資料庫名稱。此資料庫必須已存在,如果不存在請先利用 phpMyAdmin 等工具建立。有些伺服器會綁定帳號使用的資料庫名稱,這時請按照伺服器設定填寫。

伺服器常態設定

PHP_SELF
主程式名。如果您手動修改了 pixmicat.php 的主程式檔名,請在此修改為新的檔名。
TIME_ZONE
時區設定。時間是格林威治時間加上偏差時間,請參照自身地區修改而非伺服器所在地區。不過有些伺服器在 PHP 抓取時間時就已校正,取得的時間就不是格林威治時間,會造成時間錯亂情況。
HTTP_UPLOAD_DIFF
HTTP 上傳所有位元組與實際位元組之允許誤差值。防止上傳中斷的檢查值,如果預計上傳位元組跟實際上傳位元組超過這個設定,將視為上傳不完整。
memory_limit
PHP 運行的最大記憶體使用量。大尺寸圖檔要縮圖時需要將其轉成點陣圖再操作,耗費的記憶體自然不是預設值可負荷的。本設定建議設大一點,以使大圖生成縮圖能正常。 注意有的伺服器關閉此修改功能!

FileIO設定 (PIO 版)

FILEIO_BACKEND
FileIO後端指定。依照 fileio 目錄下的檔案決定,目前有 normal (一般), ftp (FTP傳輸), imageshack (ImageShack網站), satellite (衛星計畫) 四種。
FILEIO_INDEXLOG
FileIO索引記錄檔。此檔案儲存在本機端,會自動判斷伺服器環境而使用 SQLite 或 Log 檔儲存。裡頭儲存著檔名和檔案大小、對應位置等資訊。
FILEIO_PARAMETER
FileIO參數。每個後端需要一些參數,而可接受的參數亦不一樣。請參閱 FileIO 條目的 config.php 參數設定 以取得參數詳細說明。

PIO資料來源設定 (PIO 版)

CONNECTION_STRING
PIO 連線字串。跟 FileIO 參數差不多,PIO 同樣需要傳入適當的連線字串才能正常使用。請參考 PIO 資料來源 I/O 條目的 config.php 連線字串設定 取得詳細說明。

Part 2:板面各項細部功能設定

SQLLOG
MySQL 記錄資料表名稱。此資料表名稱不一定要存在,不存在會自動建立結構,已存在會使用既有資料。
LOGFILE
投稿文字記錄檔檔名。儲存各筆文章的文字檔。
TREEFILE
樹狀結構記錄檔檔名。儲存討論串結構的文字檔。
IMG_DIR
圖片存放目錄。存放原圖的目錄。
THUMB_DIR
預覽圖存放目錄。存放預覽圖的目錄。
PHP_SELF2
入口檔名。第 0 頁的靜態頁面名稱。
PHP_EXT
第一頁以後生成檔案之副檔名。第 1 頁以後的靜態頁面副檔名。
TITLE
網頁標題。會用在 <title></title> 和 頁面上方的標題顯示。
HOME
回首頁的連結。出現在頁面右上方導覽列的 [回首頁]。
TOP_LINKS
頁面右上方的額外連結。會出現在頁面右上方導覽列。連結如果需要指定 target 開啟目標,請改用 rel 屬性 (這是因為 target 屬性在 XHTML 1.1 已廢除,而我們利用 rel 這個標籤暫時紀錄並以 JavaScript 動態修改連結的 target 屬性。提供 rel="_blank" 和 "_top" 兩種方式)
ADMIN_PASS
管理員密碼。登入後端管理使用。
IDSEED
生成 ID 之隨機種子。供 ID 辨識機能生成每個使用者之特定 ID 使用的 Salt Key。

管理員キャップ(Cap)設定

CAP_ENABLE (使用:1 不使用:0)
是否使用管理員キャップ。如果要使用 Admin Cap 請設為使用。
CAP_NAME
管理員キャップ識別名稱。當要使用 Admin Cap 時輸入名稱必須與此相符。
CAP_PASS
管理員キャップ啟動密碼。當要使用 Admin Cap 時請在 E-mail 欄輸入#啟動密碼,如#test。
CAP_SUFFIX
管理員キャップ後綴字元。不同於其他使用者的證明,此值請務必有 ★ 符號以便程式防止偽造。
CAP_ISHTML (是:1 否:0)
管理員キャップ啟動後內文是否接受 HTML 標籤。設為是可以自由使用 HTML 標記,但請記得遵守 XHTML 1.1 的語法規範。

功能切換

USE_THUMB (使用:1 不使用:0 文字:使用預覽圖生成物件)
是否使用預覽圖機能。如果不使用將不會為大圖生成預覽圖,會以「無法顯示預覽圖」(nothumb.gif) 代替顯示。

在 PIO 4th.Release.2 版之後強化了預覽圖生成物件支援,可輸入下列設定值以選取不同的生成方法。請先使用公用程式 checkenv.php 檢查是否支援。

‘gd’ : 使用 GD Library 生成
‘imagick’ : 使用 IMagick 函式庫生成
‘magickwand’ : 使用 MagickWand 函式庫生成
‘repng2jpeg’ : 使用菅処開發的 repng2jpeg 外部程式生成,可到其網站下載
‘imagemagick’ : 使用 ImageMagick 程式生成,需手動指定 convert 程式位置
1 : 等同 ‘gd’ 設定值
0 : 不使用

USE_FLOATFORM (是:1 否:0)
是否使用投稿表單自動隱藏。使用的話表單會自動隱藏,當滑鼠移到[投稿]區塊才會顯示,不使用的話表單會在上方占一塊空間。
USE_SEARCH (是:1 否:0)
是否開放搜尋功能。可選擇關閉搜尋功能。
USE_UPSERIES (是:1 否:0)
是否啟用連貼機能。啟用後表單會有 [連貼機能] ,勾選並開主題後會自動導向到主題下以方便連貼。
RESIMG (開啟:1 關閉:0)
是否接受回應附加檔案。關閉即回文不能附圖。
AUTO_LINK (是:1 否:0)
是否自動將討論串內文 URL 作成超連結。關閉後 URL 位置不會自動變成連結。
KILL_INCOMPLETE_UPLOAD (是:1 否:0)
是否自動刪除上傳不完整附加檔案。設成否只會在文章下附加上傳不完整的提示。
ALLOW_NONAME (強制砍名:2 是:1 否:0)
是否接受匿名發送。強制砍名是指只留下 Trip 其他一律不顯示。
DISP_ID (強制顯示:2 選擇性顯示:1 永遠不顯示:0)
是否使用 ID 辨識機能。如果設成選擇性顯示當 E-mail 有輸入時 ID 會變成 ???。
CLEAR_SAGE (是:1 否:0)
是否清除不推文模式時 E-mail 中的「sage」關鍵字。
USE_QUOTESYSTEM (是:1 否:0)
是否使用引用瀏覽系統 (自動轉換»No.xxx文字成連結並導引)。設成否可以關閉運算,節省系統資源。
SHOW_IMGWH (是:1 否:0)
是否顯示附加圖檔之原檔長寬尺寸。
USE_CATEGORY (是:1 否:0)
是否開啟使用類別標籤分類功能。類似部落格的標籤分類功能,或是 YouTube, Flickr 等標籤設定,可以標記以方便日後尋找同類型的圖或文。
USE_RE_CACHE (是:1 否:0)
是否使用回應頁面顯示快取功能。可以將回應頁面輸出結果作成檔案快取,在討論串沒有改變的狀態下使用以降低負擔。注意啟用後會有資訊延遲時間,可以 Ctrl + F5 強制更新快取檔。
USE_XHTML (是:1 否:0)
是否回傳 XHTML 檔頭讓瀏覽器以更嚴格的方式解析。XHTML 規定檔頭 MIME 必須回傳正確,但是開啟時某些狀況網頁可能無法顯示,此選項可以關閉以避免此情形。(註: 遇到 IE 會自動關閉此功能,因其不支援)

模組載入

$ModuleList
模組系統載入模組名稱陣列。假設欲引入模組名為 mod_test.php,則填入 ‘mod_test’ 即可。

範例:
$ModuleList[] = ‘mod_test’;
$ModuleList[] = ‘mod_dummy’;

封鎖設定

BAN_CHECK (關閉:0, 開啟:1)
綜合性封鎖檢查功能。包括 IP/Hostname 封鎖黑名單和 DNSBL 黑白名單。
$BANPATTERN
IP/Hostname 封鎖黑名單。符合名單上的條件者將無法發文,接受完全相符、萬用字元 (*, ?) 、正規表達式 (Regular Expression) 和 CIDR Notation1 四種寫法。正規表達式寫法需要以 / 包住,CIDR Notation 需要 IP + /xx 的方式

範例:
完全相符: ‘127.0.0.1’ (127.0.0.1 O;127.0.0.2 X)
萬用字元: ‘192.168.0.*’ (192.168.0.3 O;192.168.1.3 X)
正規表達式: ‘/^.+\.proxy\.com$/’ (gate1.proxy.com O;proxy2.com.tw X)
CIDR Notation: ‘192.168.0.1/20’ (192.168.7.243 O;192.168.18.144 X)

$DNSBLservers
使用的 DNSBL 查詢伺服器列表。陣列首項數字代表使用使用伺服器個數,0 即為不使用。
$DNSBLWHlist
DNSBL 白名單列表。可用白名單設定強制通過檢查,請輸入 IP 位置即可,不必輸入主機名稱。
$BAD_STRING
限制出現之文字列表。檢查範圍包括名稱、 E-mail 、標題和內文。
$BAD_FILEMD5
限制上傳附加檔案之 MD5 檢查碼列表。可用來封鎖常用來亂的圖檔。

附加檔案限制

MAX_KB
附加檔案上傳容量限制KB。請注意除了這邊的設定之外,也需要注意 PHP 內部 upload_max_filesize 和 post_max_size 的設定。
STORAGE_LIMIT (啟動:1 關閉:0)
是否啟動附加檔案總容量限制功能。關閉的話將不會限制總檔案大小,可以無上限的儲存 (但仍有存活週期,文章被刪除圖檔也會跟著刪除)。
STORAGE_MAX
附加檔案總容量限制上限 KB 大小。
ALLOW_UPLOAD_EXT
接受上傳之附加檔案副檔名列表。各副檔名間請用 | 分隔。

連續投稿時間限制

RENZOKU
連續投稿間隔秒數。在此秒數中間再次投稿會被暫時拒絕。
RENZOKU2
連續貼圖間隔秒數。在此秒數中間再次附圖投稿會被暫時拒絕。

預覽圖片相關限制

MAX_W
討論串本文預覽圖片最大寬度。 (超過會自動原比例縮小)
MAX_H
討論串本文預覽圖片最大高度。
MAX_RW
討論串回應預覽圖片最大寬度。 (超過會自動原比例縮小)
MAX_RH
討論串回應預覽圖片最大高度。
THUMB_Q (1-100)
預覽圖片之品質。JPEG Quality %,越高品質越好但檔案也越大。

外觀設定

$ADDITION_INFO
投稿表單下可顯示之額外文字。
$LIMIT_SENSOR
文章自動刪除機制設定。格式為 ‘使用機制物件名稱’=>傳入值,例如 ‘ByPostCountCondition’=>500 (以文章數作刪除判斷,超過500篇者刪除)。可一次使用多種條件,採聯集 (Union) 方式處理

截至 4th.Release.2 版本已經有下列幾種物件可供使用:

‘ByPostCountCondition’ => (最大文章數)
以總文章篇數作為刪除判斷 (ex: 500) 即舊有 LOG_MAX 效果
‘ByThreadCountCondition’ => (最大討論串數)
以總討論串數作為刪除判斷 (ex: 20)
‘ByThreadAliveTimeCondition’ => (討論串保留天數)
以討論
串生存時間作為刪除判斷 (ex: 7)

範例:
$LIMIT_SENSOR = array(‘ByPostCountCondition’ => 500, ‘ByThreadCountCondition’ => 40);
// 限制總文章 500 筆「和 (AND)」 總討論串數 40 個,任一條件滿足便開始刪除

USE_TEMPLATE (是:1 否:0)
是否使用 PTE 樣板函式庫顯示討論串。
TEMPLATE_FILE
PTE 樣版函式庫讀取之樣板檔案位置。
PAGE_DEF
一頁顯示幾篇討論串。
ADMIN_PAGE_DEF
管理模式下,一頁顯示幾筆資料。
RE_DEF (全部隱藏:0)
討論串最多顯示之回應筆數,超過則自動隱藏。
RE_PAGE_DEF (全部顯示:0)
回應模式一頁顯示幾筆回應內容。
LOG_MAX
記錄檔保留之最大資料筆數。PIO 4th.Release.2 改以更多樣化的 $LIMIT_SENSOR 刪除機制取代
MAX_RES (關閉:0)
回應筆數超過多少則不再推文。
MAX_AGE_TIME (關閉:0)
討論串可接受推文的時間 (小時) 範圍。假如討論串存在超過此時間則之後回應皆不再推文。
RE_COL
引用標註顯示顏色。引用的方法有 > 和 > 兩種。
COMM_MAX
內文接受的最大 Byte。 (中文字為 2 Bytes)
BR_CHECK (不限:0)
內文換行行數上限。如果設成 15 則只接受 15 次換行,超過會把所有換行拿掉,讓文字變成一行。 (原 futaba 功能)
STATIC_HTML_UNTIL (全部生成:-1 僅入口頁:0 數字:生成到第幾頁止)
更新文章時自動生成的靜態網頁至第幾頁止。越後面的頁數通常越沒人看,還要花時間生成靜態頁面實在有點浪費,可以只生成熱門的前幾頁就好。
SHOW_IMGWH (是:1 否:0)
是否顯示附加檔案之原檔長寬尺寸。選否可以不必讀取每個圖檔的長寬資訊以節省系統資源。
GZIP_COMPRESS_LEVEL (關閉:0 啟動:1~9)
PHP 動態輸出頁面使用 Gzip 之壓縮層級。一般而言 3 或 4 是不錯的選擇,再下去壓縮時間增長但效果不顯著。

預設設定

DEFAULT_NOTITLE
預設文章標題,使用者未填此欄位時將使用此處設定
DEFAULT_NONAME
預設文章名稱,使用者未填此欄位時將使用此處設定
DEFAULT_NOCOMMENT
預設文章內文,使用者未填此欄位時將使用此處設定

Part 3:Anti-SPAM 防止垃圾訊息機器人發文

欄位陷阱 (Field Trap)

原本的 name, email, sub, com 等表單欄位現在全部都是欄位陷阱,只接受底下設定的這些欄位數值。請定期更改以免被廣告機器人學習,記得要符合 PHP 的變數命名原則:首字元不可為數字,不可使用非法特殊符號。建議大小寫英數字隨機搭配即可。

FT_NAME
真正的名稱欄位名稱
FT_EMAIL
真正的 E-mail 欄位名稱
FT_SUBJECT
真正的標題欄位名稱
FT_COMMENT
真正的內文欄位名稱

Footnotes

1. CIDR Notation: IP Mask 以 /xx 表示的方式,xx 為遮罩的 bit 數。Class A 即為 /8, B = /16, C = /24,可以更為靈活的封鎖一段區域。範例:192.168.0.1/20 (比對 IP 轉成二進制後之前 20 個位元) = 192.168.0.0 ~ 192.168.15.255 區段

基本上設定都是很直覺的,就是看了大概就會填,管理員設定那邊特別要注意,盡量別使用預設!
我是使用LOG的版本,因為設定起來比較簡單因為也是測試用所以就沒選其它的版本了

 

再來將程式碼上傳到空間上

接著請打開您的 FTP 程式,連接到您的空間。如果您的空間不是以 FTP 來管理,而是如網頁上傳等方式的話,請打開瀏覽器登入到管理介面,準備上傳檔案。(注意110MB免費用戶只支援網頁上傳)

首先先在您喜歡的位置新增一個目錄放置 Pixmicat! 貼圖版 (例如 pixmicat),然後對其目錄更改屬性 (權限) 為 777 (dwrxwrxwrx) 以允許程式寫入靜態暫存頁面和文章紀錄檔案、暫存檔等,修改權限的方法依照使用軟體不同而有不同做法。
(注意110MB只能夠修改成770但一樣能夠安裝)

再來進入此目錄,將方才解壓的所有檔案上傳至此目錄

初始化程式環境

請打開瀏覽器,鍵入 pixmicat.php 所在的網址並瀏覽,這是進行程式初始化的作業程序,初始化的項目包括文章儲存來源初始化、建構圖檔儲存目錄等,請一定要作一次。假如權限沒有正確設定的話,初始化會無法成功並出現錯誤訊息。

如果權限有正確設定,完成後網頁會出現「環境初始化成功!」的訊息。請開啟臨時目錄的 pixmicat.php (或回到 FTP 直接線上開啟此檔案進行編輯、或下載回來編輯儲存再上傳…方法任選),在接近檔案底部 (1000 行後) 的地方有個 switch($mode) ,其上方有一行 init();,範例如下:


init(); // ←■■!程式環境初始化,跑過一次後請刪除此行!■■
switch($mode){
case ‘regist’:

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓


//init(); // ←■■!程式環境初始化,跑過一次後請刪除此行!■■
switch($mode){
case ‘regist’:

請將其整行刪除或在前頭加上 // 視為註解皆可 (範例請參考上方區塊),儲存檔案後再度回到 FTP 軟體,上傳覆蓋 pixmicat.php,這樣初始化就正式完成了。

請將其整行刪除,之後再上傳覆蓋原本的檔案

最後恭喜你完成!

最後成果瀏覽可以到http://ickeal.110mb.com/pixmicat/index.htm這邊看看我所架設的結果

有什麼問題歡迎提問! 除此之外Piximicat Wiki也很歡迎

架設貼圖板步驟固然繁雜,但只要有耐心架設起來並不難。

60b29b7f5fe8a8d1f03ad3a1fb5bd788

分享到社群

6 thoughts on “Pixmicat貼圖板教學

  • 2009/12/27 at 10:32:07
    Permalink

    其實我在這篇之前就找到pixmicat的網頁了 (剛好在問你之後的10分鐘後) (炸

    可是還是感謝 XD

    因為有些地方是有點不太清楚 (汗) (並非html & CSS & PSP 而是模組那類東西的應用)

    最後才發現php的改變時間比預想中還要慢=_=a (不像html&css可以馬上看到)

    不管如何 我的也建好了 之後歡迎來一起清純我那裡 wwwww (炸)

    Reply
    • 2009/12/28 at 21:22:44
      Permalink

      所以你老馬了嗎(炸)
      ok呀會去晃晃的(不過那裡應該不是紳士版吧 炸)

      Reply
  • 2009/12/26 at 23:50:15
    Permalink

    第一個感想
    尾圖的B★RS乳量不對!(拖走)

    Reply
    • 2009/12/26 at 23:52:04
      Permalink

      那是你的妄想讓我來殺掉吧(舉起手撲向x52013)

      Reply
      • 2009/12/27 at 00:22:43
        Permalink

        想以做什麼啊啊啊啊~~~

        Reply
        • 2009/12/27 at 00:23:52
          Permalink

          (打錯)
          你想做什麼啊啊啊啊~~

          Reply

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

Facebook Auto Publish Powered By : XYZScripts.com