<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "[v2.1.7-dev] 升級記錄"]]></title>
		<link>https://forum.andowson.com/posts/list/7.page</link>
		<description><![CDATA[Latest messages posted in the topic "[v2.1.7-dev] 升級記錄"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>[v2.1.7-dev] 升級記錄</title>
				<description><![CDATA[ 由於2.1.6有滿多Bug已經在2.1.7裡面修正了，故我便嘗試將本站升級至這個開發中的版本，順便進行中文化。 
<br>
步驟或過程大致如下，供大家參考： 
<br>
 :!:升級前的環境 
<br>
v2.1.6安裝在/home/andowson/www/forum下 
<br>
資料庫名稱和使用者名稱都是forum 
<br>
 :!:升級後的環境 
<br>
v2.1.7-dev改安裝在/home/andowson/www下 
<br>
資料庫名稱和使用者名稱還是原來的forum 
<br>
改換目錄主要的原因是讓網址好看一點 
<br>
以前是/forum/forums/list.page 
<br>
升級後改成/forums/list.page 
<br>
<br>
1.由CVS中下載2.1.7-dev 
<br>
cd /home/andowson/www 
<br>
cvs -d ":pserver:cvs.dev.java.net:/cvs" checkout jforum 
<br>
=&gt;將會在目前工作目錄下建立jforum目錄 
<br>
2.備份資料庫，假設資料庫名稱和使用者名稱都是forum 
<br>
 本站用的是PostgreSQL 7.4.13-2的版本，參考了[url]http://www.twpug.net/docs/pgsqldoc-7.4-big5/backup.html[/url]這個網址的說明，實際上我用的指令如下： 
<br>
su - postgres 
<br>
pg_dump forum &gt; /tmp/forum.bak 
<br>
<br>
3.建立測試用的資料庫，假設資料庫名稱和使用者名稱都是test 
<br>
 這邊如果按照文件上的作法 
<br>
createdb -T template0 test 
<br>
則建立出來的資料庫擁有者會是postgres，如果我們要用不同的資料庫使用者來連資料庫，將會遭遇到一些權限上的問題。於是我採用底下的作法 
<br>
psql -c "create user test createdb;" template1 
<br>
psql -c "create database test with encoding 'unicode';" -U test template1 
<br>
psql -c "alter user test nocreatedb;" template1 
<br>
psql -c "alter user test with encrypted password 'test';" template1 
<br>
<br>
4.還原資料庫到test 
<br>
cp /tmp/forum.bak /tmp/test.bak 
<br>
vi /tmp/test.bak 
<br>
將 
<br>
SET SESSION AUTHORIZATION 'forum'; 
<br>
改為 
<br>
SET SESSION AUTHORIZATION 'test'; 
<br>
<br>
psql test &lt; /tmp/test.bak 
<br>
<br>
5.升級JForum資料庫schmea 
<br>
psql test test -f /home/andowson/www/jforum/upgrade/2.1.7/postgresql_2.1.6_to_2.1.7.sql 
<br>
如果沒有錯誤發生的話，就可以執行底下的指令 
<br>
vacuumdb -a -z 
<br>
如果有錯誤的話，就修正一下postgresql_2.1.6_to_2.1.7.sql的內容，然後將資料庫及使用者刪除後，再回到步驟3和步驟4重新還原一次 
<br>
dropdb test 
<br>
dropuser test 
<br>
離開資料庫作業 
<br>
exit 
<br>
<br>
 :!:我們的目標是要將JForum安裝在/home/andowson/www目錄下，目前下載的程式碼是在/home/andowson/www/jforum下 
<br>
6. 複製JForum需要的檔案到正式站台目錄下 
<br>
cd /home/andowson/www 
<br>
cp -rf /home/andowson/www/jforum/templates . 
<br>
cp -rf /home/andowson/www/jforum/images . 
<br>
cp -rf /home/andowson/www/jforum/upload . 
<br>
cp -rf /home/andowson/www/jforum/tmp . 
<br>
cp -rf /home/andowson/www/jforum/WEB-INF . 
<br>
cp -rf /home/andowson/www/jforum/*.txt . 
<br>
rm -rf upload/2005 
<br>
chmod 775 upload 
<br>
chmod 775 tmp 
<br>
chmod 775 images/avatar 
<br>
<br>
將原本2.1.6的檔案複製過來，假設是放在/home/andowson/www/forum下 
<br>
cp -rfp /home/andowson/www/forum/upload/* upload 
<br>
cp -rfp /home/andowson/www/forum/images/avatar/* images/avatar 
<br>
cp -rfp /home/andowson/www/forum/templates/default/styles/zh_TW.css templates/default/styles/. 
<br>
cp -rfp /home/andowson/www/forum/WEB-INF/config/jforum-custom.conf WEB-INF/config/. 
<br>
cp -rfp /home/andowson/www/forum/index.htm . 
<br>
<br>
底下需要root權限 
<br>
chgrp -R tomcat /home/andowson/www 
<br>
<br>
7. 修改/home/andowson/www/jforum/build.xml 
<br>
 將產生的classes設定到/home/andowosn/www/WEB-INF/classes下 
<br>
將 
<br>
&lt;property name="build.dir" location="build" /&gt; 
<br>
改為 
<br>
&lt;property name="build.dir" location="/home/andowson/www/WEB-INF" /&gt; 
<br>
存檔後，執行 
<br>
ant 
<br>
即可編譯出新的classes 
<br>
<br>
8.修改WEB-INF/config/jforum-custom.conf裡面有關資料庫的設定 
<br>
<br>
9.重起啟動tomcat 
<br>
service tomcat restart 
<br>
<br>
10.連結到網站首頁 
<br>
 :shock:怎麼所有版面通通不見了？ 
<br>
照[url=http://www.jforum.net/doc/UpgradingFrom2.1.6To2.1.7]官方網站的說明[/url]，我們必須用admin的帳號重新登入，把群組的權限重新設定一次即可 
<br>
<br>
11.開始功能測試 
<br>
建議測試項目: 
<br>
 :arrow:註冊兩個會員user1, user2，並啟用帳號 
<br>
 :arrow:用user1發表有附加檔案文章 
<br>
 :arrow:用user2回覆user1的文章，檢查user1有沒有收到通知信 
<br>
 :arrow:用user2發私人訊息給user1，檢查user1有沒有收到通知信 
<br>
 :arrow:搜尋文章 
<br>
<br>
12.如果功能測試沒問題的話，我們即可進行正式升級 
<br>
關閉tomcat以免別人來連 
<br>
service tomcat stop 
<br>
<br>
升級正式資料庫 
<br>
su - postgres 
<br>
psql forum forum -f /home/andowson/www/jforum/upgrade/2.1.7/postgresql_2.1.6_to_2.1.7.sql 
<br>
vacuumdb -a -z 
<br>
exit 
<br>
<br>
修改jforum-custom.conf 
<br>
<br>
如果有進行檔案上傳等的話，先把相關檔案刪除 
<br>
rm -rf upload 
<br>
rm -rf images/avatar 
<br>
重新複製一次 
<br>
cp -rfp /home/andowson/www/forum/upload upload 
<br>
cp -rfp /home/andowson/www/forum/images/avatar images/avatar 
<br>
chmod 775 upload 
<br>
chmod 775 tmp 
<br>
chmod 775 images/avatar 
<br>
<br>
重新啟動tomcat 
<br>
service tomcat start 
<br>
<br>
再用admin進行一次權限設定 
<br>
<br>
OK，大功告成！]]></description>
				<guid isPermaLink="true">https://forum.andowson.com/posts/preList/23/26.page</guid>
				<link>https://forum.andowson.com/posts/preList/23/26.page</link>
				<pubDate><![CDATA[Sun, 14 Jan 2007 12:49:22]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
	</channel>
</rss>