X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fdocs%2Finstall.html;h=4870c7db79748bcd792a66397e8453bf41326bd3;hb=38616a70ddf2b60925af53b605a4ea40a1c51e09;hp=4bf7b44eac2506826f3f5c347327c91f82368f1a;hpb=f5266a4d07d116efd732f433d0f4f3a47b143a7d;p=freeside.git
diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html
index 4bf7b44ea..4870c7db7 100644
--- a/httemplate/docs/install.html
+++ b/httemplate/docs/install.html
@@ -5,17 +5,26 @@
Installation
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. 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.
+
- 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.
+
+ - PostgreSQL (v7 or higher) is recommended.
+
- MySQL does not work at this time.
+ The following information is provided for developers who wish to contribute MySQL support: See ticket #300 in the bug-tracking system.
+
+ 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.
+
- Perl modules (CPAN will query, download and build perl modules automatically)
Install the Freeside distribution:
@@ -46,21 +60,48 @@ Install the Freeside distribution:
Add the user `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
+$ 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: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_PASSWORD to the freeside database user's password.
+
+ Add the freeside database to your database engine:
+
+$ su
+# make create-database
+ (or manually, with Postgres:)
+
+$ su freeside
+$ createdb freeside
+ (with MySQL:)
+
+$ mysqladmin -u freeside -p create freeside
+ Build and install the Perl modules:
-$ cd FS/
-$ perl Makefile.PL
-$ make
+$ make perl-modules
$ su
-# make install UNINST=1
- You should run a separate iteration of Apache[-SSL] with mod_perl enabled as the freeside user.
+# make install-perl-modules
+ Create the necessary configuration files:
+$ su
+# make create-config
+
+ Run a separate iteration of Apache[-SSL] with mod_perl enabled as the freeside user.
@@ -70,11 +111,18 @@ $ su
- 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.
+
- Create a Global directory, such as /usr/local/etc/freeside/asp-global/:
+
+mkdir /usr/local/etc/freeside/asp-global/
+chown freeside /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:
-<Directory /usr/local/apache/htdocs/freeside-asp>
+<Directory /usr/local/apache/htdocs/freeside-asp>
<Files ~ (\.cgi)>
AddHandler perl-script .cgi
PerlHandler Apache::ASP
@@ -82,7 +130,8 @@ PerlHandler Apache::ASP
<Perl>
$MLDBM::RemoveTaint = 1;
</Perl>
-PerlSetVar Global /usr/local/etc/freeside/asp-global/
+PerlSetVar Global /usr/local/etc/freeside/asp-global/
+PerlSetVar Debug 2
</Directory>
|
@@ -93,13 +142,13 @@ PerlSetVar Global /usr/local/etc/freeside/asp-global/
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:
-<Directory /usr/local/apache/htdocs/freeside-mason>
+<Directory /usr/local/apache/htdocs/freeside-mason>
<Files ~ (\.cgi)>
AddHandler perl-script .cgi
PerlHandler HTML::Mason
</Files>
<Perl>
-require "/usr/local/apache/conf/handler.pl";
+require "/usr/local/apache/conf/handler.pl";
</Perl>
</Directory>
@@ -107,13 +156,37 @@ 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',
- `/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.
+
- Restrict access to this web interface - see the Apache documentation on user authentication. For example, to configure user authentication with mod_auth (flat files):
+
+<Directory /usr/local/apache/htdocs/freeside-asp>
+PerlSetVar Global /usr/local/etc/freeside/asp-global/
+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 bin/fs-setup username to create the database tables, passing the username of a Freeside user you created above:
+
+$ su freeside
+$ bin/fs-setup username
+
+ - As the freeside UNIX user, run bin/populate-msgcat username to populate the message catalog, passing the username of a Freeside user you created above:
+
+$ su freeside
+$ bin/populate-msgcat username
+
+ - freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup.
- Now proceed to the initial administration of your installation.