Php Wiki/설치

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences U P RSS
http://phpwiki.sourceforge.net/ 에 가면 소스를 다운받을 수 있다.

PhpWiki 설치 for Windows

사전 준비

PhpWiki 설치 전에 아파치+php가 설치되어 있어야 합니다. 백엔드를 MySQL로 하려면 MySQL도 설치되어 있어야 합니다. (APM이란 Apache + php + MySQL의 줄임말)

PhpWiki 설치

3. PhpWiki 다운로드
[http]여기로 가셔서 PhpWiki를 다운받습니다. 아래 그림과 같은 선택 화면이 나올텐데, 파일을 받는 장소(혹은 서버)를 선택하는 곳에서 unc(US)를 선택하면 조금 더 빠르다고 합니다.


4. PhpWiki의 설치
  • 다운 받은 파일은 phpwiki-1.3.3.tar.gz 이라는 압축 파일입니다. 압축을 해제하면 phpwiki-1.3.3 이라는 폴더가 생성될 것입니다. 이것을 C:\APM_Setup\htdocs 폴더에 폴더째 그대로 복사합니다. phpwiki-1.3.3 폴더명이 너무 길다면 phpwiki라는 이름으로 폴더 이름을 바꿀수도 있습니다.
  • 자, C:\APM_Setup\htdocs\phpwiki 폴더에서 index.php 파일을 찾아 메모장으로 열어보세요. 그리고 메모장의 찾기 기능을 사용해 다음과 같은 부분을 찾아봅니다. 찾기 기능의 단축기는 Ctrl+F 이며, dba로 검색하면 쉽게 찾을 수 있을겁니다.
{{|
$DBParams = array(
// Select the database type:
//'dbtype' => 'SQL',
'dbtype' => 'dba',
|}}
이중 'dbtype' => 'dba', 부분을 'dbtype' => 'SQL', 로 고쳐줍니다.
고친 후는 다음과 같겠지요.
{{|
$DBParams = array(
// Select the database type:
//'dbtype' => 'SQL',
'dbtype' => 'SQL',
|}}
그리고 고친 부분에서 조금만 밑으로 내려가면 - 딱 열 두줄입니다 - 다음과 같은 부분을 찾으실 수 있을겁니다.

   //'dsn' => 'mysql://guest@:/var/lib/mysql/mysql.sock/test',
   //'dsn' => 'mysql://guest@localhost/test',
   //'dsn' => 'pgsql://localhost/test',
이중 //'dsn' => 'mysql://guest@localhost/test', 부분을 'dsn' => 'mysql://root@localhost/phpwiki', 로 고쳐줍니다.
고친 후는 다음과 같겠지요. (맨 앞줄의 // 를 없애는 겁니다. 오타 아닙니다)

   //'dsn' => 'mysql://guest@:/var/lib/mysql/mysql.sock/test',
'dsn' => 'mysql://root@localhost/phpwiki',
   //'dsn' => 'pgsql://localhost/test',

  • 한글을 쓸 수 있게 해야겠지요? 다음을 고쳐줍니다.

define("CHARSET", "iso-8859-1");
이것을 다음과 같이

define("CHARSET", "euc-kr");

  • 자, 마지막으로 사용자를 설정해 봅시다. 다음과 같은 내용을 찾아 고치세요.

define('ADMIN_USER', "");
define('ADMIN_PASSWD', "");
여기서 따옴표 "" 안에 관리자(본인)의 이름과 암호를 채워 넣으세요. 가령 관리자 ID가 chatmate 고 암호가 wikiwiki라면

define('ADMIN_USER', "chatmate");
define('ADMIN_PASSWD', "wikiwiki");
이렇게 채워 넣습니다. :))

5. DB 설정
  • 자, 이제 웹브라우저를 실행시켜봅시다. 모질라나 인터넷 익스플로러를 실행시켜서 주소창에 다음과 같이 localhost라고 입력해 봅니다. 그러면 하얀 배경에 그 다음 그림과 같은 화면이 뜨고 곧 APM_Setup3 관리 페이지로 넘어가게 됩니다.




  • 관리 페이지 상단 가장 오른쪽에 다음 그림과 같이, 웹상에서 My SQL을 관리하기 위한 툴을 호출하는 php My Admin 이라는 메뉴가 있습니다. 클릭하면 브라우저로 php My Admin을 실행하게 됩니다. 실행하세요.




  • 위와 같은 화면이 나타나면 성공입니다. 화면 내용이 다르다면 왼쪽 위에 있는 Main Page 라는 굵은 글씨를 클릭하세요.
  • 회색 바탕의 오른쪽 화면에서 My SQL 바로 아래에 있는 새로운 데이터 베이스를 만듭니다 라는 내용이 보이시지요? 그 바로 아래 하얀 입력창에 phpwiki라고 적습니다. 소문자로 적어주세요. 다 적으셨으면 만들기 버튼을 클릭합니다.




  • 자, 위와 같이 왼쪽 화면 굵은 글씨 Main Page 밑에 phpwiki 항목이 생기면 성공입니다~ :))
  • 자, 아래 그림과 같이 혹은 SQL 덤프 데이터 텍스트 파일 : 이라고 되어 있는 바로 아래의 입력창에 C:\APM_Setup\htdocs\phpwiki\schemas\mysql.sql 라고 입력하고 실행버튼을 클릭합니다. (아, 길다... :( )

  • 자, 아래 그림과 같이 왼쪽화면 굵은 글씨 메뉴인 Main Page 밑에 phpwiki, 그리고 phpwiki의 하위 항목이 생겼다면 성공!! 애쓰셨습니다. 고생하셨습니다. 길게도 힘드셨을겁니다. 이제 끝났습니다!!


자, 브라우저를 띄우고 주소창에 localhost/phpwiki 라고 입력하세요!


여러분의 기다림은 마침내 끝이 났습니다. PhpWiki의 "최초설치환영" 화면이 여러분을 반길 것입니다. ;)


6. 원활한 한글 사용을 위한 수정 사항
  • 1.3.3 버전은 유럽 언어를 고려한 탓에 한글의 일부 코드를 위키 이름으로 인식하는 경우가 있습니다. 다음은 그 수정 방법입니다. lib 폴더의 config.php 파일에서 다음 내용을 찾습니다.

static $classes = array(
                            'alnum' => "0-9A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\xff",
                            'alpha' => "A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\xff",
                            'upper' => "A-Z\xc0-\xd6\xd8-\xde",
                            'lower' => "a-z\xdf-\xf6\xf8-\xff"
                            );


다음과 같이 수정합니다.

static $classes = array(
                            'alnum' => "0-9A-Za-z",
                            'alpha' => "A-Za-z",
                            'upper' => "A-Z",
                            'lower' => "a-z"
                            );

  • 일부 테이블 관련 플러그인 사용 시 출력이 깨지는 오류. lib/htmlElement.php 파일에서 다음 내용을 찾습니다.

define('NBSP', "\xA0");         // iso-8859-x non-breaking space.

다음과 같이 수정합니다.

define('NBSP', " ");         // 공백으로 수정

PhpWiki를 유닉스에 설치하기

개인 컴퓨터에 설치하는 것과의 차이점만 적습니다. 자세한 것은 위의 내용을 참조하세요.

  1. PhpWiki를 사용할 수 있는 계정을 얻는다.
    조건
  • PhpLanguage를 쓸 수 있어야 함
  • PhpWiki가 지원하는 DBMS를 쓸 수 있어야 함 (mini sql, my sql, ps sql)
  1. 서버 관리자에게 DB 암호를 문의한다.
  2. DB 타입과 암호를 PhpWiki 에 설정한다.
  3. DB 종류에 따라 PhpWiki의 schemas 폴더 밑에 있는 덤프 텍스트를 로딩해준다. 직접 SQL 커맨드라인으로 해도 되고, Php My Admin 을 이용해도 되며, 못 하겠으면 서버 관리자에게 해달라고 하면 된다.
  4. 나머지는 개인 컴퓨터에 설치하는 방법과 동일하다.

웹인터페이스가 없는 MySQL 사용시 DB설정방법

Linux서버에 MySQL 웹인터페이스가 없는 경우, Telnet으로 접속후, 커맨드라인을 통하여 DB구성을 하여야 한다. 다음과 같이 한다.

  1. telnet으로 로그인
  2. 프롬프트($)상에서 다음과 같은 명령으로 mysql monitor를 실행한다. (보통 USERNAME을 root로 사용하곤 한다.)

 mysql -u USERNAME -pPASSWORD
  1. mysql> 프롬프트가 나온다.
  2. 다음명령으로 데이터베이스를 본다.

 show databases;
  1. phpwiki라는 데이터베이스를 다음과 같이 만든다.

 create database phpwiki;
  1. 이 데이터베이스에 들어간다.

 use phpwiki;
  1. 데이터 베이스에 테이블을 만드는 스크립트를 실행한다.

 source schemas/mysql.sql
  1. 이제 mysql 을 빠져나온다.
  2. index.php를 앞에서 설명한 대로 수정한다. 특히 다음 줄을 자기의 USERNAME과 PASSWORD에 맞게 고친다.

 'dsn' => 'mysql://USERNAME:PASSWORD@localhost/phpwiki',

re) 2번 과정에 대해: 보안을 생각한다면 명령줄에 mysql -p 옵션을 쓰는 것은 좋지 않습니다. 명령줄은 다른 사용자도 다 볼 수 있거든요. -u 옵션만 쓰고 암호를 물어보면 그때 대답해야 합니다. --서상현


설치상의 문답

Q : PhpWiki 를 리눅스서버에 설치했습니다만.. 다음과 같은 오류가 나옵니다.
parse error, expecting `T_STRING' or `T_VARIABLE' or `'$'' in lib/Request.php on line 28
Fatal error: Class declarations may not be nested in lib/WikiUser.php on line 19

서버는 레드햇 계열의 와우리눅스 7.1 파란, PHP 버전은 4.0.3pl1-1 입니다. -Drgant

A : PhpWiki 가 현재 설치된 것보다 높은 버전의 PHP를 필요로 하기에 생기는 문제입니다.

PhpWiki 1.3.2 이하 버전을 설치하시거나 PHP 4.0.5 이상 버전으로 업그레이드하셔야 합니다. --Alphard

질문

Q : 이중 //'dsn' => 'mysql://guest@localhost/test', 부분을 'dsn' => 'mysql://root@localhost/phpwiki', 로 고쳐줍니다.
라고 되어 있는데요~ 윈도우즈 APM 상에서 localhost가 아닌 웹 공개용으로 사용하려고 합니다.
이럴 경우 'dsn' => 'mysql://root@localhost/phpwiki' 를 어떻게 바꿔줘야 할까요?
제가 nameip에 무료 도메인을 가지고 있다고 가정하고요. 웹주소가 http://xyz.nameip.net:8081/ 라면 어떻게 설정하면 될까요?
제가 생각한 거는 'dsn' => 'mysql://root@xyz.nameip.net:8081/phpwiki' 이렇게 하면 될 것 같은데, 앞에 root@ 를 왜 붙이는지가 궁금하군요?

A: 'dsn' => 'mysql://계정:패스워드@계정주소:포트/DB명' 이런식입니다.root@ 는 root로 mysql에 접속해서 모든걸 하겠다는 거죠.
근데 nameip에 무료 도메인이랑 db가 마련되어 있다면 윈도우에 설치할 필요가 있나요? -.-;; db만 그쪽에걸 쓴다면 모를까. 흠...

A2: 설치방법대로 하시구요. localhost 로 접속되는건 httpd.conf 를 수정하셔야 합니다.
httpd.conf 에서 서버주소가 localhost 로 되어 있으면 링크가 localhost 로 됩니다. 저도 이것때문에 한동안 헤멨습니다.

Q: CHARSET을 UTF-8로 바꾸면 안되는가요?...-_-; 그냥 유니코드로 하고 싶어서요;;;
그렇게 해보았는데, MySQL과의 문제인 듯, 몇가지 무시할 수 없는 수준의 트러블이 있었습니다. 직접 test 해보세요.
제가 설치한 것은 1.2.2 버전입니다. 위의 설치랑 좀 다른거 같습니다만;;;

A: [http]링크 PhpWiki 1.2.2를 설치하고 templates 아래의 html파일들을 euc-kr로 설정했습니다. 더이상 한글 문제 등을 위해 설정해야 할 부분이 있는건가요?


"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>