源码安装Apache
下载Apache
解压Apache
tar zxvf httpd-2.2.22.tar.gz cd httpd-2.2.22
配置Apache
./configure --prefix=/usr/local/apache –prefix参数指定了将要安装到的目录。此时/usr/local下还没有该目录,make install后才会出现。
注意:Apache在安装时不会检查参数是否正确,错误的参数会直接被丢弃,不会报告给用户。所以使用echo $?命令检查是否有错误,当输出结果为0时表示没有错误。
编译和安装
make make install
启动Apache
cd /usr/local/apache/bin ./apachectl start
为了以后使用方便,可以把启动文件apachectl复制到/sbin下,以后直接apachectl start启动。
vi /etc/rc.local
增加一行 /sbin/apachectl start
验证Apache
ps -ef|grep httpd 在客户端浏览器输入服务器的IP地址(或者http://localhost),浏览器会显示:It works!
在线安装Apache
sudo apt-get install apache2
目的:工作中Android系统包的升级,是通过检测xml文件中日期是否是最新来提示用户去升级系统的;在测试升级这个功能时候,需要搭建一个内网的测试环境;所以记录下整个过程。
升级包的路径
在/opt目录下新建了一个路径:/opt/stb-dowmload/s905/koocan;在koocan目录下放置了一个package_list.xml文件和sw01-ota-20170308.zip升级包
升级包路径权限
sudo chmod 777 -R /opt/
修改升级配置文件package_list.xml
Android系统是通过检测package_list.xml文件中date和File_time来提示升级并返回URL地址;
<package_list> <company name="S905"> <product_list> <product name="GXB-BOX-V1"> <package_info> <description>重要升级</description> <hw_version>HD.1311.03</hw_version> <sw_version>100111</sw_version> <date>20170309</date> <sn_start>00000000000000000000000000000000</sn_start> <sn_end>00000000000000000000000000000000</sn_end> <Payload Name="sw01-ota-20170308.zip" URL="http://svi.cn:80/stb-download/s905/koocan/" MD5="12cc060ca3a829a54403b5a544e7d8d6" SizeInB="322724082" File_time="20161103" Release_note="1.修改短按Power键待机模式;2.支持YouTube精选功能。 "></Payload> </package_info> </product> </product_list> </company> </package_list>部分参数的修改:
MD5值:md5sum $1 |cut -d' ' -f1
SizeInB值:wc -c $1 |cut -d' ' -f1
$1表示文件,如sw01-ota-20170308.zip
虚拟机上的web服务访问192.168.246.128/stb-download/s905/koocan/package_list.xml这个路径;其中IP为Ubuntu在DHCP下获取的IP
修改apache2.conf配置文件
cd /etc/apache2 sudo vi apache2.conf
找到"<Directory /var/www/>"的位置–>更改"/var/www/"为"/"
修改000-default.conf配置文件
sudo vi sites-available/000-default.conf
找到"DocumentRoot /var/www/html"的位置–>更改"/var/www/html"为"/opt/"。
重启Apache
sudo /etc/init.d/apache2 restart
至此在浏览器中访问192.168.246.128/stb-download/s905/koocan/package_list.xml,能打开package_list.xml文件,表示搭建成功
虚拟机的端口映射
为了同一个局域网内,其他PC可以访问这个虚拟机的地址,需要做端口映射
虚拟机上Ubuntu使用NAT联网类型,点击VMware Workstation上编辑——>虚拟网络编辑器——>选中VMnet8——>点击NAT设置——>添加端口转发
这里升级包访问的域名端口是80,故主机端口写80,虚拟机IP为192.168.246.128,虚拟机端口为实际配置端口80。根据自己需求填写
检查端口转发是否正常
这里本地的电脑IP是192.168.8.131
直接在电脑浏览器输入:192.168.8.131/stb-download/s905/koocan/package_list.xml,能打开package_list.xml文件,表示转发成功
Android设备的端口映射
由于Android设备访问的地址是:svi.cn:80/stb-download/s905/koocan/package_list.xml;所以需要将内网的IP地址映射到外网的域名上
mount -o rw,remount /system
vi /system/etc/hosts
在hosts文件中添加:
192.168.8.131 svi.cn
检测升级
自此,操作Android设备,就可以模拟在线升级了。
@new