diff --git a/sipXwiki/building.rst b/sipXwiki/building.rst index 2d00e3df81..f325d760c5 100644 --- a/sipXwiki/building.rst +++ b/sipXwiki/building.rst @@ -97,7 +97,7 @@ Building RPMs on Docker To build all rpms on a docker image, simply run `sudo ./master-build.sh --rpm`. -Other Build Options +Other Master Build Options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Additionally, the master-build.sh script has the following options: @@ -108,7 +108,8 @@ Additionally, the master-build.sh script has the following options: - **-r | --rpm**: Include this option if building rpms Advanced Builds -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------- + For more advanced builds, sipXcom relies on GNU autoconf and make mechanisms to build its source. To use these mechanisms directly, you may use the following steps: diff --git a/sipXwiki/index.rst b/sipXwiki/index.rst index d0adb8b4a1..82e7a1ea38 100644 --- a/sipXwiki/index.rst +++ b/sipXwiki/index.rst @@ -10,9 +10,9 @@ sipXcom Documentation history faq features - planning - installation + installing building + planning setupscript webui troubleshooting diff --git a/sipXwiki/installation.rst b/sipXwiki/installation.rst deleted file mode 100644 index 2703e9ccbf..0000000000 --- a/sipXwiki/installation.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. index:: installation - -.. _rpm-installation: - -============ -Installation -============ - -.. note:: - * All servers in the cluster should have a static IP address. - * The server(s) must have only one active NIC or IP interface. - * Only IPv4 is supported. Disabling IPv6 on the NIC during OS install is recommended. - * Review the partition sizes if automatic partitioning is used. - -Recommended Specs ------------------ - -* 2x CPU/vCPU -* 8GB RAM -* 50GB or larger disk - -Operating System ----------------- - -Recent sipXcom RPMs will only install on top of CentOS 7.x with amd64/x86_64 architecture. We recommend using the `CentOS minimal ISO `_. - -Disk Partitioning Recommendations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* 1GB ext2 for the /boot partition with the boot flag set -* swap partition equal to the system RAM size -* Allocate the rest of the free space for the root (/) partition as a LVM volume, XFS formatted - -.. warning:: - If the disk is larger than 50G and you use automatic partitioning, most of the space will be allocated to /home rather than /. - -Downloading RPMs ----------------- - -Run yum update to update OS packages first. Reboot if you need to after:: - - yum update -y - reboot - -Install wget:: - - yum install wget -y - -Add the sipxcom 20.04 repository file beneath /etc/yum.repos.d, then run yum update to update available packages:: - - wget -P /etc/yum.repos.d/ http://download.sipxcom.org/pub/sipXecs/20.04-centos7/sipxecs-20.04.0-centos.repo - yum update - -Install the sipxcom packages:: - - yum install sipxcom -y - diff --git a/sipXwiki/installing.rst b/sipXwiki/installing.rst new file mode 100644 index 0000000000..d12e4ed60d --- /dev/null +++ b/sipXwiki/installing.rst @@ -0,0 +1,117 @@ +.. index:: installing + +.. _rpm-installation: + +=================== +Installing +=================== + +System Specs +---------------------- + +Recent sipXcom RPMs will only install on CentOS 7.x with amd64/x86_64 architecture. We recommend using the `CentOS minimal ISO `_. + +The following is a recommended hardware configuration: +* 2x CPU/vCPU +* 8GB RAM +* 50GB or larger disk + +.. warning:: + If the disk is larger than 50G and you use automatic partitioning, most of the space will be allocated to /home rather than /. + +.. note:: + * All servers in the cluster should have a static IP address. + * The server(s) must have only one active NIC or IP interface. + * Only IPv4 is supported. Disabling IPv6 on the NIC during OS install is recommended. + * Review the partition sizes if automatic partitioning is used. + * 1GB ext2 for the /boot partition with the boot flag set + * Set swap partition equal to the system RAM size + * Allocate the rest of the free space for the root (/) partition as a LVM volume, XFS formatted + + + +Prepare Server +---------------- + +- Log on as root via ssh + +- On first boot you may need to edit */etc/sysconfig/network-scripts/YourNICCard*. Change `ONBOOT="no"` to `ONBOOT="yes"` + +- Update OS: + + .. code-block:: bash + + yum update -y` + +- Increase Max Number of open files and max user processes for MongoDB (important for larger systems) + + - edit */etc/sysctl.conf* to add fs.file-max = 65536 line. ONLY do this if the default returned from `cat /cproc/sys/fs/file-max` is less than 65536. + + - edit */etc/security/limits.conf* to add the following block of text: + + .. code-block:: bash + + * soft nproc 65535 + * hard nproc 65535 + * soft nofile 65535 + * hard nofile 65535` + +- Reboot system + + .. code-block:: bash + + reboot + + +Install sipXcom +---------------- + +- Install `wget`` used for downloading repo definitions + + .. code-block:: bash + + yum install -y wget + +- If you are not using a Google Cloud image, you must add and install their artifact registry plugin: + + .. code-block:: bash + + wget -O /etc/yum.repos.d/artifact-registry-plugin.repo https://storage.googleapis.com/sipxecs/artifact-registry/artifact-registry-plugin.repo + + .. code-block:: bash + + yum install -y yum-plugin-artifact-registry` + +- Retrieve sipXcom RPM: + + .. code-block:: bash + + wget -O /etc/yum.repos.d/sipxcom.repo https://storage.googleapis.com/sipxecs/sipxcom/24.01/centos-7-x86_64/sipxcom.repo + +- Install sipXcom RPM: + + .. code-block:: bash + + yum install -y sipxcom + +Setup sipXcom +---------------- +- Run `sipxecs-setup` and the system will reboot to disable selinux to allow the rest of the setup routine to work properly. + +- Run set`sipxecs-setup` again and e.g. answer questions as follows for a single server instance: + + - hostname: e.g. *us1* + + - domain: e.g. *us1.onrelay.net* + + - SIP Domain: e.g. *us1.onrelay.net* + + - SIP Realm: e.g. *us1.onrelay.net* + + Ignore *"Failed to open /dev/tty: No such device or address"* warnings + +- Run `yum update -y` + +- Run `reboot` + +- After a couple of minutes, the administration web interface should be available at *https://your-host-name-or-ip-address/* \ No newline at end of file