X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fdocs%2Finstall.html;h=86e2a6b8c765cd8dfbe9574d247e3d88f23b7c02;hb=3485c34d9374892c3e4d6a56c7dd5f47f480f024;hp=f62ac4cf9f86fa1e988dfb93edc25767b6587d46;hpb=8c8e1e437e684c54dfbd846fb0997b30f4993131;p=freeside.git
diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html
index f62ac4cf9..86e2a6b8c 100644
--- a/httemplate/docs/install.html
+++ b/httemplate/docs/install.html
@@ -3,28 +3,38 @@
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
-
- Perl Don't enable experimental features like threads or the PerlIO abstraction layer.
-
- A transactional database engine supported by Perl's DBI. PostgreSQL is recommended. (see the PostgreSQL notes) MySQL's default MyISAM and ISAM table types are not supported. If you really want to use MySQL, you need to use one of the new transaction-safe table types such as BDB.
-
- Perl modules (CPAN will query, download and build perl modules automatically)
+
- 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
+
- Optional, enables typeset invoices: teTeX and Ghostscript (included with most distributions).
+
- A transactional database engine supported by Perl's DBI.
+
- 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>
|
-
- - 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>
@@ -107,11 +155,39 @@ require "/usr/local/apache/conf/handler.pl";
| | |
-- Restrict access to this web interface. (with Apache)
-
- 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.
+
- 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/freeside/htpasswd
+require valid-user
+</Directory>
+
+ - 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.