Question
- TWiki version: 01 Dec 2001
- Web server: virtual (UNIX) on ISP server
- Server OS:Apache/1.3.19 (Unix) PHP/4.0.4pl1 mod_ssl/2.8.1 OpenSSL/0.9.6
- Web browser: IE6
- Client OS: Win 98
I am trying to install TWiki on an ISP server.
I do not have root access, nor do I have Telnet access. All I have is FTP. I cannot CHOWN or CHGRP, just CHMOD (via FTP).
My problem is this: when I try to edit any topic, I get a message like this:
Topic save error
During save of file
TestTopic1 an error was found by the version control system. Please notify your TWiki administrator.
/usr/bin/ci -q -l -m'none' -t-none -w'guest' /home/n/a/naturemagic/public_html/data/Test/TestTopic1.txt 2>&1 1>/dev/null
/usr/bin/ci: permission denied
Go back in your browser and save your changes locally.
The changes seem to be saved to the topic (.txt) file, but not to the .txt,v file, presumably because ci is failing?
I have set all the directories permissions to 777 and all the files under DATA & subdirs to 666. The owner seems to be 'ftp', but I don't seem to be able to change that.
The cgi user is nobody.
Can anyone help? I'm no UNIX expert, though I've used it a little.
Chris Rundle -
chris@naturemagic.co.uk
--
TWikiGuest - 09 Feb 2002
Answer
This is quite tough without shell access - the longer-term option is to find a webhost with shell support, it makes life a lot easier (see
Google:uk+web+host+telnet ).
UPDATE: See TWikiOnWebHostingSites as well - this includes a list of TWiki-friendly hosting sites that support Telnet or SSH.
In the shorter term, you'll need to look at
TWikiOnSourceForge - one of
PeterThoeny's comments of 25 Jun 2000 has a Perl CGI script that you can install to reset ownership etc - you may well require some customisation, e.g. to copy file foo to foo.bak, delete foo, then rename foo.bak to foo (thereby changing ownership of file foo to 'nobody' - on some modern Unixes you can't chown from another user to your user, hence the rigmarole). You'll need to do this on all the files installed, or perhaps just the *.txt,v files... There's a similar but more powerful/dangerous script from
JoachimDurcholz on the same page that would let you run any command - sort of shell access from your browser's URL bar...
One of the first things you should do with this script is to do a
find ... -print | xargs ls -ld
and print the output to the web browser - you can then compare this with the
TWikiDocumentation to see where the permissions are wrong. The Test directory must be writeable by the Apache userid, as must all the files (.txt and .txt,v).
Another good command to do is
uname -a
- this will tell you the version of Unix you are using, so you can find the online manual pages on the Web :)... Hopefully it's Linux as that's easy to install on a local PC for practice.
One
SecureSetup tip - name the CGI script as if it was a password, i.e.
twiki-do-nonobviouspassword
- otherwise this is a big security hole (and make sure that nobody can browse your /cgi-bin/ directory to find the name!).
Permissions are 95% of the hassle in a new or moved TWiki installation... The above will require some CGI hacking unfortunately - unless you already know Perl and some Unix, switching web hosts will be
much easier. Installing TWiki on a test box running Linux would probably help a lot, as you could test your CGI scripts there before uploading them.
--
RichardDonkin - 10 Feb 2002
I suppose changing hosts would be a better long term solution, but I've not long had the domain and it's paid up for a year....
I've done a tiny bit of Perl (Hello World level) and some (HPUX) shell scripting, so I might have a go at changing file ownership... only... I'd guessed that permissions were the most likely problem, which is why I set the directory permissions to 777 and all the file permissions to 666 - wouldn't this give the required write access? If not, I'd be grateful for a (not
too technical
) explanation
Chris Rundle -
chris@naturemagic.co.uk
If you know shell scripts, you should be able to cope, but it will be a bit more hassle than otherwise (there are some very low cost hosts with Telnet access).
Your permissions settings would work, so... Do you definitely have
RCS installed and accessible? Most webhosts don't have this by default. A good test to write in Perl is to check that /usr/bin/ci is executable, and to
ls -l
it. The error message almost looks like the
ci
file can't be executed although it is installed - I simulated this on a Linux box by restricting permissions on the parent directory and on
ci
, so maybe that's the problem.
--
RichardDonkin - 11 Feb 2002
Also, have a look at
TWiki.TWikiInstallationGuide#Step_2_Set_File_Permissions - it mentions that you must delete the *.txt,v files delivered with TWiki unless your Apache CGIs are running as 'nobody' (try running
who
or
id
to find out the userid, or look at new files generated).
--
RichardDonkin - 12 Feb 2002
If you're still interested in getting this working, see
TWikiDebugging, which has a link to a useful 'Telnet substitute' CGI program that would make this a lot easier to sort out.
--
RichardDonkin - 24 Mar 2002