X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fdocs%2Finstall.html;h=d742ddb11c8827117dfe1283b7afe3626fd6ef10;hb=c2146ae32fdef80049abfa13098db2d45f3ebdd5;hp=2a208c016c526ce46a48e286ef463d7e4525b2a5;hpb=e963a04493d15ac3e714a2cb95a28fe90a6239d9;p=freeside.git
diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html
index 2a208c016..d742ddb11 100644
--- a/httemplate/docs/install.html
+++ b/httemplate/docs/install.html
@@ -3,84 +3,112 @@
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.
- - PostgreSQL (v7 or higher) is recommended.
-
- MySQL has been reported to work. 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, and set it as the default table type using the
--default-table-type=BDB
mysqld command-line option or by setting default-table-type=BDB
in the my.cnf option file.
+ - PostgreSQL is recommended (v7.2 or later).
+
- MySQL is not currently supported. Developers intersted in maintaining MySQL support are welcome to ask on the -devel mailing list; many things work, but MySQL support needs a maintainer to update it for recent (and future) changes.
+
- - 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 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
@@ -90,61 +118,62 @@ $ 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 |
+ Mason (recommended) | Apache::ASP (deprecated) |
-
- - 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:
-
-cp htetc/global.asa /usr/local/etc/freeside/asp-global/global.asa
-
- - 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
-PerlHandler Apache::ASP
+PerlModule HTML::Mason
+# your freeside docuemnt root
+<Directory /var/www/freeside>
+<Files ~ (\.cgi|\.html)>
+AddHandler perl-script .cgi .html
+PerlHandler HTML::Mason
</Files>
<Perl>
-$MLDBM::RemoveTaint = 1;
+require "/usr/local/etc/freeside/handler.pl";
</Perl>
-PerlSetVar Global /usr/local/etc/freeside/asp-global/
-PerlSetVar Debug 2
</Directory>
|
- | |
-- 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
@@ -160,13 +189,20 @@ $ freeside-adduser -c -h /usr/local/
$ 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 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.