diff options
author | cvs2git <cvs2git> | 2006-01-05 09:34:30 +0000 |
---|---|---|
committer | cvs2git <cvs2git> | 2006-01-05 09:34:30 +0000 |
commit | 0c525f3ba7b2b6730b8939b950e4d76dd16802a9 (patch) | |
tree | 9d0c5411f52238759ca3484d5ecc036dc6905414 /httemplate/docs | |
parent | 8f5c91d6c7a8dc85a8b6768a149b4c7b3e144c38 (diff) |
This commit was manufactured by cvs2svn to create tag 'SQL_LEDGER_2_4_4'.SQL_LEDGER_2_4_4
Diffstat (limited to 'httemplate/docs')
30 files changed, 0 insertions, 2026 deletions
diff --git a/httemplate/docs/ach.html b/httemplate/docs/ach.html deleted file mode 100644 index b8a17c87d..000000000 --- a/httemplate/docs/ach.html +++ /dev/null @@ -1,10 +0,0 @@ -<HTML> - <HEAD> - <TITLE> - Electronic check (ACH) information - </TITLE> - </HEAD> - <BODY BGCOLOR="#ffffff"> - <IMG BORDER=0 SRC="../images/ach.png"> - </BODY> -</HTML> diff --git a/httemplate/docs/admin.html b/httemplate/docs/admin.html deleted file mode 100755 index 9ce259c2b..000000000 --- a/httemplate/docs/admin.html +++ /dev/null @@ -1,82 +0,0 @@ -<head> - <title>Administration</title> -</head> -<body> - <h1>Administration</h1> -</body> -<ul> - <li>Open up the root of the Freeside document tree in your web - browser. For example, if you created the Freeside document tree in - /home/httpd/html/freeside, and your web browser's DocumentRoot is - /home/httpd/html, open https://your_host/freeside/. Replace - "your_host" with the name or network address of your web server. - <li>Select <u>Configuration</u> from the main menu and update your configuration values. - <li>Next you must create a service definition. An example of a service - definition would be a dial-up account or a domain. First, it is - necessary to create a domain definition. Click on <u>View/Edit service - definitions</u> and <u>Add a new service definition</u> with <i>Table</i> - <b>svc_domain</b> (and no modifiers). - - <li>Now that you have created your first service, you must create a package - including this service which you can sell to customers. Zero, one, or many - services are bundled into a package. Click on <u>View/Edit package - definitions</u> and <u>Add a new package definition</u> which includes - quantity <b>1</b> of the svc_domain service you created above. - - <li>After you create your first package, then you must define who is - able to sell that package by creating an agent type. An example of - an agent type would be an internal sales representitive which sells - regular and promotional packages, as opposed to an external sales - representitive which would only sell regular packages of services. Click on - <u>View/Edit agent types</u> and <u>Add a new agent type</u>. Allow this - agent type to sell the package you created above. - - <li>After creating a new agent type, you must create an agent. Click on - <u>View/Edit agents</u> and <u>Add a new agent</u>. - - <li>Set up at least one Advertising source. Advertising sources will help - you keep track of how effective your advertising is, tracking where customers - heard of your service offerings. You must create at least one advertising - source. If you do not wish to use the referral functionality, simply create - a single advertising source only. Click on <u>View/Edit advertising - sources</u> and <u>Add a new advertising source</u>. - - <li>Click on <u>New Customer</u> and create a new customer for your system - accounts with billing type <b>Complimentary</b>. Leave the <i>First - package</i> dropdown set to <b>(none)</b>. - - <li>From the Customer View screen of the newly created customer, order the - package you defined above. - - <li>From the Package View screen of the newly created package, choose - <u>(Provision)</u> to add the customer's service for this new package. - - <li>Add your own domain. - - <li>Go back to <u>View/Edit service definitions</u> on the main menu, and - <u>Add a new service definition</u> with <i>Table</i> <b>svc_acct</b>. - Select your domain in the <b>domsvc</b> Modifier. Set <b>Fixed</b> to define - a service locked-in to this domain, or <b>Default</b> to define a service - which may select from among this domain and the customer's domains. - - <li><table><tr> - <td> Create at least POP (Point of Presence) by selecting - <u>View/Edit POPs</u> from the main menu.</td> - <th align="left"> OR </th> - <td>If you are not doing dialup, set slipip to fixed and blank for all your - Service Definitions which have Table <b>svc_acct</b>.</td> - </tr></table> - - <li>If you are using Freeside to keep track of sales taxes, define tax - information for your locales by clicking on the <u>View/Edit locales and tax - rates</b> on the main menu. - - <li>If you would like Freeside to notify your customers when their credit - cards and other billing arrangements are about to expire, arrange for - <b>freeside-expiration-alerter</b> to be run daily by cron or similar - facility. The message it sends can be configured from the - <u>Configuration</u> choice of the main menu as <u>alerter_template</u>. - -</ul> -</body> -</html> diff --git a/httemplate/docs/billing.html b/httemplate/docs/billing.html deleted file mode 100644 index adaac17dc..000000000 --- a/httemplate/docs/billing.html +++ /dev/null @@ -1,68 +0,0 @@ -<head> - <title>Billing</title> -</head> -<body> - <h1>Billing</h1> - <ul> - <li>Add one or more <a href="../browse/part_bill_event.cgi">Invoice events</a> implmenting your business rules for re-sending invoices, retrying cards, suspending, etc. - <li>You can bill individual customers by clicking on the <i>Bill now</i> link on the main customer view. - <li>The <a href="man/bin/freeside-daily.html"><b>freeside-daily</b></a> script should be run daily to bill customers and run invoice collection events. - <li>Real-time credit card processing: Install the <a href="http://search.cpan.org/search?mode=module&query=Business%3A%3AOnlinePayment">Business::OnlinePayment</a> module for your processor. Configure the <a href="../config/config-view.cgi#business-onlinepayment">business-onlinepayment</a> configuration option. Disable the default <b>Batch card</b> <a href="../browse/part_bill_event.cgi">invoice event</a> and add one for Business::OnlinePayment. - <li>Optional: Credit card expiration alerts: Customize <a href="../config/config.cgi#alerter_template">alerter_template</a> configuration option and run <a href="man/bin/freeside-expiration-alerter.html">freeside-expiration-alerter</a> daily. - <li>Credit card decline alerts: Customize the <a href="../config/config.cgi#declinetemplate">declinetemplate</a> configuration option and set the <a href="../config/config.cgi#emaildecline">emaildecline</a> configuration option. - <li>Typeset (LaTeX) invoice templates - <ul> - <li>Install teTeX and Ghostscript (included with most distributions). - <li>Place your logo in EPS (Encapsulated PostScript) format with size 90pt X 36pt (<code>epsffit -c 0 0 90 33 yourlogo.eps >logo.eps</code>) at <code>/usr/local/etc/freeside/conf.<i>your_datasrc</i>/logo.eps</code>. - <li>Edit the <b>invoice_latexreturnaddress</b>, <b>invoice_latexfooter</b>, <b>invoice_latexnotes</b>, and <b>invoice_latexsmallfooter</b> configuration options. If you are adventurous, edit <b>invoice_latex</b> as well. - </ul> - <li>Plaintext invoice templates - <ul> - <li>See the <a href="http://search.cpan.org/~mjd/Text-Template/lib/Text/Template.pm">Text::Template</a> documentation for details on the substitution language. - <li>You <b>must</b> call the invoice_lines() function at least once - pass it a number of lines, and it returns a list of array references, each of two elements: a service description column, and a price column. Alternatively, call invoice_lines() with no arguments, and pagination will be disabled - all invoice line items will print on one page, with no padding (recommended for email invoices). - <li>In addition, the following variables are available: - <ul> - <li>$invnum - invoice number - <li>$date - as a UNIX timestamp (see <a href="http://search.cpan.org/doc/GBARR/TimeDate-1.09/lib/Date/Format.pm">Date::Format</a> for conversion functions). - <li>$page - current page - <li>$total_pages - total pages - <li>@address - A six-element array containing the customer name, company, and address. -<!-- <li>$overdue - true if this invoice is overdue --> - </ul> - </ul> - <li>HTML invoice templates - <ul> - <li>Place your logo in PNG format at <code>/usr/local/etc/freeside/conf.<i>your_datasrc</i>/logo.png</code>. - <li>HTML invoices also use <a href="http://search.cpan.org/~mjd/Text-Template/lib/Text/Template.pm">Text::Template</a>. - <li>Edit the <b>invoice_html</b> configuration option. - <li>The following configuration options can be set to override the default behaviour of using the invoice_latex* data: <b>invoice_htmlreturnaddress</b>, and <b>invoice_htmlfooter</b>, <b>invoice_htmlnotes</b>. - </ul> -<!-- <li>Batch credit card processing - <ul> - <li>After <a href="man/bin/freeside-daily.html"><b>freeside-daily</b></a> is run, a credit card batch will be in the <a href="schema.html#cust_pay_batch">cust_pay_batch</a> table. Export this table to your credit card batching. - <li>When your batch completes, erase the cust_pay_batch records in that batch and add any necessary paymants to the <a href="schema.html#cust_pay">cust_pay</a> table. Example code to add payments is: - <pre>use FS::cust_pay; - -# loop over all records in batch - -my $payment=create FS::cust_pay ( - 'invnum' => $invnum, - 'paid' => $paid, - '_date' => $_date, - 'payby' => $payby, - 'payinfo' => $payinfo, - 'paybatch' => $paybatch, -); - -my $error=$payment->insert; -if ( $error ) { - #process error -} - -# end loop -</pre> -All fields except paybatch are contained in the cust_pay_batch table. You can use paybatch field to track particular batches and/or particular transactions within a batch. - </ul> -<!-- <li>The <a href="man/bin/freeside-print-batch.html"><b>freeside-print-batch</b></a> script can print or email pending credit card batches for manual entry. --> - </ul> -</body> diff --git a/httemplate/docs/config.html b/httemplate/docs/config.html deleted file mode 100644 index 9caf3bb3a..000000000 --- a/httemplate/docs/config.html +++ /dev/null @@ -1,36 +0,0 @@ -<head> - <title>Configuration files</title> -</head> -<body> - <h1>Configuration files</h1> -<font size="+1" color="#ff0000">Configuration is now done by the top-level Makefile and web interface. The instructions below are no longer necessary.</font> -<ul> - <li>Create the <b>/usr/local/etc/freeside</b> directory to hold your configuration. - <li>Setting up <a href="http://www.apache.org/docs/misc/FAQ.html#user-authentication">Apache user authetication</a> is mandatory. - <li>Create the <b>/usr/local/etc/freeside/mapsecrets</b> file, which maps Apache users to a secrets file which contains a DBI data source, username and password. Every -line in <b>/usr/local/etc/freeside/mapsecrets</b> should contain a username and -filename, separated by whitespace. Note that these are not local usernames - -they are passed from Apache. <a href="http://www.apache.org/docs/misc/FAQ.html#user-authentication"> -Apache user authetication</a> is mandatory. For example, if you had the Apache users admin, -john, and sam, -you mapsecrets file might look like: -<pre> -admin secretfile -john secretfile -sam secretfile -</pre> - <li>Next, the filename(s) referenced in <b>/usr/local/etc/freeside/mapsecrets</b> file should be created in the <b>/usr/local/etc/freeside/</b> directory. Each file contains three lines: <a href="http://search.cpan.org/doc/TIMB/DBI-1.20/DBI.pm">DBI data source</a> (for example, - <tt>DBI:mysql:freeside</tt> or <tt>DBI:Pg:host=localhost;dbname=freeside</tt>), database username, and database password. - These files should not be world readable. See the <a href="http://search.cpan.org/doc/TIMB/DBI-1.20/DBI.pm">DBI manpage</a> and the <a href="http://search.cpan.org/search?mode=module&query=DBD">manpage for your DBD</a> for the exact syntax of a DBI data source. In a normal installation such as the example above, a single file <b>/usr/local/etc/freeside/secretfile</b> would be created - for example: -<pre> -DBI:Pg:host=localhost;dbname=freeside -dbusername -dbpassword -</pre> -<li>Create the <b>/usr/local/etc/freeside/conf.<i>datasource</i></b> directory, for example, <b>/usr/local/etc/freeside/conf.DBI:Pg:host=localhost;dbname=freeside</b> (remember to backslash-escape the ; character when creating directories in the shell: -<pre>mkdir /usr/local/etc/freeside/conf.DBI:Pg:host=localhost\;dbname=freeside -</pre> -<li>The rest of the configuration can be done with the web interface. Select <u>Configuration</u> from the main menu and update your configuration values. -</ul> -</body> -</html> diff --git a/httemplate/docs/cvv2.html b/httemplate/docs/cvv2.html deleted file mode 100644 index 767098537..000000000 --- a/httemplate/docs/cvv2.html +++ /dev/null @@ -1,24 +0,0 @@ -<HTML> - <HEAD> - <TITLE> - CVV2 information - </TITLE> - </HEAD> - <BODY BGCOLOR="#e8e8e8"> - The CVV2 number (also called CVC2 or CID) is a three- or four-digit - security code used to reduce credit card fraud.<BR><BR> - <TABLE BORDER=0 CELLSPACING=4> - <TR> - <TH>Visa / MasterCard / Discover</TH> - <TH>American Express</TH> - </TR> - <TR> - <TD> - <IMG BORDER=0 ALT="Visa/MasterCard/Discover" SRC="../images/cvv2.png"> - </TD> - <TD> - <IMG BORDER=0 ALT="American Express" SRC="../images/cvv2_amex.png"> - </TD> - </TABLE> - </BODY> -</HTML> diff --git a/httemplate/docs/export.html b/httemplate/docs/export.html deleted file mode 100755 index c6c6abd0d..000000000 --- a/httemplate/docs/export.html +++ /dev/null @@ -1,19 +0,0 @@ -<head> - <title>Exports</title> -</head> -<body> - <h1>Exports</h1> - <p>Exports allow you to provision services to remote machines, databases and - APIs. Some exports, such as <b>sqlradius</b> and - <b>sqlradius_withdomain</b>, enable a feed for retreiving rating/usage data. - <p>Exports can be added and edited under - <a href="../browse/part_export.cgi"><i>Sysadmin | View/Edit Exports</i></a>. - <p>Selecting an export on the - <a href="../edit/part_export.cgi"><i>Sysadmin | View/Edit Exports | Add a new export</i></a> page will - show more information on that specific export, including available - options, setup and usage. - <p>Exports are activated by associating them with one or more service - definitions: <a href="../browse/part_svc.cgi"><i>Sysadmin | View/Edit Service definitions<i></a>. - -</body> - diff --git a/httemplate/docs/ieak.html b/httemplate/docs/ieak.html deleted file mode 100644 index 00c53423c..000000000 --- a/httemplate/docs/ieak.html +++ /dev/null @@ -1,75 +0,0 @@ -<pre> -this is incomplete -mostly it should be merged into signup.html and fs_signup/ieak.template - -- download and install the IEAK from - http://www.microsoft.com/windows/ieak/default.asp - -- Good examples may be found in - C:\Program Files\IEAK\toolkit\isp\server\ICW\signup\perl\signup08.pl - C:\Program Files\IEAK\toolkit\isp\server\ICW\reconfig\perl\reconfig04.pl - C:\Program Files\IEAK6\toolkit\isp\servless\basic\sample.ins - C:\Program Files\IEAK6\toolkit\isp\servless\advanced\4567.ins - C:\Program Files\IEAK6\toolkit\isp\servless\advanced\4568.ins - C:\Program Files\IEAK6\toolkit\isp\servless\advanced\7890.ins - C:\Program Files\IEAK6\toolkit\isp\servless\advanced\7891.ins - -- Full documentation on all the settings available in .INS files is - avaialble under Program Files | Microsoft IEAK 6 | IEAK Help - | Reference | Internet Settings (.ins) Files - -- Freeside will make the following substitutions before sending the file - to the user: - - { $ac } - area code of selected POP - { $exch } - exchange of selected POP - { $loc } - local part of selected POP - { $username } - { $password } - { $email_name } - first and last name - { $pkg } - package name - -- Simple example follows: - -[Entry] -Entry Name = IEAK Sample -[Phone] -Dial_As_Is = No -Phone_Number = { $exch }{ $loc } -Area_Code = { $ac } -Country_Code = 1 -Country_Id = 1 -[Server] -Type = PPP -SW_Compress = Yes -PW_Encrypt = Yes -Negotiate_TCP/IP = Yes -Disable_LCP = No -[TCP/IP] -Specity_IP_Address = No -Specity_Server_Address = No -IP_Header_Compress = Yes -Gateway_On_Remote = Yes -[User] -Name = { $username } -Passowrd = { $password } -Display_Password = Yes -[Internet_Mail] -Email_Name = { $email_name } -Email_Address = { $username }@example.com -POP_Server = mail.example.com -POP_Server_Port_Number = 110 -POP_Logon_Password = { $password } -SMTP_Server = mail.example.com -SMTP_Server_Port_Number = 25 -Install_Mail = 1 -[URL] -Help_Page = http://www.ieaksample.net/helpdesk -Home_Page = http://www.ieaksample.net -Search_Page = http://www.ieaksample,net/search -[Favorites] -IEAK Sample \\ IEAK Sample Home Page.url = http://acme.ieaksample.net/ -[Branding] -Window_Title = Internet Explorer from Acme Internet Services - -</pre> diff --git a/httemplate/docs/index.html b/httemplate/docs/index.html deleted file mode 100644 index 7254d76f3..000000000 --- a/httemplate/docs/index.html +++ /dev/null @@ -1,36 +0,0 @@ -<head> - <title>Freeside Documentation</title> -</head> -<body bgcolor="#ffffff"> - <h1>Freeside Documentation</h1> -<img src="overview-new.png"> -<h3>Installation and upgrades</h3> -<ul> - <li><a href="install.html">New Installation</a> - <li><a href="install-rt.html">Installing integrated RT ticketing</a> - <li><a href="upgrade7.html">Upgrading from 1.3.0 to 1.3.1</a> - <li><a href="upgrade8.html">Upgrading from 1.3.1 to 1.4.0</a> - <li><a href="upgrade9.html">Upgrading from 1.4.0 to 1.4.1</a> - <li><a href="upgrade-1.4.2.html">Upgrading from 1.4.1 to 1.4.2</a> - <li><a href="upgrade10.html">Upgrading from 1.4.1 (or 1.4.2) to 1.5.7</a> -</ul> -<h3>Configuration and setup</h3> -<ul> -<!-- - <li><a href="config.html">Configuration files</a> -!--> - <li><a href="admin.html">Administration</a> -<!-- - <li><a href="../index.html#admin">Administration</a> -!--> - <li><a href="export.html">Exports</a> - <li><a href="selfservice.html">Signup, self-service and reseller interfaces</a> - <li><a href="billing.html">Billing</a> -</ul> -<h3>Developer</h3> -<ul> - <li><a href="schema.html">Schema reference</a> - <li><a href="man/FS.html">Perl API</a> - <li><a href="legacy.html">Importing legacy data</a> -</ul> -</body> diff --git a/httemplate/docs/install-rt.html b/httemplate/docs/install-rt.html deleted file mode 100644 index da0941a09..000000000 --- a/httemplate/docs/install-rt.html +++ /dev/null @@ -1,78 +0,0 @@ -<head> - <title>Installing integrated RT ticketing</title> -</head> -<body> -<h1>Installing integrated RT ticketing</h1> - -<p><i>Integrated ticketing is an new feature and these instructions are preliminary. Documentation contributions are welcome.</i> - -<p><i>There is also support for running this integration against an external RT installation, but it is not (yet) documented.</i> - -<p>Perl minimum version 5.8.3 is required. HTML::Mason is required. - -<p>Install the following perl modules: - <ul> - <li><a href="http://search.cpan.org/search?dist=Apache-Session">Apache::Session</a> - <li><a href="http://search.cpan.org/search?dist=HTML-Tree">HTML::TreeBuilder (HTML-Tree)</a> - <li><a href="http://search.cpan.org/search?dist=HTML-Format">HTML::FormatText (HTML-Format)</a> - <li><a href="http://search.cpan.org/search?dist=Test-Inline">Test::Inline</a> - <li><a href="http://search.cpan.org/search?dist=Class-ReturnValue">Class::ReturnValue</a> - <li><a href="http://search.cpan.org/search?dist=DBIx-SearchBuilder">DBIx::SearchBuilder</a> - <li><a href="http://search.cpan.org/search?dist=Log-Dispatch">Log::Dispatch</a> - <li><a href="http://search.cpan.org/search?dist=Locale-Maketext-Lexicon">Locale::Maketext::Lexicon</a> - <li><a href="http://search.cpan.org/search?dist=Locale-Maketext-Fuzzy">Locale::Maketext::Fuzzy</a> - <li><a href="http://search.cpan.org/search?dist=Text-Wrapper">Text::Wrapper</a> - <li><a href="http://search.cpan.org/search?dist=Time-modules">Time::ParseDate (Time-modules)</a> - <li><a href="http://search.cpan.org/search?dist=TermReadKey">Term::ReadKey (TermReadKey)</a> - <li><a href="http://search.cpan.org/search?dist=Text-Autoformat">Text::Autoformat</a> - <li><a href="http://search.cpan.org/search?dist=Text-Quoted">Text::Quoted</a> - <li><a href="http://search.cpan.org/search?dist=Regexp-Common">Regexp::Common</a> - <li><a href="http://search.cpan.org/search?dist=HTML-Scrubber">HTML::Scrubber</a> - <li><a href="http://search.cpan.org/search?dist=Tree-Simple">Tree::Simple</a> - </ul> - -<p>Create a new Unix group called 'rt' - -<p>Edit the top-level Makefile, set RT_ENABLED to 1 and set the RT_DOMAIN, RT_TIMEZONE, and FREESIDE_URL variables. - -<p><pre>make configure-rt -make create-rt -make install-rt -</pre> - -<p>Add the following to your httpd.conf: -<pre> -# replace /var/www/freeside with your freeside document root -<DirectoryMatch "^/var/www/freeside/rt/.*NoAuth"> -<Limit GET POST> -allow from all -Satisfy any -SetHandler perl-script -PerlHandler HTML::Mason -</Limit> -</DirectoryMatch> -# replace /var/www/freeside with your freeside document root -<DirectoryMatch "^/var/www/freeside/rt/.*NoAuth/images"> -SetHandler None -</DirectoryMatch> -# replace /var/www/freeside with your freeside document root -<Directory /var/www/freeside/rt/Ticket/Attachment> -SetHandler perl-script -PerlHandler HTML::Mason -</Directory> -</pre> - -<p>Set the <b>ticket_system</b> configuration value to <b>RT_Internal</b>. You may also wish to set <b>ticket_system-default_queueid</b> once you have RT configured. - -<p>Bootstrap RT's permissions: - <ul> - <li>Click on "Ticketing Main" on the Freeside main menu to auto-create an RT login for your username - <li>Run <code>freeside-adduser -h /usr/local/etc/freeside/htpasswd root</code> and set a (temporary) password - <li>Log into your Freeside installation as the "root" user you just created, by closing your browser or using <code>https://root@yourmachone/freeside/</code> syntax. - <li>Click on "Ticketing Main" on the Freeside main menu. Click on "Configuration", then "Global", and then "User Rights". Grant the "SuperUser" right to your RT login. - <li>Remove the temporary "root" user from /usr/local/etc/freeside/mapsecrets and /usr/local/etc/freeside/htpasswd - </ul> - -<p>Follow the <A HREF="http://wiki.bestpractical.com/">regular RT documentation</A> to configure RT, setup the mailgate, etc. - -</body> diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html deleted file mode 100644 index 1f80db1a7..000000000 --- a/httemplate/docs/install.html +++ /dev/null @@ -1,214 +0,0 @@ -<head> - <title>Installation</title> -</head> -<body> -<h1>Installation</h1> -<i>Note: Install Freeside on a firewalled, private server, not a public (web, RADIUS, etc.) server.</i><br><br> -Before installing, you need: -<ul> - <li><a href="http://www.perl.com/">Perl</a>, minimum version 5.005_03. (5.8.3 for the integrated RT ticketing) - <li><a href="http://www.apache.org">Apache</a> (<a href="http://www.modssl.org/">mod_ssl</a> or <a href="http://www.apache-ssl.org">Apache-SSL</a> highly recommended) - <li><a href="http://perl.apache.org/">mod_perl</a> (if compiling your own mod_perl, make sure you set the <a href="http://perl.apache.org/guide/install.html#EVERYTHING">EVERYTHING</a>=1 compile-time option) - <li><a href="http://www.openssh.com/">SSH</a> (<a href="http://www.openssh.com//">OpenSSH</a> is recommended. SSH Communications Security <a href="http://www.ssh.com/products/ssh/download.cfm">commercial SSH version 3</a> has been reported incompatible with Freeside.) - <li><a href="http://rsync.samba.org/">rsync</a> - <li>Optional, enables typeset invoices: teTeX and Ghostscript (included with most distributions). - <li>A <b>transactional</b> database engine <a href="http://search.cpan.org/search?mode=module&query=DBD%3A%3A">supported</a> by Perl's <a href="http://dbi.perl.org">DBI</a>. - <ul> - <li><a href="http://www.postgresql.org/">PostgreSQL</a> is recommended (v7.2 or later, 7.4 or later recommended). - <li> <a href="http://www.mysql.com/">MySQL</a> is <b>not currently supported</b>. <FONT SIZE="-1"><i>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.</i></FONT> - <!-- <li><a href="http://www.mysql.com/">MySQL</a> <b>MINIMUM VERSION 4.1</b> is untested but may work. Versions before 4.1 do not support standard SQL subqueries and are <b>NOT SUPPORTED</b>. -<!-- <li>MySQL has been reported to work. - MySQL's default <a href="http://www.mysql.com/doc/M/y/MyISAM.html">MyISAM</a> and <a href="http://www.mysql.com/doc/I/S/ISAM.html">ISAM</a> table types are not supported. You <b>must</b> use one of the new <a href="http://www.mysql.com/doc/T/a/Table_types.html">transaction-safe table types</a> such as <a href="http://www.mysql.com/doc/I/n/InnoDB.html">InnoDB</a>. Set it as the default table type using the <code>--default-table-type=InnoDB</code> <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Command-line_options">mysqld command-line option</a> or by setting <code>default-table-type=InnoDB</code> in the <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Option_files">my.cnf option file</a>. ---> - </ul> - <i>Note: the above only applies to the database used by the Freeside software itself. Freeside can integrate with RADIUS and other servers running MySQL <!--(any version)--> or any other DBI-supported database.</i> - <li>Perl modules (<a href="http://search.cpan.org/~andk/CPAN/lib/CPAN.pm">CPAN</a> will query, download and build perl modules automatically) - <ul> -<!-- <li><a href="http://search.cpan.org/dist/Array-PrintCols">Array-PrintCols</a> - <li><a href="http://search.cpan.org/dist/Term-Query">Term-Query</a> (make test broken; install manually) --> - <li><a href="http://search.cpan.org/dist/MIME-Base64">MIME-Base64</a> - <li><a href="http://search.cpan.org/dist/Digest-MD5">Digest-MD5</a> -<!-- <li><a href="http://search.cpan.org/dist/MD5">MD5</a> --> - <li><a href="http://search.cpan.org/dist/URI">URI</a> - <li><a href="http://search.cpan.org/dist/HTML-Tagset">HTML-Tagset</a> - <li><a href="http://search.cpan.org/dist/HTML-Parser">HTML-Parser</a> - <li><a href="http://search.cpan.org/dist/libnet">libnet</a> - <li><a href="http://search.cpan.org/dist/Locale-Codes">Locale-Codes</a> - <li><a href="http://search.cpan.org/dist/Net-Whois-Raw">Net-Whois-Raw</a> - <li><a href="http://search.cpan.org/dist/libwww-perl">libwww-perl</a> - <li><a href="http://search.cpan.org/dist/Business-CreditCard">Business-CreditCard</a> -<!-- <li><a href="http://search.cpan.org/dist/Data-ShowTable">Data-ShowTable</a> --> - <li><a href="http://search.cpan.org/dist/MailTools">MailTools</a> - <li><a href="http://search.cpan.org/dist/TimeDate">TimeDate</a> - <li><a href="http://search.cpan.org/dist/DateManip">DateManip</a> - <li><a href="http://search.cpan.org/dist/File-CounterFile">File-CounterFile</a> - <li><a href="http://search.cpan.org/dist/FreezeThaw">FreezeThaw</a> - <li><a href="http://search.cpan.org/dist/String-Approx">String-Approx</a> - <li><a href="http://search.cpan.org/dist/Text-Template">Text-Template</a> - <li><a href="http://search.cpan.org/dist/DBI">DBI</a> - <li><a href="http://search.cpan.org/search?mode=module&query=DBD">DBD for your database engine</a> (<a href="http://search.cpan.org/dist/DBD-Pg">DBD::Pg</a> for PostgreSQL<!--, <a href="http://search.cpan.org/search?dist=DBD-mysql">DBD::mysql</a> for MySQL-->) -<!-- <li><a href="http://search.cpan.org/dist/DBIx-DataSource">DBIx-DataSource</a> --> - <li><a href="http://search.cpan.org/dist/DBIx-DBSchema">DBIx-DBSchema</a> - <li><a href="http://search.cpan.org/dist/Net-SSH">Net-SSH</a> - <li><a href="http://search.cpan.org/dist/String-ShellQuote">String-ShellQuote</a> - <li><a href="http://search.cpan.org/dist/Net-SCP">Net-SCP</a> - <li><a href="http://www.masonhq.com/">HTML::Mason</a> (recommended, enables full functionality) or <a href="http://www.apache-asp.org/">Apache::ASP</a> (deprecated, integrated RT ticketing will not be available) - <li><a href="http://search.cpan.org/dist/Tie-IxHash">Tie-IxHash</a> - <li><a href="http://search.cpan.org/dist/Time-Duration">Time-Duration</a> - <li><a href="http://search.cpan.org/dist/HTML-Widgets-SelectLayers">HTML-Widgets-SelectLayers</a> - <li><a href="http://search.cpan.org/dist/Storable">Storable</a> - <li><a href="http://search.cpan.org/dist/Cache-Cache">Cache::Cache</a> - <li><a href="http://search.cpan.org/dist/NetAddr-IP">NetAddr-IP</a> - <li><a href="http://search.cpan.org/dist/Chart">Chart</a> - <li><a href="http://search.cpan.org/dist/Crypt-PasswdMD5">Crypt::PasswdMD5</a> - <li><a href="http://search.cpan.org/dist/Locale-SubCountry">Locale::SubCountry</a> - <li><a href="http://search.cpan.org/dist/Frontier-RPC">Frontier::RPC</a> - <li><a href="http://search.cpan.org/dist/Text-CSV_XS">Text::CSV_XS</a> - <li><a href="http://search.cpan.org/dist/Spreadsheet-WriteExcel">Spreadsheet::WriteExcel</a> - <li><a href="http://search.cpan.org/dist/IO-stringy">IO-stringy (IO::Scalar)</a> - <li><a href="http://search.cpan.org/dist/Frontier-RPC">Frontier::RPC (Frontier::RPC2)</a> - <li><a href="http://search.cpan.org/dist/MIME-tools">MIME::Entity (MIME-tools)</a> - <li><a href="http://search.cpan.org/dist/IPC-Run3">IPC::Run3</a> - <li><a href="http://search.cpan.org/dist/Term-ReadKey">Term::ReadKey</a> -<!-- <li><a href="http://search.cpan.org/dist/Crypt-YAPassGen">Crypt::YAPassGen</a> --> - <li><a href="http://search.cpan.org/search?mode=module&query=MIME::Entity">Fax::Hylafax::Client</a> <i>(Required if using FAX invoice destinations)</i> - <li><a href="http://search.cpan.org/dist/ApacheDBI">Apache::DBI</a> <i>(optional but recommended for better webinterface performance)</i> - </ul> -</ul> -Install the Freeside distribution: -<ul> - <li>Add the user and group `freeside' to your system. - <li>Allow the freeside user full access to the freeside database. - <ul> - <li> with <a href="http://www.postgresql.org/users-lounge/docs/7.1/postgres/user-manag.html#DATABASE-USERS">PostgreSQL</a>: - <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> - <li> with <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#User_Account_Management">MySQL</a>: - <pre> -$ mysqladmin -u root password '<i>set_a_root_database_password</i>' -$ mysql -u root -p -mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,DROP on freeside.* TO freeside@localhost IDENTIFIED BY '<i>set_a_freeside_database_password</i>';</pre> - </ul> -<!-- <li>Unpack the tarball: <pre>gunzip -c fs-x.y.z.tar.gz | tar xvf -</pre>--> - <li>Edit the top-level Makefile: - <ul> - <li>Set <tt>DATASOURCE</tt> to your <a href="http://search.cpan.org/doc/TIMB/DBI-1.28/DBI.pm">DBI data source</a>, for example, <tt>DBI:Pg:dbname=freeside</tt> for PostgresSQL or <tt>DBI:mysql:freeside</tt> for MySQL. See the <a href="http://search.cpan.org/doc/TIMB/DBI-1.28/DBI.pm">DBI manpage</a> and the <a href="http://search.cpan.org/search?mode=module&query=DBD%3A%3A">manpage for your DBD</a> for the exact syntax of your DBI data source. - <li>Set <tt>DB_PASSWORD</tt> to the freeside database user's password. - </ul> - <li>Add the freeside database to your database engine: - <ul> - <li>with Postgres: - <pre> -$ su freeside -$ createdb -E sql_ascii freeside</pre> - <li>with MySQL: - <pre> -$ mysqladmin -u freeside -p create freeside </pre> - </ul> - <li>Build and install the Perl modules: - <pre> -$ make perl-modules -$ su -# make install-perl-modules</pre> - <li>Create the necessary configuration files:<pre> -$ su -# make create-config -</pre> - <li>Run a <b>separate</b> iteration of Apache[-SSL] with mod_perl enabled <b>as the freeside user</b>. - <li>Edit the <tt>Makefile</tt> and set <tt>TEMPLATE</tt> to <tt>asp</tt> or <tt>mason</tt>. Also set <tt>FREESIDE_DOCUMENT_ROOT</tt>. - <li>Run <tt> make install-docs</tt>. -</ul> -<table> - <tr> - <th>Mason (recommended)</th><th>Apache::ASP (deprecated)</th> - </tr> - <tr> - - <td valign="top"><ul> - <li>Configure Apache: -<font size="-1"><pre> -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/etc/freeside/handler.pl"; -</Perl> -</Directory> -</pre></font> - </ul></td> - - <td valign="top"><ul> - <li>Configure Apache: -<font size="-1"><pre> -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 Debug 2 -PerlSetVar RequestBinaryRead Off -# your freeside document root -PerlSetVar IncludesDir /var/www/freeside -</Directory> -</pre></font> - </ul></td> - - </tr> -</table> -<ul> -<li>Restrict access to this web interface - see the <a href="http://httpd.apache.org/docs/misc/FAQ.html#user-authentication">Apache documentation on user authentication</a>. For example, to configure user authentication with <a href="http://httpd.apache.org/docs/mod/mod_auth.html">mod_auth</a> (flat files), add something like the following to your Apache httpd.conf file, adjusting for your actual paths: -<pre> -#your freeside document root -<Directory /var/www/freeside> -AuthName Freeside -AuthType Basic -AuthUserFile /usr/local/etc/freeside/htpasswd -require valid-user -</Directory> -</pre> - <li>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 <a href="http://httpd.apache.org/docs/mod/mod_auth.html">mod_auth</a> (flat files): - <ul> - <li>First user:<font size="-1"> -<pre>$ su -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -c -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font> - <li>Additional users:<font size="-1"> -<pre>$ su -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font> - </ul> - <i>(using other auth types, add each user to your <a href="http://httpd.apache.org/docs/misc/FAQ.html#user-authentication">Apache authentication</a> and then run: <tt>freeside-adduser <b>username</b></tt>)</i> - <li>Create the Freeside system users: -<pre>$ su -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> fs_queue -# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> fs_selfservice</pre> - <li>As the freeside UNIX user, run <tt>freeside-setup <b>username</b></tt> to create the database tables, passing the username of a Freeside user you created above: -<pre> -$ su freeside -$ freeside-setup <b>username</b> -</pre> - Alternately, use the -s option to enable shipping addresses: <tt>freeside-setup -s <b>username</b></tt> - <li>As the freeside UNIX user, run <tt>bin/populate-msgcat <b>username</b></tt> (in the untar'ed freeside directory) to populate the message catalog, passing the username of a Freeside user you created above: -<pre> -$ su freeside -$ cd <b>/path/to/freeside/</b> -$ bin/populate-msgcat <b>username</b> -</pre> - <li><tt>freeside-queued</tt> 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 <tt>make install-init</tt>) - <li>Now proceed to the initial <a href="admin.html">administration</a> of your installation. -</ul> -</body> diff --git a/httemplate/docs/legacy.html b/httemplate/docs/legacy.html deleted file mode 100755 index 94efe53af..000000000 --- a/httemplate/docs/legacy.html +++ /dev/null @@ -1,39 +0,0 @@ -<head> - <title>Importing legacy data</title> -</head> -<body> - <h1>Importing legacy data</h1> -<font size="+2">In almost all cases, legacy data import will require writing custom code to deal with your particular legacy data. The example scripts here will probably <b>not</b> work "out-of-the-box", and are provided <b>as a starting point only</b>.</font> -<br><br><i>Some import scripts may require installation of the <a href="http://search.cpan.org/search?dist=Array-PrintCols">Array-PrintCols</a> and <a href="http://search.cpan.org/search?dist=Term-Query">Term-Query</a> (make test broken; install manually) modules.</i><br> -<ul> - <li><a name="bind">bin/bind.import</a> - Import domain information from BIND named - <li><a name="passwd">bin/passwd.import</a> - Just import `passwd' and `shadow' or `master.passwd', no RADIUS import. - <li><a name="svc_acct">bin/svc_acct.import</a> - Import `passwd', ( `shadow' or `master.passwd' ) and RADIUS `users'. Before running bin/svc_acct.import, you need <a href="../browse/part_svc.cgi">services</a> (with table svc_acct) as follows: - <ul> - <li>Most accounts probably have entries in passwd and users (with Port-Limit nonexistant or 1) - <li>Some accounts have entries in passwd and users, but with Port-Limit 2 (or more) - <li>Some accounts might have entries in users only (Port-Limit 1) - <li>Some accounts might have entries in users only (Port-Limit >= 2) - <li>POP mail accounts have entries in passwd only, and have a particular shell. - <li>Everything else in passwd is a shell account. - </ul> -<!-- <li><a name="svc_acct_sm">bin/svc_acct_sm.import</a> - Import qmail ( `virtualdomains' and `rcpthosts' ), or sendmail ( `virtusertable' and `sendmail.cw' ) files. Before running bin/svc_acct_sm.import, you need <a href="../browse/part_svc.cgi">services</a> as follows: - <ul> - <li>Domain (table svc_acct) - <li>Mail alias (table svc_acct_sm) - </ul> ---> - <li><a name="cust_main">Importing customer data</a> - <ul> - <li>Manually - <ul> - <li>Add a <a href="../edit/cust_main.cgi">new customer</a> - <li>Add one or more packages for this customer - <li>Enter a package by clicking on the package number - <li>Pick the `Link to existing' option - </ul> - <li>Batch - You will need to write a script to import your particular legacy data. You can use eg/TEMPLATE_cust_main.import as a starting point. - </ul> -</ul> -</body> - diff --git a/httemplate/docs/man/FS/part_export/.cvs_is_on_crack b/httemplate/docs/man/FS/part_export/.cvs_is_on_crack deleted file mode 100644 index e69de29bb..000000000 --- a/httemplate/docs/man/FS/part_export/.cvs_is_on_crack +++ /dev/null diff --git a/httemplate/docs/overview-new.dia b/httemplate/docs/overview-new.dia Binary files differdeleted file mode 100644 index d9989a359..000000000 --- a/httemplate/docs/overview-new.dia +++ /dev/null diff --git a/httemplate/docs/overview-new.png b/httemplate/docs/overview-new.png Binary files differdeleted file mode 100644 index bf815463b..000000000 --- a/httemplate/docs/overview-new.png +++ /dev/null diff --git a/httemplate/docs/overview.dia b/httemplate/docs/overview.dia Binary files differdeleted file mode 100644 index a0e34c30e..000000000 --- a/httemplate/docs/overview.dia +++ /dev/null diff --git a/httemplate/docs/overview.png b/httemplate/docs/overview.png Binary files differdeleted file mode 100644 index bf2dbc26c..000000000 --- a/httemplate/docs/overview.png +++ /dev/null diff --git a/httemplate/docs/passwd.html b/httemplate/docs/passwd.html deleted file mode 100755 index fc1dde956..000000000 --- a/httemplate/docs/passwd.html +++ /dev/null @@ -1,23 +0,0 @@ -<head> - <title>fs_passwd</title> -</head> -<body> - <h1>fs_passwd</h1> -You may use fs_passwd/fs_passwd as a "passwd", "chfn" and "chsh" replacement on your shell machine(s) to cause password, gecos and shell changes to update your freeside machine. You can also use the fs_passwd/fs_passwd.html and fs_passwd/fs_passwd.cgi to run a public password change CGI on a public web server. This can pose a security risk if not configured correctly. <b>Do not use this feature unless you understand what you are doing!</b> -<br><br>Currently it is assumed that the the crypt(3) function in the C library is the same on the Freeside machine as on the target machine. -<ul> - <li>Create a freeside account on the shell or web machine(s). - <li>Setup SSH keys: - <ul> - <li>As the freeside user (on your freeside machine), generate an authentication key using <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>. Since this is for unattended operation, use a blank passphrase. - <li>Append the newly-created <code>identity.pub</code> file to <code>~freeside -/.ssh/authorized_keys</code> on the shell or web machine(s). - <li>Some new SSH v2 implementation accept v2 style keys only. Use the <code>-t</code> option to <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>, and append the created <code>id_dsa.pub</code> or <code>id_rsa.pub</code> to <code>~freeside/.ssh/authorized_keys2</code> on the remote machine(s). - </ul> - <li>Copy fs_passwd/fs_passwdd to /usr/local/sbin on the shell or web machine(s). (chown freeside, chmod 500) - <li>Create /usr/local/freeside on the shell or web machine(s). (chown freeside, chmod 700) - <li>Run an iteration of "fs_passwd/fs_passwd_server <i>user</i> shell.machine" as the freeside user for each shell or web machine (this is a daemon process). <i>user</i> refers to a freeside user added by <a href="man/bin/freeside-adduser.html">freeside-adduser</a>. - <li>Copy fs_passwd/fs_passwd to /usr/local/bin on the shell machine(s). (chown freeside, chmod 4755). You may link it to passwd, chfn and chsh as well. - <li>Copy fs_passwd/fs_passwd.cgi to the cgi-bin directory on your web machine(s). Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perldoc.com/perl5.6.1/pod/perlsec.html">suidperl</a> to run fs_passwd.cgi as the freeside user. -</ul> -</body> diff --git a/httemplate/docs/schema.dia b/httemplate/docs/schema.dia Binary files differdeleted file mode 100644 index e00f59ce1..000000000 --- a/httemplate/docs/schema.dia +++ /dev/null diff --git a/httemplate/docs/schema.html b/httemplate/docs/schema.html deleted file mode 100644 index cdb59a2e9..000000000 --- a/httemplate/docs/schema.html +++ /dev/null @@ -1,523 +0,0 @@ - - <title>Schema reference</title> -</head> -<body> - <h1>Schema reference</h1> - Schema diagram (1.4.1): <a href="schema.png">as a giant .png</a> or <a href="schema.dia">dia source</a> (<a href="http://www.lysator.liu.se/~alla/dia/">dia homepage</a>). - <ul> - <li><a name="agent" href="man/FS/agent.html">agent</a> - Agents are resellers of your service. Agents may be limited to a subset of your full offerings (via their agent type). - <ul> - <li>agentnum - primary key - <li>agent - name of this agent - <li>typenum - <a href="#agent_type">agent type</a> - <li>prog - (unimplemented) - <li>freq - (unimplemented) - <li>disabled - Disabled flag, empty or 'Y' - <li>username - Username for the Agent interface - <li>_password - Password for the Agent interface - </ul> - <li><a name="agent_type" href="man/FS/agent_type.html">agent_type</a> - Agent types define groups of packages that you can then assign to particular agents. - <ul> - <li>typenum - primary key - <li>atype - name of this agent type - </ul> - <li><a name="cust_bill" href="man/FS/cust_bill.html">cust_bill</a> - Invoices. Declarations that a customer owes you money. The specific charges are itemized in <a href="#cust_bill_pkg">cust_bill_pkg</a>. - <ul> - <li>billpkgnum - primary_key - <li>invnum - primary key - <li>custnum - <a href="#cust_main">customer</a> - <li>_date - <li>charged - amount of this invoice - <li>printed - how many times this invoice has been printed automatically - <li>closed - books closed flag, empty or `Y' - </ul> - <li><a name="cust_bill_event" href="man/FS/cust_bill_event.html">cust_bill_event</a> - Invoice event history - <ul> - <li>eventnum - primary key - <li>invnum - <a href="#cust_bill">invoice</a> - <li>eventpart - <a href="#part_bill_event">event definition</a> - <li>_date - <li>status - <li>statustext - </ul> - <li><a name="part_bill_event" href="man/FS/part_bill_event.html">part_bill_event</a> - Invoice event definitions - <ul> - <li>eventpart - primary key - <li>payby - CARD, DCRD, CHEK, DCHK, LECB, BILL, or COMP - <li>event - event name - <li>eventcode - event action - <li>seconds - how long after the invoice date (<a href="#cust_bill">cust_bill</a>._date) events of this type are triggered - <li>weight - ordering for events with identical seconds - <li>plan - eventcode plan - <li>plandata - additional plan data - <li>disabled - Disabled flag, empty or `Y' - <li>taxclass - Texas tax class flag, empty or "none", "access", or "hosting" - </ul> - <li><a name="cust_bill_pkg" href="man/FS/cust_bill_pkg.html">cust_bill_pkg</a> - Invoice line items - <ul> - <li>invnum - (multiple) key - <li>pkgnum - <a href="#cust_pkg">package</a> or 0 for the special virtual sales tax package - <li>setup - setup fee - <li>recur - recurring fee - <li>sdate - starting date - <li>edate - ending date - <li>itemdesc - Line item description (currently used only when pkgnum is 0) - </ul> - <li><a name="cust_bill_pkg_detail" href="man/FS/cust_bill_pkg_detail.html">cust_bill_pkg_detail</a> - Invoice line items detail - <ul> - <li>detailnum - primary key - <li>pkgnum - - <li>invnum - - <li>detail - Detail description - </ul> - <li><a name="cust_credit" href="man/FS/cust_credit.html">cust_credit</a> - Credits. The equivalent of a negative <a href="#cust_bill">cust_bill</a> record. - <ul> - <li>crednum - primary key - <li>custnum - <a href="#cust_main">customer</a> - <li>amount - amount credited - <li>_date - <li>otaker - order taker - <li>reason - <li>closed - books closed flag, empty or `Y' - </ul> - <li><a name="cust_credit_bill" href="man/FS/cust_credit_bill.html">cust_credit_bill</a> - Credit invoice application. Links a credit to an invoice. - <ul> - <li>creditbillnum - primary key - <li>crednum - <a href="#cust_credit">credit</a> being applied - <li>invnum - <a href="#cust_bill">invoice</a> to which credit is applied - <li>amount - amount applied - <li>_date - </ul> - <li><a name="cust_pay_refund" href="man/FS/cust_pay_refund.html">cust_credit_bill</a> - Refund payment application. Links a refund to a payment. - <ul> - <li>payrefundnum - primary key - <li>paynum - <a href="#cust_pay">payment</a> - <li>refundnum - <a href="#cust_refund">refund</a> - <li>amount - amount applied - <li>_date - </ul> - <li><a name="cust_main" href="man/FS/cust_main.html">cust_main</a> - Customers - <ul> - <li>custnum - primary key - <li>agentnum - <a href="#agent">agent</a> - <li>refnum - <a href="#part_referral">referral</a> - <li>first - name - <li>last - name - <li>ss - social security number - <li>company - <li>address1 - <li>address2 - <li>city - <li>county - <li>state - <li>zip - <li>country - <li>daytime - phone - <li>night - phone - <li>fax - phone - <li><i>ship_first</i> - <li><i>ship_last</i> - <li><i>ship_company</i> - <li><i>ship_address1</i> - <li><i>ship_address2</i> - <li><i>ship_city</i> - <li><i>ship_county</i> - <li><i>ship_state</i> - <li><i>ship_zip</i> - <li><i>ship_country</i> - <li><i>ship_daytime</i> - <li><i>ship_night</i> - <li><i>ship_fax</i> - <li>payby - CARD, DCHK, CHEK, DCHK, LECB, BILL, or COMP - <li>payinfo - card number, P.O.#, or comp issuer - <li>paycvv - Card Verification Value, "CVV2" (also known as CVC2 or CID), the 3 or 4 digit number on the back (or front, for American Express) of the credit card - <li>paydate - expiration date - <li>payname - billing name (name on card) - <li>tax - tax exempt, Y or null - <li>otaker - order taker - <li>referral_custnum - <li>comments - </ul> - (columns in <i>italics</i> are optional) - <li><a name="cust_main_invoice" href="man/FS/cust_main_invoice.html">cust_main_invoice</a> - Invoice destinations for email invoices. Note that a customer can have many email destinations for their invoice (either literal or via svcnum), but only one postal destination. - <ul> - <li>destnum - primary key - <li>custnum - <a href="#cust_main">customer</a> - <li>dest - Invoice destination. Freeside supports three types of invoice delivery: send directly to a service defined in Freeside, send to an arbitrary email address, or print the invoice to a printer and have someone send it out via snail mail. Freeside determines which method to use based on the contents of the dest field. If the contents are numeric, a <a href="#svc_acct">svcnum</a> pointing to a valid service is expected in the field. If the contents are a string, a literal email address is expected to be in the field. If the special keyword `POST' is present, the snail mail method is used (which is the default if no cust_main_invoice records exist). Snail mail invoices get their address information from <A name="#cust_main">cust_main</A> and are printed with the printer defined in the configuration files. - </ul> - <li><a name="cust_main_county" href="man/FS/cust_main_county.html">cust_main_county</a> - Tax rates - <ul> - <li>taxnum - primary key - <li>state - <li>county - <li>country - <li>tax - % rate - <li>taxclass - <li>exempt_amount - <li>taxname - if defined, printed on invoices instead of "Tax" - <li>setuptax - if 'Y', this tax does not apply to setup fees - <li>recurtax - if 'Y', this tax does not apply to recurring fees - </ul> - <li><a name="cust_tax_exempt" href="man/FS/cust_tax_exempt.html">cust_tax_exempt</a> - Tax exemption record - <ul> - <li>exemptnum - primary key - <li>taxnum - <a href="#cust_main_county">tax rate</a> - <li>year - <li>month - <li>amount - </ul> - <li><a name="cust_pay" href="man/FS/cust_pay.html">cust_pay</a> - Payments. Money being transferred from a customer. - <ul> - <li>paynum - primary key - <li>custnum - <a href="#cust_main">customer</a> - <li>paid - amount - <li>_date - <li>payby - CARD, CHEK, LECB, BILL, or COMP - <li>payinfo - card number, P.O.#, or comp issuer - <li>paybatch - text field for tracking card processor batches - <li>closed - books closed flag, empty or `Y' - </ul> - <li><a name="cust_pay-void" href="man/FS/cust_pay_void.html">cust_pay_void</a> - Voided payments. - <ul> - <li>paynum - primary key - <li>custnum - <a href="#cust_main">customer</a> - <li>paid - amount - <li>_date - <li>payby - CARD, CHEK, LECB, BILL, or COMP - <li>payinfo - card number, P.O.#, or comp issuer - <li>paybatch - text field for tracking card processor batches - <li>closed - books closed flag, empty or `Y' - <li>void_date - <li>reason - <li>otaker - order taker - </ul> - <li><a name="cust_bill_pay" href="man/FS/cust_bill_pay.html">cust_bill_pay</a> - Applicaton of a payment to a specific invoice. - <ul> - <li>billpaynum - <li>invnum - <a href="#cust_bill">invoice</a> - <li>paynum - <a href="#cust_pay">payment</a> - <li>amount - <li>_date - </ul> - <li><a name="cust_pay_batch" href="man/FS/cust_pay_batch.html">cust_pay_batch</a> - Pending batch - <ul> - <li>paybatchnum - <li>cardnum - <li>exp - card expiration - <li>amount - <li>invnum - <a href="#cust_bill">invoice</a> - <li>custnum - <a href="#cust_main">customer</a> - <li>payname - name on card - <li>first - name - <li>last - name - <li>address1 - <li>address2 - <li>city - <li>state - <li>zip - <li>country - </ul> - <li><a name="cust_pkg" href="man/FS/cust_pkg.html">cust_pkg</a> - Customer billing items - <ul> - <li>pkgnum - primary key - <li>custnum - <a href="#cust_main">customer</a> - <li>pkgpart - <a href="#part_pkg">Package definition</a> - <li>setup - date - <li>bill - next bill date - <li>last_bill - last bill date - <li>susp - (past) suspension date - <li>expire - (future) cancellation date - <li>cancel - (past) cancellation date - <li>otaker - order taker - <li>manual_flag - If this field is set to 1, disables the automatic unsuspensiond of this package when using the <a href="config.html#unsuspendauto">unsuspendauto</a> config file. - </ul> - <li><a name="cust_refund" href="man/FS/cust_refund.html">cust_refund</a> - Refunds. The transfer of money to a customer; equivalent to a negative <a href="#cust_pay">cust_pay</a> record. - <ul> - <li>refundnum - primary key - <li>custnum - <a href="#cust_main">customer</a> - <li>refund - amount - <li>_date - <li>payby - CARD, CHEK, LECB, BILL or COMP - <li>payinfo - card number, P.O.#, or comp issuer - <li>otaker - order taker - <li>closed - books closed flag, empty or `Y' - </ul> - <li><a name="cust_credit_refund" href="man/FS/cust_credit_refund.html">cust_credit_refund</a> - Applicaton of a refund to a specific credit. - <ul> - <li>creditrefundnum - primary key - <li>crednum - <a href="#cust_credit">credit</a> - <li>refundnum - <a href="#cust_refund">refund</a> - <li>amount - <li>_date - </ul> - <li><a name="cust_svc" href="man/FS/cust_svc.html">cust_svc</a> - Customer services - <ul> - <li>svcnum - primary key - <li>pkgnum - <a href="#cust_pkg">package</a> - <li>svcpart - <a href="#part_svc">Service definition</a> - </ul> - <li><a name="nas" href="man/FS/nas.html">nas</a> - Network Access Server (terminal server) - <ul> - <li>nasnum - primary key - <li>nas - NAS name - <li>nasip - NAS ip address - <li>nasfqdn - NAS fully-qualified domain name - <li>last - timestamp indicating the last instant the NAS was in a known state (used by the session monitoring). - </ul> - <li><a name="part_pkg" href="man/FS/part_pkg.html">part_pkg</a> - Package definitions - <ul> - <li>pkgpart - primary key - <li>pkg - package name - <li>comment - non-customer visable package comment - <li>promo_code - promotional code - <li><i>deprecated</i> setup - setup fee expression - <li>freq - recurring frequency (months) - <li><i>deprecated</i> recur - recurring fee expression - <li>setuptax - Setup fee tax exempt flag, empty or `Y' - <li>recurtax - Recurring fee tax exempt flag, empty or `Y' - <li>plan - price plan - <li><i>deprecated</i> plandata - additional price plan data - <li>disabled - Disabled flag, empty or `Y' - </ul> - <li><a name="part_pkg_option" href="man/FS/part_pkg_option.html">part_pkg_option</a> - Package definition options - <ul> - <li>optionnum - primary key - <li>pkgpart - <a href="#part_pkg">Package definition</a> - <li>optionname - option name - <li>optionvalue - option value - </ul> - <li><a name="reg_code" href="man/FS/reg_code.html">reg_code</A> - One-time registration codes - <ul> - <li>codenum - primary key - <li>code - <li>agentnum - <a href="#agent">Agent</a> - </ul> - <li><a name="reg_code_pkg" href="man/FS/reg_code_pkg.html">reg_code_pkg</A> - Registration code link to package definitions - <ul> - <li>codepkgnum - primary key - <li>codenum - <a href="#reg_code">Registration code</a> - <li>pkgpart - <a href="#part_pkg">Package definition</a> - </ul> - <li><a name="part_referral" href="man/FS/part_referral.html">part_referral</a> - Referral listing - <ul> - <li>refnum - primary key - <li>referral - referral - </ul> - <li><a name="part_svc" href="man/FS/part_svc.html">part_svc</a> - Service definitions - <ul> - <li>svcpart - primary key - <li>svc - name of this service - <li>svcdb - table used for this service: svc_acct, svc_forward, svc_domain, svc_charge or svc_wo - <li>disabled - Disabled flag, empty or `Y' -<!-- <li><i>table</i>__<i>field</i> - Default or fixed value for <i>field</i> in <i>table</i> - <li><i>table</i>__<i>field</i>_flag - null, D or F ---> - </ul> - <li><a name="part_svc_column" href="man/FS/part_svc_column.html">part_svc_column</a> - <ul> - <li>columnnum - primary key - <li>svcpart - <a href="#part_svc">Service definition</a> - <li>columnname - column name in part_svc.svcdb table - <li>columnvalue - default or fixed value for the column - <li>columnflag - null, D or F - </ul> - <li><a name="pkg_svc" href="man/FS/pkg_svc.html">pkg_svc</a> - <ul> - <li>pkgsvcnum - primary key - <li>pkgpart - <a href="#part_pkg">Package definition</a> - <li>svcpart - <a href="#part_svc">Service definition</a> - <li>quantity - quantity of this service that this package includes - <li>primary_svc - blank or Y: primary service - </ul> - <li><a name="export_svc" href="man/FS/export_svc.html">export_svc</a> - <ul> - <li>exportsvcnum - primary key - <li>svcpart - <a href="#part_svc">Service definition</a> - <li>exportnum - <a href="#exportnum">Export</a> - </ul> - <li><a name="part_export" href="man/FS/part_export.html">part_export</a> - Export to external provisioning - <ul> - <li>exportnum - primary key - <li>machine - Machine name - <li>exporttype - Export type - <li>nodomain - blank or Y: usernames are exported to this service with no domain - </ul> - <li><a name="part_export_option" href="man/FS/part_export_option.html">part_export_option</a> - provisioning options - <ul> - <li>optionnum - primary key - <li>exportnum - <a href="#part_export">Export</a> - <li>optionname - option name - <li>optionvalue - option value - </ul> - <li><a name="port" href="man/FS/port.html">port</a> - individual port on a <a href="#nas">nas</a> - <ul> - <li>portnum - primary key - <li>ip - IP address of this port - <li>nasport - port number on the NAS - <li>nasnum - <a href="#nas">NAS</a> - </ul> - <li><a name="prepay_credit" href="man/FS/prepay_credit.html">prepay_credit</a> - prepaid cards - <ul> - <li>prepaynum - primary key - <li>identifier - text or numeric string of prepaid card - <li>amount - amount of prepayment - <li>seconds - prepaid time instead of (or in addition to) monetary value - <li>agentnum - optional agent assignment for prepaid cards - </ul> - <li><a name="session" href="man/FS/session.html">session</a> - <ul> - <li>sessionnum - primary key - <li>portnum - <a href="#port">Port</a> - <li>svcnum - <a href="#svc_acct">Account</a> - <li>login - timestamp indicating the beginning of this user session. - <li>logout - timestamp indicating the end of this user session. May be null, which indicates a currently open session. - </ul> - - <li><a name="svc_acct" href="man/FS/svc_acct.html">svc_acct</a> - Accounts - <ul> - <li>svcnum - <a href="#cust_svc">primary key</a> - <li>username - <li>_password - <li>sec_phrase - security phrase - <li>popnum - <a href="#svc_acct_pop">Point of Presence</a> - <li>uid - <li>gid - <li>finger - GECOS - <li>dir - <li>shell - <li>quota - (unimplementd) - <li>slipip - IP address - <li>seconds - <li>domsvc - <li>radius_<i>Radius_Reply_Attribute</i> - Radius-Reply-Attribute - <li>rc_<i>Radius_Check_Attribute</i> - Radius-Check-Attribute - </ul> - <li><a name="svc_acct_pop" href="man/FS/svc_acct_pop.html">svc_acct_pop</a> - Points of Presence - <ul> - <li>popnum - primary key - <li>city - <li>state - <li>ac - area code - <li>exch - exchange - <li>loc - rest of number - </ul> - <li><a name="part_pop_local" href="man/FS/part_pop_local.html">part_pop_local</a> - Local calling areas - <ul> - <li>localnum - primary key - <li>popnum - primary key - <li>city - <li>state - <li>npa - area code - <li>nxx - exchange - </ul> - <li><a name="svc_domain" href="man/FS/svc_domain.html">svc_domain</a> - Domains - <ul> - <li>svcnum - <a href="#cust_svc">primary key</a> - <li>domain - </ul> - <li><a name="svc_forward" href="man/FS/svc_forward.html">svc_forward</a> - Mail forwarding aliases - <ul> - <li>svcnum - <a href="#cust_svc">primary key</a> - <li>srcsvc - <a href="#svc_acct">svcnum of the source of this forward</a> - <li>src - literal source (username or full email address) - <li>dstsvc - <a href="#svc_acct">svcnum of the destination of this forward</a> - <li>dst - literal destination (username or full email address) - </ul> - <li><a name="domain_record" href="man/FS/domain_record.html">domain_record</a> - Domain zone detail - <ul> - <li>recnum - primary key - <li>svcnum - <a href="#svc_domain">Domain</a> (by svcnum) - <li>reczone - zone for this line - <li>recaf - address family, usually <b>IN</b> - <li>rectype - type for this record (<b>A</b>, <b>MX</b>, etc.) - <li>recdata - data for this record - </ul> - <li><a name="svc_www" href="man/FS/svc_www.html">svc_www</a> - <ul> - <li>svcnum - <a href="#cust-svc">primary key</a> - <li>recnum - <a href="#domain_record">host</a> - <li>usersvc - <a href="#svc_acct">account</a> - </ul> - <li><a name="type_pkgs" href="man/FS/type_pkgs.html">type_pkgs</a> - <ul> - <li>typepkgnum - primary key - <li>typenum - <a href="#agent_type">agent type</a> - <li>pkgpart - <a href="#part_pkg">Package definition</a> - </ul> - <li><a name="queue" href="man/FS/queue.html">queue</a> - job queue - <ul> - <li>jobnum - primary key - <li>job - <li>_date - <li>status - <li>statustext - <li>svcnum - </ul> - <li><a name="queue_arg" href="man/FS/queue_arg.html">queue_arg</a> - job arguments - <ul> - <li>argnum - primary key - <li>jobnum - <a href="#queue">job</a> - <li>arg - argument - </ul> - <li><a name="queue_depend" href="man/FS/queue_depend.html">queue_depend</a> - job dependancies - <ul> - <li>dependnum - primary key - <li>jobnum - source jobnum - <li>depend_jobnum - dependancy jobnum - </ul> - <li><a name="radius_usergroup" href="man/FS/radius_usergroup.html">radius_usergroup</a> - Link users to RADIUS groups. - <ul> - <li>usergroupnum - primary key - <li>svcnum - <a href="#svc_acct">account</a> - <li>groupname - </ul> - <li><a name="rate" href="man/FS/rate.html">rate</a> - Call rate plans - <ul> - <li>ratenum - primary key - <li>ratename - </ul> - <li><a name="rate_detail" href="man/FS/rate_detail.html">rate_detail</a> - Call rate detail - <ul> - <li>ratedetailnum - primary key - <li>ratenum - <a href="#rate">rate plan</a> - <li>orig_regionnum - call origination <a href="#rate_region">region</a> - <li>dest_regionnum - call destination <a href="#rate_region">region</a> - <li>min_included - included minutes - <li>min_charge - charge per minute - <li>sec_granularity - granularity in seconds, i.e. 6 or 60 - </ul> - <li><a name="rate_region" href="man/FS/rate_region.html">rate_region</a> - Call rate region - <ul> - <li>regionnum - primary key - <li>regionname - </ul> - <li><a name="rate_prefix" href="man/FS/rate_prefix.html">rate_prefix</a> - Call rate prefix - <ul> - <li>prefixnum - primary key - <li>regionnum - <a href="#rate_region">rate region</a> - <li>countrycode - <li>npa - <li>nxx - </ul> - <li><a name="msgcat" href="man/FS/msgcat.html">msgcat</a> - i18n message catalog - <ul> - <li>msgnum - primary key - <li>msgcode - message code - <li>locale - locale - <li>msg - Message text - </ul> - <li><a name="clientapi_session" href="man/FS/clientapi_session.html">clientapi_session</a> - ClientAPI session store - <ul> - <li>sessionnum - primary key - <li>sessionid - session ID - <li>namespace - session namespace - </ul> - <li><a name="clientapi_session_field" href="man/FS/clientapi_session_field.html">clientapi_session_field</a> - Client API session store data - <ul> - <li>fieldnum - primary key - <li>sessionnum - <a href="#session">session</a> - <li>fieldname - <li>fieldvalue - </ul> - </ul> -</body> diff --git a/httemplate/docs/schema.png b/httemplate/docs/schema.png Binary files differdeleted file mode 100644 index d0392e76f..000000000 --- a/httemplate/docs/schema.png +++ /dev/null diff --git a/httemplate/docs/selfservice.html b/httemplate/docs/selfservice.html deleted file mode 100644 index 9dc8f2a5e..000000000 --- a/httemplate/docs/selfservice.html +++ /dev/null @@ -1,78 +0,0 @@ -<head> - <title>Signup, self-service and reseller interfaces</title> -</head> -<body> - <h1>Signup, self-service and reseller interfaces</h1> -For security reasons, the self-service interface should run on a public -machine, not the backend Freeside server. On the public machine, install: -<ul> - <li>A web server, such as <a href="http://www.apache.org">Apache</a> (<a href="http://www.modssl.org/">mod_ssl</a> or <a href="http://www.apache-ssl.org">Apache-SSL</a> highly recommended) - - <li><a href="ftp://ftp.cs.hut.fi/pub/ssh/">SSH</a> - <li><a href="http://www.perl.com/CPAN/doc/relinfo/INSTALL.html">Perl</a>. - <li><a href="http://search.cpan.org/search?dist=Text-Template">Text::Template</a> - <li><a href="http://search.cpan.org/search?dist=Storable">Storable</a> - <li><a href="http://search.cpan.org/search?dist=Business-CreditCard">Business-CreditCard</a> - <li><a href="http://search.cpan.org/search?dist=HTTP-BrowserDetect">HTTP::BrowserDetect</a> - <li><a href="http://search.cpan.org/search?dist=HTML-Parser">HTML::Parser</a> - - <li><a href="man/FS/SelfService.html">FS::SelfService</a> (copy the fs_selfservice/FS-SelfService directory to the external machine, then: perl Makefile.PL; make; make install) -</ul> -Then: -<ul> - <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_agentnum</i></a> configuration value to a default <a href="../browse/agent.cgi">agent number</a>. - <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_refnum</i></a> configuration value to a default <a href="../browse/part_referral.cgi">advertising source</a>. - <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-payby</i></a> configuration value to the acceptable payment types for signups. - <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-realtime</i></a> configuration value to run billing for signups immediately. - <li>Add the user `freeside' to the the external machine. - <li>Copy or symlink the <code>fs_selfservice/FS-SelfService/cgi/</code> directory into the web server's document space. Optionally, customize the .html templates. "Entry points" (useful places to link to) are: - <ul> - <li>signup.cgi - Signup - <li>selfservice.cgi - Customer self-service - <li>agent.cgi - Reseller interface - <li>passwd.cgi - Simple password-changing interface - <li>promocode.html - Promotional code pre-signup - <li>regcode.html - Registration code pre-signup - <li>stateselect.html - State selection pre-signup - </ul> - <li>Enable CGI execution for files with the `.cgi' extension. (with <a href="http://www.apache.org/docs/mod/mod_mime.html#addhandler">Apache</a>), for example: <pre> -#directory where selfservice .cgi scripts and .html templates are located -<Directory /var/www/selfservice> -AddHandler cgi-script .cgi -Options +ExecCGI -</Directory></pre> - <li>Create the /usr/local/freeside directory on the external machine (owned by the freeside user). - <li>touch /usr/local/freeside/selfservice_socket; chown freeside /usr/local/freeside/selfservice_socket; chmod 600 /usr/local/freeside/selfservice_socket - <li>Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">setuid</a> to run signup.cgi, selfservice.cgi, agent.cgi and passwd.cgi as the freeside user. <b>Do not run your public web server as the freeside user!</b> - <li>Append the identity.pub from the freeside user on your freeside machine to the authorized_keys file of the newly created freeside user on the external machine(s). - <li>Run an instance of <pre>freeside-selfservice-server <i>user</i> <i>machine</i></pre> on the Freeside machine for each external machine. - <ul> - <li><i>user</i> is a user from the mapsecrets file. - <li><i>machine</i> is the name of the external machine. - - - </ul> -</ul> -Optional: -<ul> - <li>You can install the files in the <code>fs_selfservice/FS-SelfService/cgi/</code> directory multiple places in your web server's document space, and customize the .html templates differently for each. You can set the agentnum used for each signup by editing signup.html and including a hidden field with the agentnum: - <pre> - <INPUT TYPE="hidden" NAME="agentnum" VALUE="3"></pre> - <li>When linking to signup.cgi, you can include a referring custnum in the URL as follows: <code>http://public.web.server/path/signup.cgi?ref=1542</code> - <li>If you create a <b>/usr/local/freeside/ieak.template</b> file on the external machine, it will be sent to IE users with MIME type <i>application/x-Internet-signup</i>. This file will be processed with <a href="http://search.cpan.org/doc/MJD/Text-Template-1.23/Template.pm">Text::Template</a> with the variables listed below available. - (an example file is included as <b>fs_selfservice/FS-SelfService/ieak.template</b>) See the section on <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/INS.HTM">internet settings files</a> in the <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/toc.asp">IEAK documentation</a> for more information. -<!-- <li>If you create a <b>/usr/local/freeside/success.html</b> file on the external machine, it will be used as the success HTML page. Although template substiutions are available, a regular HTML file will work fine here, unlike signup.html. An example file is included as <b>fs_signup/FS-SignupClient/cgi/success.html</b>--> - <li>Variable substitutions available in <b>ieak.template</b> and <b>success.html</b>: - <ul> - <li>$ac - area code of selected POP - <li>$exch - exchange of selected POP - <li>$loc - local part of selected POP - <li>$username - <li>$password - <li>$email_name - first and last name - <li>$pkg - package name - </ul> -<!-- <li>If you create a <b>/usr/local/freeside/signup.html</b> file on the external machine, it will be used as a template for the form HTML. This requires the template to be constructed appropriately; probably best to start with the example file included as <b>fs_signup/FS-SignupClient/cgi/signup.html</b>. --> -<!-- <li>If there are any entries in the <i>prepay_credit</i> table, a user can enter a string matching the <b>identifier</i> column to receive the credit specified in the <b>amount</b> column, and/or the time specified in the <b>seconds</b> column (for use with the <a href="session.html">session monitor</a>), after which that <b>identifier</b> is no longer valid. This can be used to implement pre-paid "calling card" type signups. The <i>bin/generate-prepay</i> script can be used to populate the <i>prepay_credit</i> table. --> -</ul> -</body> diff --git a/httemplate/docs/session.html b/httemplate/docs/session.html deleted file mode 100644 index 72e16424e..000000000 --- a/httemplate/docs/session.html +++ /dev/null @@ -1,59 +0,0 @@ -<head> - <title>Session monitor</title> -</head> -<body> -<h1>Session monitor</h1> -<h2>Installation</h2> -For security reasons, the client portion of the session montior may run on one -or more external public machine(s). On these machines, install: -<ul> - <li><a href="http://www.perl.com/CPAN/doc/relinfo/INSTALL.html">Perl</a> (at l -east 5.004_05 for the 5.004 series or 5.005_03 for the 5.005 series. Don't enable experimental features like threads or the PerlIO abstraction layer.) - <li><a href="man/FS/SessionClient.html">FS::SessionClient</a> (copy the fs_session/FS-SessionClient directory to the external machine, then: perl Makefile.PL; make; make install) -</ul> -Then: -<ul> - <li>Add the user `freeside' to the the external machine. - <li>Create the /usr/local/freeside directory on the external machine (owned by the freeside user). - <li>touch /usr/local/freeside/fs_sessiond_socket; chown freeside /usr/local/freeside/fs_sessiond_socket; chmod 600 /usr/local/freeside/fs_sessiond_socket - <li>Append the identity.pub from the freeside user on your freeside machine to the authorized_keys file of the newly created freeside user on the external machine(s). - <li>Run <pre>fs_session_server <i>user</i> <i>machine</i></pre> on the Freeside machine. - <ul> - <li><i>user</i> is a user from the mapsecrets file. - <li><i>machine</i> is the name of the external machine. - </ul> -</ul> -<h2>Usage</h2> -<ul> - <li>Web - <ul> - <li>Copy FS-SessionClient/cgi/login.cgi and logout.cgi to your web - server's document space. - <li>Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">setuid</a> (see <a href="install.html">install.html</a> for details) to run login.cgi and logout.cgi as the freeside user. - </ul> - <li>Command-line - <br><pre>freeside-login username ( portnum | ip | nasnum nasport ) -freeside-logout username ( portnum | ip | nasnum nasport )</pre> - <ul> - <li><i>username</i> is a customer username from the svc_acct table - <li><i>portnum</i>, <i>ip</i> or <i>nasport</i> and <i>nasnum</i> uniquely identify a port in the <a href="schema.html#port">port</a> database table. - </ul> - <li>RADIUS - One of: - <ul> - <li>Run the <b>freeside-sqlradius-radacctd</b> daemon to import radacct - records from all configured sqlradius exports: - <tt>freeside-sqlradius-radacctd username</tt> - <li>Configure your RADIUS server's login and logout callbacks to use the command-line <tt>freeside-login</tt> and <tt>freeside-logout</tt> utilites. - <li> <i>(incomplete)</i>Use the <b>fs_radlog/fs_radlogd</b> tool to - import records from a text radacct file. - </ul> -</ul> -<h2>Callbacks</h2> -<ul> - <li>Sesstion start - The command(s) specified in the <a href="config.html#session-start">session-start</a> configuration file are executed on the Freeside machine. The contents of the file are treated as a double-quoted perl string, with the following variables available: <code>$ip</code>, <code>$nasip</code> and <code>$nasfqdn</code>, which are the IP address of the starting session, and the IP address and fully-qualified domain name of the NAS this session is on. - <li>Session end - The command(s) specified in the <a href="config.html#session-stop">session-stop</a> configuration file are executed on the Freeside machine. The contents of the file are treated as a double-quoted perl string, with the following variables available: <code>$ip</code>, <code>$nasip</code> and <code>$nasfqdn</code>, which are the IP address of the starting session, and the IP address and fully-qualified domain name of the NAS this session is on. -</ul> -<h2>Dropping expired users</h2> -Run <pre>bin/freeside-session-kill username</pre> periodically from cron. -</body> -</html> diff --git a/httemplate/docs/signup.html b/httemplate/docs/signup.html deleted file mode 100644 index 97d7aa794..000000000 --- a/httemplate/docs/signup.html +++ /dev/null @@ -1,54 +0,0 @@ -<head> - <title>Signup server</title> -</head> -<body> - <h1>Signup server</h1> -For security reasons, the signup server should run on an external public -webserver. On this machine, install: -<ul> - <li>A web server, such as <a href="http://www.apache-ssl.org">Apache-SSL</a> or <a href="http://www.apache.org">Apache</a> - <li><a href="ftp://ftp.cs.hut.fi/pub/ssh/">SSH</a> - <li><a href="http://www.perl.com/CPAN/doc/relinfo/INSTALL.html">Perl</a> (at least 5.004_05 for the 5.004 series or 5.005_03 for the 5.005 series. Don't enable experimental features like threads or the PerlIO abstraction layer.) - <li><a href="http://search.cpan.org/search?dist=Text-Template">Text::Template</a> - <li><a href="http://search.cpan.org/search?dist=Storable">Storable</a> - <li><a href="http://search.cpan.org/search?dist=Business-CreditCard">Business-CreditCard</a> - <li><a href="http://search.cpan.org/search?dist=HTTP-BrowserDetect">HTTP::BrowserDetect</a> - - <li><a href="man/FS/SignupClient.html">FS::SignupClient</a> (copy the fs_signup/FS-SignupClient directory to the external machine, then: perl Makefile.PL; make; make install) -</ul> -Then: -<ul> - <li>Add the user `freeside' to the the external machine. - <li>Copy or symlink fs_signup/FS-SignupClient/cgi/signup.cgi into the web server's document space. - <li>When linking to signup.cgi, you can include a referring custnum in the URL as follows: <code>http://public.web.server/path/signup.cgi?ref=1542</code> - <li>Enable CGI execution for files with the `.cgi' extension. (with <a href="http://www.apache.org/docs/mod/mod_mime.html#addhandler">Apache</a>) - <li>Create the /usr/local/freeside directory on the external machine (owned by the freeside user). - <li>touch /usr/local/freeside/fs_signupd_socket; chown freeside /usr/local/freeside/fs_signupd_socket; chmod 600 /usr/local/freeside/fs_signupd_socket - <li>Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">setuid</a> (see <a href="install.html">install.html</a> for details) to run signup.cgi as the freeside user. - <li>Append the identity.pub from the freeside user on your freeside machine to the authorized_keys file of the newly created freeside user on the external machine(s). - <li>Run <pre>fs_signup_server <i>user</i> <i>machine</i> <i>agentnum</i> <i>refnum</i></pre> on the Freeside machine. - <ul> - <li><i>user</i> is a user from the mapsecrets file. - <li><i>machine</i> is the name of the external machine. - <li><i>agentnum</i> and <i>refnum</i> are the <a href="schema.html#agent">agent</a> and <a href="schema.html#part_referral">referral</a>, respectively, to use for customers who sign up via this signup server. - </ul> -</ul> -Optional: -<ul> - <li>If you create a <b>/usr/local/freeside/ieak.template</b> file on the external machine, it will be sent to IE users with MIME type <i>application/x-Internet-signup</i>. This file will be processed with <a href="http://search.cpan.org/doc/MJD/Text-Template-1.23/Template.pm">Text::Template</a> with the variables listed below available. - (an example file is included as <b>fs_signup/ieak.template</b>) See the section on <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/INS.HTM">internet settings files</a> in the <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/toc.asp">IEAK documentation</a> for more information. - <li>If you create a <b>/usr/local/freeside/success.html</b> file on the external machine, it will be used as the success HTML page. Although template substiutions are available, a regular HTML file will work fine here, unlike signup.html. An example file is included as <b>fs_signup/FS-SignupClient/cgi/success.html</b> - <li>Variable substitutions available in <b>ieak.template</b>, <b>cck.template</b> and <b>success.html</b>: - <ul> - <li>$ac - area code of selected POP - <li>$exch - exchange of selected POP - <li>$loc - local part of selected POP - <li>$username - <li>$password - <li>$email_name - first and last name - <li>$pkg - package name - </ul> - <li>If you create a <b>/usr/local/freeside/signup.html</b> file on the external machine, it will be used as a template for the form HTML. This requires the template to be constructed appropriately; probably best to start with the example file included as <b>fs_signup/FS-SignupClient/cgi/signup.html</b>. - <li>If there are any entries in the <i>prepay_credit</i> table, a user can enter a string matching the <b>identifier</i> column to receive the credit specified in the <b>amount</b> column, and/or the time specified in the <b>seconds</b> column (for use with the <a href="session.html">session monitor</a>), after which that <b>identifier</b> is no longer valid. This can be used to implement pre-paid "calling card" type signups. The <i>bin/generate-prepay</i> script can be used to populate the <i>prepay_credit</i> table. -</ul> -</body> diff --git a/httemplate/docs/ssh.html b/httemplate/docs/ssh.html deleted file mode 100755 index d2c501e35..000000000 --- a/httemplate/docs/ssh.html +++ /dev/null @@ -1,16 +0,0 @@ -<head> - <title>Unattended SSH</title> -</head> -<body> - <h1>Unattended SSH</h1> - <br><a name=ssh>Unattended remote login</a> - Freeside can login to remote machines unattended using SSH. This can pose a security risk if not configured correctly, and will allow an intruder who breaks into your freeside machine full access to your remote machines. <b>Do not use this feature unless you understand what you are doing!</b> - <ul> - <li>As the freeside user (on your freeside machine), generate an authentication key using <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>. Since this is for unattended operation, use a blank passphrase. - <li>Append the newly-created <code>identity.pub</code> file to <code>~root/.ssh/authorized_keys</code> (or the appopriate <code>~username/.ssh/authorized_keys</code>) on the remote machine(s). - <li>Some new SSH v2 implementation accept v2 style keys only. Use the <code>-t</code> option to <a href="http://www.tac.eu.org/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>, and append the created <code>id_dsa.pub</code> or <code>id_rsa.pub</code> to <code>~root/.ssh/authorized_keys2</code> (or the appopriate <code>~username/.ssh/authorized_keys</code>) on the remote machine(s). - <li>You may need to set <code>PermitRootLogin without-password</code> (meaning with keys only) in your <code>sshd_config</code> file on the remote machine(s). - <li>You may want to set <code>ForwardX11 = no</code> in <code>~root/.ssh/config</code> to prevent spurious errors if your distribution turns on X11 forwarding by default. - </ul> - -</body> - diff --git a/httemplate/docs/trouble.html b/httemplate/docs/trouble.html deleted file mode 100755 index fce743928..000000000 --- a/httemplate/docs/trouble.html +++ /dev/null @@ -1,26 +0,0 @@ -<head> - <title>Troubleshooting</title> -</head> -<body> - <h1>Troubleshooting</h1> - <ul> - <li>When troubleshooting the web interface, helpful information is often in your web server's error log. - <li>If bin/svc_acct.import fails with an "Out of memory!" error using MySQL, upgrede MySQL and recompile the Perl DBD. There was a memory leak in some older versions of MySQL. - <li>If you get tons of errors in your web server's error log like this: -<pre> -Ambiguous use of value => resolved to "value" => -at /usr/lib/perl5/site_perl/File/CounterFile.pm line 132. -</pre> - This clutters up your log files but is otherwise harmless. Upgrade to the latest File::CounterFile. - <li>If you get errors like this: -<pre> -UID.pm: Can't open /var/spool/freeside/conf/secrets: Permission denied -at <i>/your/path</i>/site_perl/FS/UID.pm line 26. -BEGIN failed--compilation aborted at -<i>/your/path</i>/edit/process/part_svc.cgi line 15. -</pre> - Then the scripts are not running as the freeside freeside user. See -the <a href="install.html">New Installation</a> section of the documentation. - <li>If you receive `can not connect to server' errors using MySQL on a system that doesn't support native threading, you may need to specify the full hostname in your DBI datasource. See the <a href="http://www.mysql.com/Manual_chapter/manual_Problems.html#Can_not_connect_to_server">MySQL documentation</a>, DBI manpage and the DBD::mysql manpage for details. - </ul> -</body> diff --git a/httemplate/docs/upgrade-1.4.2.html b/httemplate/docs/upgrade-1.4.2.html deleted file mode 100644 index a24661142..000000000 --- a/httemplate/docs/upgrade-1.4.2.html +++ /dev/null @@ -1,27 +0,0 @@ -<head> - <title>Upgrading to 1.4.2</title> -</head> -<body> -<h1>Upgrading to 1.4.2 from 1.4.1</h1> -<ul> - <li>If migrating from less than 1.4.1, see these <a href="upgrade9.html">instructions</a> first. - <li>Back up your data and current Freeside installation. - <li>Install <a href="http://search.cpan.org/search?dist=Locale-SubCountry">Locale::SubCountry</a> - <li>Install <a href="http://search.cpan.org/search?dist=IPC-ShareLite">IPC::ShareLite</a> - <li>Install <a href="http://search.cpan.org/search?dist=HTML-Widgets-SelectLayers">HTML::Widgets::SelectLayers</a> 0.04. - <li>Install <a href="http://search.cpan.org/search?dist=DBIx-DBSchema">DBIx::DBSchema</a> 0.23. - <li>Install <a href="http://search.cpan.org/search?dist=DBD-Pg">DBD::Pg</a> 1.32. - <li>Install <a href="http://search.cpan.org/search?dist=Cache-Cache">Cache::Cache</a>. - <li>Install <a href="http://search.cpan.org/search?dist=Net-SSH">Net::SSH</a> 0.08. - <li>Install <a href="http://search.cpan.org/search?dist=Crypt-PasswdMD5">Crypt::PasswdMD5</a> - <li>Install <a href="http://search.cpan.org/search?dist=Net-Whois-Raw">Net::Whois::Raw</a> - <li>CGI.pm minimum version 2.47 is required. You will probably need to install a current CGI.pm from CPAN if you are using Perl 5.005 or earlier. - <li>File::Temp minimum version 0.14 is required. You will probably need to install a currrent File::Temp from CPAN if you are using Perl 5.6 or earlier. - <li>If using Apache::ASP, add <code>PerlSetVar RequestBinaryRead Off</code> to your Apache configuration and make sure you are using Apache::ASP minimum version 2.55. - <li>Run <code>make aspdocs</code> or <code>make masondocs</code>. - <li>Copy <code>aspdocs/</code> or <code>masondocs/</code> to your web server's document space. - <li>Run <code>make install-perl-modules</code>. - <li>The signup server and password server are deprecated in 1.4.2. Their functionality has been incorperated into the self-service server. Edit or reinstall your init script, and set the "signup_server-default_agentnum" and "signup_server-default_refnum" configuration options. The FS::SignupClient interface is still available as a compatibility wrapper, so you should be able to continue to use your current signup.cgi. - <li>Optional: To use typeset invoices, install tetex and ghostscript, and copy conf/invoice_latex, conf/invoice_latexnotes, and conf/invoice_latexfooter to /usr/local/etc/freeside/conf.<datasrc>/ - <li>Restart Apache and freeside-queued. -</body> diff --git a/httemplate/docs/upgrade10.html b/httemplate/docs/upgrade10.html deleted file mode 100644 index ac2c6238d..000000000 --- a/httemplate/docs/upgrade10.html +++ /dev/null @@ -1,93 +0,0 @@ -<pre> -this is incomplete - -NOTE: Version numbering has been simplified. 1.5.7 is the version after -1.5.0pre6. It is still a development version - releases with odd numbered -middle parts (NN in x.NN.x) are development versions, like Perl or Linux. - -If migrating from 1.5.7, see README.1.5.8 instead - -If migrating from 1.5.0pre6, see README.1.5.7 instead - -install DBD::Pg 1.32, 1.41 or later (not 1.40) (or, if you're using a Perl version before 5.6, you could try installing DBD::Pg 1.22 with <a href="http://420.am/~ivan/DBD-Pg-1.22-fixvercmp.patch">this patch</a> and commenting out the "use DBD::Pg 1.32" at the top of DBIx/DBSchema/DBD/Pg.pm) -install DBIx::DBSchema 0.27 (or later) - (if you are running Pg version 7.2.x or earlier, install at least - DBIx::DBSchema 0.29) -install Net::SSH 0.08 -install HTML::Widgets::SelectLayers 0.05 -install Business::CreditCard 0.28 - -- If using Apache::ASP, add PerlSetVar RequestBinaryRead Off and PerlSetVar IncludesDir /your/freeside/document/root/ to your Apache configuration and make sure you are using Apache::ASP minimum version 2.55. -- In httpd.conf, change <Files ~ \.cgi> to <Files ~ (\.cgi|\.html)> -- In httpd.conf, change <b>AddHandler perl-script .cgi</b> or <b>SetHandler perl-script</b> to <b>AddHandler perl-script .cgi .html</b> - -install NetAddr::IP, Chart::Base, Locale::SubCountry, Text::CSV_XS, -Spreadsheet::WriteExcel, IO-stringy (IO::Scalar), Frontier::RPC -(Frontier::RPC2), MIME::Entity (MIME-tools), IPC::Run3, Net::Whois::Raw, -JSON and Term::ReadKey -<!-- and Crypt::YAPassGen--> - -INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 20, 'svc_external-id', 'en_US', 'External ID' ); -INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 21, 'svc_external-title', 'en_US', 'Title' ); - -DROP INDEX cust_bill_pkg1; - -On recent Pg versions: - -ALTER TABLE cust_main ALTER COLUMN payinfo varchar(512) NULL; -ALTER TABLE h_cust_main ALTER COLUMN payinfo varchar(512) NULL; - -Or on older Pg versions that don't support altering columns directly: -(dump database, edit & reload) - -On recent Pg versions: - -ALTER TABLE svc_forward ALTER COLUMN srcsvc DROP NOT NULL; -ALTER TABLE h_svc_forward ALTER COLUMN srcsvc DROP NOT NULL; -ALTER TABLE svc_forward ALTER COLUMN dstsvc DROP NOT NULL; -ALTER TABLE h_svc_forward ALTER COLUMN dstsvc DROP NOT NULL; -ALTER TABLE cust_main ALTER COLUMN zip DROP NOT NULL; -ALTER TABLE h_cust_main ALTER COLUMN zip DROP NOT NULL; - -Or on Pg versions that don't support DROP NOT NULL (tested on 7.1 and 7.2 so far): -UPDATE pg_attribute SET attnotnull = FALSE WHERE ( attname = 'srcsvc' OR attname = 'dstsvc' ) AND ( attrelid = ( SELECT oid FROM pg_class WHERE relname = 'svc_forward' ) OR attrelid = ( SELECT oid FROM pg_class WHERE relname = 'h_svc_forward' ) ); -UPDATE pg_attribute SET attnotnull = FALSE WHERE ( attname = 'zip' ) AND ( attrelid = ( SELECT oid FROM pg_class WHERE relname = 'cust_main' ) OR attrelid = ( SELECT oid FROM pg_class WHERE relname = 'h_cust_main' ) ); - -If you created your database with a version before 1.4.2, dump database, edit: -- cust_main and h_cust_main: increase otaker from 8 to 32 -- cust_main and h_cust_main: change ss from char(11) to varchar(11) ( "character(11)" to "character varying(11)" ) -- cust_credit and h_cust_credit: increase otaker from 8 to 32 -- cust_pkg and h_cust_pkg: increase otaker from 8 to 32 -- cust_refund and h_cust_refund: increase otaker from 8 to 32 -- domain_record and h_domain_record: increase reczone from 80 to 255 -- domain_record and h_domain_record: change rectype from char to varchar ( "character(5)" to "character varying(5)" ) -- domain_record and h_domain_record: increase recdata from 80 to 255 -then reload - -mandatory again: - -make install-perl-modules to install the new libraries and CLI utilities -run "freeside-upgrade username" to create the remaining new tables and columns - -optionally: - -CREATE INDEX cust_main4 ON cust_main ( daytime ); -CREATE INDEX cust_main5 ON cust_main ( night ); -CREATE INDEX cust_main6 ON cust_main ( fax ); -CREATE INDEX cust_main7 ON cust_main ( refnum ); -CREATE INDEX cust_main8 ON cust_main ( county ); -CREATE INDEX cust_main9 ON cust_main ( state ); -CREATE INDEX cust_main10 ON cust_main ( country ); -CREATE INDEX cust_main11 ON cust_main ( ship_last ); -CREATE INDEX cust_main12 ON cust_main ( ship_company ); -CREATE INDEX cust_main13 ON cust_main ( ship_daytime ); -CREATE INDEX cust_main14 ON cust_main ( ship_night ); -CREATE INDEX cust_main15 ON cust_main ( ship_fax ); -CREATE INDEX agent2 ON agent ( disabled ); -CREATE INDEX part_bill_event2 ON part_bill_event ( disabled ); -CREATE INDEX cust_pay4 ON cust_pay (_date); -CREATE INDEX part_referral1 ON part_referral ( disabled ); -CREATE INDEX part_pkg2 ON part_pkg ( promo_code ); -CREATE INDEX h_part_pkg2 ON h_part_pkg ( promo_code ); - -</pre> diff --git a/httemplate/docs/upgrade7.html b/httemplate/docs/upgrade7.html deleted file mode 100644 index d9dcfe2ae..000000000 --- a/httemplate/docs/upgrade7.html +++ /dev/null @@ -1,24 +0,0 @@ -<head> - <title>Upgrading to 1.3.1</title> -</head> -<body> -<h1>Upgrading to 1.3.1 from 1.3.0</h1> -<ul> - <li>If migrating from 1.0.0, see these <a href="upgrade.html">instructions</a> first. - <li>If migrating from less than 1.1.4, see these <a href="upgrade2.html">instructions</a> first. - <li>If migrating from less than 1.2.0, see these <a href="upgrade3.html">instructions</a> first. - <li>If migrating from less than 1.2.2, see these <a href="upgrade4.html">instructions</a> first. - <li>If migrating from less than 1.2.3, see these <a href="upgrade5.html">instructions</a> first. - <li>If migrating from less than 1.3.0, see these <a href="upgrade6.html">instructions</a> first. - <li>Back up your data and current Freeside installation. - <li>Copy or symlink htdocs to the new copy. - <li>Change to the FS directory in the new tarball, and build and install the - Perl modules: - <pre> -$ cd FS/ -$ perl Makefile.PL -$ make -$ su -# make install UNINST=1</pre> - <li>Run bin/dbdef-create. -</body> diff --git a/httemplate/docs/upgrade8.html b/httemplate/docs/upgrade8.html deleted file mode 100644 index 9ca7cb7b9..000000000 --- a/httemplate/docs/upgrade8.html +++ /dev/null @@ -1,394 +0,0 @@ -<head> - <title>Upgrading to 1.4.0</title> -</head> -<body> -<h1>Upgrading to 1.4.0 from 1.3.1</h1> -<ul> - <li>If migrating from less than 1.3.1, see these <a href="upgrade7.html">instructions</a> first. - <li><font size="+2" color="#ff0000">Backup your database and current Freeside installation.</font> (with <a href="http://www.ca.postgresql.org/devel-corner/docs/postgres/backup.html">PostgreSQL</a>) (with <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Backup">MySQL</a>) - <li><a href="http://perl.apache.org/">mod_perl</a> is now required. - <li>Install <a href="http://search.cpan.org/search?dist=Time-Duration">Time-Duration</a>, <a href="http://search.cpan.org/search?dist=Tie-IxHash">Tie-IxHash</a> and <a href="http://search.cpan.org/search?dist=HTML-Widgets-SelectLayers">HTML-Widgets-SelectLayers</a> (minimum version 0.02). - <li>Install <a href="http://www.apache-asp.org/">Apache::ASP</a> or <a href="http://www.masonhq.com/">HTML::Mason</a> (use version 1.0x - Freeside is not yet compatible with version 1.1x). - <li>Install <a href="http://rsync.samba.org/">rsync</a> -</ul> -<table> - <tr> - <th>Apache::ASP</th><th>Mason</th> - </tr> - <tr> - <td><ul> - <li>Run <tt>make aspdocs</tt> - <li>Copy <tt>aspdocs/</tt> to your web server's document space. - <li>Create a <a href="http://www.apache-asp.org/config.html#Global">Global</a> directory, such as <tt>/usr/local/etc/freeside/asp-global/</tt> - <li>Copy <tt>htetc/global.asa</tt> to the Global directory. - <li>Configure Apache for the Global directory and to execute .cgi files using Apache::ASP. For example: -<font size="-1"><pre> -<Directory /usr/local/apache/htdocs/freeside-asp> -<Files ~ (\.cgi)> -AddHandler perl-script .cgi -PerlHandler Apache::ASP -</Files> -<Perl> -$MLDBM::RemoveTaint = 1; -</Perl> -PerlSetVar Global /usr/local/etc/freeside/asp-global/ -</Directory> -</pre></font> - </ul></td> - <td><ul> - <li>(use version 1.0x - Freeside is not yet compatible with version 1.1x) - <li>Run <tt>make masondocs</tt> - <li>Copy <tt>masondocs/</tt> to your web server's document space. - <li>Copy <tt>htetc/handler.pl</tt> to your web server's configuration directory. - <li>Edit <tt>handler.pl</tt> and set an appropriate <tt>data_dir</tt>, such as <tt>/usr/local/etc/freeside/mason-data</tt> - <li>Configure Apache to use the <tt>handler.pl</tt> file and to execute .cgi files using HTML::Mason. For example: -<font size="-1"><pre> -<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"; -</Perl> -</Directory> -</pre></font> - </ul></td> - </tr> -</table> -<ul> - <li>Build and install the Perl modules: - <pre> -$ su -# make install-perl-modules</pre> - <li>Apply the following changes to your database: -<pre> -CREATE TABLE svc_forward ( - svcnum int NOT NULL, - srcsvc int NOT NULL, - dstsvc int NOT NULL, - dst varchar(80), - PRIMARY KEY (svcnum) -); -ALTER TABLE part_svc ADD svc_forward__srcsvc varchar(80) NULL; -ALTER TABLE part_svc ADD svc_forward__srcsvc_flag char(1) NULL; -ALTER TABLE part_svc ADD svc_forward__dstsvc varchar(80) NULL; -ALTER TABLE part_svc ADD svc_forward__dstsvc_flag char(1) NULL; -ALTER TABLE part_svc ADD svc_forward__dst varchar(80) NULL; -ALTER TABLE part_svc ADD svc_forward__dst_flag char(1) NULL; - -CREATE TABLE cust_credit_bill ( - creditbillnum int primary key, - crednum int not null, - invnum int not null, - _date int not null, - amount decimal(10,2) not null -); - -CREATE TABLE cust_bill_pay ( - billpaynum int primary key, - invnum int not null, - paynum int not null, - _date int not null, - amount decimal(10,2) not null -); - -CREATE TABLE cust_credit_refund ( - creditrefundnum int primary key, - crednum int not null, - refundnum int not null, - _date int not null, - amount decimal(10,2) not null -); - -CREATE TABLE part_svc_column ( - columnnum int primary key, - svcpart int not null, - columnname varchar(64) not null, - columnvalue varchar(80) null, - columnflag char(1) null -); - -CREATE TABLE queue ( - jobnum int primary key, - job text not null, - _date int not null, - status varchar(80) not null, - statustext text null, - svcnum int null -); -CREATE INDEX queue1 ON queue ( svcnum ); -CREATE INDEX queue2 ON queue ( status ); - -CREATE TABLE queue_arg ( - argnum int primary key, - jobnum int not null, - arg text null -); -CREATE INDEX queue_arg1 ON queue_arg ( jobnum ); - -CREATE TABLE queue_depend ( - dependnum int primary key, - jobnum int not null, - depend_jobnum int not null -); -CREATE INDEX queue_depend1 ON queue_depend ( jobnum ); -CREATE INDEX queue_depend2 ON queue_depend ( depend_jobnum ); - -CREATE TABLE part_pop_local ( - localnum int primary key, - popnum int not null, - city varchar(80) null, - state char(2) null, - npa char(3) not null, - nxx char(3) not null -); -CREATE UNIQUE INDEX part_pop_local1 ON part_pop_local ( npa, nxx ); - -CREATE TABLE cust_bill_event ( - eventnum int primary key, - invnum int not null, - eventpart int not null, - _date int not null, - status varchar(80) not null, - statustext text -); -CREATE UNIQUE INDEX cust_bill_event1 ON cust_bill_event ( eventpart, invnum ); -CREATE INDEX cust_bill_event2 ON cust_bill_event ( invnum ); - -CREATE TABLE part_bill_event ( - eventpart int primary key, - payby char(4) not null, - event varchar(80) not null, - eventcode text null, - seconds int null, - weight int not null, - plan varchar(80) null, - plandata text null, - disabled char(1) null -); -CREATE INDEX part_bill_event1 ON part_bill_event ( payby ); - -CREATE TABLE export_svc ( - exportsvcnum int primary key, - exportnum int not null, - svcpart int not null -); -CREATE UNIQUE INDEX export_svc1 ON export_svc ( exportnum, svcpart ); -CREATE INDEX export_svc2 ON export_svc ( exportnum ); -CREATE INDEX export_svc3 ON export_svc ( svcpart ); - -CREATE TABLE part_export ( - exportnum int primary key, - machine varchar(80) not null, - exporttype varchar(80) not null, - nodomain char(1) NULL -); -CREATE INDEX part_export1 ON part_export ( machine ); -CREATE INDEX part_export2 ON part_export ( exporttype ); - -CREATE TABLE part_export_option ( - optionnum int primary key, - exportnum int not null, - optionname varchar(80) not null, - optionvalue text NULL -); -CREATE INDEX part_export_option1 ON part_export_option ( exportnum ); -CREATE INDEX part_export_option2 ON part_export_option ( optionname ); - -CREATE TABLE radius_usergroup ( - usergroupnum int primary key, - svcnum int not null, - groupname varchar(80) not null -); -CREATE INDEX radius_usergroup1 ON radius_usergroup ( svcnum ); -CREATE INDEX radius_usergroup2 ON radius_usergroup ( groupname ); - -CREATE TABLE msgcat ( - msgnum int primary key, - msgcode varchar(80) not null, - locale varchar(16) not null, - msg text not null -); -CREATE INDEX msgcat1 ON msgcat ( msgcode, locale ); - -CREATE TABLE cust_tax_exempt ( - exemptnum int primary key, - custnum int not null, - taxnum int not null, - year int not null, - month int not null, - amount decimal(10,2) -); -CREATE UNIQUE INDEX cust_tax_exempt1 ON cust_tax_exempt ( taxnum, year, month ); - -ALTER TABLE svc_acct ADD domsvc integer NULL; -ALTER TABLE part_svc ADD svc_acct__domsvc varchar(80) NULL; -ALTER TABLE part_svc ADD svc_acct__domsvc_flag char(1) NULL; -ALTER TABLE svc_domain ADD catchall integer NULL; -ALTER TABLE cust_main ADD referral_custnum integer NULL; -ALTER TABLE cust_main ADD comments text NULL; -ALTER TABLE cust_pay ADD custnum integer; -ALTER TABLE cust_pay_batch ADD paybatchnum integer; -ALTER TABLE cust_refund ADD custnum integer; -ALTER TABLE cust_pkg ADD manual_flag char(1) NULL; -ALTER TABLE part_pkg ADD plan varchar(80) NULL; -ALTER TABLE part_pkg ADD plandata text NULL; -ALTER TABLE part_pkg ADD setuptax char(1) NULL; -ALTER TABLE part_pkg ADD recurtax char(1) NULL; -ALTER TABLE part_pkg ADD disabled char(1) NULL; -ALTER TABLE part_svc ADD disabled char(1) NULL; -ALTER TABLE cust_bill ADD closed char(1) NULL; -ALTER TABLE cust_pay ADD closed char(1) NULL; -ALTER TABLE cust_credit ADD closed char(1) NULL; -ALTER TABLE cust_refund ADD closed char(1) NULL; -ALTER TABLE cust_bill_event ADD status varchar(80); -ALTER TABLE cust_bill_event ADD statustext text NULL; -ALTER TABLE svc_acct ADD sec_phrase varchar(80) NULL; -ALTER TABLE part_svc ADD svc_acct__sec_phrase varchar(80) NULL; -ALTER TABLE part_svc ADD svc_acct__sec_phrase_flag char(1) NULL; -ALTER TABLE part_pkg ADD taxclass varchar(80) NULL; -ALTER TABLE cust_main_county ADD taxclass varchar(80) NULL; -ALTER TABLE cust_main_county ADD exempt_amount decimal(10,2); -CREATE INDEX cust_main3 ON cust_main ( referral_custnum ); -CREATE INDEX cust_credit_bill1 ON cust_credit_bill ( crednum ); -CREATE INDEX cust_credit_bill2 ON cust_credit_bill ( invnum ); -CREATE INDEX cust_bill_pay1 ON cust_bill_pay ( invnum ); -CREATE INDEX cust_bill_pay2 ON cust_bill_pay ( paynum ); -CREATE INDEX cust_credit_refund1 ON cust_credit_refund ( crednum ); -CREATE INDEX cust_credit_refund2 ON cust_credit_refund ( refundnum ); -CREATE UNIQUE INDEX cust_pay_batch_pkey ON cust_pay_batch ( paybatchnum ); -CREATE UNIQUE INDEX part_svc_column1 ON part_svc_column ( svcpart, columnname ); -CREATE INDEX cust_pay2 ON cust_pay ( paynum ); -CREATE INDEX cust_pay3 ON cust_pay ( custnum ); -CREATE INDEX cust_pay4 ON cust_pay ( paybatch ); -</pre> - - <li>If you are using PostgreSQL, apply the following changes to your database: -<pre> -CREATE UNIQUE INDEX agent_pkey ON agent ( agentnum ); -CREATE UNIQUE INDEX agent_type_pkey ON agent_type ( typenum ); -CREATE UNIQUE INDEX cust_bill_pkey ON cust_bill ( invnum ); -CREATE UNIQUE INDEX cust_credit_pkey ON cust_credit ( crednum ); -CREATE UNIQUE INDEX cust_main_pkey ON cust_main ( custnum ); -CREATE UNIQUE INDEX cust_main_county_pkey ON cust_main_county ( taxnum ); -CREATE UNIQUE INDEX cust_main_invoice_pkey ON cust_main_invoice ( destnum ); -CREATE UNIQUE INDEX cust_pay_pkey ON cust_pay ( paynum ); -CREATE UNIQUE INDEX cust_pkg_pkey ON cust_pkg ( pkgnum ); -CREATE UNIQUE INDEX cust_refund_pkey ON cust_refund ( refundnum ); -CREATE UNIQUE INDEX cust_svc_pkey ON cust_svc ( svcnum ); -CREATE UNIQUE INDEX domain_record_pkey ON domain_record ( recnum ); -CREATE UNIQUE INDEX nas_pkey ON nas ( nasnum ); -CREATE UNIQUE INDEX part_pkg_pkey ON part_pkg ( pkgpart ); -CREATE UNIQUE INDEX part_referral_pkey ON part_referral ( refnum ); -CREATE UNIQUE INDEX part_svc_pkey ON part_svc ( svcpart ); -CREATE UNIQUE INDEX port_pkey ON port ( portnum ); -CREATE UNIQUE INDEX prepay_credit_pkey ON prepay_credit ( prepaynum ); -CREATE UNIQUE INDEX session_pkey ON session ( sessionnum ); -CREATE UNIQUE INDEX svc_acct_pkey ON svc_acct ( svcnum ); -CREATE UNIQUE INDEX svc_acct_pop_pkey ON svc_acct_pop ( popnum ); -CREATE UNIQUE INDEX svc_acct_sm_pkey ON svc_acct_sm ( svcnum ); -CREATE UNIQUE INDEX svc_domain_pkey ON svc_domain ( svcnum ); -CREATE UNIQUE INDEX svc_www_pkey ON svc_www ( svcnum ); -</pre> - <li>If you wish to enable service/shipping addresses, apply the following - changes to your database: -<pre> -ALTER TABLE cust_main ADD COLUMN ship_last varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_first varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_company varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_address1 varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_address2 varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_city varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_county varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_state varchar(80) NULL; -ALTER TABLE cust_main ADD COLUMN ship_zip varchar(10) NULL; -ALTER TABLE cust_main ADD COLUMN ship_country char(2) NULL; -ALTER TABLE cust_main ADD COLUMN ship_daytime varchar(20) NULL; -ALTER TABLE cust_main ADD COLUMN ship_night varchar(20) NULL; -ALTER TABLE cust_main ADD COLUMN ship_fax varchar(12) NULL; -CREATE INDEX cust_main4 ON cust_main ( ship_last ); -CREATE INDEX cust_main5 ON cust_main ( ship_company ); -</pre> - <li>If you are using the signup server, reinstall it according to the <a href="signup.html">instructions</a>. The 1.3.x signup server is not compatible with 1.4.x. - <li>Run <tt>bin/dbdef-create <i>username</i></tt> - <li>If you have svc_acct_sm records or service definitions: - <ul> - <li>Create a service definition with table svc_forward - <li>Run <tt>bin/fs-migrate-svc_acct_sm <i>username</i></tt> - </ul> - <li>Or if you just have svc_acct records: - <ul> - <li>Order and provision a package for your default domain and note down the <b>Service #</b> or <i>svcnum</i>. - <li><tt>UPDATE svc_acct SET domsvc = </tt><i>svcnum</i> - <li>Update your service definitions to have default (or fixed) <b>domsvc</b>. - </ul> - <li>Run <tt>bin/fs-migrate-payref<i>username</i></tt> - <li>Run <tt>bin/fs-migrate-part_svc<i>username</i></tt> - <li><b>After running bin/fs-migrate-payref</b>, apply the following changes to your database: - <table border><tr><th>PostgreSQL</th><th>MySQL, others</th></tr> -<tr><td> -<font size=-1><pre> -CREATE TABLE cust_pay_temp ( - paynum int primary key, - custnum int not null, - paid decimal(10,2) not null, - _date int null, - payby char(4) not null, - payinfo varchar(16) null, - paybatch varchar(80) null, - closed char(1) null -); -INSERT INTO cust_pay_temp SELECT paynum, custnum, paid, _date, payby, payinfo, paybatch, closed FROM cust_pay; -DROP TABLE cust_pay; -ALTER TABLE cust_pay_temp RENAME TO cust_pay; -CREATE UNIQUE INDEX cust_pay1 ON cust_pay (paynum); -CREATE TABLE cust_refund_temp ( - refundnum int primary key, - custnum int not null, - _date int null, - refund decimal(10,2) not null, - otaker varchar(8) not null, - reason varchar(80) not null, - payby char(4) not null, - payinfo varchar(16) null, - paybatch varchar(80) null, - closed char(1) null -); -INSERT INTO cust_refund_temp SELECT refundnum, custnum, _date, refund, otaker, reason, payby, payinfo, '', closed from cust_refund; -DROP TABLE cust_refund; -ALTER TABLE cust_refund_temp RENAME TO cust_refund; -CREATE UNIQUE INDEX cust_refund1 ON cust_refund (refundnum); -</pre></font> -</td><td> -<font size=-1><pre> -ALTER TABLE cust_pay DROP COLUMN invnum; -ALTER TABLE cust_refund DROP COLUMN crednum; -</pre></font> -</td></tr></table> - <li><b>IMPORTANT: After applying the second set of database changes</b>, run <tt>bin/dbdef-create <i>username</i></tt> again. - <li><b>IMPORTANT</b>: run <tt>bin/create-history-tables <i>username</i></tt> - <li><b>IMPORTANT: After running bin/create-history-tables</b>, run <tt>bin/dbdef-create <i>username</i></tt> again. - <li>As the freeside UNIX user, run <tt>bin/populate-msgcat <i>username</i></tt -> to populate the message catalog -<!-- <li>set the <a href="../config/config.cgi#username_policy">user_policy configuration value</a> as appropriate for your site. --> - <li>set the <a href="../config/config.cgi#locale">locale configuration value</a> to en_US. - <li>the mxmachines, nsmachines, arecords and cnamerecords configuration values have been deprecated. Set the <a href="../config/config.cgi#defaultrecords">defaultrecords configuration value</a> instead. - <li>Create the `/usr/local/etc/freeside/cache.<i>datasrc</i>' directory - (owned by the freeside user). - <li>freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup. - <li>Set appropriate <a href="../browse/part_bill_event.cgi">invoice events</a> for your site. At the very least, you'll want to set some invoice events "<i>After 0 days</i>": a <i>BILL</i> invoice event to print invoices, a <i>CARD</i> invoice event to batch or run cards real-time, and a <i>COMP</i> invoice event to "pay" complimentary customers. If you were using the <i>-i</i> option to <a href="man/bin/freeside-bill.html">freeside-bill</a> it should be removed. - <li>Use <a href="man/bin/freeside-daily.html">freeside-daily</a> instead of <a href="man/bin/freeside-bill.html">freeside-bill</a>. - <li>If you would like Freeside to notify your customers when their credit - cards and other billing arrangements are about to expire, arrange for - <b>freeside-expiration-alerter</b> to be run daily by cron or similar - facility. The message it sends can be configured from the - <u>Configuration</u> choice of the main menu as <u>alerter_template</u>. - <li>Export has been rewritten. If you were using the icradiusmachines, - icradius_mysqldest, icradius_mysqlsource, or icradius_secrets files, add - an appropriate "sqlradius" export to all relevant Service Definitions - instead. Use <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Replication">MySQL replication</a> or - point the "sqlradius" export directly at your external ICRADIUS or FreeRADIUS - database (or through an SSL-necrypting proxy...) -</ul> -</body> diff --git a/httemplate/docs/upgrade9.html b/httemplate/docs/upgrade9.html deleted file mode 100644 index 6a8fd965d..000000000 --- a/httemplate/docs/upgrade9.html +++ /dev/null @@ -1,28 +0,0 @@ -<head> - <title>Upgrading to 1.4.1</title> -</head> -<body> -<h1>Upgrading to 1.4.1 from 1.4.0</h1> -<ul> - <li>If migrating from less than 1.4.0, see these <a href="upgrade8.html">instructions</a> first. - <li>Back up your data and current Freeside installation. - <li>Run <code>make aspdocs</code> or <code>make masondocs</code>. - <li>Copy <code>aspdocs/</code> or <code>masondocs/</code> to your web server's document space. - <li>Run <code>make install-perl-modules</code>. - <li>Install <a href="http://search.cpan.org/search?dist=Net-SSH">Net::SSH</a> minimum version 0.07 - <li>Apply the following changes to your database: -<pre> -INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 18, 'daytime', 'en_US', 'Day Phone' ); -INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 19, 'night', 'en_US', 'Night Phone' ); -</pre> - <li>Optionally, apply the following changes to your database (performance improvements): -<pre> -CREATE INDEX part_pkg1 ON part_pkg ( disabled ); -CREATE INDEX part_svc1 ON part_svc ( disabled ); -CREATE INDEX cust_bill2 ON cust_bill ( _date ); -</pre> - <li>If you want to use ACH (electronic checks), you will need to make changes to your database. The easiest way to make these changes is to dump your database (with pg_dump), change the payinfo field in the cust_pay, cust_refund, h_cust_pay and h_cust_refund tables from varchar(16) to varchar(80), reload the database from the dump. - <li>If you will be doing bind exports you should make additional changes to your database. Follow the directions above to dump the database and change the reczone and recdata fields in the domain_record and h_domain_record tables from varchar(80) to varchar(255). - <li>If you made changes to your db schema from a dump as listed above run dbdef-create. - <li>Restart Apache and freeside-queued. -</body> |