X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fdocs%2Finstall.html;h=a880d91049ad825b5d80623accb3fd92f536a4f5;hb=71c6e9e04a6faadedaf2238f7e7fcf607d4721cc;hp=8d5785f501aac89491037508fd67313d0a3fb8ae;hpb=381ea36d912fe0aec54918c03f3a88eacab64460;p=freeside.git
diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html
index 8d5785f50..a880d9104 100644
--- a/httemplate/docs/install.html
+++ b/httemplate/docs/install.html
@@ -3,32 +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 (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
+
- 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)
+
- 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 PostgreSQL:
-$ su postgres
-$ createuser -P freeside
+$ 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';
- - Unpack the tarball:
gunzip -c fs-x.y.z.tar.gz | tar xvf -
+
- Edit the top-level Makefile:
- - Set DATASOURCE to your DBI data source, for example, DBI:Pg:host=localhost;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 a DBI data source.
-
- Set DB_ADMIN_PASSWORD to the freeside database user's password.
+
- 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:
-
-$ su
-# make create-database
- (or manually, with Postgres:)
-
+
+ - with Postgres:
+
$ su freeside
-$ createdb freeside
- (with MySQL:)
-
+$ createdb -E sql_ascii freeside
+ - with MySQL:
+
$ mysqladmin -u freeside -p create freeside
+
- Build and install the Perl modules:
$ make perl-modules
@@ -88,47 +108,48 @@ $ su
$ su
# make create-config
- - You should run a separate iteration of Apache[-SSL] with mod_perl enabled as the freeside user.
+
- 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>
@@ -136,10 +157,10 @@ require "/usr/local/apache/conf/handler.pl";
| | |
-- Restrict access to this web interface - see the Apache documentation on user authentication. For example, to configure user authentication with mod_auth (flat files):
+
- 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:
-<Directory /usr/local/apache/htdocs/freeside-asp>
-PerlSetVar Global /usr/local/etc/freeside/asp-global/
+#your freeside document root
+<Directory /var/www/freeside>
AuthName Freeside
AuthType Basic
AuthUserFile /usr/local/etc/freeside/htpasswd
@@ -150,18 +171,25 @@ require valid-user
- First user:
$ su
-$ freeside-adduser -c -h /usr/local/etc/freeside/htpasswd username
+$ freeside-adduser -c -h /usr/local/etc/freeside/htpasswd username
- Additional users:
$ su
-$ freeside-adduser -h /usr/local/etc/freeside/htpasswd username
+$ 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 bin/fs-setup username to create the database tables, passing the username of a Freeside user you created above:
+ (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
-$ bin/fs-setup username
+$ 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.
+
- 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.