最新版安装freeradius3"/>
openwrt最新版安装freeradius3
记录一下最近用openwrt 19.07安装mysql php nginx + freeradius3的一些问题。
安装中遇到的问题:
1:php安装支持的组件不全导致php不支持session,mysql等。
解决方法:
重新编译,可以选择所有组件。
2:mysql的安装
Mysql的安装和大部分常规的源码编译安装区别不大。只需要修改/etc/config/mysql配置文件。将enable改为1.
运行mysql_install_db --defaults-file=/etc/mysql/conf.d/50-serverf安装即可。
/etc/init.d/mysql start启动mysql
3:freeradius3数据库的导入
mysql默认初始化完成之后。
进入/etc/freeradius3/mods-config/sql/main/mysql目录。
mysql -uroot用root登录mysql。执行create database radius;
创建radius数据库,这里不创建的话,后边导入schema.sql是会提示找不到数据库
执行mysql -uroot <setup.sql (这里我没有给Mysql默认账户设置密码)一切正常的话没有任何提示。
执行mysql -uroot radius < schema.sql,同上,没有提示便是正常。
这里freeradius的数据库已经成功导入。
4:开始安装daloradius。
安装这个的时候花了不少时间。因为用的是Openwrt,也遇到了不少的问题。
将daloradius的源码放到任易目录,设置好nginx和php.
首先就遇到提示找不到DB.php。本地搜索了一圈,编译源码里也搜索了一圈,确实没有这个文件。
当时就觉得奇怪,这个项目已经这么久了,少文件不至于没有人说啊。然后又到daloradius的git上边看了一下之前的版本的源码,确定,也没有这个问题,看了一下Opendb.php这个文件的最后一次修改时间是4年前了,所以可以肯定不是源码的问题,应该是我环境的问题。
于是点开了项目的issue,果然有人也遇到了同样的问题。
下边有人回答了解决方法。用pear install DB安装db扩展包。
然后我ssh连接Openwrt试了一下,似乎没有这个命令。
查了一下,这个需要编译php的时候加入--with-pear。
于是找到openwrt里边php的package。果然在里边发现了一段--without-pear。原来Openwrt默认把这个给禁用了。于是我想都没想的把这段改为了--with-pear。然后编译。
编译过程一切顺利。但是在install的时候出现了问题。提示找不到php这文件。我到编译目录查看了,这个文件明明在这里啊。
弄了好半天还是不行。最后只好放弃。
然后又查了一下资料。发现这个pear支持可以单独安装。但是需要php打开php-cli的支持。然后重新编译php,开启了Php-cli的支持。
从官网下载了.phar的安装包。然后运行php-cli pear-phar安装。这里提示我找不到/usr/bin/php。emmm...这个不就是php-cli吗?
于是给php-cli创建了一个软连接。再次安装。一切顺利完成,接下来就是DB。
运行pear install DB提示找不到DB。
emmm...明明在官网上边都能查到,为什么搜不到呢。刚开始还以为是机器没有联网,ping了一下官网,是通的,网络没有问题。只好直接下载db的.tgz的安装。
运行pear install db.tgz。安装过程一切顺利。
这些都安装完成之后,打开daloradius,提示Fatal error: date(): Timezone database is corrupt - this should *never* happ
好吧,又重新编译,安装zoneinfo。
本来以为好了,结果又报错。UPDATE command denied to user
从提示上来看应该是数据库的权限问题。
再次用root登录mysql执行
grant all privileges on radius.* radius@localhost identified by 'radpass'; (这里的radpass是你的radius账户的密码)
flush privileges;
再次访问,总算可以正常登录了。
好了,第一次写,有点乱。
就先将就着看吧。做为记录。防止以后忘了,毕竟过程有点多。
更多推荐
openwrt最新版安装freeradius3
发布评论