Play Open
Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait

[保姆级教程]闲置安卓设备利用KSWEB搭建网站

1.软件介绍

KSWeb是一款专为Android设备设计的轻量级Web服务器软件(付费软件),支持PHP、MySQL、Nginx、Apache、Lighttpd。其设计给我最大的感觉就是简洁易用,对于我这种小白来说比较友好。

可以自行搜索这个软件购买正版,也可以直接下载破解版。目前最新版本为3.988。软件最低好像支持到Android 4.0,所以非常适合老旧/闲置的安卓设备使用。

2.搭建网站

2.1搭建网站

(开始前建议先给设备在局域网内设置一个静态IP,不要使用DHCP,否则后期IP变动不便于操作。此处我设置为192.168.1.222。)

去KSWEB的设置选项卡,打开以下选项,防止意外关闭:

关闭省电

锁定Wi-Fi

自动启动

启动时最小化

2.1.1搭建基础网页

此处以运行在我家电视(Android 9.0)的最新版本3.988的 KSWeb 为例,演示如何搭建网站。

打开软件后,有如下界面:

Screenshot_20240726-1223291920×1080 129 KB

↑ 由于我已经根据我的需求配置好了 此处图片展示的内容与你首次启动所见内容有所差异。

一般来说,首次进入软件后,会自动安装所需组件,只需根据提示操作即可。

待安装完成后,你应能看到,Lighttpd 处于默认的启用状态。如果没有,就手动启动。默认已经有一个主机了,此时点击lighttpd下主机0旁边的链接,在浏览器中打开。如果能够正常加载,那么就算是部署成功了。

部署成功后,你就可以根据你的需求去你手机的主目录下的htdocs文件夹修改与添加网页文件了。

至此,你就可以在局域网内通过内网地址来访问你的网站了。至于如何从公网访问你的网站,使你的网站能从世界的各个角落访问,有两种方法,稍后再讲。

重要:记得关闭“电池优化”相关选项,使KSWeb在后台常驻运行!

2.1.2搭建博客系统

使用上文的Lighttpd服务和以Typecho博客系统为例。

我们首先创建一个数据库。

(先去KSWEB查看PHP和MYSQL是否开启,没有则开启,PHP版本选7.4.23)

首先,转到工具选项卡,在“辅助工具”下找到phpMyAdmin选项,点击并按照提示完成安装,安装到Lighttpd(后面会用到),安装后重启KSWeb。

重启软件后再次进入,你会发现主页“Lighttpd”下多出了个主机(后面跟有phpMyAdmin字样),点击访问,来到登录界面。使用用户名 root,密码留空登录。

登录后有如下界面:

Screenshot_20240726-1222191920×1080 223 KB

点击左侧“新建”按钮(如上图所示),新建一个数据库:

Screenshot_20240726-1222461920×1080 212 KB

在新建数据库页面的指定区域(如上图)填入一个名字,如typecho,编码方式保持默认,然后点击“创建”按钮。

创建好后会跳转到另外一个页面,提示数据库中没有表。此时不用管他,关掉浏览器。

这样就完成了数据库的创建。

接下来我们安装博客系统。

(如果你想用别的博客系统,如WordPress,也可以参照下面步骤,基本上大同小异,特别是下面的数据库信息,也可作为参考。相对于Typecho,WordPress有着更加丰富的生态。此处使用Typecho是因为它操作较简单,占用较少。)

首先下载Typecho。

下载后解压,把内容放在 htdocs 中。然后访问你主机的链接,开始安装,根据要求填写数据库配置界面:

“数据库适配器”选择“Pdo驱动Mysql适配器”;

“数据库前缀”保持默认;

“数据库地址”填localhost;

“数据库用户名”填root;

“数据库密码”留空;

“数据库名”填你新建数据库时取的名字,如typecho;

做完这一切之后,点击“确认 开始安装”,等待安装完成后,进入管理员账号创建界面。根据实际填写就行。用户名可以填写 admin。最后点击“继续安装”。

安装完成后,访问/admin用刚刚创建的账号登录。登录后建议去“控制台”->“外观”更换外观,默认外观很旧,很丑。使用WP就不会有这样的问题。

至此,整个博客搭建完成。你可以自行上网搜索相关资源,根据你的需求设置你的博客。

2.2从公网访问

有两种方案,内网穿透或者公网IPv6访问。 我更推荐使用内网穿透访问。

前置条件:有一个托管在Cloudflare的域名。

(其实我同时用了两种方法)

优点

缺点

内网穿透

- 可不加端口号直接访问(80/443)- 不需手动配置SSL证书- 支持IPv4/IPv6双栈访问- 相对安全- 相对简单

- 跳转时有时会带本地端口号,导致无法打开需手动处理- 速度相对较慢- 有时不稳定

公网IPv6访问

- 性能优越,访问速度快- 稳定性高

- 相对繁琐- 只支持IPv6网络访问- 需要加本地端口号- 配置HTTPS SSL证书较为复杂

两种方案速度对比

IPv6公网访问

测试1730×1020 210 KB

Cloudflare Tunnel内网穿透

121739×1009 213 KB

方案1-公网IPv6访问。

众所周知我国家宽基本没有公网IP。

但是我们基本都有公网IPv6地址,而且一般有2个。

可以去这个链接查看,如果点进去返回一串IPv6地址,则说明你的网络支持IPv6。那串地址就是你的公网IPv6地址。

如果打不开,则说明你家网络不支持IPv6。考虑内网穿透。也可以去光猫的宽带设置找一下有没有“IPv4/IPv6”选项,或者直接打电话叫师傅。不要投诉,会扣他们钱,到时候就不好跟他沟通了。

如果打得开,那就按照下面步骤试一下,测试能否公网访问:

去KSWEB的nginx新建一个主机,网页目录还是之前的htdocs,记下端口。此处端口以8001为例。

点击该主机,点击“编辑主机配置文件”,在配置文件中第13行左右找到

#begin_port (do not remove this label!)

listen 8001;

#end_port (do not remove this label!)

我们在listen 8001;后添加一行:

listen [::]:8001;

改完之后就是

#begin_port (do not remove this label!)

listen 8001;

listen [::]:8001;

#end_port (do not remove this label!)

保存,退出编辑器,重启Nginx。

此时拿出手机,使用流量访问http://[你的公网IPv6地址]:8001/。比如http://[2409:8a50:1234]:8001/。如果能顺利加载出来,那么恭喜,你的网站可以公网访问了。

接下来我们要绑定域名。没有域名可以申请us.kg免费的或者买一个。

以cloudflare为例,去dash增加一条AAAA解析,不要开小黄云。

DNS 记录 @outlook.com's Account Cloudflare1709×270 48.9 KB

然后回到KSWEB,继续编辑刚才提到的主机配置文件。在18行左右找到:

begin_hostname (do not remove this label!)

server_name localhost;

在server_name localhost; 后添加一行:

server_name loc.example.com;

把loc.example.com替换成你刚才在cf添加解析的域名。

至此,一切就绪。访问loc.example.com:8001(替换你实际域名),你应能成功访问你的网页。可以去这里测试。

方案2-内网穿透。

这里使用Cloudflare大善人的Tunnel配合Termux进行穿透。

Termux也需要关闭电池优化等相关设置,避免被杀后台! 关闭后执行termux-wake-lock 命令,防止被杀。

首先我们要安装一个Termux ← GitHub,记得开代理下载

打开Termux,先换成国内软件源。执行

sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list

apt update && apt upgrade

换好后执行以下命令,安装proot-distro:

pkg install proot-distro

执行以下命令安装Ubuntu,可能花一点时间:

proot-distro install ubuntu

登入Ubuntu:

proot-distro login ubuntu

查看架构

uname -m

下载cloudflared

apt install wget -y && wget https://github.com/cloudflare/cloudflared/releases/download/2024.6.1/cloudflared-linux-arm64.deb

安装cloudflared

如果这一步提示无法安装,就根据第6步输出的架构信息,去这里查找相对应的版本,复制链接并替换掉第7步中的链接,重复第7、8步。注意把第8步的命令中的文件名改成你重新下载的。

dpkg -i cloudflared-linux-arm64.deb

检查是否成功安装,输出版本号则算安装成功。

cloudflared -v

登上你的cf账号,在侧边栏点击Zero Trust。然后参照这篇文章配置Zero Trust。

根据文章跳过绑定付款方式后,来到首页,点开侧边栏,依次展开Networks → Tunnels,点击Create a tunnel。

“tunnel type”选择Cloudflared;

然后给隧道起个名字,并Save;

接下来就是连接隧道了。在网页中找到这段命令,点击以复制他:

sudo cloudflared service install eyJhIj…

粘贴命令到备忘录或其他地方,把sudo及其后面的空格去掉(就像下面这样),然后再复制:

cloudflared service install eyJhIj…

回到Termux,粘贴刚才去头的命令,回车运行。一切正常的话,应该会有successful等字样。

回到网页,下面的Connectors应该也会显示你的设备。

点击Next,来到 Route Traffic页面。

填写域名相关信息来绑定域名。

subdomain你可以取一个,作为子域名,或者留空;

Domain需要你选择一个,作为访问域名;

path留空;

TYPE选“HTTP”(不要选https);

URL填localhost:8001;其中8001改成你实际的端口号。

最后点击Save tunnel,会回到隧道首页。查看隧道的status,若是绿色的HEALTH,则为配置成功。

至此你已可以通过刚才你配置的域名,访问你的网站了(不用加端口号,自带https)。

3.写在后面

这些东西我断断续续折腾了小半年,要是之前我能看到这篇文章就能少花好多时间了。

还有一些东西,比如自动更新IPv6地址的sh脚本,可以每隔一段时间检查IPv6地址是否变动,变动时自动上传cf,更新域名的aaaa记录,操作有点麻烦,在这里就不写了,有时间再写。

以上就是这篇文章的所有内容了,希望能够帮到你。写这篇文章花了不少时间,若有错误之处,欢迎指出,若觉得有用,麻烦点个赞,谢谢。

Posted in 卡池解析
Previous
All posts
Next