背景:
- 公司的产品使用的第三方模组可以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.下载测试
 点击里面的文件可以自动下载
