twiki.
data and pub directories and to twiki/lib/LocalSite.cfg. Everything else should be read-only.
/usr/bin/perl. If it's somewhere else, change the path to Perl in the first line of each script in the twiki/bin directory..cgi or .pl). If necessary, rename all files in twiki/bin (i.e. rename view to view.pl etc). If you do this, make sure you set the ScriptSuffix option in configure (Step 6).
twiki/bin/LocalLib.cfg.twiki/bin/LocalLib.cfg.txt.twiki/bin/LocalLib.cfg.txt must contain a setting for $twikiLibPath, which must point to the absolute file path of your twiki/lib e.g. /home/httpd/twiki/lib.$CPANBASE to point to your personal CPAN install. Don't forget that the webserver user has to be able to read those files as well.
bin/configure script from your browser. But limit the access to either localhost, an IP address or a specific user using basic Apache authentication. You should never leave the configure script open to the public. See TWiki:TWiki.ApacheConfigGenerator which contains a tool that can generate a safe and working config file for TWiki on Apache. httpd.conf file in twiki_httpd_conf.txt at the root of the package. This file also contains advice on securing your installation. There's also a script called tools/rewriteshebang.pl to help you in fixing up the shebang lines in your CGI scripts.
configure script from your browser (i.e. enter http://yourdomain/twiki/bin/configure into your browser address bar) and resolve any errors or warnings it tells you about.configure for the first time, you can only edit the section General Path Settings. Save these settings, and then return to configure to continue configuration.{WebMasterEmail}, and {SMTP}{MAILHOST} must be defined to enable TWiki to send registration emails. Many ISPs have introduced authentication when sending emails to fight spam so you may also have to set {SMTP}{Username} and {SMTP}{Password}.
http://yourdomain.com/twiki/bin/view and start TWiki-ing away!
pub directory. TWiki has some builtin protection which renames files with dangerous filenames by appending .txt to the filename. But this is a secondary security measure. The essential action that you must take is to turn off any possible execution of any of the attached files.twiki_httpd_conf.txt file provided in the root of the twiki directory is an example of an Apache config file which you would normally include from httpd.conf. In many distributions this happens automatically if the file is copied to a specific directory (Example RedHat/Fedora/Centos: /etc/httpd/conf.d) and has suffix .conf. This example file shows how to protect the pub directory from executing both PHP scripts and server side includes..htaccess in the directory you want to protect. The pub-htaccess.txt file provided in the root of the twiki directory is an example of an Apache .htaccess file which protects against execusion of PHP and SSI scripts.
bin and pub directories. When you have access to the Apache config files the twiki_httpd_conf.txt file mentioned above also contains protection of these directories.subdir-htaccess.txt file can be copied as .htaccess to the data, lib, locale, templates and tools directories.
TWiki.TWikiSkins refers to the TWikiSkins topic in your TWiki web. If not available locally, you can find these topics in the on-line reference copy of TWiki Release 4.1.
TWiki.TWikiUserAuthentication, and TWiki:TWiki.TWikiUserAuthenticationSupplement.
These are the steps for enabling "Template Login" which asks for a username and password in a web page, and processes them using the Apache 'htpasswd' password manager. Users can log in and log out.
Security Settings pane of configure : TWiki::Client::TemplateLogin for {LoginManager}.
TWiki::Users::HtPasswdUser for {PasswordManager}.
configure settings.
TWiki.TWikiRegistration topic.data/.htpasswd file. If not, you probably got a path wrong, or the permissions may not allow the webserver user to write to that file.
Edit link at beginning or end of topic) to check if authentication works.
Main/TWikiAdminGroup topic to include users with system administrator status. Additional instructions are provided in that topic.Main.TWikiAdminGroup, TWiki.ChangePassword, TWiki.ResetPassword, and TWiki.ChangeEmailAddress.
TWiki.TWikiUserAuthentication, TWiki:TWiki.TWikiUserAuthenticationSupplement, and TWiki:TWiki.SecuringTWikiSite for further information about managing users and security of your TWiki site.
TWiki.TWikiPreferences. Read through it and set any additional settings you think you might need. (You can click the 'Edit' button near the top to edit the settings in place).
TWiki.TWikiPreferences and paste them into Main.TWikiPreferences. This will protect your local customizations from being overwritten in later upgrades. See notes at top of TWiki.TWikiPreferences for more information.
bin/mailnotify script as described in the TWiki.MailerContrib topic.
TWiki.TWikiSiteTools topic.
configure for {Sessions}{ExpireAfter} and install let cron run the tools/tick_twiki.pl script. Read The topic TWikiScripts#tick_twiki_pl for details how to do this.
Localisation section of configure. For more information about these features, see TWiki:TWiki.InternationalizationSupplement.
TWiki/NewUserTemplate template topic. This can be tailored. It contains additional resources you can use to: TWiki.InstalledPlugins.
You activate installed plugin in the Plugins section of configure. In this section you also find a Find More Extensions button which opens an application which can install additional plugins from the TWiki.org website. If you are behind a firewall or your server has no access to the Internet it is also possible to install plugins manually. Manual installation instructions for the plugins can be found in the plugin topics on TWiki.org. Additional documenation on TWiki plugins can be found at TWiki:TWiki.TWikiPluginsSupplement.
Some plugins require that you define their settings in configure. You fill find these under the Extensions section of configure.
configure script and make sure you have resolved all errors, and are satisfied that you understand any warnings.
Failing that, please check TWiki:TWiki.InstallingTWiki on TWiki.org, the supplemental documentation that help you install TWiki on different platforms, environments and web hosting sites. For example: | Resource | Required Server Environment |
|---|---|
| Perl | 5.8.4 or higher is recommended |
| RCS | 5.7 or higher (including GNU diff) Optional, TWiki includes a pure perl implementation of RCS that can be used instead (although it's slower) |
GNU diff | GNU diff 2.7 or higher is required when not using the all-Perl RcsLite? . Install on PATH if not included with RCS (check version with diff -v) Must be the version used by RCS, to avoid problems with binary attachments - RCS may have hard-coded path to diff |
| Other external programs | fgrep, egrep |
| Cron/scheduler | • Unix: cron • Windows: cron equivalents |
| Web server | Apache is well supported; for information on other servers, see TWiki:TWiki.InstallingTWiki#OtherWebServers. |
| Module | Preferred version |
|---|---|
| Algorithm::Diff (included) | |
| CGI::Carp | >=1.26 |
| Config | >=0 |
| Cwd | >=3.05 |
| Data::Dumper | >=2.121 |
| Error (included) | |
| File::Copy | >=2.06 |
| File::Find | >=1.05 |
| File::Spec | >=3.05 |
| FileHandle? | >=2.01 |
| IO::File | >=1.10 |
| Text::Diff (included) | |
| Time::Local | >=1.11 |
| Module | Preferred version | Description |
|---|---|---|
| Archive::Tar | May be required by the Extensions Installer in configure if command line tar or unzip is not available | |
| CGI::Cookie | >=1.24 | Used for session support |
| CGI::Session | >=3.95 | Highly recommended! Used for session support |
| Digest::base | ||
| Digest::SHA1 | ||
| Jcode | Used for I18N support with perl 5.6 | |
| Locale::Maketext::Lexicon | >=0 | Used for I18N support |
| Net::SMTP | >=2.29 | Used for sending mail |
| Unicode::Map | Used for I18N support with perl 5.6 | |
| Unicode::Map8 | Used for I18N support with perl 5.6 | |
| Unicode::MapUTF8 | Used for I18N support with perl 5.6 | |
| Unicode::String | Used for I18N support with perl 5.6 | |
| URI | Used for configure |
configure script, or if you're still trying to get to that point, check from the command line like this:
perl -e 'use FileHandle; print $FileHandle::VERSION."\n"'
TWiki/TWikiSkinBrowser and more at TWiki:Plugins.SkinPackage.
pub directory.)
twiki/bin directory (e.g. because CGI bin directories can't be under your home directory and you don't have root access). You can create this directory elsewhere and configure the twiki/bin/setlib.cfg file (done in Step 2).
TWiki dir: What it is: Where to copy: Example: twikistart-up pages root TWiki dir /home/smith/twiki/twiki/binCGI bin CGI-enabled dir /home/smith/twiki/bintwiki/liblibrary files same level as twiki/bin/home/smith/twiki/libtwiki/localelanguage files dir secure from public access /home/smith/twiki/localetwiki/pubpublic files htdoc enabled dir /home/smith/twiki/pubtwiki/datatopic data dir secure from public access /home/smith/twiki/datatwiki/templatesweb templates dir secure from public access /home/smith/twiki/templatestwiki/toolsTWiki utlilities dir secure from public access /home/smith/twiki/tools
755 (or 775 ) and file permissions should be set to 644 (or 664). If you can run a chmod command, you can accomplish this in two quick steps by running these commands from the root direct: chmod -R 755 pub
chmod 644 `find pub -type f -print`
.htaccess file in the pub directory, using the template included in the root level of the distribution entitled pub-htaccess.txt.
.htaccess in the bin directory that includes the following single line: SetHandler cgi-script . This informs the server to treat all the perl scripts in the bin directory as scripts.
lib/TWiki.spec to lib/LocalSite.cfg
$TWiki::cfg{DefaultUrlHost}, $TWiki::cfg{ScriptUrlPath}, $TWiki::cfg{PubUrlPath}, $TWiki::cfg{PubDir}, $TWiki::cfg{TemplateDir}, $TWiki::cfg{DataDir}, $TWiki::cfg{LocalesDir}, and $TWiki::cfg{OS} and make sure these settings have the correct values.
$TWiki::cfg{LoginManager}, $TWiki::cfg{WebMasterEmail}, $TWiki::cfg{SMTP}{MAILHOST}, $TWiki::cfg{SMTP}{SENDERHOST}.