Installation Upgrade - Joungkyun/JSBoard GitHub Wiki

JSBoard Upgrade λ¬Έμ„œ

##1. κ°œμš”

JSBoard 1.3μ—μ„œ v2.x둜의 μ—…κ·Έλ ˆμ΄λ“œλŠ” λͺ‡λ²ˆμ˜ λ³€ν™˜ 과정을 거쳐야 ν•˜λ‹ˆλ‹€. ν‚€ ν¬μΈνŠΈλŠ” 1.3.x -> 2.0.0 -> 2.0.6 -> 2.0.7 μ΄μƒλ²„μ „μ˜ 과정을 κ±°μ³μ„œ μ—…λ°μ΄νŠΈκ°€ 되면 λœλ‹€.

##2. v1.3.3 μ—μ„œ v2.0.0 upgrade

이 λ‹¨λ½λŠ” JSBoard v1.3.3 μ—μ„œ 2.0 으둜 μ—…κ·Έλ ˆμ΄λ“œλ₯Ό ν•˜λŠ” 방법을 λ‹€λ£¨λ„λ‘ν•œλ‹€. 개인적인 μ˜ˆμƒμœΌλ‘œλŠ” μ΅œμ†Œν•œ 1.3 λ²„μ Όμ—μ„œλŠ” λͺ¨λ‘ 적용이 되리라 생각이 λœλ‹€.

λ¨Όμ € 1.3 λ²„μ Όκ³Όμ˜ κ°€μž₯큰 νŠΉμ§•μ€ 2.0 μ—μ„œ 인증 κΈ°λŠ₯κ³Ό skin κΈ°λŠ₯이 μΆ”κ°€λ˜μ—ˆλ‹€λŠ” 점이닀. κ·ΈλŸ¬λ―€λ‘œ JSBoard 의 main table 외에 인증에 ν•„μš”ν•œ table 이 μΆ”κ°€κ°€ λ˜μ–΄μ•Ό ν•œλ‹€.

일단 각 κ²Œμ‹œνŒ ν…Œμ΄λΈ” λ§ˆλ‹€ 인증에 ν•„μš”ν•œ 컬럼 1κ°œμ™€ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” moder μΉΌλŸΌμ„ μ‚­μ œν•˜λ„λ‘ ν•œλ‹€. INSTALLER/script 둜 이동을 ν•˜μ—¬ dbconv_to_20 νŒŒμΌμ„ 열은 λ‹€μŒ ν•„μš”ν•œ λ³€μˆ˜κ°’μ„ μ§€μ • ν•΄ μ€€ λ‹€μŒ ν•΄λ‹Ή 파일의 νΌλ―Έμ…˜μ„ 755 둜 μˆ˜μ •ν•œ 후에 μ‹€ν–‰ν•˜ λ©΄ λ³€ν™˜μ„ ν•΄ μ€€λ‹€.

[root@host script]$ ./dbconv_to_20

INSTALLER/SQL 둜 이동을 ν•˜μ—¬ userdb table 을 μƒμ„±ν•˜λ„λ‘ ν•œλ‹€.

λ§Œμ•½ λ‹€λ₯Έ νšŒμ› table 을 μ‚¬μš©ν•  κ²½μš°μ—λŠ” userdb table 을 생성할 ν•„μš”κ°€ μ—†λ‹€. 이 κ²½μš°λŠ” μ•„λž˜μ˜ λͺ…령을 μƒλž΅ν•˜κ³  doc/ko/README.OPERATE λ¬Έμ„œμ˜ 5.μ™ΈλΆ€μ˜ νšŒμ› DB μ‚¬μš©ν•˜κΈ° 함λͺ©μ„ μ°Έκ³ ν•˜λ„λ‘ ν•œλ‹€.

[root@host SQL]$ mysql -u USER -p DB_NAME < userdb-OSTYPE.sql

을 μ‹€ν–‰ν•˜λ„λ‘ ν•œλ‹€. USERλŠ” global.ph 의 $db['user'] 의 값을 μ§€μ •ν•΄ μ£Όλ©°, DB_NAMEμ—λŠ” $db['name'] 의 값을 μ§€μ •ν•œλ‹€. OSTYPE 은 μ—¬λŸ¬λΆ„λ“€μ˜ OS 에 λ§žμΆ°μ„œ μ„ νƒν•˜λ©΄ λœλ‹€. ν˜„μž¬λ‘œμ„œ freebsd와 linuxκ°€ 지원이 되며, openbsd,netbsd 의 κ²½μš°μ—λŠ” freebsdλ₯Ό μ„ νƒν•˜λ©΄ 되고, solaris 의 κ²½μš°μ—λŠ” linuxλ₯Ό μ„ νƒν•΄μ„œ ν•˜λ©΄ λœλ‹€. κ·Έ μ΄μ™Έμ˜ OSμ—μ„œλŠ” μ•Œμˆ˜κ°€ μ—†λ‹€.

λ‹€μŒ jsboard 2.0 의 μ†ŒμŠ€λ₯Ό 풀도둝 ν•œλ‹€.

[root@host ~]$ tar xvfpz jsboard-2.0.tar.gz

압좕을 ν‘Όλ‹€μŒ μ΄μ „μ˜ jsboard κ²Œμ‹œνŒμ—μ„œ data/* 와 config/* 을 2.0 의 μ†ŒμŠ€λ‘œ 볡사λ₯Ό ν•˜λ„λ‘ ν•œλ‹€.

[root@host ~]$ cp -af jsboard-old/data/* jsboard-new/data/
[root@host ~]$ cp -af jsboard-old/config/* jsboard-new/config/

볡사λ₯Ό 마쳀으면 이제 μ„€μ • νŒŒμΌλ“€μ„ λ³€ν™˜μ„ ν•΄μ•Ό ν•œλ‹€. JSBoard 2.0 μ—μ„œλŠ” 1.3 λ²„μ ΌλŒ€μ˜ μ„€μ •νŒŒμΌμ„ 2.0 style 둜 λ³€ν™˜μ„ ν•΄ μ£ΌλŠ” convert program 을 μ œκ³΅ν•œλ‹€. 이 ν”„λ‘œκ·Έλž¨μ„ μ‹œμž‘ν•˜κΈ° 전에 이 νŒŒμΌμ„ μ—΄μ–΄μ„œ κ°€μž₯ μœ—λΌμΈμ˜ νŽ„κ²½λ‘œλ₯Ό μ§€μ •ν•˜λ„λ‘ ν•œλ‹€. κΈ°λ³Έκ°’μœΌλ‘œλŠ” RH의 rpm으둜 μ„€μΉ˜λ˜μ–΄ μžˆλŠ” /usr/bin/perl 이 지정이 λ˜μ–΄ μžˆλ‹€. λ§Œμ•½ 이 κ²½λ‘œκ°€ μ•„λ‹ˆλΌλ©΄ μˆ˜μ •μ„ ν•΄ μ€˜μ•Ό ν•œλ‹€.

[root@host ~]$ cd jsboard-2.0/INSTALLER/script
[root@host script]$ ./conv_udate

       global.ph λ³€ν™˜μ€‘

       a board μž‘λ™μ€‘
       b board μž‘λ™μ€‘
       ...

[root@host script]$

κ³Ό 같이 μž‘λ™μ„ ν•˜κ²Œ λœλ‹€. 일단 μ„€μ •νŒŒμΌ λ³€ν™˜μ„ λ§ˆμ³€λ‹€λ©΄ 같은 디렉토리에 μ‘΄μž¬ν•˜λŠ” root_p λ‚˜ account_p λ₯Ό μ΄μš©ν•˜μ—¬ νΌλ―Έμ…˜μ„ μ‘°μ • ν•˜μ—¬μ•Ό ν•œλ‹€. 일단 root κΆŒν•œμ΄ 있으면 root_p λ₯Ό μ‹€ν–‰ν•˜λ©΄ 되고, κ³„μ •μœ μ €λ“€μ€ account_p λ₯Ό μ΄μš©ν•˜λ„λ‘ ν•œλ‹€.

μ—¬κΈ°κΉŒμ§€ ν–ˆμœΌλ©΄ 기본적으둜 μ„€μΉ˜λŠ” μ™„λ£Œκ°€ λœλ‹€. μ„€μΉ˜κ°€ μ™„λ£Œκ°€ λ˜μ—ˆμœΌλ©΄ config/gloabal.ph μ—μ„œ λͺ‡κ°€μ§€λ₯Ό μˆ˜λ™μœΌλ‘œ 섀정을 ν•΄μ€˜μ•Ό ν•œλ‹€.

# 둜그인 λ³€μˆ˜λͺ…. λ³΄μ•ˆμƒ μˆ˜μ •ν•˜λŠ” 것을 ꢌμž₯
$jsboard         = 'login';

# 둜그인 λͺ¨λ“œμ—μ„œ λ‘œκ·ΈμΈν›„μ— λŒμ•„κ°ˆ κΈ°λ³Έ νŽ˜μ΄μ§€λ₯Ό μ§€μ •. κΌ­ κ²Œμ‹œνŒμ΄ μ•„λ‹ˆμ–΄λ„
# μƒκ΄€μ—†μŒ
$print['dpage'] = 'http://domain.com/jsboard/list.php?table=test';

# μ—…λ‘œλ“œ 파일의 μ΅œλŒ€ μš©λŸ‰μ„ μ§€μ • (byte)
$upload['maxsize'] = '2000000';           # upload max size

# 메일 κΈ°λŠ₯ μ‚¬μš©μ—¬λΆ€. 0 으둜 μ„€μ •ν•˜λ©΄ 메일 κΈ°λŠ₯을 μ•„μ˜ˆ μ‚¬μš©ν•˜μ§€ μ•ŠμŒ
$rmail['uses']     = 1;

# MTA type
# 1 - 메일 μ„œλ²„κ°€ sendmail 을 μ‚¬μš©ν•  κ²½μš°μ—λŠ” κΌ­ 1을 선택
# 0 - php 의 mail() ν•¨μˆ˜λ₯Ό μ‚¬μš©
$rmail['mta']      = 1;

# 메일 μ„œλ²„ μ£Όμ†Œ
$rmail['smtp']     = '127.0.0.1';

# JSBoard 의 μ›Ή 경둜
$rmail['bbshome']  = 'http://domain.com/jsboard/';

의 값듀을 λ‹€μ‹œ μ •ν™•ν•˜κ²Œ 지정을 ν•΄μ€˜μ•Όμ§€ μš΄μ˜μ„ ν•˜λŠ”λ° μ§€μž₯이 μ—†λ‹€. 이 섀정은 전체 κ΄€λ¦¬μžμ˜ global μ„€μ •μ—μ„œλ„ 변경을 ν• μˆ˜κ°€ μžˆλ‹€. 이제 global.ph 의 섀정을 λ§ˆμ³€λ‹€λ©΄ κ΄€λ¦¬μž νŽ˜μ΄μ§€μ— λ‘œκ·ΈμΈμ„ ν•˜μ—¬ κ΄€λ¦¬μž νŒ¨μŠ€μ›Œλ“œλ₯Ό λ³€κ²½ν•˜λ„λ‘ ν•œλ‹€.

global.ph 의 섀정에 λŒ€ν•΄μ„œλŠ” README.OPERATE λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜λ„λ‘ ν•œλ‹€. μ΄κ³³μ—μ„œ λΉ μ§„ μ„€λͺ…이 μžˆμ„ μˆ˜λ„ μžˆμœΌλ‹ˆ 말이닀.

http://domain.com/jsboard-2.0/login.php?type=admin 으둜 접속을 ν•œλ‹€. 접속을 ν•˜μ—¬ μœ μ € κ΄€λ¦¬μ—μ„œ admin 의 νŒ¨μŠ€μ›Œλ“œλ₯Ό λ³€κ²½ν•˜λ„λ‘ ν•œλ‹€. 이 λ¬Έμ„œλ₯Ό 보고 μ—…κ·Έλ ˆμ΄λ“œλ₯Ό ν•œ μ‚¬λžŒλ“€μ˜ 전체 κ΄€λ¦¬μž IDλŠ” admin 이며, κΈ°λ³Έ νŒ¨μŠ€μ›Œλ“œλŠ” "0000" μ΄λ‹ˆ μ°Έκ³ ν•˜μ—¬ λ‘œκ·ΈμΈμ„ ν•˜λ„λ‘ ν•œλ‹€.

λ‹€μŒ 각 κ²Œμ‹œνŒμ˜ κ΄€λ¦¬μžλ‘œ κ°€μ„œ μ„ΈλΆ€ 섀정을 ν•΄ μ£Όλ©΄ λœλ‹€.

##3. v2.0.5 μ΄ν•˜ λ²„μ „μ—μ„œ v2.0.6 upgrade

2.0.6 μ—μ„œλŠ” comment μ•Œκ³ λ¦¬μ¦˜μ΄ 변경이 λ˜μ–΄ DB μ‘°μž‘μ΄ ν•„μš”ν•˜λ‹€. 컀멘트λ₯Ό μ‚¬μš©ν•˜λŠ” κ²Œμ‹œνŒμ˜ 리슀트λ₯Ό λ³Όλ•Œ comm field κ΄€λ ¨ μ—λŸ¬κ°€ 뜨면 이 μ΄μœ μ΄λ‹€.

2.0.6 으둜 μ—…λ°μ΄νŠΈλ₯Ό ν•œ ν›„, 전체 admin κ΄€λ¦¬μžλ‘œ λ‘œκ·ΈμΈμ„ ν•˜λ„λ‘ ν•œλ‹€. 둜그인 후에 ν…Œμ΄ λΈ” 리슀트λ₯Ό 보면 컀멘트 ν…Œμ΄λΈ”μ—λŠ” "동기화" λΌλŠ” λ²„νŠΌμ΄ 쑴재λ₯Ό ν•œλ‹€. 컀멘트λ₯Ό μ‚¬μš©ν•˜λŠ” κ²Œμ‹œνŒλ“€μ€ λͺ¨λ‘ 이 "동기화" λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬, 동기화λ₯Ό μ‹œμΌœμ€˜μ•Ό ν•œλ‹€.

λ§Œμ•½ 전체 κ΄€λ¦¬μžκ°€ 이λ₯Ό ν•΄ μ£Όμ§€ μ•Šκ³ , 각각의 κ²Œμ‹œνŒ κ΄€λ¦¬μžμ—κ²Œ λ§‘κΈ°λ €λ©΄ 각 κ²Œμ‹œνŒ κ΄€λ¦¬μžμ—κ²Œ κ΄€λ¦¬μž νŽ˜μ΄μ§€λ₯Ό ν•œλ²ˆ λ“€μ–΄κ°€μ„œ 확인을 ν•΄ μ£Όλ©΄ μ•Œμ•„μ„œ μž‘λ™μ„ ν•œλ‹€.

##4. v2.0.6 μ—μ„œ v2.0.7 μ΄μƒμœΌλ‘œ upgrade

2.0.7 λΆ€ν„°λŠ” .ph λ₯Ό μ‚¬μš©ν•˜λ˜ ν™•μž₯μžκ°€ .php 둜 변경이 λ˜μ—ˆκΈ° λ•Œλ¬Έμ— λ‹¨μˆœν•œ λ³€κ²½ μž‘μ—…μ΄ ν•„μš”ν•˜λ‹€.

일단, 2.0.7 의 압좕을 ν’€μ–΄ 놓은 λ‹€μŒ 기쑴의 jsboard/data/* 와 jsboard/config/* 의 λ‚΄μš©μ„ jsboard-2.0.7 의 data/config 에 볡사λ₯Ό ν•˜λ„λ‘ ν•œλ‹€. 볡사λ₯Ό ν•œ 후에, jsboard-2.0.7 λ””λ ‰ν† λ¦¬μ—μ„œ λ‹€μŒμ˜ λͺ…령을 μ‹€ν–‰ν•˜λ„λ‘ ν•œλ‹€.

[root@host jsboard]$ find ./ -name *.ph -exec rename .ph .php {} \;
[root@host jsboard]$ find ./ -name *.ph.orig -exec rename .ph .php {} \;

이 λͺ…령을 μ‹€ν–‰ ν•œ 후에, INSTALLER/script/ 둜 이동을 ν•˜μ—¬ root κΆŒν•œμ΄ μžˆλŠ” μ‚¬μš©μžλŠ” ./root_p λ₯Ό, 계정 μ‚¬μš©μž κΆŒν•œμ΄λΌλ©΄ ./account_p λ₯Ό μ‹€ν–‰ν•˜μ—¬ μ£Όλ©΄ λœλ‹€.

##5. 2.0.7 이상 λ²„μ „μ˜ upgrade

기쑴의 jsboard μ—μ„œ global/* κ³Ό data/* 을 볡사λ₯Ό ν•œλ‹€.

[root@host ~]$ cp -af jsboard.old/global/* jsboard.new/global/
[root@host ~]$ cp -af jsboard.old/data/* jsboard.new/data/

jsboard.new/INSTALL/scripts 둜 μ΄λ™ν•˜μ—¬, root_p λ‚˜ account_p λ₯Ό 싀행을 ν•œλ‹€.