X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fdocs%2Finstall.html;h=016184950467fc9e2ac91ae6071faf7f0c3d97c6;hb=46fb556fc165207a8a63c20a87f03a530279fdc0;hp=3a14fa77990c9b18a3cc27b81bb36398064ac814;hpb=399377be683d60fd80690504103b809885b27903;p=freeside.git
diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html
index 3a14fa779..016184950 100644
--- a/httemplate/docs/install.html
+++ b/httemplate/docs/install.html
@@ -3,32 +3,37 @@
Installation
+Note: Install Freeside on a firewalled, private server, not a public (web, RADIUS, etc.) server.
Before installing, you need:
- - A web server, such as Apache-SSL or Apache
-
- mod_perl
-
- SSH (OpenSSH is recommended. SSH Communications Security commercial SSH version 3 has been reported incompatible with Freeside.)
-
- Perl Don't enable experimental features like threads or the PerlIO abstraction layer.
-
- A transactional database engine supported by Perl's DBI.
+
- Perl, minimum version 5.005_03. (5.8.3 for the integrated RT ticketing)
+
- Apache (mod_ssl or Apache-SSL highly recommended)
+
- mod_perl (if compiling your own mod_perl, make sure you set the EVERYTHING=1 compile-time option)
+
- SSH (OpenSSH is recommended. SSH Communications Security commercial SSH version 3 has been reported incompatible with Freeside.)
+
- rsync
+
- A transactional database engine supported by Perl's DBI.
-
- Perl modules (CPAN will query, download and build perl modules automatically)
+
- Perl modules (CPAN will query, download and build perl modules automatically)
Install the Freeside distribution:
- - Add the user `freeside' to your system.
+
- Add the user and group `freeside' to your system.
- Allow the freeside user full access to the freeside database.
- - with MySQL:
$ mysqladmin -u root password 'set_a_root_database_password'
+
- with PostgreSQL:
+
+$ su postgres (pgsql on some distributions)
+$ createuser -P freeside
+Enter password for user "freeside":
+Enter it again:
+Shall the new user be allowed to create databases? (y/n) y
+Shall the new user be allowed to create more new users? (y/n) n
+CREATE USER
+ - with MySQL:
+
+$ mysqladmin -u root password 'set_a_root_database_password'
$ mysql -u root -p
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP on freeside.* TO freeside@localhost IDENTIFIED BY 'set_a_freeside_database_password';
- - with PostgreSQL
- - Add the freeside database to your database engine. (with MySQL) (with PostgreSQL)
-
- Unpack the tarball:
gunzip -c fs-x.y.z.tar.gz | tar xvf -
- - Build and install the Perl libraries:
+
+
- Edit the top-level Makefile:
+
+ - Set DATASOURCE to your DBI data source, for example, DBI:Pg:dbname=freeside for PostgresSQL or DBI:mysql:freeside for MySQL. See the DBI manpage and the manpage for your DBD for the exact syntax of your DBI data source.
+
- Set DB_PASSWORD to the freeside database user's password.
+
+ - Add the freeside database to your database engine:
+
+
- Build and install the Perl modules:
-$ cd FS/
-$ perl Makefile.PL
-$ make
+$ make perl-modules
+$ su
+# make install-perl-modules
+ - Create the necessary configuration files:
$ su
-# make install UNINST=1
- - You should run a separate iteration of Apache[-SSL] with mod_perl enabled as the freeside user.
+# make create-config
+
+
- Run a separate iteration of Apache[-SSL] with mod_perl enabled as the freeside user.
+
- Edit the Makefile and set TEMPLATE to asp or mason. Also set FREESIDE_DOCUMENT_ROOT.
+
- Run make install-docs.
Apache::ASP | Mason |
-
- - Run make aspdocs
-
- Copy aspdocs/ to your web server's document space.
-
- Create a Global directory, such as /usr/local/etc/freeside/asp-global/
-
- Copy htetc/global.asa to the Global directory.
-
- Configure Apache for the Global directory and to execute .cgi files using Apache::ASP. For example:
+
+ - Configure Apache:
-<Directory /usr/local/apache/htdocs/freeside-asp>
-<Files ~ (\.cgi)>
-AddHandler perl-script .cgi
+PerlModule Apache::ASP
+# your freeside document root
+<Directory /var/www/freeside>
+<Files ~ (\.cgi|\.html)>
+AddHandler perl-script .cgi .html
PerlHandler Apache::ASP
</Files>
<Perl>
$MLDBM::RemoveTaint = 1;
</Perl>
-PerlSetVar Global /usr/local/etc/freeside/asp-global/
+PerlSetVar Global /usr/local/etc/freeside/asp-global/
+PerlSetVar Debug 2
+PerlSetVar RequestBinaryRead Off
+# your freeside document root
+PerlSetVar IncludesDir /var/www/freeside
</Directory>
|
-
- - NOTE: Mason support is still a bit buggy in the 1.4.0 prereleases. This will be fixed before 1.4.0. You have been warned.
-
- Run make masondocs
-
- Copy masondocs/ to your web server's document space.
-
- Copy htetc/handler.pl to your web server's configuration directory.
-
- Edit handler.pl and set an appropriate data_dir, such as /usr/local/etc/freeside/mason-data
-
- Configure Apache to use the handler.pl file and to execute .cgi files using HTML::Mason. For example:
+
+ - Configure Apache:
-<Directory /usr/local/apache/htdocs/freeside-mason>
-<Files ~ (\.cgi)>
-AddHandler perl-script .cgi
+PerlModule HTML::Mason
+# your freeside docuemnt root
+<Directory /var/www/freeside>
+<Files ~ (\.cgi|\.html)>
+AddHandler perl-script .cgi .html
PerlHandler HTML::Mason
</Files>
<Perl>
-require "/usr/local/apache/conf/handler.pl";
+require "/usr/local/etc/freeside/handler.pl";
</Perl>
</Directory>
@@ -113,22 +154,39 @@ require "/usr/local/apache/conf/handler.pl";
| | |
-- Restrict access to this web interface. (with Apache). For example, to configure user authentication with flat files:
-
-<Directory /usr/local/apache/htdocs/freeside-asp>
-PerlSetVar Global /usr/local/etc/freeside/asp-global/
+
- Restrict access to this web interface - see the Apache documentation on user authentication. For example, to configure user authentication with mod_auth (flat files), add something like the following to your Apache httpd.conf file, adjusting for your actual paths:
+
+#your freeside document root
+<Directory /var/www/freeside>
AuthName Freeside
AuthType Basic
-AuthUserFile /usr/local/etc/apache/htpasswd
+AuthUserFile /usr/local/etc/freeside/htpasswd
require valid-user
</Directory>
- - Create the necessary configuration files.
-
- Create the `/usr/local/etc/freeside/counters.datasrc',
- `/usr/local/etc/freeside/cache.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.
-
- freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup.
+
- Create one or more Freeside users (your internal sales/tech folks, not customer accounts). These users are setup using using Apache authentication, not UNIX user accounts. For example, using mod_auth (flat files):
+
+ - First user:
+
$ su
+$ freeside-adduser -c -h /usr/local/etc/freeside/htpasswd username
+ - Additional users:
+
$ su
+$ freeside-adduser -h /usr/local/etc/freeside/htpasswd username
+
+ (using other auth types, add each user to your Apache authentication and then run: freeside-adduser username)
+ - As the freeside UNIX user, run freeside-setup username to create the database tables, passing the username of a Freeside user you created above:
+
+$ su freeside
+$ freeside-setup username
+
+ Alternately, use the -s option to enable shipping addresses: freeside-setup -s username
+ - As the freeside UNIX user, run bin/populate-msgcat username (in the untar'ed freeside directory) to populate the message catalog, passing the username of a Freeside user you created above:
+
+$ su freeside
+$ cd /path/to/freeside/
+$ bin/populate-msgcat username
+
+ - freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup (Do this manually, or edit the top-level Makefile, replacing INIT_FILE with the appropriate location on your systemand QUEUED_USER with the username of a Freeside user you created above, and run make install-init)
- Now proceed to the initial administration of your installation.