centos7下stf安装介绍(一)----环境搭建
重要:node version需要8.x.x
介绍
stf 全称 Smartphone Test Farm ,一款WEB 端移动设备批量管理工具(Remote control all your Smartphone devices),目前仅支持android设备,仅支持在mac和linux上搭建,暂时没在论坛、网站等看到有人在windows上搭建过。关于stf更多介绍,可以参考官方网址。
环境准备
如果实在centos下搭建,强烈建议使用centos7!!!
一开始我是在centos6.4上搭建的,后来配置好了java环境后,在配置adb环境时就遇到各种问题,搞得很头大,请教了运维小伙伴有些问题还是未能解决,相关依赖关系太复杂,后来运维小伙伴也建议还是换centos7比较好,遂重新换了centos7,前前后后大概5天时间,终于搭建好了stf环境,主界面如下(暂时没有添加设备):


相关依赖下载安装
1.基本命令安装
安装wget、zip等命令,后面有需要
yum install wget
yum install -y unzip zip
2.java环境配置
首先下载jdk
cd /usr/local
mkdir java
cd java
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm"
rpm -ivh jdk-8u151-linux-x64.rpm
配置环境变量
vi /etc/profile
在文件中增加如下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
即:

验证环境是否ok:
java -version

3.android SDK环境配置
首先下载SDK
cd /usr/local
mkdir android
cd android
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip
配置环境变量
vi /etc/profile
在文件中增加如下内容:
export PATH=$PATH:/usr/local/android/tools/bin
然后执行
source profile
查看已安装信息
sdkmanager --list
结果如下:
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
tools | 26.0.1 | Android SDK Tools 26.0.1 | tools/
安装platform-tools
sdkmanager "platform-tools"
配置环境变量
vi /etc/profile
在文件中增加如下内容:
export PATH=$PATH:/usr/local/android/platform-tools
即:

执行
source profile
sdkmanager --list
结果如下:

验证环境是否ok:
adb --version

4.node安装
cd /usr/local
mkdir node
cd node
wget https://nodejs.org/download/release/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar xvf node-v9.0.0-linux-x64.tar.gz
ln -s /usr/local/node/node-v9.0.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v9.0.0-linux-x64/bin/npm /usr/local/bin/npm
检查环境
node -v
npm -v

5.rethinkdb安装
执行:
cd /opt/dong -----即在opt新建一个目录用来用来其他依赖
wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
yum install rethinkdb
检查环境是否ok:
rethinkdb -v

6.GraphicsMagick安装
执行:
cd /opt/dong
wget https://iweb.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.26/GraphicsMagick-1.3.26.tar.gz
tar xvf GraphicsMagick-1.3.26.tar.gz
cd GraphicsMagick-1.3.26
./configure
make
make install
验证环境是否ok:
gm

7.yasm安装
执行:
cd /opt/dong
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
验证环境是否ok:
yasm --version

8.libsodium安装
执行:
cd /opt/dong
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.15.tar.gz
tar xvf libsodium-1.0.15.tar.gz
./configure
make
make install
验证环境是否ok:
whereis libsodium

9.zeromq安装
执行:
cd /opt/dong
wget https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz
tar xvf zeromq-4.2.2.tar.gz
cd zeromq-4.2.2
./configure
遇到报错,yum install gcc-c++
make
make install
10.protobuf安装
执行:
cd /opt/dong
wget https://github.com/google/protobuf/releases/download/v3.5.0/protobuf-cpp-3.5.0.tar.gz
tar xvf protobuf-cpp-3.5.0.tar.gz
cd protobuf-3.5.0
./configure --prefix=/usr/local/protobuf
make
make install
配置变量:
vi /etc/profile
在文件中增加如下内容:
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
即:

执行
source profile
验证环境是否ok:
protoc --version

11.pkg-config安装
执行:
cd /opt/dong
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
tar xvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2
./configure --prefix=/usr/local/pkg-config --with-internal-glib
make
make install
验证环境是否ok:
pkg-config --version

12.stf安装
执行:
npm install -g stf
下载完成后,进入:
cd /usr/local/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
./stf doctor
出现如下报错:
libzmq.so.5 No such file

解决方案:
cd /etc
vi /etc/ld.so.conf
#新增一行:
/usr/local/zeromq/lib
ldconfig
再次检查环境:
./stf doctor

ok,至此环境搭建成功。坚持下载一个依赖,安装后就检查环境,这样才更省心
启动stf
进入stf目录:
cd /usr/local/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
./stf local --public-ip 172.31.3.243 --allow-remote (172.31.3.243位centos服务器地址即stf服务器地址)
在其他地址的电脑上,打开浏览器,输入
http://172.31.3.243:7100
即可访问stf,如文章一开始的截图

致谢
stf搭建主要参考下面几篇文章,向原作者致谢。
作者:迈阿密小白
原文链接:https://www.jianshu.com/p/539ee1053da3
centos7下stf安装介绍(一)----环境搭建的更多相关文章
- mac10.9下eclipse的storm开发环境搭建
--------------------------------------- 博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1& ...
- Qt4.8在Windows下的三种编程环境搭建
Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...
- Python介绍及环境搭建
摘自http://www.cnblogs.com/sanzangTst/p/7278337.html Python零基础学习系列之二--Python介绍及环境搭建 1-1.Python简介: Py ...
- Centos7下快速安装Mongo3.2
Centos7下快速安装Mongo3.2 一般安装Mongo推荐源码安装,有时候为了快部署测试环境,或者仅仅是想装个mongo shell,这时候yum安装是最合适的方式, 下面介绍一下如何在Cent ...
- Django 01 django基本介绍及环境搭建
Django 01 django基本介绍及环境搭建 #http服务器 #用来接收用户请求,并将请求转发给web应用框架进行处理 #Web应用框架 #处理完请求后在发送给http服务器,http服务器在 ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- Qt在Windows下的三种编程环境搭建
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...
- centos7下编译安装php-7.0.15(PHP-FPM)
centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
随机推荐
- 利用tcp三次握手,使用awl伪装MAC地址进行多线程SYN洪水攻击
SYN洪水攻击概述:SYN洪水攻击主要源于: tcp协议的三次握手机制tcp协议面向链接的协议SYN洪水攻击的过程:在服务端返回一个确认的SYN-ACK包的时候有个潜在的弊端,如果发起的客户是一个不存 ...
- JSP 修改不能编辑
JSP做修改功能时候,有的时候,某些值要设置成只读状态,不能修改,刚开始做的时候,出现了修改之后值传不到后台的情况,由于刚出来工作不久,不是很了解这个.思索了半天,才发现是由于这个属性的缘故.浪费了大 ...
- Java IO--NIO(一)
一.基本概念描述 1.1 I/O简介 I/O即输入输出,是计算机与外界世界的一个接口.IO操作的实际主题是操作系统.在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通 ...
- 【转】Robot Framework用法总结
今天总结下Robot Framework最基本的用法,一来呢,希望自己以后看到这篇总结,很快能回忆起如何使用Robot Framework.二来呢,以初学者的姿态总结Robot Framework,希 ...
- mysql的一些指令
说起来mysql,mysql其实是特别简单操作的数据库.它有一下几方面的特点,亦或者是说优点,1,支持多语言:2.移植性比较好:3,我觉得最重要的一点就是它是开源的,因为开源,所以使用广泛,4.效率比 ...
- 《数据仓库ETL工具箱》读书笔记
在本书中,你将学习到以下内容: 规划&设计你的ETL系统 从多种可能的架构中选出最合适的 对实施过程进行管理 管理日常的操作 为ETL过程建立开发/测试/生产环境 理解不同的后台数 ...
- Machine Learning--week2 多元线性回归、梯度下降改进、特征缩放、均值归一化、多项式回归、正规方程与设计矩阵
对于multiple features 的问题(设有n个feature),hypothesis 应该改写成 \[ \mathit{h} _{\theta}(x) = \theta_{0} + \the ...
- 洛谷 P1856 【Picture】
题目描述 N(N<5000) 张矩形的海报,照片和其他同样形状的图片贴在墙上.它们的边都是垂直的或水平的.每个矩形可以部分或者全部覆盖其他矩形.所有的矩形组成的集合的轮廓称为周长.写一个程序计算 ...
- struts2注释返回json数据
- Springboot静态文件不更新的解决办法,以及Springboot实现热部署
Springboot静态文件不更新的解决办法,以及Springboot实现热部署 原文链接:https://www.cnblogs.com/blog5277/p/9271882.html 原文作者:博 ...