From 160be29a0dc62e79a4fb95d2ab8c0c7e5996760e Mon Sep 17 00:00:00 2001 From: cvs2git Date: Mon, 12 Aug 2002 06:17:10 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'BESTPRACTICAL'. --- httemplate/docs/admin.html | 81 -------- httemplate/docs/billing.html | 54 ------ httemplate/docs/config.html | 36 ---- httemplate/docs/export.html | 55 ------ httemplate/docs/index.html | 30 --- httemplate/docs/install.html | 198 -------------------- httemplate/docs/legacy.html | 38 ---- httemplate/docs/overview.dia | Bin 2800 -> 0 bytes httemplate/docs/overview.png | Bin 13064 -> 0 bytes httemplate/docs/passwd.html | 23 --- httemplate/docs/schema.dia | Bin 14414 -> 0 bytes httemplate/docs/schema.html | 424 ------------------------------------------ httemplate/docs/schema.png | Bin 681043 -> 0 bytes httemplate/docs/session.html | 54 ------ httemplate/docs/signup.html | 56 ------ httemplate/docs/ssh.html | 15 -- httemplate/docs/trouble.html | 26 --- httemplate/docs/upgrade4.html | 27 --- httemplate/docs/upgrade5.html | 34 ---- httemplate/docs/upgrade6.html | 66 ------- httemplate/docs/upgrade7.html | 24 --- httemplate/docs/upgrade8.html | 392 -------------------------------------- 22 files changed, 1633 deletions(-) delete mode 100755 httemplate/docs/admin.html delete mode 100644 httemplate/docs/billing.html delete mode 100644 httemplate/docs/config.html delete mode 100755 httemplate/docs/export.html delete mode 100644 httemplate/docs/index.html delete mode 100644 httemplate/docs/install.html delete mode 100755 httemplate/docs/legacy.html delete mode 100644 httemplate/docs/overview.dia delete mode 100644 httemplate/docs/overview.png delete mode 100755 httemplate/docs/passwd.html delete mode 100644 httemplate/docs/schema.dia delete mode 100644 httemplate/docs/schema.html delete mode 100644 httemplate/docs/schema.png delete mode 100644 httemplate/docs/session.html delete mode 100644 httemplate/docs/signup.html delete mode 100755 httemplate/docs/ssh.html delete mode 100755 httemplate/docs/trouble.html delete mode 100644 httemplate/docs/upgrade4.html delete mode 100644 httemplate/docs/upgrade5.html delete mode 100644 httemplate/docs/upgrade6.html delete mode 100644 httemplate/docs/upgrade7.html delete mode 100644 httemplate/docs/upgrade8.html (limited to 'httemplate/docs') diff --git a/httemplate/docs/admin.html b/httemplate/docs/admin.html deleted file mode 100755 index 50beafe78..000000000 --- a/httemplate/docs/admin.html +++ /dev/null @@ -1,81 +0,0 @@ - - Administration - - -

Administration

- - - - diff --git a/httemplate/docs/billing.html b/httemplate/docs/billing.html deleted file mode 100644 index c78a87f04..000000000 --- a/httemplate/docs/billing.html +++ /dev/null @@ -1,54 +0,0 @@ - - Billing - - -

Billing

- - 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 @@ - - Configuration files - - -

Configuration files

-Configuration is now done by the top-level Makefile and web interface. The instructions below are no longer necessary. - - - diff --git a/httemplate/docs/export.html b/httemplate/docs/export.html deleted file mode 100755 index 71e3acf1f..000000000 --- a/httemplate/docs/export.html +++ /dev/null @@ -1,55 +0,0 @@ - - File exporting - - -

File exporting

- NOTE: This file is OUT OF DATE with the landing of the new export code and is only here for reference. DO NOT follow these instructions. Instead use the new exports in the web interface. - -
Unattended remote login - 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. Do not use this feature unless you understand what you are doing! - - - - diff --git a/httemplate/docs/index.html b/httemplate/docs/index.html deleted file mode 100644 index 00c863b0c..000000000 --- a/httemplate/docs/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - Documentation - - -

Documentation

- - - diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html deleted file mode 100644 index 75f039dd1..000000000 --- a/httemplate/docs/install.html +++ /dev/null @@ -1,198 +0,0 @@ - - Installation - - -

Installation

-Before installing, you need: - -Install the Freeside distribution: - - - - - - - - - -
Apache::ASPMason
    -
  • Run make aspdocs -
  • Copy aspdocs/ to your web server's document space. -
  • Create a Global directory, such as /usr/local/etc/freeside/asp-global/: -
    -mkdir /usr/local/etc/freeside/asp-global/
    -chown freeside /usr/local/etc/freeside/asp-global/
    -
    -
  • Copy htetc/global.asa to the Global directory: -
    -cp htetc/global.asa /usr/local/etc/freeside/asp-global/global.asa
    -
    -
  • Configure Apache for the Global directory and to execute .cgi files using Apache::ASP. For example: -
    -<Directory /usr/local/apache/htdocs/freeside-asp>
    -<Files ~ (\.cgi)>
    -AddHandler perl-script .cgi
    -PerlHandler Apache::ASP
    -</Files>
    -<Perl>
    -$MLDBM::RemoveTaint = 1;
    -</Perl>
    -PerlSetVar Global /usr/local/etc/freeside/asp-global/
    -PerlSetVar Debug 2
    -</Directory>
    -
    -
    -
  • (use version 1.0x - Freeside is not yet compatible with version 1.1x) -
  • Run make masondocs -
  • Copy masondocs/ to your web server's document space. -
  • Copy htetc/handler.pl to your web server's configuration directory. -
  • Edit handler.pl and set an appropriate data_dir, such as /usr/local/etc/freeside/mason-data -
  • Configure Apache to use the handler.pl file and to execute .cgi files using HTML::Mason. For example: -
    -<Directory /usr/local/apache/htdocs/freeside-mason>
    -<Files ~ (\.cgi)>
    -AddHandler perl-script .cgi
    -PerlHandler HTML::Mason
    -</Files>
    -<Perl>
    -require "/usr/local/apache/conf/handler.pl";
    -</Perl>
    -</Directory>
    -
    -
- - diff --git a/httemplate/docs/legacy.html b/httemplate/docs/legacy.html deleted file mode 100755 index 2db9edb0f..000000000 --- a/httemplate/docs/legacy.html +++ /dev/null @@ -1,38 +0,0 @@ - - Importing legacy data - - -

Importing legacy data

-In most cases, legacy data import all cases will require writing custom code to deal with your particular legacy data. The example scripts here will not work "out-of-the-box". Importing your legacy data will most probably involve some hacking on the example scripts noted below. Contributions to the import process are welcome. -

Some import scripts may require installation of the Array-PrintCols and Term-Query (make test broken; install manually) modules.
- - - diff --git a/httemplate/docs/overview.dia b/httemplate/docs/overview.dia deleted file mode 100644 index a0e34c30e..000000000 Binary files a/httemplate/docs/overview.dia and /dev/null differ diff --git a/httemplate/docs/overview.png b/httemplate/docs/overview.png deleted file mode 100644 index bf2dbc26c..000000000 Binary files a/httemplate/docs/overview.png and /dev/null differ 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 @@ - - fs_passwd - - -

fs_passwd

-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. Do not use this feature unless you understand what you are doing! -

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. - - diff --git a/httemplate/docs/schema.dia b/httemplate/docs/schema.dia deleted file mode 100644 index 092d2f88b..000000000 Binary files a/httemplate/docs/schema.dia and /dev/null differ diff --git a/httemplate/docs/schema.html b/httemplate/docs/schema.html deleted file mode 100644 index 2b8b3a132..000000000 --- a/httemplate/docs/schema.html +++ /dev/null @@ -1,424 +0,0 @@ - - Schema reference - - -

Schema reference

- Schema diagram: as a giant .png or dia source (dia homepage). - - diff --git a/httemplate/docs/schema.png b/httemplate/docs/schema.png deleted file mode 100644 index d0392e76f..000000000 Binary files a/httemplate/docs/schema.png and /dev/null differ diff --git a/httemplate/docs/session.html b/httemplate/docs/session.html deleted file mode 100644 index 7dac5fdf7..000000000 --- a/httemplate/docs/session.html +++ /dev/null @@ -1,54 +0,0 @@ - - Session monitor - - -

Session monitor

-

Installation

-For security reasons, the client portion of the session montior may run on one -or more external public machine(s). On these machines, install: - -Then: - -

Usage

- -

Callbacks

- -

Dropping expired users

-Run
bin/freeside-session-kill username
periodically from cron. - - diff --git a/httemplate/docs/signup.html b/httemplate/docs/signup.html deleted file mode 100644 index 5168f47d6..000000000 --- a/httemplate/docs/signup.html +++ /dev/null @@ -1,56 +0,0 @@ - - Signup server - - -

Signup server

-For security reasons, the signup server should run on an external public -webserver. On this machine, install: - -Then: - -Optional: - - diff --git a/httemplate/docs/ssh.html b/httemplate/docs/ssh.html deleted file mode 100755 index 5503a242e..000000000 --- a/httemplate/docs/ssh.html +++ /dev/null @@ -1,15 +0,0 @@ - - Unattended SSH - - -

Unattended SSH

-
Unattended remote login - 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. Do not use this feature unless you understand what you are doing! -
    -
  • As the freeside user (on your freeside machine), generate an authentication key using ssh-keygen. Since this is for unattended operation, use a blank passphrase. -
  • Append the newly-created identity.pub file to ~root/.ssh/authorized_keys on the remote machine(s). -
  • Some new SSH v2 implementation accept v2 style keys only. Use the -t option to ssh-keygen, and append the created id_dsa.pub or id_rsa.pub to ~root/.ssh/authorized_keys2 on the remote machine(s). -
  • You may need to set PermitRootLogin without-password (meaning with keys only) in your sshd_config file on the remote machine(s). -
- - - 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 @@ - - Troubleshooting - - -

Troubleshooting

-
    -
  • When troubleshooting the web interface, helpful information is often in your web server's error log. -
  • 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. -
  • If you get tons of errors in your web server's error log like this: -
    -Ambiguous use of value => resolved to "value" =>
    -at /usr/lib/perl5/site_perl/File/CounterFile.pm line 132.
    -
    - This clutters up your log files but is otherwise harmless. Upgrade to the latest File::CounterFile. -
  • If you get errors like this: -
    -UID.pm: Can't open /var/spool/freeside/conf/secrets: Permission denied 
    -at /your/path/site_perl/FS/UID.pm line 26.
    -BEGIN failed--compilation aborted at
    -/your/path/edit/process/part_svc.cgi line 15.
    -
    - Then the scripts are not running as the freeside freeside user. See -the New Installation section of the documentation. -
  • 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 MySQL documentation, DBI manpage and the DBD::mysql manpage for details. -
- diff --git a/httemplate/docs/upgrade4.html b/httemplate/docs/upgrade4.html deleted file mode 100644 index 1d70f8b73..000000000 --- a/httemplate/docs/upgrade4.html +++ /dev/null @@ -1,27 +0,0 @@ - - Upgrading to 1.2.2 - - -

Upgrading to 1.2.2 from 1.2.x

-
    -
  • If migrating from 1.0.0, see these instructions first. -
  • If migrating from less than 1.1.4, see these instructions first. -
  • If migrating from less than 1.2.0, see these instructions first. -
  • Back up your data and current Freeside installation. -
  • Install the Perl modules Locale-Codes and Net-Whois. -
  • Apply the following changes to your database: -
    -ALTER TABLE cust_pay_batch CHANGE exp exp VARCHAR(11);
    -
    -
  • Copy or symlink htdocs to the new copy. -
  • Remove the symlink or directory (your_site_perl_directory)/FS. -
  • Change to the FS directory in the new tarball, and build and install the - Perl modules: -
    -$ cd FS/
    -$ perl Makefile.PL
    -$ make
    -$ su
    -# make install
    -
  • Run bin/dbdef-create. This file uses MySQL-specific syntax. If you are running a different database engine you will need to modify it slightly. - diff --git a/httemplate/docs/upgrade5.html b/httemplate/docs/upgrade5.html deleted file mode 100644 index 3f3431653..000000000 --- a/httemplate/docs/upgrade5.html +++ /dev/null @@ -1,34 +0,0 @@ - - Upgrading to 1.3.0 - - -

    Upgrading to 1.2.3 from 1.2.2

    -
      -
    • If migrating from 1.0.0, see these instructions first. -
    • If migrating from less than 1.1.4, see these instructions first. -
    • If migrating from less than 1.2.0, see these instructions first. -
    • If migrating from less than 1.2.2, see these instructions first. -
    • Back up your data and current Freeside installation. -
    • Apply the following changes to your database: -
      -ALTER TABLE svc_acct_pop ADD loc CHAR(4);
      -CREATE TABLE prepay_credit (
      -  prepaynum int NOT NULL,
      -  identifier varchar(80) NOT NULL,
      -  amount decimal(10,2) NOT NULL,
      -  PRIMARY KEY (prepaynum),
      -  INDEX (identifier)
      -);
      -
      -
    • Copy or symlink htdocs to the new copy. -
    • Remove the symlink or directory (your_site_perl_directory)/FS. -
    • Change to the FS directory in the new tarball, and build and install the - Perl modules: -
      -$ cd FS/
      -$ perl Makefile.PL
      -$ make
      -$ su
      -# make install
      -
    • Run bin/dbdef-create. This file uses MySQL-specific syntax. If you are running a different database engine you will need to modify it slightly. - diff --git a/httemplate/docs/upgrade6.html b/httemplate/docs/upgrade6.html deleted file mode 100644 index dc82975f3..000000000 --- a/httemplate/docs/upgrade6.html +++ /dev/null @@ -1,66 +0,0 @@ - - Upgrading to 1.3.0 - - -

      Upgrading to 1.3.0 from 1.2.3

      -
        -
      • If migrating from 1.0.0, see these instructions first. -
      • If migrating from less than 1.1.4, see these instructions first. -
      • If migrating from less than 1.2.0, see these instructions first. -
      • If migrating from less than 1.2.2, see these instructions first. -
      • If migrating from less than 1.2.3, see these instructions first. -
      • Back up your data and current Freeside installation. -
      • As 1.3.0 requires transactions, MySQL's default MyISAM and ISAM table types are no longer supported. Converting to PostgreSQL is recommended. If you really want to use MySQL, convert your tables to one of the transaction-safe table types such as BDB. -
      • Copy the invoice_template file from the conf/ directory in the distribution to your configuration directory. -
      • Install the Text-Template, DBIx-DBSchema, Net-SSH, String-ShellQuote and Net-SCP Perl modules. -
      • Apply the following changes to your database: -
        -CREATE TABLE domain_record (
        -  recnum int NOT NULL,
        -  svcnum int NOT NULL,
        -  reczone varchar(80) NOT NULL,
        -  recaf char(2) NOT NULL,
        -  rectype char(5) NOT NULL,
        -  recdata varchar(80) NOT NULL,
        -  PRIMARY KEY (recnum)
        -);
        -CREATE TABLE svc_www (
        -  svcnum int NOT NULL,
        -  recnum int NOT NULL,
        -  usersvc int NOT NULL,
        -  PRIMARY KEY (svcnum)
        -);
        -ALTER TABLE part_svc ADD svc_www__recnum varchar(80) NULL;
        -ALTER TABLE part_svc ADD svc_www__recnum_flag char(1) NULL;
        -ALTER TABLE part_svc ADD svc_www__usersvc varchar(80) NULL;
        -ALTER TABLE part_svc ADD svc_www__uesrsvc_flag char(1) NULL;
        -ALTER TABLE svc_acct CHANGE _password _password varchar(50) NULL;
        -ALTER TABLE svc_acct ADD seconds integer NULL;
        -ALTER TABLE part_svc ADD svc_acct__seconds integer NULL;
        -ALTER TABLE part_svc ADD svc_acct__seconds_flag char(1) NULL;
        -ALTER TABLE prepay_credit ADD seconds integer NULL;
        -
        -
        -
      • If your database supports dropping columns: -
        -ALTER TABLE cust_bill DROP owed;
        -ALTER TABLE cust_credit DROP credited;
        -
        - Or, if your database does not support dropping columns, you can do this: -
        -ALTER TABLE cust_bill CHANGE owed depriciated decimal(10,2);
        -ALTER TABLE cust_credit CHANGE credited depriciated2 decimal(10,2);
        -
        - -
      • Copy or symlink htdocs to the new copy. -
      • Remove the symlink or directory (your_site_perl_directory)/FS. -
      • Change to the FS directory in the new tarball, and build and install the - Perl modules: -
        -$ cd FS/
        -$ perl Makefile.PL
        -$ make
        -$ su
        -# make install
        -
      • Run bin/dbdef-create. - 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 @@ - - Upgrading to 1.3.1 - - -

        Upgrading to 1.3.1 from 1.3.0

        -
          -
        • If migrating from 1.0.0, see these instructions first. -
        • If migrating from less than 1.1.4, see these instructions first. -
        • If migrating from less than 1.2.0, see these instructions first. -
        • If migrating from less than 1.2.2, see these instructions first. -
        • If migrating from less than 1.2.3, see these instructions first. -
        • If migrating from less than 1.3.0, see these instructions first. -
        • Back up your data and current Freeside installation. -
        • Copy or symlink htdocs to the new copy. -
        • Change to the FS directory in the new tarball, and build and install the - Perl modules: -
          -$ cd FS/
          -$ perl Makefile.PL
          -$ make
          -$ su
          -# make install UNINST=1
          -
        • Run bin/dbdef-create. - diff --git a/httemplate/docs/upgrade8.html b/httemplate/docs/upgrade8.html deleted file mode 100644 index 0210430ef..000000000 --- a/httemplate/docs/upgrade8.html +++ /dev/null @@ -1,392 +0,0 @@ - - Upgrading to 1.4.0 - - -

          Upgrading to 1.4.0 from 1.3.1

          - - - - - - - - - -
          Apache::ASPMason
            -
          • Run make aspdocs -
          • Copy aspdocs/ to your web server's document space. -
          • Create a Global directory, such as /usr/local/etc/freeside/asp-global/ -
          • Copy htetc/global.asa to the Global directory. -
          • Configure Apache for the Global directory and to execute .cgi files using Apache::ASP. For example: -
            -<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>
            -
            -
            -
          • (use version 1.0x - Freeside is not yet compatible with version 1.1x) -
          • Run make masondocs -
          • Copy masondocs/ to your web server's document space. -
          • Copy htetc/handler.pl to your web server's configuration directory. -
          • Edit handler.pl and set an appropriate data_dir, such as /usr/local/etc/freeside/mason-data -
          • Configure Apache to use the handler.pl file and to execute .cgi files using HTML::Mason. For example: -
            -<Directory /usr/local/apache/htdocs/freeside-mason>
            -<Files ~ (\.cgi)>
            -AddHandler perl-script .cgi
            -PerlHandler HTML::Mason
            -</Files>
            -<Perl>
            -require "/usr/local/apache/conf/handler.pl";
            -</Perl>
            -</Directory>
            -
            -
          -
            -
          • Build and install the Perl modules: -
            -$ su
            -# make install-perl-modules
            -
          • Apply the following changes to your database: -
            -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 );
            -
            - -
          • If you are using PostgreSQL, apply the following changes to your database: -
            -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 );
            -
            -
          • If you wish to enable service/shipping addresses, apply the following - changes to your database: -
            -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 );
            -
            -
          • If you are using the signup server, reinstall it according to the instructions. The 1.3.x signup server is not compatible with 1.4.x. -
          • Run bin/dbdef-create username -
          • If you have svc_acct_sm records or service definitions: -
              -
            • Create a service definition with table svc_forward -
            • Run bin/fs-migrate-svc_acct_sm username -
            -
          • Or if you just have svc_acct records: -
              -
            • Order and provision a package for your default domain and note down the Service # or svcnum. -
            • UPDATE svc_acct SET domsvc = svcnum -
            • Update your service definitions to have default (or fixed) domsvc. -
            -
          • Run bin/fs-migrate-payrefusername -
          • Run bin/fs-migrate-part_svcusername -
          • After running bin/fs-migrate-payref, apply the following changes to your database: - -
            PostgreSQLMySQL, others
            -
            -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);
            -
            -
            -
            -ALTER TABLE cust_pay DROP COLUMN invnum;
            -ALTER TABLE cust_refund DROP COLUMN crednum;
            -
            -
            -
          • IMPORTANT: After applying the second set of database changes, run bin/dbdef-create username again. -
          • IMPORTANT: run bin/create-history-tables username -
          • IMPORTANT: After running bin/create-history-tables, run bin/dbdef-create username again. -
          • As the freeside UNIX user, run bin/populate-msgcat username to populate the message catalog -
          • set the user_policy configuration value as appropriate for your site. -
          • set the locale configuration value to en_US. -
          • the mxmachines, nsmachines, arecords and cnamerecords configuration values have been deprecated. Set the defaultrecords configuration value instead. -
          • Create the `/usr/local/etc/freeside/cache.datasrc' directory - (owned by the freeside user). -
          • freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup. -
          • Set appropriate invoice events for your site. At the very least, you'll want to set some invoice events "After 0 days": a BILL invoice event to print invoices, a CARD invoice event to batch or run cards real-time, and a COMP invoice event to "pay" complimentary customers. If you were using the -i option to freeside-bill it should be removed. -
          • Use freeside-daily instead of freeside-bill. -
          • If you would like Freeside to notify your customers when their credit - cards and other billing arrangements are about to expire, arrange for - freeside-expiration-alerter to be run daily by cron or similar - facility. The message it sends can be configured from the - Configuration choice of the main menu as alerter_template. -
          • 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 MySQL replication or - point the "sqlradius" export directly at your external ICRADIUS or FreeRADIUS - database (or through an SSL-necrypting proxy...) -
          - -- cgit v1.2.1