|
|
Line 14: |
Line 14: |
| ** mod_perl v2 is now supported. | | ** mod_perl v2 is now supported. |
| ** If compiling your own mod_perl, make sure you set the EVERYTHING=1 compile-time option | | ** If compiling your own mod_perl, make sure you set the EVERYTHING=1 compile-time option |
− | * A '''transactional''' database engine [http://search.cpan.org/search?mode=module&query=DBD%3A%3A supported] by Perl's [http://dbi.perl.org/ DBI]. | + | * A '''transactional''' database engine [http://search.cpan.org/search?mode=module |
− | ** [http://www.postgresql.org PostgreSQL] is recommended (v7.2 or later, 7.4 or later recommended).
| |
− | ** [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.
| |
− | | |
− | ''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.''
| |
− | | |
− | * teTeX and Ghostscript (included with most distributions) (Optional, enables typeset invoices)
| |
− | | |
− | === Perl modules ===
| |
− | | |
− | ==== Popular modules you might want to check your distribution for ====
| |
− | | |
− | * [http://search.cpan.org/dist/libnet/ libnet] (CPAN: "install Net::Cmd")
| |
− | * [http://search.cpan.org/dist/libwww-perl libwww-perl] (CPAN: "install Bundle::LWP")
| |
− | ** [http://search.cpan.org/dist/URI URI]
| |
− | ** [http://search.cpan.org/dist/HTML-Tagset HTML::Tagset]
| |
− | ** [http://search.cpan.org/dist/HTML-Parser HTML::Parser]
| |
− | * [http://search.cpan.org/dist/HTML-Mason HTML::Mason]
| |
− | * [http://search.cpan.org/dist/Text-Template Text::Template]
| |
− | * [http://search.cpan.org/dist/DBI DBI]
| |
− | ** [http://search.cpan.org/search?mode=module&query=DBD%3A%3A DBD] for your database engine ([http://search.cpan.org/dist/DBD-Pg DBD::Pg] for PostgreSQL)
| |
− | * [http://search.cpan.org/dist/MailTools MailTools] (CPAN: "install Mail::Internet")
| |
− | * [http://search.cpan.org/dist/MIME-tools MIME::Tools]
| |
− | * [http://search.cpan.org/dist/TimeDate TimeDate] (CPAN: "install Date::Format")
| |
− | * [http://search.cpan.org/dist/Locale-Codes Locale-Codes] (CPAN: "install Locale::Country")
| |
− | * [http://search.cpan.org/dist/DateTime DateTime]
| |
− | | |
− | ==== Modules of Indeterminate Popularity ====
| |
− | | |
− | * [http://search.cpan.org/dist/Chart Chart] (CPAN: "install Chart::Base")
| |
− | * [http://search.cpan.org/dist/Cache-Cache Cache::Cache]
| |
− | * [http://search.cpan.org/dist/NetAddr-IP NetAddr::IP]
| |
− | * [http://search.cpan.org/dist/String-Approx String::Approx]
| |
− | * [http://search.cpan.org/dist/Locale-SubCountry Locale::SubCountry]
| |
− | * [http://search.cpan.org/dist/Frontier-RPC Frontier::RPC2]
| |
− | * [http://search.cpan.org/dist/Term-ReadKey Term::ReadKey]
| |
− | * [http://search.cpan.org/dist/DateManip Date::Manip]
| |
− | * [http://search.cpan.org/dist/DateTime-Format-Strptime DateTime::Format::Strptime]
| |
− | * [http://search.cpan.org/dist/Text-CSV_XS Text::CSV_XS]
| |
− | | |
− | ==== Less common modules probably not included in anything but Debian? ====
| |
− | | |
− | * [http://search.cpan.org/dist/Business-CreditCard Business::CreditCard]
| |
− | * [http://search.cpan.org/dist/Net-Whois-Raw Net::Whois::Raw]
| |
− | * [http://search.cpan.org/dist/DBIx-DBSchema DBIx::DBSchema]
| |
− | * [http://search.cpan.org/dist/Tie-IxHash Tie::IxHash]
| |
− | * [http://search.cpan.org/dist/Crypt::PasswdMD5 Crypt::PasswdMD5]
| |
− | * [http://search.cpan.org/dist/Time-Duration Time::Duration]
| |
− | * [http://search.cpan.org/dist/File-CounterFile File::CounterFile]
| |
− | * [http://search.cpan.org/dist/IPC-Run3 IPC::Run3]
| |
− | * [http://search.cpan.org/dist/Net-SSH Net::SSH]
| |
− | * [http://search.cpan.org/dist/String-ShellQuote String::ShellQuote]
| |
− | * [http://search.cpan.org/dist/JSON JSON]
| |
− | * [http://search.cpan.org/dist/HTML-Widgets-SelectLayers HTML::Widgets::SelectLayers]
| |
− | * [http://search.cpan.org/dist/Color-Scheme Color::Scheme]
| |
− | * [http://search.cpan.org/dist/Lingua-EN-NameParse Lingua::EN::NameParse]
| |
− | * [http://search.cpan.org/dist/Lingua-EN-Inflect Lingua::EN::Inflect]
| |
− | | |
− | ==== Optional modules ====
| |
− | | |
− | * [http://search.cpan.org/dist/Fax-Hylafax-Client Fax::Hylafax::Client] ''(Required if faxing invoices)''
| |
− | * [http://search.cpan.org/dist/Apache-DBI Apache::DBI] ''(recommended for better web interface performance)''
| |
− | | |
− | | |
− | == Installation ==
| |
− | | |
− | * Add the user and group `freeside' to your system.
| |
− | * Allow the freeside user full access to the freeside database.
| |
− | ** with PostgreSQL
| |
− | <pre>
| |
− | $ 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
| |
− | </pre>
| |
− | or with MySQL:
| |
− | <pre>
| |
− | $ 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';
| |
− | </pre>
| |
− | | |
− | *Edit the top-level Makefile:
| |
− | ** Set DATASOURCE to your DBI data source, for example, <code>DBI:Pg:dbname=freeside</code> for PostgresSQL or <code>DBI:mysql:freeside</code> 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:
| |
− | ** with Postgres:
| |
− | <pre>
| |
− | $ su freeside
| |
− | $ createdb -E sql_ascii freeside
| |
− | </pre>
| |
− | or with MySQL:
| |
− | <pre>
| |
− | $ mysqladmin -u freeside -p create freeside
| |
− | </pre>
| |
− | | |
− | * Build and install the Perl modules:
| |
− | <pre>
| |
− | $ make perl-modules
| |
− | $ su
| |
− | # make install-perl-modules
| |
− | </pre>
| |
− | | |
− | * Create the necessary configuration files:
| |
− | <pre>
| |
− | $ su
| |
− | # make create-config
| |
− | </pre>
| |
− | | |
− | * Ensure Apache has mod_perl enabled and is set to run as <code>User freeside</code>. If you have other things being served by Apache on this machine (hopefully internal things), it is recommended to run a '''separate''' iteration of Apache as the freeside user.
| |
− | | |
− | * Edit the Makefile and set <code>FREESIDE_DOCUMENT_ROOT</code>.
| |
− | | |
− | * Run <code>make install-docs</code>
| |
− | | |
− | * Edit the Makefile and set <code>APACHE_CONF</code> to the location of an Apache include directory (not a file). (If your Apache doesn't have an existing include directory, create one and add a line such as "<code>Include /etc/apache/conf.d</code>" to httpd.conf.)
| |
− | | |
− | * Run <code>make install-apache</code>
| |
− | | |
− | * As the freeside UNIX user, run <code>freeside-setup -d your.domain.name</code> to create the database tables and initial data.
| |
− | <pre>
| |
− | $ su freeside
| |
− | $ freeside-setup -d example.com
| |
− | </pre>
| |
− | | |
− | * Create the Freeside system users:
| |
− | <pre>
| |
− | $ su freeside
| |
− | $ freeside-adduser -g 1 fs_queue
| |
− | $ freeside-adduser -g 1 fs_daily
| |
− | $ freeside-adduser -g 1 fs_selfservice
| |
− | </pre>
| |
− | | |
− | * Create one or more Freeside users (your internal sales/tech folks, not customer accounts):
| |
− | <pre>
| |
− | $ su freeside
| |
− | $ freeside-adduser -g 1 username
| |
− | $ htpasswd /usr/local/etc/freeside/htpasswd username
| |
− | Password:
| |
− | </pre>
| |
− | Additional users can be added using the same command or from the web interface.
| |
− | | |
− | * 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 <code>INIT_FILE</code> with the appropriate location on your system and <code>QUEUED_USER</code> with the username of a Freeside user you created above, and run <code>make install-init</code>)
| |
− | | |
− | * Either [[Freeside:1.7:Documentation:RT_Installation|install the integrated RT ticketing system]], or delete the <code>ticket_system</code> file from your configuration directory (<code>/usr/local/etc/freeside/conf.''datasrc''</code>).
| |
− | | |
− | * Now proceed to the initial [[Freeside:1.7:Documentation:Administration|administration]] of your installation.
| |
Install Freeside on a firewalled, private server, not a public (web, RADIUS, etc.) server.
Please note that these are the 1.7 installation instructions. Do not attempt to use them to install 1.5/1.6, or edit them to correct differences with those releases.