diff options
Diffstat (limited to 'httemplate/docs/upgrade8.html')
-rw-r--r-- | httemplate/docs/upgrade8.html | 392 |
1 files changed, 0 insertions, 392 deletions
diff --git a/httemplate/docs/upgrade8.html b/httemplate/docs/upgrade8.html deleted file mode 100644 index cf60a8582..000000000 --- a/httemplate/docs/upgrade8.html +++ /dev/null @@ -1,392 +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 -); -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> |