<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://secure.freeside.biz/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lawrence</id>
		<title>Freeside - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://secure.freeside.biz/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lawrence"/>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php/Special:Contributions/Lawrence"/>
		<updated>2026-05-07T05:56:43Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.7</generator>

	<entry>
		<id>https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Installation&amp;diff=1439</id>
		<title>Freeside:1.7:Documentation:Installation</title>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Installation&amp;diff=1439"/>
				<updated>2006-08-21T18:38:37Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Install Freeside on a firewalled, private server, not a public (web, RADIUS, etc.) server.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.perl.org/ Perl], minimum version 5.8.0 (5.8.3 for RT?)&lt;br /&gt;
* [http://httpd.apache.org/ Apache], version 1.3 ([http://www.modssl.org/ mod_ssl] highly recommended)&lt;br /&gt;
* [http://perl.apache.org/ mod_perl], version 1.29 (if compiling your own mod_perl, make sure you set the EVERYTHING=1 compile-time option)&lt;br /&gt;
* A '''transactional''' database engine [http://search.cpan.org/search?mode=module&amp;amp;query=DBD%3A%3A supported] by Perl's [http://dbi.perl.org/ DBI]. &lt;br /&gt;
** [http://www.postgresql.org PostgreSQL] is recommended (v7.2 or later, 7.4 or later recommended). &lt;br /&gt;
** [http://www.mysql.com MySQL] is '''not currently supported'''. ''Developers intersted in maintaining MySQL support are welcome to ask on the -devel mailing list; most things work, but MySQL support needs a maintainer to update it for recent (and future) changes.&lt;br /&gt;
&lt;br /&gt;
''Note: the above only applies to the database used by the Freeside software itself. Freeside can integrate with RADIUS and other servers running MySQL  or any other DBI-supported database.''&lt;br /&gt;
&lt;br /&gt;
* teTeX and Ghostscript (included with most distributions) (Optional, enables typeset invoices)&lt;br /&gt;
&lt;br /&gt;
=== Perl modules ===&lt;br /&gt;
&lt;br /&gt;
==== Popular modules you might want to check your distribution for ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/libnet/ libnet] (CPAN: &amp;quot;install Net::Cmd&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/libwww-perl libwww-perl] (CPAN: &amp;quot;install Bundle::LWP&amp;quot;)&lt;br /&gt;
** [http://search.cpan.org/dist/URI URI]&lt;br /&gt;
** [http://search.cpan.org/dist/HTML-Tagset HTML::Tagset]&lt;br /&gt;
** [http://search.cpan.org/dist/HTML-Parser HTML::Parser]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Mason HTML::Mason]&lt;br /&gt;
* [http://search.cpan.org/dist/Text-Template Text::Template]&lt;br /&gt;
* [http://search.cpan.org/dist/DBI DBI]&lt;br /&gt;
** [http://search.cpan.org/search?mode=module&amp;amp;query=DBD%3A%3A DBD] for your database engine ([http://search.cpan.org/dist/DBD-Pg DBD::Pg] for PostgreSQL)&lt;br /&gt;
* [http://search.cpan.org/dist/MailTools MailTools] (CPAN: &amp;quot;install Mail::Internet&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/MIME-tools MIME::Tools]&lt;br /&gt;
* [http://search.cpan.org/dist/TimeDate TimeDate] (CPAN: &amp;quot;install Date::Format&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/Locale-Codes Locale-Codes] (CPAN: &amp;quot;install Locale::Country&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Modules of Indeterminate Popularity ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Chart Chart] (CPAN: &amp;quot;install Chart::Base&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/Cache-Cache Cache::Cache]&lt;br /&gt;
* [http://search.cpan.org/dist/NetAddr-IP NetAddr::IP]&lt;br /&gt;
* [http://search.cpan.org/dist/String-Approx String::Approx]&lt;br /&gt;
* [http://search.cpan.org/dist/Locale-SubCountry Locale::SubCountry]&lt;br /&gt;
* [http://search.cpan.org/dist/Frontier-RPC Frontier::RPC2]&lt;br /&gt;
* [http://search.cpan.org/dist/Term-ReadKey Term::ReadKey]&lt;br /&gt;
&lt;br /&gt;
==== Less common modules probably not included in anything but Debian? ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Business-CreditCard Business::CreditCard]&lt;br /&gt;
* [http://search.cpan.org/dist/Net-Whois-Raw Net::Whois::Raw]&lt;br /&gt;
* [http://search.cpan.org/dist/DBIx-DBSchema DBIx::DBSchema]&lt;br /&gt;
* [http://search.cpan.org/dist/Tie-IxHash Tie::IxHash]&lt;br /&gt;
* [http://search.cpan.org/dist/Crypt::PasswdMD5 Crypt::PasswdMD5]&lt;br /&gt;
* [http://search.cpan.org/dist/Time-Duration Time::Duration]&lt;br /&gt;
* [http://search.cpan.org/dist/File-CounterFile File::CounterFile]&lt;br /&gt;
* [http://search.cpan.org/dist/IPC-Run3 IPC::Run3]&lt;br /&gt;
* [http://search.cpan.org/dist/Net-SSH Net::SSH]&lt;br /&gt;
* [http://search.cpan.org/dist/String-ShellQuote String::ShellQuote]&lt;br /&gt;
* [http://search.cpan.org/dist/JSON JSON]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Widgets-SelectLayers HTML::Widgets::SelectLayers]&lt;br /&gt;
&lt;br /&gt;
==== Optional modules ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Fax-Hylafax-Client Fax::Hylafax::Client] ''(Required if faxing invoices)''&lt;br /&gt;
* [http://search.cpan.org/dist/Apache-DBI Apache::DBI] ''(recommended for better web interface performance)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
* Add the user and group `freeside' to your system.&lt;br /&gt;
* Allow the freeside user full access to the freeside database. &lt;br /&gt;
** with PostgreSQL&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su postgres (pgsql on some distributions)&lt;br /&gt;
$ createuser -P freeside&lt;br /&gt;
Enter password for user &amp;quot;freeside&amp;quot;: &lt;br /&gt;
Enter it again: &lt;br /&gt;
Shall the new user be allowed to create databases? (y/n) y&lt;br /&gt;
Shall the new user be allowed to create more new users? (y/n) n&lt;br /&gt;
CREATE USER&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** or with MySQL:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ mysqladmin -u root password 'set_a_root_database_password'&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
mysql&amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP on freeside.* TO freeside@localhost IDENTIFIED BY 'set_a_freeside_database_password';&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Edit the top-level Makefile: &lt;br /&gt;
** Set DATASOURCE to your DBI data source, for example, &amp;lt;code&amp;gt;DBI:Pg:dbname=freeside&amp;lt;/code&amp;gt; for PostgresSQL or &amp;lt;code&amp;gt;DBI:mysql:freeside&amp;lt;/code&amp;gt; for MySQL. See the DBI manpage and the manpage for your DBD for the exact syntax of your DBI data source. &lt;br /&gt;
** Set DB_PASSWORD to the freeside database user's password. &lt;br /&gt;
&lt;br /&gt;
* Add the freeside database to your database engine: &lt;br /&gt;
** with Postgres: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
$ createdb -E sql_ascii freeside&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** or with MySQL: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ mysqladmin -u freeside -p create freeside &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Build and install the Perl modules: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make perl-modules&lt;br /&gt;
$ su&lt;br /&gt;
# make install-perl-modules&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create the necessary configuration files: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su&lt;br /&gt;
# make create-config&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run a '''separate''' iteration of Apache[-SSL] with mod_perl enabled '''as the freeside user'''.&lt;br /&gt;
&lt;br /&gt;
* Edit the Makefile and set &amp;lt;code&amp;gt;FREESIDE_DOCUMENT_ROOT&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make install-docs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configure Apache: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
PerlModule HTML::Mason&lt;br /&gt;
# your freeside docuemnt root&lt;br /&gt;
&amp;lt;Directory /var/www/freeside&amp;gt;&lt;br /&gt;
&amp;lt;Files ~ (\.cgi|\.html)&amp;gt;&lt;br /&gt;
AddHandler perl-script .cgi .html&lt;br /&gt;
PerlHandler HTML::Mason&lt;br /&gt;
&amp;lt;/Files&amp;gt;&lt;br /&gt;
&amp;lt;Perl&amp;gt;&lt;br /&gt;
require &amp;quot;/usr/local/etc/freeside/handler.pl&amp;quot;;&lt;br /&gt;
&amp;lt;/Perl&amp;gt;&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
* Restrict access to this web interface - see the [http://httpd.apache.org/docs/misc/FAQ.html#user-authentication Apache documentation on user authentication]. For example, to configure user authentication with [http://httpd.apache.org/docs/mod/mod_auth.html mod_auth] (flat files), add something like the following to your Apache httpd.conf file, adjusting for your actual paths: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#your freeside document root&lt;br /&gt;
&amp;lt;Directory /var/www/freeside&amp;gt;&lt;br /&gt;
AuthName Freeside&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthUserFile /usr/local/etc/freeside/htpasswd&lt;br /&gt;
require valid-user&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* As the freeside UNIX user, run freeside-setup -d domain.name  to create the database tables and initial data.&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
$ freeside-setup -d example.com &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 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): &lt;br /&gt;
** First user: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
# freeside-adduser -c -h /usr/local/etc/freeside/htpasswd username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Additional users: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
# freeside-adduser -h /usr/local/etc/freeside/htpasswd username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''(using other auth types, add each user to your Apache authentication and then run: freeside-adduser username) ''&lt;br /&gt;
&lt;br /&gt;
* Create the Freeside system users: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
# freeside-adduser fs_queue&lt;br /&gt;
# freeside-adduser fs_daily&lt;br /&gt;
# freeside-adduser fs_selfservice&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;INIT_FILE&amp;lt;/code&amp;gt; with the appropriate location on your system and &amp;lt;code&amp;gt;QUEUED_USER&amp;lt;/code&amp;gt; with the username of a Freeside user you created above, and run &amp;lt;code&amp;gt;make install-init&amp;lt;/code&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Now proceed to the initial administration of your installation.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Installation&amp;diff=1438</id>
		<title>Freeside:1.7:Documentation:Installation</title>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Installation&amp;diff=1438"/>
				<updated>2006-08-21T18:37:45Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Install Freeside on a firewalled, private server, not a public (web, RADIUS, etc.) server.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.perl.org/ Perl], minimum version 5.8.0 (5.8.3 for RT?)&lt;br /&gt;
* [http://httpd.apache.org/ Apache], version 1.3 ([http://www.modssl.org/ mod_ssl] highly recommended)&lt;br /&gt;
* [http://perl.apache.org/ mod_perl], version 1.29 (if compiling your own mod_perl, make sure you set the EVERYTHING=1 compile-time option)&lt;br /&gt;
* A '''transactional''' database engine [http://search.cpan.org/search?mode=module&amp;amp;query=DBD%3A%3A supported] by Perl's [http://dbi.perl.org/ DBI]. &lt;br /&gt;
** [http://www.postgresql.org PostgreSQL] is recommended (v7.2 or later, 7.4 or later recommended). &lt;br /&gt;
** [http://www.mysql.com MySQL] is '''not currently supported'''. ''Developers intersted in maintaining MySQL support are welcome to ask on the -devel mailing list; most things work, but MySQL support needs a maintainer to update it for recent (and future) changes.&lt;br /&gt;
&lt;br /&gt;
''Note: the above only applies to the database used by the Freeside software itself. Freeside can integrate with RADIUS and other servers running MySQL  or any other DBI-supported database.''&lt;br /&gt;
&lt;br /&gt;
* teTeX and Ghostscript (included with most distributions) (Optional, enables typeset invoices)&lt;br /&gt;
&lt;br /&gt;
=== Perl modules ===&lt;br /&gt;
&lt;br /&gt;
==== Popular modules you might want to check your distribution for ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/libnet/ libnet] (CPAN: &amp;quot;install Net::Cmd&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/libwww-perl libwww-perl] (CPAN: &amp;quot;install Bundle::LWP&amp;quot;)&lt;br /&gt;
** [http://search.cpan.org/dist/URI URI]&lt;br /&gt;
** [http://search.cpan.org/dist/HTML-Tagset HTML::Tagset]&lt;br /&gt;
** [http://search.cpan.org/dist/HTML-Parser HTML::Parser]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Mason HTML::Mason]&lt;br /&gt;
* [http://search.cpan.org/dist/Text-Template Text::Template]&lt;br /&gt;
* [http://search.cpan.org/dist/DBI DBI]&lt;br /&gt;
** [http://search.cpan.org/search?mode=module&amp;amp;query=DBD%3A%3A DBD] for your database engine ([http://search.cpan.org/dist/DBD-Pg DBD::Pg] for PostgreSQL)&lt;br /&gt;
* [http://search.cpan.org/dist/MailTools MailTools] (CPAN: &amp;quot;install Mail::Internet&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/MIME-tools MIME::Tools]&lt;br /&gt;
* [http://search.cpan.org/dist/TimeDate TimeDate] (CPAN: &amp;quot;install Date::Format&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/Locale-Codes Locale-Codes] (CPAN: &amp;quot;install Locale::Country&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Modules of Indeterminate Popularity ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Chart Chart] (CPAN: &amp;quot;install Chart::Base&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/Cache-Cache Cache::Cache]&lt;br /&gt;
* [http://search.cpan.org/dist/NetAddr-IP NetAddr::IP]&lt;br /&gt;
* [http://search.cpan.org/dist/String-Approx String::Approx]&lt;br /&gt;
* [http://search.cpan.org/dist/Locale-SubCountry Locale::SubCountry]&lt;br /&gt;
* [http://search.cpan.org/dist/Frontier-RPC Frontier::RPC2]&lt;br /&gt;
* [http://search.cpan.org/dist/Term-ReadKey Term::ReadKey]&lt;br /&gt;
&lt;br /&gt;
==== Less common modules probably not included in anything but Debian? ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Business-CreditCard Business::CreditCard]&lt;br /&gt;
* [http://search.cpan.org/dist/Net-Whois-Raw Net::Whois::Raw]&lt;br /&gt;
* [http://search.cpan.org/dist/DBIx-DBSchema DBIx::DBSchema]&lt;br /&gt;
* [http://search.cpan.org/dist/Tie-IxHash Tie::IxHash]&lt;br /&gt;
* [http://search.cpan.org/dist/Crypt::PasswdMD5 Crypt::PasswdMD5]&lt;br /&gt;
* [http://search.cpan.org/dist/Time-Duration Time::Duration]&lt;br /&gt;
* [http://search.cpan.org/dist/File-CounterFile File::CounterFile]&lt;br /&gt;
* [http://search.cpan.org/dist/IPC-Run3 IPC::Run3]&lt;br /&gt;
* [http://search.cpan.org/dist/Net-SSH Net::SSH]&lt;br /&gt;
* [http://search.cpan.org/dist/String-ShellQuote String::ShellQuote]&lt;br /&gt;
* [http://search.cpan.org/dist/JSON JSON]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Widgets-SelectLayers HTML::Widgets::SelectLayers]&lt;br /&gt;
&lt;br /&gt;
==== Optional modules ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Fax-Hylafax-Client Fax::Hylafax::Client] ''(Required if faxing invoices)''&lt;br /&gt;
* [http://search.cpan.org/dist/Apache-DBI Apache::DBI] ''(recommended for better web interface performance)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
* Add the user and group `freeside' to your system.&lt;br /&gt;
* Allow the freeside user full access to the freeside database. &lt;br /&gt;
** with PostgreSQL&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su postgres (pgsql on some distributions)&lt;br /&gt;
$ createuser -P freeside&lt;br /&gt;
Enter password for user &amp;quot;freeside&amp;quot;: &lt;br /&gt;
Enter it again: &lt;br /&gt;
Shall the new user be allowed to create databases? (y/n) y&lt;br /&gt;
Shall the new user be allowed to create more new users? (y/n) n&lt;br /&gt;
CREATE USER&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** or with MySQL:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ mysqladmin -u root password 'set_a_root_database_password'&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
mysql&amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP on freeside.* TO freeside@localhost IDENTIFIED BY 'set_a_freeside_database_password';&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Edit the top-level Makefile: &lt;br /&gt;
** Set DATASOURCE to your DBI data source, for example, &amp;lt;code&amp;gt;DBI:Pg:dbname=freeside&amp;lt;/code&amp;gt; for PostgresSQL or &amp;lt;code&amp;gt;DBI:mysql:freeside&amp;lt;/code&amp;gt; for MySQL. See the DBI manpage and the manpage for your DBD for the exact syntax of your DBI data source. &lt;br /&gt;
** Set DB_PASSWORD to the freeside database user's password. &lt;br /&gt;
&lt;br /&gt;
* Add the freeside database to your database engine: &lt;br /&gt;
** with Postgres: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
$ createdb -E sql_ascii freeside&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** or with MySQL: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ mysqladmin -u freeside -p create freeside &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Build and install the Perl modules: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make perl-modules&lt;br /&gt;
$ su&lt;br /&gt;
# make install-perl-modules&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create the necessary configuration files: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su&lt;br /&gt;
# make create-config&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run a '''separate''' iteration of Apache[-SSL] with mod_perl enabled '''as the freeside user'''.&lt;br /&gt;
&lt;br /&gt;
* Edit the Makefile and set &amp;lt;code&amp;gt;FREESIDE_DOCUMENT_ROOT&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make install-docs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configure Apache: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
PerlModule HTML::Mason&lt;br /&gt;
# your freeside docuemnt root&lt;br /&gt;
&amp;lt;Directory /var/www/freeside&amp;gt;&lt;br /&gt;
&amp;lt;Files ~ (\.cgi|\.html)&amp;gt;&lt;br /&gt;
AddHandler perl-script .cgi .html&lt;br /&gt;
PerlHandler HTML::Mason&lt;br /&gt;
&amp;lt;/Files&amp;gt;&lt;br /&gt;
&amp;lt;Perl&amp;gt;&lt;br /&gt;
require &amp;quot;/usr/local/etc/freeside/handler.pl&amp;quot;;&lt;br /&gt;
&amp;lt;/Perl&amp;gt;&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
* Restrict access to this web interface - see the [http://httpd.apache.org/docs/misc/FAQ.html#user-authentication Apache documentation on user authentication]. For example, to configure user authentication with [http://httpd.apache.org/docs/mod/mod_auth.html mod_auth] (flat files), add something like the following to your Apache httpd.conf file, adjusting for your actual paths: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#your freeside document root&lt;br /&gt;
&amp;lt;Directory /var/www/freeside&amp;gt;&lt;br /&gt;
AuthName Freeside&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthUserFile /usr/local/etc/freeside/htpasswd&lt;br /&gt;
require valid-user&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* As the freeside UNIX user, run freeside-setup -d domain.name  to create the database tables and initial data.&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
$ freeside-setup -d example.com &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 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): &lt;br /&gt;
** First user: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su&lt;br /&gt;
# freeside-adduser -c -h /usr/local/etc/freeside/htpasswd username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Additional users: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
# freeside-adduser -h /usr/local/etc/freeside/htpasswd username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''(using other auth types, add each user to your Apache authentication and then run: freeside-adduser username) ''&lt;br /&gt;
&lt;br /&gt;
* Create the Freeside system users: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
# freeside-adduser fs_queue&lt;br /&gt;
# freeside-adduser fs_daily&lt;br /&gt;
# freeside-adduser fs_selfservice&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;INIT_FILE&amp;lt;/code&amp;gt; with the appropriate location on your system and &amp;lt;code&amp;gt;QUEUED_USER&amp;lt;/code&amp;gt; with the username of a Freeside user you created above, and run &amp;lt;code&amp;gt;make install-init&amp;lt;/code&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Now proceed to the initial administration of your installation.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	<entry>
		<id>https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Installation&amp;diff=1437</id>
		<title>Freeside:1.7:Documentation:Installation</title>
		<link rel="alternate" type="text/html" href="https://secure.freeside.biz/mediawiki/index.php?title=Freeside:1.7:Documentation:Installation&amp;diff=1437"/>
				<updated>2006-08-21T18:32:24Z</updated>
		
		<summary type="html">&lt;p&gt;Lawrence: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Install Freeside on a firewalled, private server, not a public (web, RADIUS, etc.) server.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.perl.org/ Perl], minimum version 5.8.0 (5.8.3 for RT?)&lt;br /&gt;
* [http://httpd.apache.org/ Apache], version 1.3 ([http://www.modssl.org/ mod_ssl] highly recommended)&lt;br /&gt;
* [http://perl.apache.org/ mod_perl], version 1.29 (if compiling your own mod_perl, make sure you set the EVERYTHING=1 compile-time option)&lt;br /&gt;
* A '''transactional''' database engine [http://search.cpan.org/search?mode=module&amp;amp;query=DBD%3A%3A supported] by Perl's [http://dbi.perl.org/ DBI]. &lt;br /&gt;
** [http://www.postgresql.org PostgreSQL] is recommended (v7.2 or later, 7.4 or later recommended). &lt;br /&gt;
** [http://www.mysql.com MySQL] is '''not currently supported'''. ''Developers intersted in maintaining MySQL support are welcome to ask on the -devel mailing list; most things work, but MySQL support needs a maintainer to update it for recent (and future) changes.&lt;br /&gt;
&lt;br /&gt;
''Note: the above only applies to the database used by the Freeside software itself. Freeside can integrate with RADIUS and other servers running MySQL  or any other DBI-supported database.''&lt;br /&gt;
&lt;br /&gt;
* teTeX and Ghostscript (included with most distributions) (Optional, enables typeset invoices)&lt;br /&gt;
&lt;br /&gt;
=== Perl modules ===&lt;br /&gt;
&lt;br /&gt;
==== Popular modules you might want to check your distribution for ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/libnet/ libnet] (CPAN: &amp;quot;install Net::Cmd&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/libwww-perl libwww-perl] (CPAN: &amp;quot;install Bundle::LWP&amp;quot;)&lt;br /&gt;
** [http://search.cpan.org/dist/URI URI]&lt;br /&gt;
** [http://search.cpan.org/dist/HTML-Tagset HTML::Tagset]&lt;br /&gt;
** [http://search.cpan.org/dist/HTML-Parser HTML::Parser]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Mason HTML::Mason]&lt;br /&gt;
* [http://search.cpan.org/dist/Text-Template Text::Template]&lt;br /&gt;
* [http://search.cpan.org/dist/DBI DBI]&lt;br /&gt;
** [http://search.cpan.org/search?mode=module&amp;amp;query=DBD%3A%3A DBD] for your database engine ([http://search.cpan.org/dist/DBD-Pg DBD::Pg] for PostgreSQL)&lt;br /&gt;
* [http://search.cpan.org/dist/MailTools MailTools] (CPAN: &amp;quot;install Mail::Internet&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/MIME-tools MIME::Tools]&lt;br /&gt;
* [http://search.cpan.org/dist/TimeDate TimeDate] (CPAN: &amp;quot;install Date::Format&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/Locale-Codes Locale-Codes] (CPAN: &amp;quot;install Locale::Country&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== Modules of Indeterminate Popularity ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Chart Chart] (CPAN: &amp;quot;install Chart::Base&amp;quot;)&lt;br /&gt;
* [http://search.cpan.org/dist/Cache-Cache Cache::Cache]&lt;br /&gt;
* [http://search.cpan.org/dist/NetAddr-IP NetAddr::IP]&lt;br /&gt;
* [http://search.cpan.org/dist/String-Approx String::Approx]&lt;br /&gt;
* [http://search.cpan.org/dist/Locale-SubCountry Locale::SubCountry]&lt;br /&gt;
* [http://search.cpan.org/dist/Frontier-RPC Frontier::RPC2]&lt;br /&gt;
* [http://search.cpan.org/dist/Term-ReadKey Term::ReadKey]&lt;br /&gt;
&lt;br /&gt;
==== Less common modules probably not included in anything but Debian? ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Business-CreditCard Business::CreditCard]&lt;br /&gt;
* [http://search.cpan.org/dist/Net-Whois-Raw Net::Whois::Raw]&lt;br /&gt;
* [http://search.cpan.org/dist/DBIx-DBSchema DBIx::DBSchema]&lt;br /&gt;
* [http://search.cpan.org/dist/Tie-IxHash Tie::IxHash]&lt;br /&gt;
* [http://search.cpan.org/dist/Crypt::PasswdMD5 Crypt::PasswdMD5]&lt;br /&gt;
* [http://search.cpan.org/dist/Time-Duration Time::Duration]&lt;br /&gt;
* [http://search.cpan.org/dist/File-CounterFile File::CounterFile]&lt;br /&gt;
* [http://search.cpan.org/dist/IPC-Run3 IPC::Run3]&lt;br /&gt;
* [http://search.cpan.org/dist/Net-SSH Net::SSH]&lt;br /&gt;
* [http://search.cpan.org/dist/String-ShellQuote String::ShellQuote]&lt;br /&gt;
* [http://search.cpan.org/dist/JSON JSON]&lt;br /&gt;
* [http://search.cpan.org/dist/HTML-Widgets-SelectLayers HTML::Widgets::SelectLayers]&lt;br /&gt;
&lt;br /&gt;
==== Optional modules ====&lt;br /&gt;
&lt;br /&gt;
* [http://search.cpan.org/dist/Fax-Hylafax-Client Fax::Hylafax::Client] ''(Required if faxing invoices)''&lt;br /&gt;
* [http://search.cpan.org/dist/Apache-DBI Apache::DBI] ''(recommended for better web interface performance)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
* Add the user and group `freeside' to your system.&lt;br /&gt;
* Allow the freeside user full access to the freeside database. &lt;br /&gt;
** with PostgreSQL&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su postgres (pgsql on some distributions)&lt;br /&gt;
$ createuser -P freeside&lt;br /&gt;
Enter password for user &amp;quot;freeside&amp;quot;: &lt;br /&gt;
Enter it again: &lt;br /&gt;
Shall the new user be allowed to create databases? (y/n) y&lt;br /&gt;
Shall the new user be allowed to create more new users? (y/n) n&lt;br /&gt;
CREATE USER&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** or with MySQL:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ mysqladmin -u root password 'set_a_root_database_password'&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
mysql&amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP on freeside.* TO freeside@localhost IDENTIFIED BY 'set_a_freeside_database_password';&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Edit the top-level Makefile: &lt;br /&gt;
** Set DATASOURCE to your DBI data source, for example, &amp;lt;code&amp;gt;DBI:Pg:dbname=freeside&amp;lt;/code&amp;gt; for PostgresSQL or &amp;lt;code&amp;gt;DBI:mysql:freeside&amp;lt;/code&amp;gt; for MySQL. See the DBI manpage and the manpage for your DBD for the exact syntax of your DBI data source. &lt;br /&gt;
** Set DB_PASSWORD to the freeside database user's password. &lt;br /&gt;
&lt;br /&gt;
* Add the freeside database to your database engine: &lt;br /&gt;
** with Postgres: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
$ createdb -E sql_ascii freeside&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** or with MySQL: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ mysqladmin -u freeside -p create freeside &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Build and install the Perl modules: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make perl-modules&lt;br /&gt;
$ su&lt;br /&gt;
# make install-perl-modules&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create the necessary configuration files: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su&lt;br /&gt;
# make create-config&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run a '''separate''' iteration of Apache[-SSL] with mod_perl enabled '''as the freeside user'''.&lt;br /&gt;
&lt;br /&gt;
* Edit the Makefile and set &amp;lt;code&amp;gt;FREESIDE_DOCUMENT_ROOT&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make install-docs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configure Apache: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
PerlModule HTML::Mason&lt;br /&gt;
# your freeside docuemnt root&lt;br /&gt;
&amp;lt;Directory /var/www/freeside&amp;gt;&lt;br /&gt;
&amp;lt;Files ~ (\.cgi|\.html)&amp;gt;&lt;br /&gt;
AddHandler perl-script .cgi .html&lt;br /&gt;
PerlHandler HTML::Mason&lt;br /&gt;
&amp;lt;/Files&amp;gt;&lt;br /&gt;
&amp;lt;Perl&amp;gt;&lt;br /&gt;
require &amp;quot;/usr/local/etc/freeside/handler.pl&amp;quot;;&lt;br /&gt;
&amp;lt;/Perl&amp;gt;&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
* Restrict access to this web interface - see the [http://httpd.apache.org/docs/misc/FAQ.html#user-authentication Apache documentation on user authentication]. For example, to configure user authentication with [http://httpd.apache.org/docs/mod/mod_auth.html mod_auth] (flat files), add something like the following to your Apache httpd.conf file, adjusting for your actual paths: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#your freeside document root&lt;br /&gt;
&amp;lt;Directory /var/www/freeside&amp;gt;&lt;br /&gt;
AuthName Freeside&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthUserFile /usr/local/etc/freeside/htpasswd&lt;br /&gt;
require valid-user&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* As the freeside UNIX user, run freeside-setup -d domain.name  to create the database tables and initial data.&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su freeside&lt;br /&gt;
$ freeside-setup -d example.com &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 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): &lt;br /&gt;
** First user: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su&lt;br /&gt;
# freeside-adduser -c -h /usr/local/etc/freeside/htpasswd username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Additional users: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su&lt;br /&gt;
# freeside-adduser -h /usr/local/etc/freeside/htpasswd username&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''(using other auth types, add each user to your Apache authentication and then run: freeside-adduser username) ''&lt;br /&gt;
&lt;br /&gt;
* Create the Freeside system users: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ su&lt;br /&gt;
# freeside-adduser fs_queue&lt;br /&gt;
# freeside-adduser fs_daily&lt;br /&gt;
# freeside-adduser fs_selfservice&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;INIT_FILE&amp;lt;/code&amp;gt; with the appropriate location on your system and &amp;lt;code&amp;gt;QUEUED_USER&amp;lt;/code&amp;gt; with the username of a Freeside user you created above, and run &amp;lt;code&amp;gt;make install-init&amp;lt;/code&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
* Now proceed to the initial administration of your installation.&lt;/div&gt;</summary>
		<author><name>Lawrence</name></author>	</entry>

	</feed>