Difference between revisions of "Freeside:1.7:Documentation:InstallingUsingRPM"

From Freeside
Jump to: navigation, search
(Install)
(Install)
Line 63: Line 63:
 
=== Install ===
 
=== Install ===
  
* Install the required components by issuing the command:
+
* Install the required components by issuing the commands:
<pre>yum install freeside freeside-mason freeside-postgresql perl-Business-OnlinePayment-AuthorizeNet</pre>
+
<pre> yum --enablerepo=centosplus install httpd mod_perl mod_ssl perl       
 +
postgresql-server
 +
yum install freeside freeside-mason freeside-postgresql perl-Business-OnlinePayment-AuthorizeNet</pre>
 
with these changes:
 
with these changes:
 
* Replace posgresql with mysql if you wish to use MySQL instead of PostgreSQL for the main Freeside database.
 
* Replace posgresql with mysql if you wish to use MySQL instead of PostgreSQL for the main Freeside database.

Revision as of 13:14, 20 November 2007

Introduction

Warning!

The RPM installation of Freeside is experimental! The instructions below may be incomplete or incorrect and are subject to change. You should only attempt to use the RPM installation if you are prepared to work around omissions and inaccuracies, and can recover data in the event of a loss.

Information

RPM is a build-once, install-many package manager for system management. Originally for RedHat, it is now used on a wide range of Linux distros including Fedora, SUSE, Mandriva, etc. Well-structured RPMs include dependency information that RPM can use to warn you that additional components are required. Tools such as yum and apt-get (RPM version) can use this dependency information to download additional components from a repository and include them in the installation.

Installing the RPM version of Freeside may not be a good idea if you plan to do development on Freeside as the RPMs may not include all the files supplied in the tarball.

The RPM version of Freeside does not include Request Tracker at this time.

Installation

Installation can be done with a tool such as YUM or APT (or up2date on RHEL), preferably, or as a last resort, with RPM directly.

Installing using yum

Setup YUM

  • Make sure the yum priorities plugin is installed by running yum install yum-plugin-priorities.
  • Make sure the yum priorities plugin is enabled by editing the /etc/yum/pluginconf.d/priorities.conf file, and ensuring that it contains the following lines:
 [main]
 enabled=1
  • Edit /etc/yum.repso.d/CentOS-Base.repo, adding the following lines to the [base] and [update] sections, and adding the [centosplus] section:
[base] 
exclude=php* httpd* postgres* MySQL* mysql* perl perl-DBD-MySQL perl-DBD-Pg perl-DBI perl-suidperl unixODBC* mod_auth_mysql mod_auth_pgsql mod_perl mod_perl-devel mod_ssl
priority=1

[update]
exclude=php* httpd* postgres* MySQL* mysql* perl perl-DBD-MySQL perl-DBD-Pg perl-DBI perl-suidperl unixODBC* mod_auth_mysql mod_auth_pgsql mod_perl mod_perl-devel mod_ssl
priority=1

[centosplus]
enable=1
priority=2
  • Select a repository containing the required RPMs. If no such repository exists, you can create your own.

1.7.3 stable repository

(not yet available)

1_7_BRANCH testing repository

CentOS/RHEL v4 i386:
#Packages used in Freeside
[freeside]
name=Freeside-4
baseurl=http://www.sisd.com/~rsiddall/repo/centos/4/freeside-1.7/testing/i386
gpgcheck=1
enabled=1
priority=2
gpgkey=http://www.sisd.com/~rsiddall/RPM-GPG-KEY-richard.siddall
CentOS/RHEL v4 x86_64:
#Packages used in Freeside
[freeside]
name=Freeside-4
baseurl=http://www.sisd.com/~rsiddall/repo/centos/4/freeside-1.7/testing/x86_64
gpgcheck=1
enabled=1
priority=2
gpgkey=http://www.sisd.com/~rsiddall/RPM-GPG-KEY-richard.siddall
  • Add the repository to your /etc/yum.repo.d directory or /etc/yum.conf file.

Install

  • Install the required components by issuing the commands:
 yum --enablerepo=centosplus install httpd mod_perl mod_ssl perl         
postgresql-server
yum install freeside freeside-mason freeside-postgresql perl-Business-OnlinePayment-AuthorizeNet

with these changes:

  • Replace posgresql with mysql if you wish to use MySQL instead of PostgreSQL for the main Freeside database.
  • Replace AuthorizeNet with the name of the Business::OnlinePaymet module for the credit card gateway you wish to use.
  • Add the RPM name of any additional Business::OnlinePayment gateways you wish to install.

At this point all the required components should be installed and the freeside user account created. You can now complete the installation.

Troubleshooting

  • If you are using a repository that is normally disabled, use yum --enablerepo=Freeside-4 install ... where Freeside-4 is the name of the repository.
  • If you get an error such as:
Transaction Check Error:   file /usr/share/man/man3/File::Temp.3pm.gz from install of perl-File-Temp-0.18-1 conflicts with file from package perl-5.8.8-4.el4s1

then you're using an operating system with a badly packaged Perl. You will have to force the installation of the RPM which conflicts with the Perl, using something like:

rpm -Uvh --force /var/cache/yum/freeside/packages/perl-File-Temp-0.18-1.x86_64.rpm

This installs the conflicting RPM from yum's cache for the "freeside" repository. You can then retry installing from yum.

Installing using up2date

Setup up2date

Select a repository containing the required RPMs. If no such repository exists, you can create your own.

1.7.3 stable repository

(not yet available)

1_7_BRANCH testing repository

RHEL v4 i386:
yum centosplus http://mirror.centos.org/centos/4/centosplus/i386/
yum freeside http://www.sisd.com/~rsiddall/repo/centos/4/freeside-1.7/testing/i386
RHEL v3 x86_64:
yum centosplus http://mirror.centos.org/centos/4/centosplus/i386/
yum freeside http://www.sisd.com/~rsiddall/repo/centos/4/freeside-1.7/testing/x86_64
  • Add the repository to your /etc/sysconfig/rhn/sources file.

Install

  • Install the required components by issuing the command2:
up2date httpd mod_perl mod_ssl perl postgresql-server
up2date freeside freeside-mason freeside-postgresql perl-Business-OnlinePayment-AuthorizeNet

with these changes:

  • Replace posgresql with mysql if you wish to use MySQL instead of PostgreSQL for the main Freeside database.
  • Replace AuthorizeNet with the name of the Business::OnlinePaymet module for the credit card gateway you wish to use.
  • Add the RPM name of any additional Business::OnlinePayment gateways you wish to install.

At this point all the required components should be installed and the freeside user account created. You can now complete the installation.

Installing using APT

Setup APT

Select a repository containing the required RPMs. If no such repository exists, you can create your own.

1.7.3 stable repository

(not yet available)

1_7_BRANCH testing repository

(not yet available)

  • Add the repository to your /etc/apt.conf file.

Install

  • Install the required components by issuing the command:
apt-get install freeside freeside-mason freeside-postgresql perl-Business-OnlinePayment-AuthorizeNet

with these changes:

  • Replace posgresql with mysql if you wish to use MySQL instead of PostgreSQL for the main Freeside database.
  • Replace AuthorizeNet with the name of the Business::OnlinePaymet module for the credit card gateway you wish to use.
  • Add the RPM name of any additional Business::OnlinePayment gateways you wish to install.

At this point all the required components should be installed and the freeside user account created. You can now complete the installation.

Installation using RPM

Installation is much easier if you have a repository that works with a tool such as yum or apt-get. If you only have rpm and wish to use that, enter:

rpm -Uvh --test freeside-1.7.3-1.noarch.rpm \
freeside-mason-1.7.3-1.noarch.rpm \
freeside-postgresql-1.7.3-1.noarch.rpm \
perl-Business-OnlinePayment-AuthorizeNet-3.17-1.i386.rpm

Where:

  • 1.7.3-1 is the version of Freeside and the release of the RPM. Change this if necessary.
  • postgresql is the database you wish to use as the Freeside back-end. Replace freeside-postgresql with freeside-mysql if you wish to use MySQL. See the main installation document for which databases are supported.
  • Replace AuthorizeNet with the name of the credit card processor you wish to use for real-time transactions. Also replace 3.17-1.i386 with the current version, release, and architecture of the corresponding Business::OnlinePayment RPM.

The command should result in some warnings about unsatisfied dependencies. Find the corresponding RPMs and add them to the list on the command line. Keep doing this until the command results in no warnings, then issue the command one last time without the --test to actually install all the RPMs.

At this point all the required components should be installed and the freeside user account created. You can now complete the installation.

Finalizing the installation

RPM does little more than installing files and creating users. For the moment, just work through the standard install, ignoring the steps which are done by the RPM, i.e. installing files and creating the freeside user. The RPM does not do any steps that require entry of a password, or which have to be done after a password is specified.

  • You can skip straight to "Allow the freeside user full access to the freeside database," but be aware that if there are errors in the RPM dependencies, then some of the prerequisites may not be installed.
  • Then "Add the freeside database to your database engine:"
  • Apache configuration is reduced to editing your httpd.conf file as specified in the last bullet point. (This will be automated in a later Freeside RPM.) You'll also have to modify httpd.conf to implement web interface security.
  • All the final steps to create the first Freeside user, setup the database, populate the message catalog, and start freeside-queued must be done by hand.
  • As with the usual install, you need to do initial administration after completing the install.

Upgrading

Introduction

If you have an existing Freeside installation that was installed from the tarball, following the instructions for installing or upgrading from RPM may result in an operational system where the RPMs have overwritten most or all of the files installed from the tarball or CPAN.

Upgrading

Upgrading can be done with a tool such as YUM or APT (or up2date on RHEL), preferably, or as a last resort, with RPM directly.

Upgrading using a repository

If you installed the RPM version of Freeside from a repository, and a new version is available on the repository, then you can install the new files on your system using the package manager:

yum update

or:

apt-get update

To avoid unplanned upgrades, you may wish to mark the repository containing Freeside as disabled, or remove it from your yum or apt configuration files.

Upgrading using RPM

When there's a new version of Freeside available as RPM, just download the new RPMs and upgrade them:
rpm -Uvh --test freeside-1.7.3-1.noarch.rpm freeside-mason-1.7.3-1.noarch.rpm freeside-postgresql-1.7.3-1.noarch.rpm

Finalizing the upgrade

XXX fill in refer to regular upgrade instructions