블로그 이미지
WEBLOG about HooYa
HooYa

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

UTF-8에서 phpBB2 설치

2006. 6. 13. 19:25 | Posted by HooYa

아래에 테스트하기위한 링크는 삭제되었습니다.

내가 사용하는 호스팅은 UTF-8을 사용하는 호스팅인데 사실 이것이 무엇을 의미하는지는 잘 알지 못한다. 웹에 관한 무지 때문이기도 하며 사실 이런 골머리 아픈 것은 피해가고 싶은 이유에서인지도 모른다. 그리고 utf-8 환경을 지원해주는 게시판이 아직은 많지 않은 것으로 알고 있고 이 부분은 내 생각이 틀렸을지도 모르나 대부분 많이 사용하는 제로보드의 경우 그러한 것으로 알고 있다. 가끔 제로보드를 utf-8에서 사용하려는 사람들의 글 내용을 보면 역시 삽질이라는 단어를 많이 볼 수 있는 것으로만 봐도 아마 제대로 동작하지 않는다는 것을 추측해볼 수 있는 것 아닐까?

내가 사용하는 호스팅이 바로 UTF-8의 호스팅이며 예전에 어느 게시판에서 phpBB2를 설치 했을때 한글이 깨지거나 출력이 안되는 것을 보았으며, 당시 나도 설치를 해보았는데 역시 한글의 입력과 출력이 제대로 되지 않았고, 한글 언어팩을 설치했 때는 더 심각한 상태로 기억이 된다. 그런데 며칠전 phpBB2를 UTF-8 환경에서 설치하는 방법을 게시한 것을 발견하고 내용을 참고삼아서 UTF-8에서 다시 phpBB2를 설치 해보았다.

현재 설치된 phpBB2 테스트 주소는 http://hooya.dobcast.com/phpBB2 이다.

설치 방법은 (설치 방법을 기록한 게시판의 글을 그대로 인용해본다.)


1. 설치전 다음 파일을 수정한다.
(1) /db/mysql.php의 55번째 줄 다음줄에 다음을 추가한다.
(2) /db/mysql4.php의 48번째 줄 다음줄에 다음을 추가한다.
mysql_query('set names utf8');
(3) /language/lang_english/lang_main.php의 36번째줄을 다음과 같이 고친다.
$lang['ENCODING'] = 'UTF-8';
- 언어팩을 미리 깔아놨으면 언어팩마다 위와 같이 수정해준다.
(4) /language/lang_korean/ 의 하위에 있는 모든 파일을 에디티플러스 등으로 UTF-8로 새로 저장한다.
- 언어팩을 미리 깔아놨을 경우

2. 설치 후 다음 파일을 수정한다.(설치 전에 수정해도 됩니다.)
(1) 모든 랭귀지폴더(한국어를 예로들면 /language/lang_korean) 의 email 폴더에 있는 *.tpl들에 있는 Charset: 이 다음 부분을 UTF-8로 바꾸어주고, UTF-8로 저장한다.
하위 파일을 모두 UTF-8로 새로 저장한다.
(2) /includes/emailer.php 의 78번째 줄을 다음으로 고친다.
$this->subject = '=?UTF-8?B?'.base64_encode(trim(preg_replace('#[\n\r]+#s', '', $subject))).'?=';
- UTF-8로 메일을 보내면 깨져서 드가는 웹메일서비스가 있습니다. iconv가 깔려있다면 적당히 바꾸시면 좋습니다.

3. 부가내용
(1) 일본어 및 중국어 등의 언어팩을 깔 경우 phpbb.com에서 다운을 받는다.
(2) 에디트 플러스의 설정 -> 파일 부분의 새 파일 형식이 있는데 그 옆에 ...이라고 씌여진 부분을 눌러서 일본어와 중국어를 인코딩창으로 옮긴다.(일본어는 Shift-JIS로 하면 됩니다.)
(2) 에디트 플러스에서 ftp로 접속해서 파일을 모두 연다. 열때 추가된 인코딩으로 적절하게 선택한다.
(3) 저장을 UTF-8로 다시 해준다.(왠 노가다 -_-;;)

PHPBB가 다국어는 현재까지 전혀 고려하지 않고 제작을 해서 곳곳에 고쳐야 할 코드가 있을지도 모릅니다만, 나이스하게 작동합니다.

[퍼온 글 : phpschool의 게시판 ] [발췌한 내용 보기]


위와 같은 방법으로 설치를 했으며 최초 설치를 할때 해당 되는 내용이며
현재 설치 되어 있는 테스트를 위한 phpBB2의 경우 설치 과정에서 1번 과정 중에 (1)~(4) 의 내용을 적용했고 차후 메일 부분도 적용을 해볼까 한다.
아직 phpBB에 관한 사용법도 모르고 있으며 단지 UTF-8 환경에서 설치 후 사용할 수 있는지를 테스트하기 위해서 그대로 적용해 본 것이다. 차후 어느 정도 사용법을 숙지하면 2번의 내용도 적용해 볼 생각이다.

http://hooya.dobcast.com/phpBB2 에서 한글의 입출력이 자유로운지 참고를 하시면 될 것 같네요.
해당 URL은 일단 테스트용으로 생성을 한 것이라 언제 사라질지는 알 수 없습니다.
1. 많이 사용되는 기본적인 Linux 명령어



2. 계정에서 홈페이지 백업, 복원하기

  • 백업을 하려면 telnet, ssh 클라이언트로 계정에 로그인한 후 백업하려는 디렉토리로 이동을 한 후
    tar cvfpz 압축하고자 하는 이름.tar *

    ※ tar : 파일 수집 명령
    -c : 기존 파일들을 수집하여 기록 파일로 생성한다.
    -f : 기록 파일명을 지정한다
    -v : 수집되는 기록 파일들의 작업 상태를 출력한다.
    -p : 기존 파일들의 퍼미션까지 압축
    -z : gzip 유틸리티를 불러 압축이 되게 함
      * : 모든 파일 압축


    ls -al 명령으로 압축하고자 하는 이름.tar *
    파일이 생성되었는지 확인 할 수 있으며
    FTP 프로그램으로 다운 받으면 된다.

  • 복원을 할 경우 telnet, ssh, FTP 프로그램등으로
    계정에 복원하려는 파일명.tar를 올린 후
    tar xvfpz 파일명.tar 명령으로 복원을 하면 된다.

    ※ tar : 파일 수집 명령
    -x : 수집되는 기록 피일을 수집 전의 원래 파일들로 풀어준다
    -v : 수집되는 기록 파일들의 작업 상태를 출력한다.
    -f : 기록 파일명을 지정한다
    -p : 기존 파일들의 퍼미션
    -z : gzip 유틸리티를 불러 압축을 풀게 함

3. DB 백업과 복원하기

  • 디비백업은 telnet, ssh로 계정에 로그인 한 후 pwd 명령을 실행하면 계정의 절대경로를 알수 있다.
    절대경로가 /home/html 일 경우

    mysqldump -u아이디 -p패스워드 디비네임 > /home/html/백업명.sql

  • 디비복원은 백업받은 백업명.sql을 업로드한 후
    (/home/html/백업명.sql이라고 가정)

    mysql -u아이디 -p패스워드 디비네임 < /home/html/백업명.sql

Nobody 폴더나 파일 삭제

2006. 5. 27. 00:27 | Posted by HooYa
며칠 전 사용하던 웹프로그램 중에서 하나를 디렉터리를 변경하기 위해서 삭제를 하려고 했다. 그 프로그램이 웹상에서 언인스톨을 지원 하지 않아 할 수 없이 디비와 폴더를 삭제하고 재생성하는 방법을 택했다. 사실 이 작업이 그다지 불편한 것은 아니니 별문제는 되지 않았다. 우선 디비에 생성된 테이블을 삭제한 후 FTP로 폴더를 삭제하는 순간 문제가 발생한 것이다. 하위 폴더와 파일 중에 노바디 권한을 가진 것들이 말썽을 일으킨 것이다. 보통 우리가 웹에서 생성한 폴더나 파일은 FTP에서 생성한 것들과는 달리 권한이 노바디를 갇게 되는데 이 Nobody 파일이나 폴더는 웹상에서 삭제는 쉬운데 문제는 간혹 FTP에서 변경 또는 삭제를 할 수 없는 경우가 생긴다. 그래서 할 수 없이 아래의 방법을 사용해서 삭제를 하였다.


우선 텍스트 문서를 만든 다음

[CODE type="c"]<?
//폴더/파일 삭제시
$cmd = `rm -rf 폴더 또는 파일명`;
echo "$cmd";
echo "폴더가 삭제되었습니다.";
?>[/HTML][/CODE]

이렇게 php언어를 삽입한 후 파일명을 파일명.php로 바꾼 후 노바디 파일이나 폴더와 같은 위치에 올린다.
올린 파일의 경로에 맞게 실행을 하면 호스팅 업체에 따라 다소 차이가 있는데 파일이나 폴더가 삭제가 되었으면 다음 작업을 하면 되고 만약 삭제가 되지 않았을 경우 FTP에서 삭제를 하면 된다. 이 방법 역시 불편하다면 호스팅 업체에 지워달라고 하면 된다(젤 쉬운 방법?).
노프레임셋을 이용한 고정 도메인 효과를 얻을 때에 보통 새로고침(F5)을 하게 되면 페이지의 인덱스로 이동을 하게 된다. 새로고침을 하더라도 그 페이지를 유지하는 방법은 노프레임셋 상단에 아래와 같은 php문장을 넣어주면 된다.


[CODE type="c"]<?php
// 리플레시(F5)때 주소가 고정인 홈페이지 일지라도 실제 URL을 Refresh
$LastModified = gmdate("D d M Y H:i:s", filemtime($HTTP_SERVER_VARS[SCRIPT_FILENAME]));
header("Last-Modified: $LastModified GMT");
header("ETag: \"$LastModified\"");
?>
[/HTML][/CODE]

워낙 알려진 내용이라 어디서 퍼왔는지는 ^^*
이전 1 다음