免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 發帖

vBulletin 的安裝

~ 10/3
持續網路上搜尋,並比較哪個論壇程式適應將來網站運作管理的需求。
本來考慮的是Discuz;後來因為據說 vBulletin 維護得不錯,而且程式碼很乾淨(不干我事),最重要的是掛東西,升級..等,不用在那邊改php天書,版本弄得亂七八糟,因此最後選擇了 vBulletin。

~10/3

擬定的步驟:
1.建立測試環境(論壇程式掛上去,vbb資料庫掛上去,產生出空論壇)
2.比對兩邊結構,為資料轉移建立所有 sql script
3.離線測試
4.整理測試成功的sql script
5.把外觀版面設好
6.公告關站轉換

研究如何訂購(直接向英國,還是大陸),得悉向英國訂較貴,且客服支援在英國網站,下載到的也會是英文版。決定向大陸訂購中文版(好像是原廠請大陸員工經營,不是代理商)。
永久使用許可證+一年免費更新 = RMB 840元

訂購過程發現透過貝寶(大陸paypal)支付貨款,由於對方不接受外幣支付,只能離線支付,也就是過程中必須有人工介入.

>10/3
07:10 發出離線訂單。
23:32 對方發出Paypal付款要求:
NT$ 3,962 TWD = $120.00 USD

>10/4
02:07 完成Paypal付款。
23:19 對方寄來購買收據,寄來客戶編號、密碼、許可證。

>10/5
03:40 一大早爬起來收信...連結到其客服網站下載論壇程式.被要求指定網域名稱才能下載(License綁死網站),指定了 http://www.magigugu.com/

下載了論壇程式,還有另外提供的Impex論壇轉換程式。
據說能 Conert ipb 1.3 to vBulletin 3.X
如果可以,可以省掉自己手工比對兩邊資料庫,建立SQL Script的麻煩。
開始研究論壇安裝程式...

用很有限的電腦能力,發現論壇程式目錄裡有:

vb3_readme.html

裡頭有段:

Installing a new vBulletin 3

First, unzip the vBulletin zip file you downloaded from the members' area to your hard disk and then open the 'upload/includes/' folder. In this you will find config.php.new. You should rename this to config.php and then open it in a text editor.

The config.php file is commented throughout, so you should be able to work out what values to enter for the variables yourself. When you have finished, save the file and then upload the entire contents of the 'upload/' folder to your web server.

When this is done, point your browser at http://www.example.com/forums/install/install.php (where www.example.com/forums/ is the URL of your vBulletin) and proceed to click the Next Step buttons until the script asks to fill in some addresses and names for your board.

After you have done this, the installer will ask you for some details to set you up as the administrator of the new vBulletin. A few more clicks and the script will be finished.

Before proceeding to the Admin Control Panel, you must delete the 'install/install.php' and 'install/upgrade1.php' files from your webserver. You may then enter the control panel and start working on your new vBulletin!

The entire installation process should take no more than five minutes.

For a complete description of how to install vBulletin 3, see the installation section of the vBulletin 3 Manual.

The values for the config.php file are described in detail here.


步驟就是:

1. 把uploadincludesconfig.php.new 改名成 config.php
2. 把相關設定寫進去 config.php
3. upload 所有東西上傳到主機去
4. 瀏覽器打開 http://www.magigugu.com/主機上的路徑...all/install.php

5. 依著/install/install.php 指示完成設定。
6. 在開始用 Admin Control Panel 之前刪掉 /install/install.php 及 /install/upgrade1.php'

首先,依照說明,找到

uploadincludesconfig.php.new (記事本打開都亂碼,猜應是簡體字)
uploadincludesconfig.php.new.big5 (繁體字)

複製一份 config.php.new.big5, 編輯相關設定,改名成 config.php

研究 config.php.new.big5 內容...

<?php
/*======================================================================*
|| #################################################################### ||
|| # vBulletin [#]version[#]
|| # ---------------------------------------------------------------- # ||
|| # All PHP code in this file is 2000-[#]year[#] Jelsoft Enterprises Ltd. # ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
*======================================================================*/

/*-------------------------------------------------------*
| ***********  關于此檔案中變數的注意事項  ************ |
+---------------------------------------------------------+
| 如果您嘗試鏈結 MySQL 資料庫時出現錯誤,請聯繫您的伺服器 |
| 提供公司,因為我們無法告訴您資料庫設定變數正確的設定, |
| 每台伺服器的密碼都不一樣。               |
*-------------------------------------------------------*/

//        ****** 資料庫類別 ******
// 在這裡設定 vBulletin 使用的資料庫伺服器類別。
// 有效的選項是 mysql 和 mysqli。要添加從伺服器支援,請添加 _slave 字尾。
// 如果伺服器的配置是 PHP 5 和 MySQL 4.1+,可以嘗試使用 mysqli。
// 如果您的論壇資料庫是主從資料庫架構,您只需在您喜愛的資料庫類別後添加
// _slave 字尾。即 mysql_slave 或 mysqli_slave。
$config['Database']['dbtype'] = 'mysql';

//        ****** 資料庫名稱 ******
// 這是論壇程式所使用的資料庫名稱。
// 正確的資料庫名稱的設定請聯繫伺服器提供公司。
$config['Database']['dbname'] = 'forum';

//        ****** 資料表前置 ******
// 資料庫中 vBulletin 使用的資料表的前置。
$config['Database']['tableprefix'] = '';

//        ****** 技術人員電子郵件箱地址 ******
// 如果發生資料庫錯誤,錯誤資訊將會傳送到這個電子郵箱。
// 留空則不傳送錯誤資訊到任何電子郵箱。
$config['Database']['technicalemail'] = 'dbmaster@example.com';

//        ****** 強制清空 SQL 模式 ******
// MySQL 的新版本 (4.1+) 添加了一些功能與 vBulletin
// 不相容。將此處設定為“true”以禁用那些行為。
// 請您在 vBulletin 建議的伺服器環境下修改此值。
$config['Database']['force_sql_mode'] = false;



//        ****** 主資料庫伺服器名與通訊埠 ******
// 這是資料庫的主機名或 IP 位址及通訊埠。
// 如果您不確認這裡填寫什麼,便不要管它。
$config['MasterServer']['servername'] = 'localhost';
$config['MasterServer']['port'] = 3306;

//        ****** 主資料庫用戶名和密碼 ******
// 這是連線和存取 MySQL 資料庫時所需的是用這名稱和密碼。
// 它們的數據必須從您的伺服器提供公司得取。
$config['MasterServer']['username'] = 'root';
$config['MasterServer']['password'] = '';

//        ****** 主資料庫持久連線 ******
// 此選項設定連線 MySQL 資料庫是否以持久方式。
// 對于小型論壇,效能的差异可以舍棄。
// 如果您不了解這個選項是幹什麼的,那麼請關閉它。
// 0 = 關閉; 1 = 開啟
$config['MasterServer']['usepconnect'] = 0;



//        ****** 從資料庫伺服器配置 ******
// 如果您執行了多個資料庫背景伺服器,您可以在這裡填寫從伺服器的資訊。
// 如果您不是 100% 確定在這裡填寫什麼,那麼請不要修改這裡的預設設定。
$config['SlaveServer']['servername'] = '';
$config['SlaveServer']['port'] = 3306;
$config['SlaveServer']['username'] = '';
$config['SlaveServer']['password'] = '';
$config['SlaveServer']['usepconnect'] = 0;



//        ****** 管理面板和版主面板的路徑 ******
// 您可以修改管理面板和版主面板的目錄名。
// 這樣可以增加論壇的安全效能。
// 請注意如果您修改了這裡的路徑名,您必須同時手動修改
// 伺服器上相應目錄的目錄名。
$config['Misc']['admincpdir'] = 'admincp';
$config['Misc']['modcpdir'] = 'modcp';

// 論壇程式所設定的 cookies 的前置
// 請不要填寫過長的前置,并只能填寫英文字母和數字
$config['Misc']['cookieprefix'] = 'bb';

//        ******** 論壇目錄的絕對路徑 ******
// 在某些系統中您可能需要匯入論壇目錄的絕對路徑,vBulletin 才能正常工作。
// 您可以舍棄這個選項,除非 vBulletin 告訴您要填寫它。
// 在這裡不要在末尾填寫斜線!
// Unix 示例:
//  $config['Misc']['forumpath'] = '/home/users/public_html/forums';
// Win32 示例:
//  $config['Misc']['forumpath'] = 'crogram filesapache groupapachehtdocsvb3';
$config['Misc']['forumpath'] = '';



//        ****** 擁有管理記錄檢視許可權的用戶 ******
// 在這裡指定的用戶將可以檢視管理面板的管理紀錄。
// 在這裡必須指定 *用戶 ID* 而不是用戶名。要獲得用戶 ID,
// 請到管理面板瀏覽他們的個人資料。如果論壇是全新裝載的,
// 那麼第一個建立的用戶的 ID 是 1。使用英文半角逗點分隔每個用戶 ID。
$config['SpecialUsers']['canviewadminlog'] = '1';

//        ****** 擁有管理記錄移除許可權的用戶 ******
// 在這裡指定的用戶將可以移除管理面板的管理記錄。
// 使用英文半角逗點分隔每個用戶 ID。
$config['SpecialUsers']['canpruneadminlog'] = '1';

//        ****** 擁有資料庫查詢許可權的用戶 ******
// 在這裡指定的用戶將可以對資料庫進行 SQL 查詢。
// 填寫格式同上。
// 請注意執行資料庫查詢是一項非常強大的功能,可能導致安全問題。
// 因此您在這裡最好什麼都不填寫。
$config['SpecialUsers']['canrunqueries'] = '';

//        ****** 不可移除/修改的用戶 ******
// 在這裡定義的用戶不可在管理面板被其他任何用戶修改或者移除。
// 使用英文半角逗點分隔每個用戶 ID。
$config['SpecialUsers']['undeletableusers'] = '';

//        ****** 超級管理員 ******
// 在這裡指定的用戶可以存取“管理員許可權”頁面,
// 并可以修改其他管理員的管理許可權。
$config['SpecialUsers']['superadministrators'] = '1';

// ****** DATASTORE 緩衝區配置 *****
// 您在這裡可以配置不同的方式來緩衝區 datastore 項目。
// vB_Datastore_Filecache - 使用緩衝區檔案
// vB_Datastore_APC - 使用 APC
// vB_Datastore_XCache - 使用 XCache
// vB_Datastore_Memcached - 使用一台 Memcache 伺服器,詳細配置見下方
// 同時需要指定緩衝區伺服器的主機名或 IP,以及伺服器所監聽的通訊埠
// $config['Datastore']['class'] = 'vB_Datastore_Filecache';

// ******** DATASTORE 前置 ******
// 如果您使用了一個 PHP 緩存系統 (APC, XCache, eAccelerator) 並且有多個論壇
// 安裝在您的伺服器中,您*可能*需要使用一個前置,這樣他們便不會嘗試使用緩存中
// 同名的變數。它的工作原理和資料表前置類似。
// $config['Datastore']['prefix'] = '';

/*
$config['Datastore']['class'] = 'vB_Datastore_Memcached';
$i = 0;
// First Server
$i++;
$config['Misc']['memcacheserver'][$i]        = '127.0.0.1';
$config['Misc']['memcacheport'][$i]        = 11211;
$config['Misc']['memcachepersistent'][$i]        = true;
$config['Misc']['memcacheweight'][$i]        = 1;
$config['Misc']['memcachetimeout'][$i]        = 1;
$config['Misc']['memcacheretry_interval'][$i] = 15;
*/

// ****** 如下選項僅在特別情況下需要修改 ******

//        ****** MySQLI 選項 *****
// 當您使用 MySQL 4.1+ 時,應該使用 MySQLi 來連線資料庫。
// 如果您使用了 MySQL 4.1 或更高版本,并在裝載配置的時候選中了
// Best Support For Multilingualism(即預設字集為 utf8)
// 那麼請在這裡填寫 utf8。如果選中 Standard Character Set,
// 那麼請在這裡填寫 latin1
// 如果您已經通過本配置檔案最後一個選項(MySQLI 選項)
// 并在 ini 檔案中配置好了字集,那麼此選項不起作用。
// *注意:* 如果您使用 MySQL 4.0.x 或是 3.x 版本,請設定為空 ('')。
$config['Mysqli']['charset'] = 'utf8';
// 另外可選的,PHP 可以從“ini_file”設定的檔案中讀取並且設定
// 連接參數。請在這裡使用檔案的絕對路徑。
// 例如:
// $config['Mysqli']['ini_file'] = 'crogram filesMySQLMySQL Server 4.1my.ini';
$config['Mysqli']['ini_file'] = '';

// 圖像處理選項
// 對于解析度超過下面設定的圖像,vBulletin 將不會為其生成縮略圖。如果您想縮小更大的圖像,請修改這些設定。
$config['Misc']['maxwidth'] = 2592;
$config['Misc']['maxheight'] = 1944;

/*======================================================================*
|| ####################################################################
|| # Downloaded: [#]zipbuilddate[#]
|| # CVS: $RCSfile$ - $Revision: 28757 $
|| ####################################################################
*======================================================================*/

TOP

完成 config.php 編輯後,整個上傳到主機端指定位置。
並且用主機商的管理工具,預先開好一個專屬資料庫。
執行 install.php 要求輸入客戶號,不知何意,於是輸入了訂購後獲得的客戶編號。
出現(快閃而過..只好用螢幕抓圖 Print-Screen 的方式看清楚),又再回到客戶號輸入畫面:

Warning: Cannot modify header information - headers already sent by (output started at /(路徑名稱略..)/includes/config.php:1) in /(路徑名稱略..)/install/authenticate.php on line 55

google 關鍵字:install "cannot modify header information" "/install/authenticate.php on line 55 "

找到
http://www.vbulletin.com/forum/showthread.php?p=1631142
有人問過,客服說:
That error means you have a problem in your config.php file, either a blank space or line at the beginning of the file or it was not saved correctly as a text file.

於是用ultra Edit 打開 config.php
save as... 指定 utf-8, NO BOM
再上傳,再執行 install.php 過關!

install 總共13步驟,中間除了config.php 資料庫用戶輸錯改了幾次外(錯就修改再上傳,瀏覽器回上一頁,再按下一步),最後一步會要求刪掉主機端的 install.php ,再進控制面板。

於是把 /install/install.php 給宰了。
進控制面板出現:

不能够设置 Cookies,因为页面头部已经发送。
文件路徑名稱略..)/includes/config.php
行: 1


再用ultra Edit 打開 config.php
save as... Line Terminator 指定為 UNIX Terminators - LF
再上傳,重新整理網頁順利進入後台管理。

TOP

使用 Impex:
先看其中的 impex.readme.txt,依內容指示,來到:
http://www.vbulletin.com/forum/showthread.php?t=116398

知道有幾件事要注意:

1.執行導入前最好把原論壇關閉。
2.最好是拿原論壇的備份資料庫來執行導入。
3.有個Config檔案要編輯好。

找了一下,發現有個設定檔,我想可能是改好後要改名成 ImpExConfig.php,再整個資料夾上傳上去,然後瀏覽器上輸入其中某個 .php執行。該設定檔的位置在 uploadimpexImpExConfig.php.new

Impex的線上手冊在:
http://www.vbulletin.com/docs/html/impex

目前還搞不清楚 這個 Impex要怎麼識別原來的論壇是IPB,搜尋線上手冊沒有相關描述。很好奇地檢查Impex底下的資料,發現
uploadimpexsystems 有許多CMS和論壇名稱的資料夾,赫然發現有
ipb 和 Xoops

打開看 uploadimpexsystemsipb

再擬定一次對策,既然我沒能力解決因三方chartset各自不同的亂碼問題(原網站、phpmyadmin、新網站),那我就別管phpmyadmin 顯示的是不是亂碼;只要專心在轉過來在 vBulletin 論壇上是不是亂碼的問題即可。

方式呢..先下SQL 自己轉一筆記錄看看,看怎樣寫,vBulletin 呈現出來的才會ok。

上午試了幾次,怎麼用Impex轉都是亂碼,就算改了它的ImpExConfig.php內的:

$impexconfig['source']['charset']
$impexconfig['target']['charset']

事情好像沒我這傻子所想的那麼簡單...
難道說原資料庫的資料編碼就是那樣? 那為甚麼原來的ipb 用utf-8顯示出來是正常的中文?

試過了可行的方式是:

1. 用我自己安裝的 phpmyadmin 把原論壇資料匯出成文字資料(連結構一起匯出),這樣出來是正常中文。
2. 把匯出的建立資料表的語法結構改成 CHARSET=utf8
3. 再用主機商提供的 phpmyadmin 把上面的資料連同表結構建立語法匯入原資料庫(覆蓋掉原表)。
4. 用 impEx 把原資料庫資料轉到新論壇資料庫。
5.這時impex轉到新論壇的資料再下SQL 整理(比方users_id、post_Id)



過程中,看到新論壇竟然用所謂的unix 時間戳(Unix timestamp)存放日期時間資料,想說這次我真的完蛋了,又多了一種像天書一樣的資料要轉,趕快翻回去源論壇資料庫看,哈~哈~ 兩邊剛好都用那種格式存放日期時間資料,所以我只要原本本的轉上去就行了。

說到Xoops+ipb資料庫轉換,impex 轉的實在一點都不徹底,至少在我的論壇資料庫裡,還需要做很多整理,要再下update語法把那些沒轉上去的,比方user資料表的自動編碼的user_id和討論帖資料表的發帖人id都要設法對上,不然轉過去後,還是不能正常出來。

不過至少impex幫我把用戶密碼給轉上去了,這個幫助對我來說就夠了。

TOP

返回列表