The following sample IDS configurations assume that you can modify Apache's configuration.
If this is not the case, work with your server's administrator to determine what configuration is right for you.
IDS in a user's personal web-accessible directory (suexec installed)
Install Apache with suexec support. Be sure to read the Apache Group's
documentation on suexec. With suexec installed,
CGI's in a user's personal web directory will be executed as that user.
To allow users to create a personal web-accessible directory called "public_html" in their home directories, you will
need to uncomment the following lines in Apache's http.conf:
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
(You will need to modify the first line if users' home directories are not in /home.)
After restarting Apache, files placed in a directory named "public_html" in a user's home directory should be visible
at http://yourserver.com/~user/. If they are not, check to make sure that the Apache user (often "nobody" or "www")
has "search" (x) priviledges on the "public_html" directory and all of the directories above it. For example, if
my public_html directory were located at /home/john/public_html, I would need to make sure that the
directories /home, /home/john, and /home/john/public_html were world-searchable.
To allow CGI's to be executed from a public_html directory, we will need to modify the httpd.conf again. In
the section we uncommented above, change the line:
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
to:
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI
Next, uncomment the line:
AddHandler cgi-script .cgi
Finally, to access IDS without specifying "index.cgi", add a space followed by "index.cgi" to the end of the line:
DirectoryIndex index.html
After restarting Apache, decompress "ids-0.8.tar.gz" into your public_html
directory and follow the install instructions. Since the CGI's run as you, you won't have to modify
permissions on any of the directories or files in the IDS directory. You should be able to access
IDS at a URL like http://yourserver.com/~user/ids-0.8/. Return
to the install instructions.
IDS in the Apache cgi-bin directory
Decompress "ids-0.8.tar.gz" into Apache's cgi-bin directory and rename it "ids". By default,
Apache is configured to attempt to execute every file in the cgi-bin directory. Errors will occur when you attempt
to access your site unless you tell Apache not to execute files in several of IDS' directories:
- album-data
- albums
- image-cache
- site-images
- themes
- admin/templates
To do this, add the following lines to your httpd.conf and restart Apache:
<Location /cgi-bin/ids/album-data>
SetHandler default-handler
</Location>
<Location /cgi-bin/ids/albums>
SetHandler default-handler
</Location>
<Location /cgi-bin/ids/image-cache>
SetHandler default-handler
</Location>
<Location /cgi-bin/ids/site-images>
SetHandler default-handler
</Location>
<Location /cgi-bin/ids/themes>
SetHandler default-handler
</Location>
<Location /cgi-bin/ids/admin/templates>
SetHandler default-handler
</Location>
Make sure that whoever the web server is running as (often "nobody" or "www") has read access to all
of the files in IDS' directory and read/write access to the "album-data,"
"image-cache," and "logs" directories and the files "ids.conf" and "site_news.txt".
In order to use the administrative interface's rotate functions,
IDS will also need write access to the "albums" directory.
If you wish, you can create symbollic links in the albums directory to directories elsewhere on your system.
You should be able to access IDS at a URL like http://yourserver.com/cgi-bin/ids/index.cgi. Return
to the install instructions.
|