weixin_52333757 2023-02-20 09:29 采纳率: 57.1%
浏览 38
已结题

在CentOS 7 中启动FreeSwitch时无法启动

在CentOS 7 中启动FreeSwitch时无法启动,出现如下报错,应该是权限问题,尝试了几种修改方法也没有效果,有谁知道怎么搞的吗

img

img

  • 写回答

5条回答 默认 最新

  • 不咕鸟会咕咕 2023-02-20 09:39
    关注

    在CentOS 7中启动FreeSwitch时出现问题可能是由于权限或配置问题引起的。以下是可能的解决方法:

    1.检查SELinux是否启用并且在Enforcing模式下。如果是,请尝试将其禁用或切换为Permissive模式。可以使用以下命令进行检查和设置:

    # 检查SELinux状态
    sestatus
    
    # 切换SELinux到Permissive模式
    setenforce 0
    
    # 永久禁用SELinux
    vi /etc/sysconfig/selinux
    SELINUX=disabled
    

    2.检查FreeSwitch安装目录和配置文件的权限是否正确。确保FreeSwitch用户(通常为freeswitch)具有对这些文件和目录的读写权限。

    3.确保FreeSwitch配置文件正确。特别是,确保配置文件中指定的端口未被其他应用程序占用。

    4.检查FreeSwitch日志以获取更多信息。默认情况下,日志文件位于/usr/local/freeswitch/log/freeswitch.log。根据错误信息和日志中的信息,可能可以找到更具体的解决方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 程序yang 全栈领域优质创作者 2023-02-20 09:41
    关注

    仅供参考:
    这个错误提示中有一个非常明显的信息是:"/usr/bin/freeswitch: Permission denied",也就是没有权限访问 /usr/bin/freeswitch 文件。

    这可能是因为您没有以足够的权限运行 FreeSwitch,或者 /usr/bin/freeswitch 文件的权限设置不正确。您可以尝试以下步骤:

    1.确保您以具有足够权限的用户身份运行 FreeSwitch。建议使用 root 用户或具有 sudo 权限的用户来启动服务。

    2.检查 /usr/bin/freeswitch 文件的权限设置是否正确。您可以运行以下命令来检查权限:

    ls -l /usr/bin/freeswitch
    

    确保该文件的所有者和权限设置允许 FreeSwitch 启动。

    3.如果文件权限设置不正确,则可以使用以下命令更改权限:

    chmod 755 /usr/bin/freeswitch
    

    这将为所有者和组设置读、写和执行权限,为其他用户设置读和执行权限。

    4.如果权限设置正确,您可以尝试重新安装 FreeSwitch,以确保 /usr/bin/freeswitch 文件没有被损坏。

    评论
  • MarkHan_ 2023-02-20 09:41
    关注

    这个错误提示显示FreeSwitch服务无法启动,导致服务进入了失败状态。这个错误信息中还有一些其他的提示,比如ExecStart和ExecStartPre。

    从这个错误信息来看,可能是与启动FreeSwitch服务的用户权限有关。一种可能的解决方案是使用chown命令更改/var/run/freeswitch目录的所有者为freeswitch用户和daemon组,以确保这个用户和组有对这个目录的写入权限。您可以尝试使用以下命令更改目录所有者:

    chown -R freeswitch:daemon /var/run/freeswitch/
    

    另一个可能的解决方案是检查FreeSwitch服务的配置文件以确保它是正确的。如果FreeSwitch配置文件中有任何错误,则可能导致服务无法启动。您可以尝试使用以下命令验证FreeSwitch配置文件是否存在错误:

    freeswitch -n -nonat -nonatmap -nonatreg
    
    
    

    这将使用“-n”选项在控制台上显示FreeSwitch的日志信息。如果存在任何配置错误,则可能会在这些日志中显示错误信息。

    评论
  • qq_46161207 2023-02-20 10:09
    关注

    根据您提供的截图,出现错误的原因是 FreeSWITCH 进程无法访问 /var/run/freeswitch 目录,可能是由于权限问题导致的。您可以尝试以下几种解决方法:

    1.修改 /var/run/freeswitch 目录的权限:

    
    sudo chmod -R 777 /var/run/freeswitch
    

    这样将目录的权限设置为 777,即任何用户都可以读写执行,但是这种方法安全性较差,不建议长期使用。

    2.将 FreeSWITCH 的运行用户改为 root 用户:
    在 /etc/freeswitch/autoload_configs/switch.conf.xml 文件中,找到以下配置:

    
    <param name="run-as-user" value="freeswitch" />
    <param name="run-as-group" value="freeswitch" />
    

    将 run-as-user 和 run-as-group 的值都改为 root,然后重启 FreeSWITCH。

    3.修改 SELinux 策略:
    如果您启用了 SELinux,可能会限制 FreeSWITCH 访问 /var/run/freeswitch 目录。您可以尝试修改 SELinux 策略,使 FreeSWITCH 具有访问权限。具体操作如下:

    
    sudo semanage fcontext -a -t public_content_rw_t '/var/run/freeswitch(/.*)?'
    sudo restorecon -Rv /var/run/freeswitch
    

    这样就将 /var/run/freeswitch 目录的 SELinux 上下文类型设置为 public_content_rw_t,并重新启动 FreeSWITCH。

    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-02-20 12:10
    关注
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 2月20日

悬赏问题

  • ¥15 matlab中此类型的变量不支持使用点进行索引
  • ¥15 咨询第六届工业互联网数据创新大赛原始数据
  • ¥15 Pycharm无法自动补全,识别第三方库函数接收的参数!
  • ¥15 STM32U575 pwm和DMA输出的波形少一段
  • ¥30 android百度地图SDK海量点显示标题
  • ¥15 windows导入environment.yml运行conda env create -f environment_win.yml命令报错
  • ¥15 这段代码可以正常运行,打包后无法执行,在执行for内容之前一直不断弹窗,请修改调整
  • ¥15 C语言判断有向图是否存在环路
  • ¥15 请问4.11到4.18以及4.27和4.29公式的具体推导过程是怎样的呢
  • ¥20 将resnet50中的卷积替换微ODConv动态卷积