/home/httpd/twikiand unzip the TWiki distribution into this directory.
twiki/bindirectory of TWiki must be set as a cgi-bin directory. Add
twiki/pubdirectory of TWiki must be set so that it is visible as a URL. Add
httpd.confwith normal access options (copy from
ScriptAliasmust come before the
Alias, otherwise, Apache will fail to correctly set up
/twiki/bin/, by treating it as just another subdirectory of the
twiki/templatesdirectories should be set so that they are not visible as URLs. Add them to
deny from all.
httpd.confentries:ScriptAlias /twiki/bin/ "/home/httpd/twiki/bin/" Alias /twiki/ "/home/httpd/twiki/" <Directory "/home/httpd/twiki/bin"> Options +ExecCGI SetHandler cgi-script Allow from all </Directory> <Directory "/home/httpd/twiki/pub"> Options FollowSymLinks +Includes AllowOverride None Allow from all </Directory> <Directory "/home/httpd/twiki/data"> deny from all </Directory> <Directory "/home/httpd/twiki/templates"> deny from all </Directory>
twiki/bindirectory is CGI-enabled by trying visiting it in your browser:
"Forbidden. You don't have permission to access /twiki/bin/ on this server".
"Index of /twiki/bin"- recheck your
If you are not able to create the
TWiki dir: What it is: Where to copy: Example:
start-up pages root TWiki dir
CGI bin CGI-enabled dir
library files same level as
public files htdoc enabled dir
topic data dir secure from public access
web templates dir secure from public access
twiki/libdirectory at the same level as the
twiki/bindirectory (e.g. because CGI
bindirectories can't be under your home directory and you don't have root access), you can create this directory elsewhere and edit the
setlib.cfgfile in the
# -------------- Change these settings if required $twikiLibPath = '/some/other/path/lib'; # Path to lib directory containing TWiki.pmYou can also edit
setlib.cfgfile if you are not root and need to install additional CPAN modules, but can't update the main Perl installation files on the server. Just set this variable to the full pathname to your local lib directory, typically under your home directory.
/usr/bin/perl. If it's elsewhere, change the path to Perl in the first line of each script in the
twiki/bindirectory, or create a symbolic link from
.cgiextension to run. Some systems need
.pl, the regular Perl extension. Modify all
twiki/binscript filenames if necessary.
twiki/bindirectory as executable to
.tmplfiles it is necessary to
chgrp -R twikiso all the files have the owner you want.
nobodyownership for all files manipulated by the CGI scripts (executed by the Web server), and user
twikifor all other files. You can:
nobodywith another user if your server executes scripts under a different name (ex: default for Debian is
testenvscript from your browser:
http://yourdomain.com/twiki/bin/testenv. It will show you the user name of the CGI scripts, a table listing all CGI environment variables, and a test of your
twiki/lib/TWiki.cfgconfiguration file (you'll configure that in a minute).
twikiwith your own username
twiki/dataso that they are writable by user
nobody. A simple way is to
-rw-rw-r--(664) and to
twiki/datadirectory and its subdirectories so that files in there are writable by user
nobody. A simple way is to chmod them to
drwxrwxr-x(775) and to
twiki/pubdirectory and all its subdirectories so that files in there are writable by user
nobody. A simple way is to
drwxrwxr-x(775) and to
twiki/data/*/*.txt,vRCS repository files in the installation package are locked by user
nobody. If your CGI scripts are not running as user
nobody, it's not possible to check in files (you'll see that the revision number won't increase after saving a topic). In this case, you need to unlock all repository files (check the RCS man pages) and lock them with a different user, ex
www-data, or delete them all - new files will be automatically created the first time each topic is edited. A simple way to change ownership is with a search-and-replace in all files; for example, using perl:
cd twiki/data perl -pi~ -e 's/www-data:/www-data:/' */*,v
twiki/lib/TWiki.cfg, setting the variables to your needs.
$storeTopicImpl = "RcsWrap";for the RCS executables and make sure RCS is installed. Set
twiki/lib/TWiki.cfgto match the location of your RCS binaries. You can check this by issuing the command
rcsat the prompt, it should result in something like
"rcs: no input file".
diff, by typing
diff -v- an error indicates you have a non-GNU diff, so install the GNU
diffutilspackage and make sure that
diffis on the PATH used by TWiki (see
$storeTopicImpl = "RcsLite";for the Perl based RCS
twiki/templatesand all their subdirectories should be set so that they are not visible through URLs. (Alternatively, move the directories to a place where they are not visible, and change the variables in
testenvscript from your browser:
http://yourdomain.com/twiki/bin/testenv. Check if your
twiki/lib/TWiki.cfgconfiguration file settings are correct.
WIKIWEBMASTERemail address, and other email settings required for registration and WebChangesAlert to work:
WIKIWEBMASTERshould be set to the email address of the TWiki administrator
SMTPMAILHOSTis typically set on Windows or other non-Unix/Linux systems, where
sendmailor similar is not available. When this is set and the Perl module
Net::SMTPis installed, TWiki will connect to this SMTP server (e.g.
mail.yourdomain.com) to send email for user registration and WebChangesAlerts. If you do have a sendmail-type program, leave
SMTPMAILHOSTunset so that the external sendmail program is used instead (defined by
SMTPSENDERHOSTis optional, and set to the domain name sending the email (e.g.
twiki.yourdomain.com). For use where the SMTP server requires that you identify the TWiki server sending mail. If not set,
Net::SMTPwill guess it for you.
http://yourdomain.com/twiki/bin/viewand start TWiki-ing away!
http://yourdomain.com/twiki/to get the pre-TWiki
index.htmlpage, with a link to the
viewscript. Customize this page if you want a public intro screen with a login link, instead of immediately calling up the .htaccess login dialog by going directly to
WEBCOPYRIGHTmessages, and other preferences.
%VARIABLES%. Define site-level variables in the TWikiPreferences topic. See also: TWikiVariables.
.htaccessand change it to your needs. For details, consult the HTTP server documentation (for Apache server: , ). In particular, the following red part needs to be configured correctly:
Redirect /urlpathto/twiki/index.html http://yourdomain.com/urlpathto/twiki/bin/view
ErrorDocument 401 /urlpathto/twiki/bin/oops/TWiki/TWikiRegistration?template=oopsauth
.plfile extension to the
binscripts, make sure to do the same for
preview, and all the other script names in
.htaccessdoes not have the desired effect, you need to enable it: Add "AllowOverride All" to the Directory  section of
twiki/data/.htpasswd.txtfile contains several TWiki core team user accounts and a guest user account. You probably want to remove those accounts by deleting the entries in
.htpasswd. Do not remove the guest user if you want to allow guest logins.
.txt,vfiles in the
name=""parameter of the input tags must start with:
"Twk0..."(if this is an optional entry), or
"Twk1..."(if this is a required entry). This ensures that the fields are carried over into the user home page correctly.
.htpasswdfile that comes with the TWiki installation includes user accounts for TWiki core team members that are used for testing on TWiki.org. You can edit the file and delete those lines.
twiki/dataand check the file permission of the directory.
twiki/data/_defaultdirectory to the new data directory, preserving the original files' owner, group and permissions (on Unix, use
cp -p). The data files must be writable by the owner the CGI scripts are running on (usually,
-rw-rw-rw-(666) and then edit the topic using your browser; RCS will restore the file permissions correctly when saving the topic.
%WEBTOPICLIST%variable to contain the web-specific links you prefer.
%WEBCOPYRIGHT%can be set for an individual web).
twiki/templates/Somewebdirectory (otherwise, templates are inherited from
%MAINWEB%variable is an advantage if you ever change the Main web name, but the standard
Main.UserNameis easier for users to enter, which is the bottom line! Appendix A: TWiki File System for an installed system snapshot and descriptions of all files in the TWiki 01-Sep-2001 distribution. -- PeterThoeny? - 28 Dec 2002