背景:
- 公司的产品使用的第三方模组可以OTA,厂家提供的是window开启软件,这样就可以在本机做http下载服务器,然后使用端口映射的方式,公开到外网,这样就可以进行4G网络访问内网服务器了。但这个有个弊端,需要电脑一直开着才有文件下载服务,端口也不是固定的,临时用可以,我们做产品的,需要可以随时OTA,以备不时之需,其他产品的OTA也可以在这个服务器做固件下载服务。公司刚好也有云服务器,只需要在公司的云服务器配置http文件下载服务,再创建专门的ota用户即可。
- OTA整个流程就是利用ssh的scp功能进行文件上传,设备使用http文件请求,设备收到文件进行flash读写。
环境说明:
系统:阿里云centos
软件:apache
流程:
1.创建OTAuser用户,不想把root用户给别人乱搞,方便ota相关任务文件上传。使用ssh相关的工具,登陆到阿里云。
useradd -m OTAuser
passwd OTAuser
登录测试
到这里OTA账户就创建完毕了。
2.apache服务安装与配置。
登录回root用户下使用命令安装httpd
yum install httpd -y
启动httpd
systemctl start httpd
systemctl enable httpd
修改配置
vim /etc/httpd/conf/httpd.conf
把http默认端口80 改为8088,找到Listen所在的行,改为下面这样就行。
Listen 8088
找到DocumentRoot ,修改上传/下载文件目录
DocumentRoot “/OTA/”
找到DirectoryIndex 加上"#" 号,注释掉,这个是web服务的首页,我们只需要下载服务。
#DirectoryIndex index.html
更名默认的欢迎页配置,否则会显示apache的欢迎页
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
创建http下载目录
mkdir /OTA
增加权限,因为方便前面的OTAuser用户使用
chmod 777 /OTA
设置完毕,重启http服务
systemctl restart http
到这里可以文件服务搭建完毕。
3.文件上传。
可以直接使用CRT软件的文件功能,直接登录后拖拽文件就可以上传下载
也可以使用其他的文件传输工具,比如winscp.exe
4.下载测试
点击里面的文件可以自动下载