solaris下配置twiki
时间:2006-03-14 来源:lolo517
(先声明一下,对于apache1.3版本下我可以成功的直接访问,就是通过http://yourdomain.com 直接给出的就是 /twiki/bin/view也就是twiki中负责一切的初始页,但是在apache2.0下无论我怎么设置都不能直接访问必须自己新建一个index.html然后在转向过去,如果有谁知道apache2.0下如何直接访问,view ,一定给我留言,谢谢)
从TWiki.org下载最新稳定版本,将twiki解压缩后移动/opt/twiki目录下:目录下的文件 检查perl装了没,有没有/usr/bin/perl。如果装了perl后没有/usr/bin/perl,可以root身份用下述命令建一个。假定你的perl在/usr/lib/perl,则:
ln -sf /usr/lib/perl /usr/bin/perl
TWIKI默认的CGI执行用户是nobody,如果不是,请看文档修改吧。以下都是以nobody为默认的。置/opt/twiki/bin/下的程序可执行,twiki/pub和twiki/data下的内容nobody可写(为省事,改成777吧,因为有些文件被保护了).同时,检查rcs装了没,diff有没有,还要检查有没有/usr/sbin/sendmail。
bin <== scripts
data <== data: the all meta: structure data and un-structure data
index.html <== default page
lib <== support libary
license.txt <== License
pub <== the public data
pub-htaccess.txt <== pub
readme.txt <== README
robots.txt <== robots.txt: crawler scripts
root-htaccess.txt <== example of root .htaccess file
subdir-htaccess.txt <== example of .htaccess file in sub directory
templates <== default templates
TWikiDocumentation.html <== TWiki documents
TWikiHistory.html <== TWiki history
UpgradeTwiki <== Upgrade scripts
缺省 data 目录下:
debug.txt <== debug log
_default <== default templates wiki page
log200501.txt <== monthly logs
log200503.txt <== monthly logs
log200504.txt <== monthly logs
log200505.txt <== monthly logs
Main <== package Main(default)
mime.types <== apache configure
Sandbox <== package Sandbox(testing / trail)
Trash <== package Trash bin
TWiki <== package Twiki: admin porpose
warning.txt <== warning log
每个目录下:就是一个“库”
一个文件
一个版本文件
WebHome.txt
WebHome.txt,v
编辑时还会有临时:锁定文件
WebHome.lock
锁定模板:
chmod a-w templates
chmod g-w templates
系统版本:bash-2.05# cat /etc/release
Solaris 9 9/04 s9s_u7wos_09 SPARC
Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 29 June 2004
apache的版本 Apache/1.3.29 Server
所需要修改的配置文件 ,
httpd.conf
======
listen 80
port 80
DocumentRoot "/opt/twiki/bin"
下边的需要自己添加
ScriptAlias /twiki/bin/ "/opt/twiki/bin/"
Alias /twiki/ "/opt/twiki/"
<Directory "/opt/twiki/bin">
Options +ExecCGI
SetHandler cgi-script
Allow from all
AllowOverride All
</Directory>
<Directory "/opt/twiki/pub">
Options FollowSymLinks +Includes
AllowOverride None
Allow from all
</Directory>
<Directory "/opt/twiki/data">
deny from all
</Directory>
<Directory "/opt/lib">
deny from all
</Directory>
<Directory "/opt/twiki/templates">
deny from all
</Directory>
============
==========================
/opt/twiki/lib/TWiki.cfg
下面修改/home/ali/twiki/lib/TWiki.cfg文件,作如下修改
$defaultUrlHost = "http://yourdomain.com";
$pubDir = "/opt/twiki/pub";
$templateDir = "/opt/twiki/templates";
$dataDir = "/opt/twiki/data";
$storeTopicImpl = "RcsLite";
$useLocale = 1;
$siteLocale = "zh_CN.UTF-8";
对服务器的mail进行一些设置。访问http://kickali.com/twiki/bin/view/TWiki/TWikiPreferences,点击页左下角"edit",在输入框中找到* Set WIKIWEBMASTER = ,等号后面写你的email,如果要用sendmail发信,则找到 * Set SMTPMAILHOST =,将等号后面的mail去掉,然后preview,然后save.
========================
还最重要的就是
cp /opt/twiki/bin/.htaccess.txt .htaccess
修改.htaccess文件如下,没有行要加上:
AuthUserFile /home/ali/twiki/data/.htpasswd
ErrorDocument 401 /twiki/bin/oops/TWiki/TWikiRegistration?template=oopsauth
Redirect /twiki/index.html http://ali.com/twiki/bin/view
,再修改apache的配置文件,增加一行AllowOverride All,如图所示: .
顺便说几句,刚才.htaccess中所示的.htpasswd文件,就是用户名和其密码(当然加过密了)所存放的地方,这个文件的属性是nobody用户可写的,因为在后面增加用户时要改动这个文件。这个文件中有TWiki核心成员的用户名和密码,我听说有网友有暴力法曾破解过这类密码,TWiki的核心成员也太托大了吧。
然后重启apache,方法见前述。
好象还要修改一下注册页面,如下:
cd /home/ali/twiki/data/TWiki
cp TWikiRegistrationPub.txt TWikiRegistration.txt
cp TWikiRegistrationPub.txt,v TWikiRegistration.txt,v
修改.htaccess中的内容
(.htaccess是用户可以限制不同目录的访问权限,也就是说apache的设置可以通过该文件重写)
一定不要忘记,最后加上下边这行
Directoryindex /twiki/bin/view
这句话的意思是该目录下的索引文件是view(用perl写成的)
当用户访问一个目录时,apache首先找index.html文件如果没有他就会利用该目录下的.htaccess文件中设定的内容进行访问