Enviado por admin el
Desde la versión 6.0 de Kamailio, que ha sido liberada hace unos días, la compilación de Kamailio se basa en cmake y aunque se pueda todavía utilizar make, dentro de poco el antiguo método de compilación se quitará de las fuentes de Kamailio. Es por eso que creo puede ser útil ver como es el proceso de instalación de Kamailio utilizando CMAKE.
Una vez que tengamos acceso al servidor tenemos que instalar toda una serie de paquetes que luego utilizaremos para la compilación de Kamailio. Primero desactivamos Selinux y actualizamos el sistema:
nano /etc/selinux/config
SELINUX=disabled
se guardan los cambios y:
dnf update -y
si en la actualización está incluida una nueva versión del Kernel, al terminar la actualización se reinicia el servidor:
reboot
se accede nuevamente y se continua con:
dnf install git nano wget epel-release
dnf config-manager --set-enabled crb
dnf install mariadb-devel mariadb-server gcc gcc-c++ bison bison-devel net-tools \
libgcrypt-devel flex make expat expat-devel net-snmp-devel libxml2 libxml2-devel git xmlto \
libmicrohttpd-devel openssl-devel xmlrpc-c-devel lynx pcre pcre-devel ncurses-devel \
ncurses-libs gdb net-snmp net-snmp-devel net-snmp-libs net-snmp-utils jansson-devel libuuid \
libuuid-devel uuid uuid-devel ruby-devel spandsp-devel gperf sqlite sqlite-devel \
lksctp-tools-devel python3-devel libjwt-devel openldap openldap-clients \
openldap-devel openldap libmemcached-devel systemd-devel unixODBC unixODBC-devel \
mariadb-connector-odbc libtool-ltdl-devel libtool mono-devel hiredis-devel \
perl-ExtUtils-Embed libpurple-devel lua-devel libdb-cxx-devel libunistring-devel thrift-devel \
libevent-devel json-c-devel librabbitmq-devel -y
wget -q -O - https://updates.atomicorp.com/installers/atomic | sh
A las dos preguntas que aparecen se contesta con YES, luego:
dnf install GeoIP-devel libmaxminddb-devel bind bind-devel libev-devel libmnl-devel \
expat-devel libwebsockets-devel -y
Terminada la instalación de las dependencias, descargamos la ultima versión disponible de Kamailio de la rama 6.0 (en este momento la 6.0.0):
cd /usr/src
git clone --depth 1 --no-single-branch https://github.com/kamailio/kamailio kamailioEntramos en la carpeta creada:
cd kamailio
Pasamos a la rama 6.0:
git checkout -b 6.0 origin/6.0
branch '6.0' set up to track 'origin/6.0'.
Switched
to a new branch '6.0'
creamos
la carpeta utilizada por Cmake para la compilación:
mkdir
build
entramos
en la carpeta:
cd
build
y
empezamos con la compilación:
cmake
..
luego
para definir la carpeta predefinida de instalación:
cd
..
cmake
-DCMAKE_INSTALL_PREFIX=/
para
añadir módulos que no se
compilan
por defecto:
cmake
-DINCLUDE_MODULES="db_mysql http_async_client http_client tls
tlsa websocket"
para terminar:
make
make install
para ver la versión instalada:
kamailio -V
version: kamailio 6.0.0-rc0 (x86_64/Linux) 94a546-dirty
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 94a546 dirty
compiled on 10:54:09 Feb 17 2025 with gcc 11.5.0
Por ahora es todo
Comentarios recientes