Documentation

Documentation.Install History

Show minor edits - Show changes to output

June 29, 2018, at 04:41 PM by liviu -
Changed lines 1-149 from:
!! Documentation -> Install
----
(:toc-float Table of Content:)


Looking for the fastest way for setting up your '''OpenSIPS''' instance?

----
!!! '''OpenSIPS''' installation

Go for the '''OpenSIPS''' [[http://opensips.svn.sourceforge.net/viewvc/opensips/trunk/INSTALL | install instructions]] - this is a link directly to the INSTALL file from the SVN repository, which contains the up-to-date version.

The INSTALL file provides information about:

#. Supported Architectures and Requirements
#. Howto Build openser From Source Distribution
#. Quick-Start Installation Guide
##) Getting Help
##) Disclaimers
##) Quick Start
##) OpenSER with Persistent Data Storage
#. Troubleshooting


NOTE that the above file will help only for setting up '''OpenSIPS''' and not for how to configure or use it. If you are looking for such documentation, please see the [[Documentation/Manuals | Documentation section]] of the site.

----
!!! OpenSIPS Console ('''osipsconsole''') installation

'''osipsconsole''' is a console like utility for provisioning '''OpenSIPS'''. It is to replace '''opensipsctl''' and '''opensipsdbctl'''.

'''osipsconsole''' is available only starting with '''OpenSIPS''' version 1.5.0 .


!!!!Perl requirements

For the osipsconsole tool the following perl modules are needed:

*DBI
*DBD::mysql
*DBD::Pg
*DBD::Oracle
*BerkeleyDB
*Frontier::RPC2

!!!! Debian/Ubuntu Installation

In order for the script to work, there are listed bellow the modules needed and their debian package correspondent, a brief description of each package and whether it is mandatory to install it or not. ( To be mentioned the fact that these packages have been tested in Debian and Ubuntu distros. )

||border=1 width=100%
||! Perl module ||! Debian Package ||! Description ||! Use ||
|| perl || perl || Practical Extraction and Report Language || mandatory ||
|| DBI || libdbi-perl || Perl database interface || mandatory ||
|| DBD::mysql || libdbd-mysql-perl || MySQL driver for the Perl5 Database Interface (DBI) || *optional ||
|| DBD::Pg || libdbd-pg-perl || PostgreSQL database driver for the DBI module || *optional ||
|| **DBD::Oracle || || Oracle database driver for the DBI module || *optional ||
|| Frontier::RPC2 || libfrontier-rpc-perl || encode/decode RPC2 format XML || mandatory ||
|| Term::ReadLine::Gnu || libterm-readline-gnu-perl || Perl extension for the GNU Readline/History Library || mandatory ||
|| BerkeleyDB || libberkeleydb-perl || Perl extension for Berkeley DB version 2, 3 or 4 || mandatory ||


Install these packages using apt-get:

[@
apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl
@]


'''NOTE''': * at the user's choice. At least one of the packages is mandatory, depending on the DB type used by OpenSIPS. The other ones have no need of being installed.
->**For the DBD::Oracle module there is no debian package. This will be installed as follows:
**Download the .tar.gz archive from: [[http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm]]
**Decompress and unpack it
**cd DBD-Oracle-1.22
**perl Makefile.PL
**make
**make test
**make install

!!!!! Creating your own Debian packages for CPAN libriaries
As many Debian users probably don't really like to install modules the CPAN
way, here how to achieve the desired effect following "the Debian way":

apt-get install dh-make-perl

Usually running

dh-make-perl --build --cpan DBD-Whatever

should be enough. For CPAN libraries where this doesn't work please try as follows:

[@
wget http://search.cpan.org/CPAN/.../DBD-Whatever-1.0.tar.gz
tar xfz DBD-Whatever-1.0.tar.gz
dh-make-perl DBD-Whatever-1.0/
cd DBD-Whatever-1.0
@]

Adjust files in the newly created debian folder to fit your needs (if required) and build the package using dpkg-buildpackage, debuild or whatever you prefer.

cd ..

Here is your new libdbd-whatever-perl_1.0-1_all.deb :-) One last suggestion: I'm usually not building packages on my live systems but elsewhere. This helps keeping productional systems slim and "clean".

----
!!! Graphical Interface ('''menuconfig''') installation

Menuconfig is a graphical tool that allows in an easy way to configure, compile
and generate OpenSIPS configuration files - all by simply running
make menuconfig


The Interface allows the user to do the following :

1. Configure OpenSIPS compilation related options such as :
- Compilation Flags. For example, the user can now easily compile in TCP
support from within the GUI, or enable memory allocation debugging, etc.
Each compilation flag functionality is explained in short in the GUI.
- Module Compilation Selection. The user can now easily select to compile
modules that have external dependencies, and that are not compiled in
by default. For example, the user can choose to also enable the MySQL
support by enabling the db_mysql module. The interface will also notify
the user about the dependencies that must be installed based on the modules
that the user has selected.
- Installation Prefix. The user can use the GUI to configure the OpenSIPS
installation path to be used

2. Install OpenSIPS and Cleanup OpenSIPS sources
- Upon configuring OpenSIPS related options from above,
the user can choose to install OpenSIPS directly from the GUI.

3. Generate OpenSIPS config files
- The tool can also generate OpenSIPS configuration files based on the-
user's preferences. So far, we have defined three main classes of OpenSIPS
configuration files :
- Residential
- Trunking
- Load-balancer

For each type of configuration file, the user can choose to enable/disable-
certain options. For example, for the Residential script, the user can choose
to enable presence support, to handle NAT, and many more. After the user has
properly configured it's desired OpenSIPS script in the GUI, it will have the
option to generate and obtain the final OpenSIPS cfg.

If you have installed OpenSIPS from packages ( debs, rpms, etc ) and not from sources,
you will still be able to use the graphical interface for generating configuration files,
by running
osipsconfig
to:
(:redirect Documentation.Install-CompileAndInstall-2-4 quiet=1 :)
May 20, 2013, at 06:15 PM by 109.99.235.212 -
Changed line 25 from:
NOTE that the above file will help only for setting up '''OpenSIPS''' and not for how to configure or use it. If you are looking for such documentation, please see the [[Documentation/Documentation | Documentation section]] of the site.
to:
NOTE that the above file will help only for setting up '''OpenSIPS''' and not for how to configure or use it. If you are looking for such documentation, please see the [[Documentation/Manuals | Documentation section]] of the site.
May 09, 2013, at 11:58 AM by 109.99.235.212 -
Changed line 25 from:
NOTE that the above file will help only for setting up '''OpenSIPS''' and not for how to configure or use it. If you are looking for such documentation, please see the [[Resources.Documentation | Documentation section]] of the site.
to:
NOTE that the above file will help only for setting up '''OpenSIPS''' and not for how to configure or use it. If you are looking for such documentation, please see the [[Documentation/Documentation | Documentation section]] of the site.
April 24, 2013, at 01:04 PM by 109.99.235.212 -
Added lines 1-149:
!! Documentation -> Install
----
(:toc-float Table of Content:)


Looking for the fastest way for setting up your '''OpenSIPS''' instance?

----
!!! '''OpenSIPS''' installation

Go for the '''OpenSIPS''' [[http://opensips.svn.sourceforge.net/viewvc/opensips/trunk/INSTALL | install instructions]] - this is a link directly to the INSTALL file from the SVN repository, which contains the up-to-date version.

The INSTALL file provides information about:

#. Supported Architectures and Requirements
#. Howto Build openser From Source Distribution
#. Quick-Start Installation Guide
##) Getting Help
##) Disclaimers
##) Quick Start
##) OpenSER with Persistent Data Storage
#. Troubleshooting


NOTE that the above file will help only for setting up '''OpenSIPS''' and not for how to configure or use it. If you are looking for such documentation, please see the [[Resources.Documentation | Documentation section]] of the site.

----
!!! OpenSIPS Console ('''osipsconsole''') installation

'''osipsconsole''' is a console like utility for provisioning '''OpenSIPS'''. It is to replace '''opensipsctl''' and '''opensipsdbctl'''.

'''osipsconsole''' is available only starting with '''OpenSIPS''' version 1.5.0 .


!!!!Perl requirements

For the osipsconsole tool the following perl modules are needed:

*DBI
*DBD::mysql
*DBD::Pg
*DBD::Oracle
*BerkeleyDB
*Frontier::RPC2

!!!! Debian/Ubuntu Installation

In order for the script to work, there are listed bellow the modules needed and their debian package correspondent, a brief description of each package and whether it is mandatory to install it or not. ( To be mentioned the fact that these packages have been tested in Debian and Ubuntu distros. )

||border=1 width=100%
||! Perl module ||! Debian Package ||! Description ||! Use ||
|| perl || perl || Practical Extraction and Report Language || mandatory ||
|| DBI || libdbi-perl || Perl database interface || mandatory ||
|| DBD::mysql || libdbd-mysql-perl || MySQL driver for the Perl5 Database Interface (DBI) || *optional ||
|| DBD::Pg || libdbd-pg-perl || PostgreSQL database driver for the DBI module || *optional ||
|| **DBD::Oracle || || Oracle database driver for the DBI module || *optional ||
|| Frontier::RPC2 || libfrontier-rpc-perl || encode/decode RPC2 format XML || mandatory ||
|| Term::ReadLine::Gnu || libterm-readline-gnu-perl || Perl extension for the GNU Readline/History Library || mandatory ||
|| BerkeleyDB || libberkeleydb-perl || Perl extension for Berkeley DB version 2, 3 or 4 || mandatory ||


Install these packages using apt-get:

[@
apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl
@]


'''NOTE''': * at the user's choice. At least one of the packages is mandatory, depending on the DB type used by OpenSIPS. The other ones have no need of being installed.
->**For the DBD::Oracle module there is no debian package. This will be installed as follows:
**Download the .tar.gz archive from: [[http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm]]
**Decompress and unpack it
**cd DBD-Oracle-1.22
**perl Makefile.PL
**make
**make test
**make install

!!!!! Creating your own Debian packages for CPAN libriaries
As many Debian users probably don't really like to install modules the CPAN
way, here how to achieve the desired effect following "the Debian way":

apt-get install dh-make-perl

Usually running

dh-make-perl --build --cpan DBD-Whatever

should be enough. For CPAN libraries where this doesn't work please try as follows:

[@
wget http://search.cpan.org/CPAN/.../DBD-Whatever-1.0.tar.gz
tar xfz DBD-Whatever-1.0.tar.gz
dh-make-perl DBD-Whatever-1.0/
cd DBD-Whatever-1.0
@]

Adjust files in the newly created debian folder to fit your needs (if required) and build the package using dpkg-buildpackage, debuild or whatever you prefer.

cd ..

Here is your new libdbd-whatever-perl_1.0-1_all.deb :-) One last suggestion: I'm usually not building packages on my live systems but elsewhere. This helps keeping productional systems slim and "clean".

----
!!! Graphical Interface ('''menuconfig''') installation

Menuconfig is a graphical tool that allows in an easy way to configure, compile
and generate OpenSIPS configuration files - all by simply running
make menuconfig


The Interface allows the user to do the following :

1. Configure OpenSIPS compilation related options such as :
- Compilation Flags. For example, the user can now easily compile in TCP
support from within the GUI, or enable memory allocation debugging, etc.
Each compilation flag functionality is explained in short in the GUI.
- Module Compilation Selection. The user can now easily select to compile
modules that have external dependencies, and that are not compiled in
by default. For example, the user can choose to also enable the MySQL
support by enabling the db_mysql module. The interface will also notify
the user about the dependencies that must be installed based on the modules
that the user has selected.
- Installation Prefix. The user can use the GUI to configure the OpenSIPS
installation path to be used

2. Install OpenSIPS and Cleanup OpenSIPS sources
- Upon configuring OpenSIPS related options from above,
the user can choose to install OpenSIPS directly from the GUI.

3. Generate OpenSIPS config files
- The tool can also generate OpenSIPS configuration files based on the-
user's preferences. So far, we have defined three main classes of OpenSIPS
configuration files :
- Residential
- Trunking
- Load-balancer

For each type of configuration file, the user can choose to enable/disable-
certain options. For example, for the Residential script, the user can choose
to enable presence support, to handle NAT, and many more. After the user has
properly configured it's desired OpenSIPS script in the GUI, it will have the
option to generate and obtain the final OpenSIPS cfg.

If you have installed OpenSIPS from packages ( debs, rpms, etc ) and not from sources,
you will still be able to use the graphical interface for generating configuration files,
by running
osipsconfig

Page last modified on June 29, 2018, at 04:41 PM