Kamailio-Web管理页面Siremis的安装与部署

siremis 是针对于 Kamailio 的web管理接口,使用PHP书写,更新至2020年,相对不是太新但是是官方友链的

以下就采用

  • Ubuntu 22.04
  • Siremis 5.8.0
  • apache http server 2.4
  • php7.0

如有疑问请参看官方指南
以下开始介绍操作步骤

安装apache2.4 web服务器

$ sudo apt-get install apache2
[sudo] password for root:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  musl
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap liblua5.3-0 mailcap mime-support ssl-cert

$ sudo a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
  systemctl restart apache2
claire@DESKTOP-UVFKUI7:/usr/local/etc/kamailio$ sudo systemctl restart apache2
claire@DESKTOP-UVFKUI7:/usr/local/etc/kamailio$ sudo apt-get install php libapache2-mod-php php-{mysql,gd,curl,xml,pear}
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  musl
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  libapache2-mod-php8.1 libxslt1.1 php-common php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-gd
  php8.1-mysql php8.1-opcache php8.1-readline php8.1-xml
The following NEW packages will be installed:
  libapache2-mod-php libapache2-mod-php8.1 libxslt1.1 php php-common php-curl php-gd php-mysql
  php-pear php-xml php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-mysql php8.1-opcache
  php8.1-readline php8.1-xml
0 upgraded, 19 newly installed, 0 to remove and 14 not upgraded.
Need to get 5921 kB of archives.
After this operation, 25.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

可以通过 systemctl status apache2 校验是否已具备http服务器,顺便可以确认下服务是否正常,running or failed? failed的话需要解决一下,保证服务能正常启动
可以通过 /usr/sbin/apache2 -v 确认自己http服务器的版本是2.2/2.4/其他

/etc/apache2/ # 存放Apache所有文件
/etc/apache2/apache2.conf # Apache主要配置文件
/etc/apache2/sites-available # Apache虚拟主机配置文件
/etc/apache2/sites-enabled # Apache激活的虚拟主机文件,可通过下面命令将sites-available中配置的文件链接到该文件夹中使其生效
/etc/apache2/sites-enabled/000-default.conf # 默认激活的网站相关配置文件

安装php7.0

php5和php7都是可以的,可以根据自己的情况,我这边选用php7.0

$ sudo apt-get install php7.0 php7.0-mysql php7.0-gd php7.0-curl php7.0-xml libapache2-mod-php7.0 php-pear
...
Processing triggers for php7.0-fpm (7.0.33-75+ubuntu22.04.1+deb.sury.org+1) ...
NOTICE: Not enabling PHP 7.0 FPM by default.
NOTICE: To enable PHP 7.0 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.0-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Processing triggers for libapache2-mod-php7.0 (7.0.33-75+ubuntu22.04.1+deb.sury.org+1) ...
Processing triggers for php7.0-cli (7.0.33-75+ubuntu22.04.1+deb.sury.org+1) ...
$:/etc/apache2/mods-enabled$ sudo a2enmod proxy_fcgi setenvif
Considering dependency proxy for proxy_fcgi:
Module proxy already enabled
Module proxy_fcgi already enabled
Module setenvif already enabled
$:/etc/apache2/mods-enabled$ sudo a2enconf php7.0-fpm
Enabling conf php7.0-fpm.
Could not create /etc/apache2/conf-enabled/php7.0-fpm.conf: Permission denied
claire@DESKTOP-UVFKUI7:/etc/apache2/mods-enabled$ sudo a2enmod proxy_fcgi setenvif
Considering dependency proxy for proxy_fcgi:
Module proxy already enabled
Module proxy_fcgi already enabled
Module setenvif already enabled
claire@DESKTOP-UVFKUI7:/etc/apache2/mods-enabled$ sudo  a2enconf php7.0-fpm
Enabling conf php7.0-fpm.
To activate the new configuration, you need to run:
  systemctl reload apache2
$ sudo a2enmod php7.0
...
$ sudo pear install XML_RPC2
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
downloading XML_RPC2-1.1.5.tgz ...
Starting to download XML_RPC2-1.1.5.tgz (68,449 bytes)
...

下载源码并安装

$ cd /var/www #web服务器的网页目录
$:/var/www$ sudo git clone https://github.com/asipto/siremis
[sudo] password for claire:
Cloning into 'siremis'...
remote: Enumerating objects: 9155, done.
remote: Counting objects: 100% (208/208), done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 9155 (delta 106), reused 187 (delta 99), pack-reused 8947
Receiving objects: 100% (9155/9155), 12.73 MiB | 168.00 KiB/s, done.
Resolving deltas: 100% (5282/5282), done.
$:/var/www$ cd siremis/

配置Siremis访问路径

我这边是Apache v2.4的服务,具体可以通过 /usr/sbin/apache2 -v 来确认自己的版本

$:/var/www/siremis$ ls -l
total 32
-rw-r--r--  1 root root 11848 Jun 18 13:22 ChangeLog
-rw-r--r--  1 root root  3931 Jun 18 13:22 Makefile
-rw-r--r--  1 root root  2069 Jun 18 13:22 README.md
drwxr-xr-x  5 root root  4096 Jun 18 13:22 misc
drwxr-xr-x  7 root root  4096 Jun 18 13:22 openbiz
drwxr-xr-x 14 root root  4096 Jun 18 13:22 siremis
$:/var/www/siremis$ sudo make apache24-conf
# siremis apache 2.4 conf snippet ...

        Alias /siremis "/var/www/siremis/siremis"
        <Directory "/var/www/siremis/siremis">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
                <FilesMatch "\.xml$">
                        Require all denied
                </FilesMatch>
                <FilesMatch "\.inc$">
                        Require all denied
                </FilesMatch>
        </Directory>

修改对应页面的配置

$: cd /etc/apache2/sites-available  
$: ls -l
000-default.conf
default-ssl.conf
$: sudo vim 000-default.conf #加入 make apache24-conf 获取的返回内容,配置访问页,这个规则可以根据实际情况自行调整

初始化Siremis的配置文件

$ :/var/www/siremis$ sudo make prepare24 #我这边是apache2.4
updating htaccess file for apache 2.4 ...
deploying htaccess files for apache 2.4 in subdirs ...
updating app.inc file...
creating folders...
done

$:/var/www/siremis$ sudo make chown #修改文件的归属用户,确保用户权限
changing onwner to www-data:www-data ...
chown -R www-data:www-data .

使用MySQL作为存储

由于前期我们部署 Kamailio 也使用了MySQL数据库,因此这边的Siremis也配置上。

root用户登录数据库 > 创建 siremis 数据库 > 给用户授权

mysql> create database siremis;
Query OK, 1 row affected (0.02 sec)

mysql> create user 'siremis'@'%' IDENTIFIED BY 'siremisrw';
Query OK, 0 rows affected (0.04 sec)

mysql>  GRANT ALL PRIVILEGES ON siremis.* TO siremis@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> exit

启动并验证

重启或者reload apache2服务

因为前面我们修改了一些配置,所以重启一下服务 systemctl restart apache2, 通过 systemctl status apache2 确认服务是否running

访问 localhost/siremis,因为我这边是默认配置80/siremis路径,具体可以根据自己的情况调整,即可访问到。

首先是一个数据库连接配置+数据库数据初始化的环节。 参照官方的指印可以很快速的完成。

System Check

配置正确、权限正确的话,整页都是打勾的,直接下一步

Database Configuration

这个版面就是配置 kamailio 库的连接方式和 siremis 库的连接方式。我们前面都有设置和配置权限,直接把host/port/username/password 填上

最重要的是注意下面的四个勾选项

  • Create Siremis DB: 不勾选,我们已经手动创建了
  • Import Default Data: 勾选
  • Update SIP DB: 勾选,可能是更新kamailio相关把,不清楚
  • Replace DB Config: 勾选

填写和勾选完之后,点击Next,这个步骤很关键,如果顺利是一两秒就下一页了,如果你转了很长时间可能就存在问题哦。比如我初次部署有遇到数据库连接问题以及未知的错误导致一直reloading,这个日志也很难查看,不容易定位。

Application Configuration

这个就是校验配置项,如果前面都顺利,这里是没有问题的,都是通过

在这里插入图片描述

Finish

告知你一个管理员初始的账号密码

在这里插入图片描述

点击Launch Siremis

登录平台

登录并查看平台功能

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有点复古,不过看你使用Kamailio的什么功能,常规的注册、负载均衡、通话的查看配置也都有,报表相对不算丰富。

看过kamailio数据库表或者使用过命令行的同学看了就能知道,这些其实就是与指令相对应,查询和操作对应的表,这个即使一个可视化工具,不要有太大的期望。

<think>好的,用户现在问的是如何安装kamailio-c命令。首先,我需要确认用户对Kamailio的了解程度。之前的对话中,用户遇到了配置文件的语法错误,现在可能是在尝试解决配置问题,但发现没有kamailio命令或者-c选项不可用。 首先,kamailio -c命令其实是用来检查配置文件语法的,但用户可能误以为这是一个需要单独安装的命令。实际上,这个命令是Kamailio主程序的一部分,只要正确安装Kamailio,就会包含这个命令。因此,用户的问题可能源于Kamailio未正确安装或者安装路径不在系统的PATH环境变量中。 接下来,我需要考虑用户的操作系统环境。之前的错误信息显示用户使用的是CentOS或类似的Linux发行版,因为路径是/usr/local/sbin/kamailio。通常,从源码安装Kamailio默认会安装到/usr/local/sbin,而通过包管理器(如yum或apt)安装则可能在/usr/sbin下。用户可能通过源码安装,但安装后没有将/usr/local/sbin添加到PATH中,导致无法直接运行kamailio命令,或者需要sudo权限。 用户可能遇到的问题包括:1. Kamailio未正确安装;2. 安装路径不在PATH中;3. 需要root权限运行。因此,回答需要涵盖这些情况,并给出具体的安装步骤。 需要分步骤说明安装方法,包括通过包管理安装和源码编译安装两种方式。同时,提醒用户检查PATH变量,或者使用绝对路径运行命令。此外,用户之前的配置错误可能是在安装后出现的,所以需要确保安装完成后,正确配置并检查语法。 最后,保持回答简洁,符合用户要求的“简单回答”,但需要涵盖主要安装方法和常见问题解决。例如,用户可能不知道需要安装Kamailio本身,而只是寻找-c选项的安装,所以需要明确指出kamailio命令的来源。</think>Kamailio的`-c`参数是配置文件语法检查命令,**无需单独安装**,属于Kamailio主程序自带功能。若提示命令不存在,说明Kamailio本体未正确安装安装方法: **1. 通过包管理安装(推荐)** ```bash # Debian/Ubuntu sudo apt install kamailio # CentOS/RHEL sudo yum install kamailio ``` **2. 源码编译安装** ```bash wget https://www.kamailio.org/pub/kamailio/6.0.0/src/kamailio-6.0.0_src.tar.gz tar xzf kamailio-6.0.0_src.tar.gz cd kamailio-6.0.0 make cfg && make all && sudo make install ``` **验证安装**: ```bash # 检查命令路径 which kamailio # 正常应返回 /usr/sbin/kamailio 或 /usr/local/sbin/kamailio # 使用语法检查 sudo kamailio -c -f /path/to/config.cfg ``` *注:若通过源码安装,默认路径为`/usr/local/sbin/kamailio`,可能需要root权限执行*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c_zyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值