created and maintained by tokd

HowToSetUpUniWikiAtNifty

UniWiki β1.56 の場合

(サーバ側のディレクトリ構成)


 cgi-bin/
    Algorithm/Diff.pm*2
    CGI/Carp.pm        (from standard library)
    Yuki/DiffText.pm*2
    Yuki/RSS.pm*2
    Yuki/YukiWikiDB.pm*2
    Carp.pm            (from standard library)
    CGI.pm             (from standard library)
    conflict.txt
    Exporter.pm        (from standard library)
    format.txt
    frontpage.txt
    integer.pm         (from standard library)
    lib.pm             (from standard library)*1
    overload.pm        (from standard library)
    resource.txt
    shellwords.pl      (from standard library)
    strict.pm          (from standard library)
    touched.txt
    vars.pm            (from standard library)
    uniwiki.cgi*2

 homepage/
    icon40x40.gif
    uniwiki.css

  • 1 環境依存の Config.pm を使わないように変更


# use Config;
# my $archname = $Config{'archname'};
my $archname = '';

  • 2 UniWiki 配布ファイルの修正点


*** Diff.pm.dist	Sun Mar 30 09:27:10 2003
--- Diff.pm	Sat Oct 09 19:06:47 2004
***************
*** 1,5 ****
  package Algorithm::Diff;
! use Encode;
  use strict;
  use vars qw($VERSION @EXPORT_OK @ISA @EXPORT);
  use integer;		# see below in _replaceNextLargerWith() for mod to make
--- 1,5 ----
  package Algorithm::Diff;
! #use Encode;
  use strict;
  use vars qw($VERSION @EXPORT_OK @ISA @EXPORT);
  use integer;		# see below in _replaceNextLargerWith() for mod to make
*** DiffText.pm.dist	Sun Mar 30 09:27:34 2003
--- DiffText.pm	Sat Oct 09 19:03:17 2004
***************
*** 1,5 ****
  package Yuki::DiffText;
! use Encode;
  use strict;
  use Algorithm::Diff qw(traverse_sequences);
  use vars qw($VERSION @EXPORT_OK @ISA);
--- 1,5 ----
  package Yuki::DiffText;
! #use Encode;
  use strict;
  use Algorithm::Diff qw(traverse_sequences);
  use vars qw($VERSION @EXPORT_OK @ISA);
*** RSS.pm.dist	Sun Mar 30 09:27:30 2003
--- RSS.pm	Sat Oct 09 19:01:32 2004
***************
*** 1,5 ****
  package Yuki::RSS;
! use Encode;
  use strict;
  use vars qw($VERSION);
  $VERSION = '0.2';
--- 1,5 ----
  package Yuki::RSS;
! #use Encode;
  use strict;
  use vars qw($VERSION);
  $VERSION = '0.2';
*** YukiWikiDB.pm.dist	Sun Mar 30 09:27:40 2003
--- YukiWIkiDB.pm	Sat Oct 09 19:10:23 2004
***************
*** 1,5 ****
  package Yuki::YukiWikiDB;
! use Encode;
  my $debug = 1;
  
  # Constructor
--- 1,5 ----
  package Yuki::YukiWikiDB;
! #use Encode;
  my $debug = 1;
  
  # Constructor
*** uniwiki.cgi.dist	Sun Jul 18 00:48:12 2004
--- uniwiki.cgi	Sat Oct 09 19:30:41 2004
***************
*** 1,4 ****
! #!/usr/bin/perl
  #!perl
  #
  # wiki.cgi - This is YukiWiki, yet another Wiki clone.
--- 1,4 ----
! #!/usr/local/bin/perl
  #!perl
  #
  # wiki.cgi - This is YukiWiki, yet another Wiki clone.
***************
*** 41,47 ****
  use Yuki::YukiWikiDB;
  #require 'jcode.pl';
  # use Jcode;
! use Fcntl;
  # Check if the server can use 'AnyDBM_File' or not.
  eval 'use AnyDBM_File';
  my $error_AnyDBM_File = $@;
--- 41,47 ----
  use Yuki::YukiWikiDB;
  #require 'jcode.pl';
  # use Jcode;
! #use Fcntl;
  # Check if the server can use 'AnyDBM_File' or not.
  eval 'use AnyDBM_File';
  my $error_AnyDBM_File = $@;
***************
*** 50,67 ****
  #
  # You MUST modify following '$modifier_...' variables.
  #
! my $modifier_mail = 'who@hogehoge.com'; # Your mail address.
! my $modifier_url = 'http://hogehoge.hoge/'; # Your web page.
! my $modifier_name = 'Mao Zedong'; # Your name.
  #my $modifier_dbtype = 'AnyDBM_File';
  # my $modifier_dbtype = 'dbmopen';
  my $modifier_dbtype = 'YukiWikiDB';
  # my $modifier_sendmail = '/usr/sbin/sendmail -t -n'; # Your sendmail.
  my $modifier_sendmail = ''; # If you don't need mail notification.
  my $modifier_dir_data = '.'; # Your data directory (not URL, but DIRECTORY).
! my $modifier_url_data = '.'; # Your data URL (not DIRECTORY, but URL).
  my $modifier_rss_title = "UniWiki $version";
! my $modifier_rss_link = 'http://hogehoge.hoge/uniwiki.cgi';
  my $modifier_rss_description = 'This is UniWiki, yet another Wiki clone';
  ##############################
  #
--- 50,67 ----
  #
  # You MUST modify following '$modifier_...' variables.
  #
! my $modifier_mail = ''; # Your mail address.
! my $modifier_url = 'http://hpcgi2.nifty.com/tokd/uniwiki/'; # Your web page.
! my $modifier_name = 'tokd'; # Your name.
  #my $modifier_dbtype = 'AnyDBM_File';
  # my $modifier_dbtype = 'dbmopen';
  my $modifier_dbtype = 'YukiWikiDB';
  # my $modifier_sendmail = '/usr/sbin/sendmail -t -n'; # Your sendmail.
  my $modifier_sendmail = ''; # If you don't need mail notification.
  my $modifier_dir_data = '.'; # Your data directory (not URL, but DIRECTORY).
! my $modifier_url_data = 'http://homepage2.nifty.com/tokd/uniwiki'; # Your data URL (not DIRECTORY, but URL).
  my $modifier_rss_title = "UniWiki $version";
! my $modifier_rss_link = 'http://hpcgi2.nifty.com/tokd/uniwiki/uniwiki.cgi';
  my $modifier_rss_description = 'This is UniWiki, yet another Wiki clone';
  ##############################
  #
***************
*** 820,827 ****
          dbmopen(%database, $dataname, 0666) or &print_error("(dbmopen) $dataname");
          dbmopen(%infobase, $infoname, 0666) or &print_error("(dbmopen) $infoname");
      } elsif ($modifier_dbtype eq 'AnyDBM_File') {
!         tie(%database, "AnyDBM_File", $dataname, O_RDWR|O_CREAT, 0666) or &print_error("(tie AnyDBM_File) $dataname");
!         tie(%infobase, "AnyDBM_File", $infoname, O_RDWR|O_CREAT, 0666) or &print_error("(tie AnyDBM_File) $infoname");
      } else {
          tie(%database, "Yuki::YukiWikiDB", $dataname) or &print_error("(tie Yuki::YukiWikiDB) $dataname");
          tie(%infobase, "Yuki::YukiWikiDB", $infoname) or &print_error("(tie Yuki::YukiWikiDB) $infoname");
--- 820,827 ----
          dbmopen(%database, $dataname, 0666) or &print_error("(dbmopen) $dataname");
          dbmopen(%infobase, $infoname, 0666) or &print_error("(dbmopen) $infoname");
      } elsif ($modifier_dbtype eq 'AnyDBM_File') {
! #        tie(%database, "AnyDBM_File", $dataname, O_RDWR|O_CREAT, 0666) or &print_error("(tie AnyDBM_File) $dataname");
! #        tie(%infobase, "AnyDBM_File", $infoname, O_RDWR|O_CREAT, 0666) or &print_error("(tie AnyDBM_File) $infoname");
      } else {
          tie(%database, "Yuki::YukiWikiDB", $dataname) or &print_error("(tie Yuki::YukiWikiDB) $dataname");
          tie(%infobase, "Yuki::YukiWikiDB", $infoname) or &print_error("(tie Yuki::YukiWikiDB) $infoname");
***************
*** 845,851 ****
      if ($modifier_dbtype eq 'dbmopen') {
          dbmopen(%diffbase, $diffname, 0666) or &print_error("(dbmopen) $diffname");
      } elsif ($modifier_dbtype eq 'AnyDBM_File') {
!         tie(%diffbase, "AnyDBM_File", $diffname, O_RDWR|O_CREAT, 0666) or &print_error("(tie AnyDBM_File) $diffname");
      } else {
          tie(%diffbase, "Yuki::YukiWikiDB", $diffname) or &print_error("(tie Yuki::YukiWikiDB) $diffname");
      }
--- 845,851 ----
      if ($modifier_dbtype eq 'dbmopen') {
          dbmopen(%diffbase, $diffname, 0666) or &print_error("(dbmopen) $diffname");
      } elsif ($modifier_dbtype eq 'AnyDBM_File') {
! #        tie(%diffbase, "AnyDBM_File", $diffname, O_RDWR|O_CREAT, 0666) or &print_error("(tie AnyDBM_File) $diffname");
      } else {
          tie(%diffbase, "Yuki::YukiWikiDB", $diffname) or &print_error("(tie Yuki::YukiWikiDB) $diffname");
      }