pukiwikiインストールとカスタマイズ

このサイトでpukiwikiをインストール/カスタマイズした時の記録です。

目次

導入環境

  • Fedora release 7 (Moonshine)
  • apache(2.2.8)
  • PHP(5.2.6)

pukiwiki導入

ダウンロード

以下のURLよりたどってダウンロード
http://pukiwiki.sourceforge.jp/?PukiWiki%2FDownload

※今回は、pukiwiki-1.4.7_notb_utf8.tar.gz を使用。

インストール

インストールは一般ユーザ領域にします。pukiwikiの更新時、シンボリックリンクの張替えで短時間に切り替えできるようにします。

$ cd /home/wwwuser
$ tar xvzf pukiwiki-1.4.7_notb_utf8.tar.gz
$ ln -s pukiwiki-1.4.7_notb_utf8/ pukiwiki
$ cd pukiwiki
$ chmod 777 attach backup cache counter diff
$ chmod 755 image image/face lib plugin skin
$ chmod 777 trackback wiki

apache(httpd) のVirtualHost追加

rootユーザで、apacheの設定ファイル(httpd.conf)をバックアップしてから編集します。
http://labs.berrystyle.jp/wiki/ でアクセスするために httpd.conf の設定追加

# cd /etc/httpd/conf/
# cp -ip httpd.conf httpd.conf.YYYYMMDD
# vi httpd.conf
<VirtualHost *:80>
    ServerAdmin webmaster@berrystyle.jp
    DocumentRoot /home/wwwuser/labs
    ServerName labs.berrystyle.jp
    ErrorLog  logs/labs.berrystyle.jp-error_log
    CustomLog logs/labs.berrystyle.jp-access_log combined
    Alias /wiki/ "/home/wwwuser/pukiwiki/"
</VirtualHost>
<Directory "/home/wwwuser/labs">
    Options All
    AllowOverride All
</Directory>
<Directory "/home/wwwuser/pukiwiki">
    Options All
    AllowOverride All
</Directory>

apache(httpd) の変更確認

# service httpd configtest 
# service httpd restart 

Webブラウザで、http://labs.berrystyle.jp/wiki/ でFrontPageが表示されることを確認。

pukiwikiカスタマイズ

SAFE_MODEに設定

$ vi pukiwiki.ini.php
<       define('PKWK_SAFE_MODE', 0);
--- 
>       define('PKWK_SAFE_MODE', 1);

管理者名の設定(デフォルトでフッタに表示される名前)

$ vi pukiwiki.ini.php
< $modifier = 'anonymous';
---
> $modifier = 'berrylabs';

管理者サイトの設定

$ vi pukiwiki.ini.php
< $modifierlink = 'http://pukiwiki.example.com/';
---
> $modifierlink = 'http://labs.berrystyle.jp/';

管理者パスワードの設定(凍結ページの解凍に使用する)

$ vi pukiwiki.ini.php
< $adminpass = '{x-php-md5}!';
---
> $adminpass = '{x-php-md5}' . md5('********');

編集可能ユーザ設定

ユーザが、XXXXXXXXで、パスワードが、********のユーザのみ編集可能

$ vi pukiwiki.ini.php
<       'foo'   => 'foo_passwd', // Cleartext
<       'bar'   => '{x-php-md5}f53ae779077e987718cc285b14dfbe86', // PHP md5() 'bar_passwd'
<       'hoge'  => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx',      // LDAP SMD5 'hoge_passwd'
---
>       'XXXXXXXX'       => '********', // Cleartext
>       //'foo' => 'foo_passwd', // Cleartext
>       //'bar' => '{x-php-md5}f53ae779077e987718cc285b14dfbe86', // PHP md5() 'bar_passwd'
>       //'hoge'        => '{SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx',      // LDAP SMD5 'hoge_passwd'

編集時認証の設定(全ページ編集に認証が必要)

$ vi pukiwiki.ini.php
< $edit_auth = 0;
---
> $edit_auth = 1;

<       '#BarDiary#'            => 'bar',
<       '#HogeHoge#'            => 'hoge',
<       '#(NETABARE|NetaBare)#' => 'foo,bar,hoge',
--- 
>       '/.*/'          => 'XXXXXXXX',
>       //'#BarDiary#'          => 'bar',
>       //'#HogeHoge#'          => 'hoge',
>       //'#(NETABARE|NetaBare)#'       => 'foo,bar,hoge',

編集中のページを管理者のみ表示できるようにする

編集中のページ名を:~として編集し、編集完了後にページ名から:を削除して管理者でなくても表示するように設定。

$ vi pukiwiki.ini.php
< $read_auth = 0;
---
> $read_auth = 1;

<       '#HogeHoge#'            => 'hoge',
<       '#(NETABARE|NetaBare)#' => 'foo,bar,hoge',
---
>       '/^\:/'                 => 'XXXXXXXX',
>       //'#HogeHoge#'          => 'hoge',
>       //'#(NETABARE|NetaBare)#'       => 'foo,bar,hoge',

※以下の設定(一覧表示しないページ/検索対象にしないページ)も確認すること。

$non_list = '^\:';
$search_non_list = 0;

ページタイトルの変更

ページタイトルが、「ベリラボ - wiki - ページ名」となるように設定

vi pukiwiki.ini.php
< $page_title = 'PukiWiki';
---
> $page_title = 'ベリラボ - wiki';

vi skin/pukiwiki.skin.php
<  <title><?php echo $title ?> - <?php echo $page_title ?></title>
---
>  <title><?php echo $page_title ?> - <?php echo $title ?></title>

ページヘッダのページリンク(TOPICPATH)の削除

vi skin/pukiwiki.skin.php
<       define('SKIN_DEFAULT_DISABLE_TOPICPATH', 1); // 1, 0
---
>       define('SKIN_DEFAULT_DISABLE_TOPICPATH', 0); // 1, 0

改行の有効化 編集画面での改行が有効になるようにする。

これを設定しないと、明示的に行末に ~ を入れて改行する必要あり。

vi pukiwiki.ini.php
< $line_break = 0;
---
> $line_break = 1;

ページヘッダのナビゲーションバー削除

[ トップ ] [ 編集 | 凍結 | 差分 ...を非表示にする。

vi ./skin/pukiwiki.skin.php
<       define('PKWK_SKIN_SHOW_NAVBAR', 1); // 1, 0
---
>       define('PKWK_SKIN_SHOW_NAVBAR', 0); // 1, 0

デフォルトページをFrontPageからTopに変更

vi pukiwiki.ini.php
< $defaultpage  = 'FrontPage';     // Top / Default page
---
> $defaultpage  = 'Top';     // Top / Default page

FrontPageを複製してページ名をTopとして保存も行う。

Wikiname(単語のようなもの?)で自動リンクしないようにする。

ここがONになっていると勝手にリンクを探してリンク先がないと"?" の文字がでてしまうため。

vi pukiwiki.ini.php
< $nowikiname = 0;
---
> $nowikiname = 1;

Menubarの幅変更

vi skin/pukiwiki.css.php
div#menubar {
<?php   if ($media == 'print') { ?>
        display:none;
<?php   } else { ?>
        width:12em;
        padding:0px;
        margin:4px;
        word-break:break-all;
        font-size:90%;
        overflow:hidden;
<?php   } ?>
}

↑この部分のwidthを変更 9em → 12em

Menubarのフォントサイズ調整

Menubarで見出しを設定(*をつける)すると本文の見出しと同じフォントサイズになってしまうため調整

vi skin/pukiwiki.css.php
~~~~ 以下のように追記
div#menubar h2 {
      font-family:verdana, arial, helvetica, Sans-Serif;
      color:inherit;
      background-color:#DDEEFF;
      padding:.3em;
      border:0px;
      margin:0px 0px .5em 0px;
      font-size:95%;
}

Menubarの見出しと各行の間隔調整

vi skin/pukiwiki.css.php
~~~~ 以下のように追記
div#menubar p {
       margin:0px 0px 0px 0px;
}

ロゴの変更

vi skin/pukiwiki.skin.php
$_IMAGE['skin']['logo']     = 'pukiwiki.png';
↓
$_IMAGE['skin']['logo']     = 'berrystylelabs-logo.png';

上記変更後、image/ に berrystylelabs-logo.pngを配置

Google Analytics 対応

vi skin/pukiwiki.skin.php
~~~~ 以下のGoogle Analytics 登録されるコードを </body>の直前に追加
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
 </script>
 <script type="text/javascript">
 var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
 pageTracker._initData();
 pageTracker._trackPageview();
 </script>

Google ウェブマスターツール sitemap対応

サイトマップ(sitemap)プラグインのダウンロード

$ cd /tmp/
$ wget http://su-u.jp/juju/%A5%B5%A1%BC%A5%D0/PukiWiki/sitemap/attach/sitemap.1.3.inc.php

ダウンロード後、pukiwikiのpluginディレクトリにコピー

$ cp -ip /tmp/sitemap.1.3.inc.php  /home/wwwuser/pukiwiki/plugin/

.htaccessファイル追記(.htaccessが有効になっていることを事前httpd.confで事前確認)

$ vi /home/wwwuser/pukiwiki/.htaccess
~~~~~ 以下追記 ~~~~~
RewriteEngine on 
RewriteRule ^sitemap\.xml$ index.php?cmd=sitemap
$

robots.txt 追記

$ vi /home/wwwuser/pukiwiki/robots.txt
~~~~~ 以下追記 ~~~~~
Sitemap: http://wiki.berrystyle.jp/sitemap.xml
$

エラー対応

FrontPage の 凍結解除でfile openエラー発生

pukiwiki/wiki のディレクトリのファイルがapacheから書き込みできなかったのが原因

$ cd pukiwiki/wiki
$ chmod a+rw *

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-01-20 (火) 17:32:00 (3465d)