首先介绍以下LuCI项目,LuCI作为“FFLuCI”诞生于2008年3月份,目的是为OpenWrt固件从 Whiterussian 到 Kamikaze实现快速配置接口。Lua是一个小巧的脚本语言,很容易嵌入其它语言。轻量级 LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。UCI是OpenWrt中为实现所有系统配置的一个统一接口,英文名Unified Configuration Interface,即统一配置接口。LuCI,即是这两个项目的合体,可以实现路由的网页配置界面。
当然,之前都是扯淡的。开始正题。
注意:以下所有操作基于原版Ubuntu12.04 x64
系统
官方网站上有一个简单的安装介绍。就是这。
基本上按照他的方法就可以了。首先要保证你有GCC,Make。然后就是最重要的一点,要有Lua,并且必须是5.1版本!
然后就是最简单的SVN checkout。
运行如下命令:
svn co http://svn.luci.subsignal.org/luci/branches/luci-0.10
或者用这个命令:
svn co http://svn.luci.subsignal.org/luci/trunk
然后运行make runhttpd
就好了。
当然,如果出现 make error 是正常的,不用惊慌。我这边遇到了两个问题。
-
是很常见的缺少curses.h这个头文件。
解决办法也是相当的无脑,安装curses库即可,即运行:
sudo apt-get install libncurses5-dev
就行了。 -
最重要的是下面,这个我之前也没有遇到过,就是:
undefined reference to "crypt"
后来进过高人指点。就是这篇文章。找到了解决办法。就是修改makefile的依赖顺序。
主要修改有两个文件。
-
ontrib/uhttpd/uhttpd-src/Makefile 的第73行修改为:
$(CC) -o uhttpd $(LDFLAGS) $(OBJ) $(LIB)
-
modules/admin-full/Makefile 的第14行修改为:
$(LINK) -o src/$(BWC_BIN) $(BWC_OBJ) $(BWC_LDFLAGS)
-
libs/nixio/Makefile 的第93行修改为:
$(LINK) $(SHLIB_FLAGS) -o src/$(NIXIO_SO) $(NIXIO_OBJ) $(NIXIO_LDFLAGS_POST) $(NIXIO_LDFLAGS)
PS:最重要的是修改顺序,如果在相应的行数没有看到相似的语句,请进行搜索后再修改。
-
ontrib/uhttpd/uhttpd-src/Makefile 的第73行修改为:
最后,直接使用make runhttpd
就能运行了,当出现如下语句的时候,打开浏览器,访问http://localhost:8080/luci即可。
运行界面一览:
享受生活,享受代码。
好像很高级的样子呀。
@网站评估:其实还好啦
请问下编译好了怎么修改主题呢?
谢谢~
@hi:不是特别明白你的需求,如果只是修改样式,只需要修改www/luci-static/(主题名称)就可以了,这边是总的css
@Mike:能加下你的QQ吗?最近公司有点需求需要研究这个!多谢!
为什么的编译的时候,提示我没有lua.h
@YYF:你试试装下lua,如果还是不行,找到lua.h的路劲,然后当做参数编译