X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=htdocs%2Fdocs%2Finstall.html;h=8c88a5acb1a5ad7aa39f064fa1797955b518bc76;hb=9f2781f5d45997c856e1930757daa2cb1d5cddcc;hp=c4784ebf6b565ac0f05a9e1a11dee879e6f2df18;hpb=96df1d26951db4d9650da92e06e6ab79bacc5ba5;p=freeside.git
diff --git a/htdocs/docs/install.html b/htdocs/docs/install.html
index c4784ebf6..8c88a5acb 100644
--- a/htdocs/docs/install.html
+++ b/htdocs/docs/install.html
@@ -7,17 +7,20 @@ Before installing, you need:
- A web server, such as Apache-SSL or Apache
- SSH
-
- agrep from the Glimpse distribution, if you want fuzzy searching capability
-
- Perl (at least 5.004_04)
-
- A database engine supported by Perl's DBI, such as MySQL or PostgreSQL
+
- Perl (at least 5.004_04 for the 5.004 series or 5.005_03 for the 5.005 series. Don't enable experimental features like threads or the PerlIO abstraction layer.)
+
- A database engine supported by Perl's DBI, such as MySQL or PostgreSQL (see the PostgreSQL notes)
- Perl modules
@@ -32,8 +36,8 @@ Before installing, you need:
Install the Freeside distribution:
- Add the user `freeside' to your system.
-
- Add the freeside database to your database engine. (with MySQL) (with PostgreSQL)
-
- Allow the freeside user full access to the freeside database. (with MySQL) (with PostgreSQL)
+
- Add the freeside database to your database engine. (with MySQL) (with PostgreSQL)
+
- Allow the freeside user full access to the freeside database. (with MySQL) (with PostgreSQL)
- Unpack the tarball:
gunzip -c fs-x.y.z.tar.gz | tar xvf -
- Copy or link fs-x.y.z/site_perl to FS in your site_perl directory. (try `
perl -V
' if unsure) mkdir /usr/local/lib/site_perl/FS
cp fs-x.y.z/site_perl/* /usr/local/lib/site_perl/FS
or ln -s /full/path/to/fs-x.y.z/site_perl /usr/local/lib/site_perl/FS
@@ -41,16 +45,24 @@ cp fs-x.y.z/site_perl/* /usr/local/lib/site_perl/FS or ln -s /full/pa
cp -r fs-x.y.z/htdocs/* /usr/local/apache/htdocs/freeside
or ln -s /full/path/to/fs-x.y.z/htdocs /usr/local/apache/htdocs/freeside
- Restrict access to this web interface. (with Apache)
- Enable CGI execution for files with the `.cgi' extension. (with Apache)
-
- Set ownership and permissions for the web interface. Your system should support secure setuid scripts or Perl's emulation, see perlsec: Security Bugs for information and workarounds.
+
- Set ownership and permissions for the web interface. The web interface needs to run as the freeside user - there are several ways to do this.
+
+ - Use Perl's setuid emulation: see the Security Bugs section of the perlsec manpage.
cd /usr/local/apache/htdocs/freeside
chown -R freeside .
chmod 4755 browse/*.cgi edit/*.cgi edit/process/*.cgi misc/*.cgi misc/process/*.cgi search/*.cgi view/*.cgi
- - Create the base Freeside directory `/var/spool/freeside', and the subdirectories `conf', `counters', and `export'.
mkdir /var/spool/freeside
-mkdir /var/spool/freeside/conf
-mkdir /var/spool/freeside/counters
-mkdir /var/spool/freeside/export
-chown -R freeside /var/spool/freeside
- - Create the necessary configuration files.
-
- Run bin/fs-setup to create the database tables.
+
- Use Apache's suEXEC.
+
cd /usr/local/apache/htdocs/freeside
+chown -R freeside .
+chmod 755 browse/*.cgi edit/*.cgi edit/process/*.cgi misc/*.cgi misc/process/*.cgi search/*.cgi view/*.cgi
+ - Use mod_perl. You should run a separate iteration of Apache[-SSL] as the freeside user. (Warning: The redirect method of CGI.pm 2.36 [as distributed with Perl 5.004_04] is broken under mod_perl. Downlaod the current version from CPAN. Apache 1.3.6 is also highly recommended because of signal handling problems in earlier versions.)
+
cd /usr/local/apache/htdocs/freeside
+chown -R root .
+chmod 755 browse/*.cgi edit/*.cgi edit/process/*.cgi misc/*.cgi misc/process/*.cgi search/*.cgi view/*.cgi
+
+ - Create the necessary configuration files.
+
- Create the `/usr/local/etc/freeside/counters.datasrc', and
+ `/usr/local/etc/freeside/export.datasrc' directories for each datasrc (owned by the freeside user).
+
- As the freeside user, run bin/fs-setup to create the database tables.