http://phpwiki.sourceforge.net/ 에 가면 소스를 다운받을 수 있다.
사전 준비 ¶
PhpWiki 설치 ¶
3. PhpWiki 다운로드
여기로 가셔서 PhpWiki를 다운받습니다. 아래 그림과 같은 선택 화면이 나올텐데, 파일을 받는 장소(혹은 서버)를 선택하는 곳에서 unc(US)를 선택하면 조금 더 빠르다고 합니다.
![[http]](/ns/imgs/http.png)
4. PhpWiki의 설치
$DBParams = array(
$DBParams = array(
- 다운 받은 파일은 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' => 'SQL',
'dbtype' => 'dba',
이중 'dbtype' => 'dba', 부분을 'dbtype' => 'SQL', 로 고쳐줍니다.
고친 후는 다음과 같겠지요.
{{|고친 후는 다음과 같겠지요.
$DBParams = array(
// Select the database type:
//'dbtype' => 'SQL',
'dbtype' => 'SQL',
|}}//'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의 하위 항목이 생겼다면 성공!! 애쓰셨습니다. 고생하셨습니다. 길게도 힘드셨을겁니다. 이제 끝났습니다!!
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를 유닉스에 설치하기 ¶
개인 컴퓨터에 설치하는 것과의 차이점만 적습니다. 자세한 것은 위의 내용을 참조하세요.
- PhpWiki를 사용할 수 있는 계정을 얻는다.
조건
- PhpLanguage를 쓸 수 있어야 함
- PhpWiki가 지원하는 DBMS를 쓸 수 있어야 함 (mini sql, my sql, ps sql)
웹인터페이스가 없는 MySQL 사용시 DB설정방법 ¶
Linux서버에 MySQL 웹인터페이스가 없는 경우, Telnet으로 접속후, 커맨드라인을 통하여 DB구성을 하여야 한다. 다음과 같이 한다.
- telnet으로 로그인
- 프롬프트($)상에서 다음과 같은 명령으로 mysql monitor를 실행한다. (보통 USERNAME을 root로 사용하곤 한다.)
mysql -u USERNAME -pPASSWORD
- mysql> 프롬프트가 나온다.
- 다음명령으로 데이터베이스를 본다.
show databases;
- phpwiki라는 데이터베이스를 다음과 같이 만든다.
create database phpwiki;
- 이 데이터베이스에 들어간다.
use phpwiki;
- 데이터 베이스에 테이블을 만드는 스크립트를 실행한다.
source schemas/mysql.sql
- 이제 mysql 을 빠져나온다.
- 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를 필요로 하기에 생기는 문제입니다.
질문 ¶
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@ 를 왜 붙이는지가 궁금하군요?
라고 되어 있는데요~ 윈도우즈 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에 접속해서 모든걸 하겠다는 거죠.
링크 PhpWiki 1.2.2를 설치하고 templates 아래의 html파일들을 euc-kr로 설정했습니다. 더이상 한글 문제 등을 위해 설정해야 할 부분이 있는건가요?
근데 nameip에 무료 도메인이랑 db가 마련되어 있다면 윈도우에 설치할 필요가 있나요? -.-;; db만 그쪽에걸 쓴다면 모를까. 흠...
A2: 설치방법대로 하시구요. localhost 로 접속되는건 httpd.conf 를 수정하셔야 합니다. httpd.conf 에서 서버주소가 localhost 로 되어 있으면 링크가 localhost 로 됩니다. 저도 이것때문에 한동안 헤멨습니다.
Q: CHARSET을 UTF-8로 바꾸면 안되는가요?...-_-; 그냥 유니코드로 하고 싶어서요;;;그렇게 해보았는데, MySQL과의 문제인 듯, 몇가지 무시할 수 없는 수준의 트러블이 있었습니다. 직접 test 해보세요.
A: 제가 설치한 것은 1.2.2 버전입니다. 위의 설치랑 좀 다른거 같습니다만;;;
![[http]](/ns/imgs/http.png)