在iPhone上搭建lighttpd服务器

标签:iPhone

最近在做web测试时遇到个问题:我的电脑无法从外界访问,所以iPhone没法访问架设在本机的web服务器。
每次都部署到外部服务器太麻烦了,于是就决定在iPhone上搭建web服务器了。
搜索了一番后发现有在iPhone上运行Lighttpd的文章,于是便开工起来。

先决条件自然是越狱,然后到Cydia上安装Lighttpd和Mobile Teminal。

装好后打开Mobile Teminal,再以root账号运行lighttpd:
login root
# 输入密码,初始密码是alpine,可以用passwd命令来修改
lighttpd
如果显示的不是command not found,而是类似于:
(server.c.547) No configuration available. Try using -f option.
则说明安装成功了,但是没有配置文件。

于是建立一个lighttpd.conf文件,放在/etc文件夹下,内容如下:
server.document-root = "/var/root/www" 

server.port = 80

server.username = "mobile"

mimetype.assign = (
  ".html" => "text/html; charset=utf-8",
  ".htm" => "text/html; charset=utf-8",
  ".css" => "text/css; charset=utf-8",
  ".js" => "text/javascript; charset=utf-8",
  ".txt" => "text/plain; charset=utf-8",
  ".jpg" => "image/jpeg",
  ".png" => "image/png",
  "" => "application/octet-stream"
)

index-file.names = ( "index.html" )
这个配置文件我就不解释了,直接去看lighttpd配置文档吧。

接下来就写个hello world页面吧,取名index.html:
<!DOCTYPE html>
<html>
	<head>
		<meta name="viewport" content="width=device-width"/>
		<title>Hello world!</title>
	</head>
	<body>
		Lighttpd 运行正常。
	</body>
</html>
接着用ifunbox打开/var/root/,在下面建立一个www文件夹,把index.html放进去。

至此准备工作就完成了,再次打开Mobile Teminal,以root账号运行lighttpd:
login root
# 输入密码
lighttpd -f /etc/lighttpd.conf
如果显示server started,则说明运行成功了。

最后打开Safari,访问http://127.0.0.1/,就可以看到这样的页面了:


如果想关闭lighttpd的话,以root账号运行下面的命令即可:
killall -9 lighttpd


不过这样操作还是会有不便之处,毕竟用Mobile Terminal输入命令太累了,因此还是用SSH客户端来操作吧。

首先自然是到Cydia上安装OpenSSH。

装好后就可以在电脑上打开SSH客户端(例如Tunnelier和WinSCP等)了。服务器地址填iPhone的ip,端口为22,用户名是root,密码和前面用的一样。
如果超时而无法登录,且确认不是当前WIFI环境禁止互相访问的话,可以试试把iPhone的屏锁解开。

登录后会打开一个命令行窗口和SFTP窗口。SFTP可以当成ifunbox来用,而那个命令行窗口则可以当成Mobile Terminal来用,而且不需要用命令来登录root账号,并且可以复制粘贴了。

5条评论 你不来一发么↓ 顺序排列 倒序排列

    向下滚动可载入更多评论,或者点这里禁止自动加载

    想说点什么呢?