基于Centos6.3Final版本安装BigBlueButton服务尝试

差不多前后两周左右的时间一直在尝试做这事情,结果不是很让人能接受,当然有结果是好的,只是没有能够实现正常的使用,也就是说服务搭建失败。
截止到2015年3月20日 21:07:15的进度状况如下
错误截图,demo1.jsp

经过努力更改一些列的IP、端口号配置后的结果是,空指针503错误,不过不稳定,偶尔还是500错误,服务器的问题。

下面记录下整个环境搭建,单独服务的测试及必要服务组件更改配置,使用说明。
环境:CentOS release 6.3 (Final)
登录虚拟机,执行命令:lsb_release -a 即可看到版本所有信息

安装清单
名称
版本
JDK
jdk-7u75-linux-x64.rpm
Tomcat
apache-tomcat-7.0.59.tar.gz
swftools
swftools-2013-04-09-1007.tar.gz
nginx
nginx-1.6.2.tar.gz
FreeSwitch
freeswitch-1.4.17.tar.gz
Ffmpeg

Ruby
ruby-1.9.3-p551.tar.gz
Red5
red5-server-1.0.5-RELEASE-server.tar.gz
redis
redis-2.6.10.tar.gz
LibreOffice
LibreOffice_4.3.6_Linux_x86-64_rpm.tar.gz
ImageMagick
ImageMagick-6.9.0-10.x86_64.rpm
其他必要包
openssl-1.0.1f.tar.gz

opus-1.1-p2.tar.gz

jpegsrc.v9a.tar.gz

freetype-2.3.12.tar.gz

xpdf-chinese-simplified.tar.gz
Windows
X-Lite_Win32_4.7.1_74247.exe
其他依赖
比较多,忽略未统计。

提供云盘下载地址:http://pan.baidu.com/s/1jGKg55W 
如果链接失效,请留言或者站内信,看到后会及时纠正

由于内网安全限制,不能够连接网络,所有安装包均为手动上传,安装方式就出现多样化,不过大部分是通过源码编译的方式进行。

=======================分界线=======================
安装步骤及测试方法

一、安装JDK

1、执行命令检索已经安装的JDK组件:
rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'
检索结果如下:
sinjdoc-0.5-9.1.el6.x86_64
pygobject2-2.20.0-5.el6.x86_64
openjade-1.3.2-36.el6.x86_64
pygobject2-devel-2.20.0-5.el6.x86_64
eject-2.1.5-17.el6.x86_64
pygobject2-doc-2.20.0-5.el6.x86_64
jdk-1.7.0_75-fcs.x86_64
pygobject2-codegen-2.20.0-5.el6.x86_64
openjpeg-libs-1.3-7.el6.x86_64
这个是安装后的截图,因此包含我们安装JDK版本。

如果觉得这步骤的命令麻烦,可以简单的执行,推荐使用上种方法:
rpm -qa | grep java

2、检查已经安装配置的Java版本,命令同Windows下操作:
Java -version
结果如下:
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

3、据自身需求,考虑是否移除不必要的JDK组件,执行命令:
yum remove jdk-1.7.0_75-fcs.x86_64

4、下载JDK.rpm包,安装,执行命令:
rpm -ivh jdk-7u75-linux-x64.rpm

5、安装完毕,检查版本信息,测试结果同步骤2,表示已经安装成功。

6、配置环境变量,文本编辑/etc/profile文件,在文件末尾添加如下:
export JAVA_HOME=/usr/java/jdk1.7.0_75
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

7、重新登录,生效。或者执行source /etc/profile立即生效。

=======================分界线=======================
二、安装Tomcat
1、下载tomcat安装包,apache-tomcat-7.0.59.tar.gz

2、解压,然后重命名目录名称为tomcat7
tar -zvxf apache-tomcat-7.0.59.tar.gz

3、切换到tomcat7目录下,执行./bin/startup.sh 启动tomcat
执行结果如下:
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr/java/jdk1.7.0_75
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Tomcat started.

4、浏览器测试,http://ip:8080,如果能够访问,即代表安装成功。

5、配置环境变量,同上JDK安装,文本编辑/etc/profile文件,增加如下内容,并使之立即生效。
export TOMCAT_HOME=/usr/share/tomcat7
export CATALINA_HOME=/usr/share/tomcat7

=======================分界线=======================
三、安装swftools

1、安装gcc c++
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

2、安装freetype,源码编译方式

$tar xvf freetype-2.3.12.tar.bz2
$cd freetype-2.3.12
$./configure
$make&&sudo make install


3、安装jpeglib

$tar xvf jpegsrc.v9a.tar.gz
$cd jpegsrc.v9a
$./configure
$sudo make&&sudo make install


4、安装zlib

yum install zlib


5、安装swftools,同样源码编译的方式安装

$tar vxzf swftools-2013-04-09-1007.tar.gz
$cd swftools-2013-04-09-1007
$./configure --prefix=/usr/swftools
$make
$make install

这一步是遇到问题最多的一项,当出现问题的时候就先解决问题,然后再次执行./configure,然后make && make install
大概遇到的问题有如下,还有几个问题没列出来,当时没保存记录,涉及到的时候可以谷歌,应该不难,再有,如果按照博主上面的顺序安装了依次依赖的需求包,那出现的问题都在下面写出来了。
modules/.././types.h:39:2: 错误:#error "no way to define 64 bit integer"
modules/.././types.h:42:2: 错误:#error "don't know how to define 32 bit integer"
modules/.././types.h:45:2: 错误:#error "don't know how to define 16 bit integer"
modules/.././types.h:48:2: 错误:#error "don't know how to define 8 bit integer"
解决方法:
[root~]# ldconfig /usr/local/lib
然后再执行
[root~]# ldconfig /usr/local/lib
[root~]# ./configure
还可能遇到的问题
make[1]: *** [install] 错误 1
make[1]: Leaving directory `/root/swftools-2013-04-09-1007/swfs'
make: *** [install] 错误 2
解决方法: 将swfs目录下的Makefile和Makefile.in两个文件中的 -o -L 去掉 make install 成功。
最初尝试的是0.9.2版本的swftools,遇到的错误更多,也不熟悉,就换成了最新的,最新的也是2013年的。。。汗啊。想着会好一些,结果一样是各种问题报错,不过最终还是被战胜了。

6、设置环境变量,可以把文件夹的名字简化,去掉那繁琐的版本号
vim /etc/profile
export PATH=$PATH:/usr/swftools/bin/

7、选择是否安装语言包,下载地址中都包含,xpdf-chinese-simplified.tar.gz
由于环境对这个需求不强烈,所以暂时安装,如需要,可自行解决。
附参考地址:http://wiki.bsdn.org/pages/viewpage.action?pageId=3964937

8、测试编译,可模拟测试doc转pdf,自行实践
=======================分界线=======================
四、安装nginx

1、安装nginx,也需要一些系统软件的支持,有些我们已经在上一步骤安装过,为了其他人更好的搭建环境,我这里还是写一哈,这样拿出来单独每一个都能用。分别执行命令:
$yum install gcc-c++
$yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

2、可以使用命令查看下系统中是否存在nginx,如果存在不想要使用的版本,需要yum remove 掉,查找命令:
$rpm -qa nginx

3、开始安装,./configure后面的参数是安装路径,重命名后把源码解压位置和安装位置弄成一样的了,刚开始为了方便安装,后来发现使用起来很乱,不干净,不过不影响使用,大家安装的时候可以先不更改文件夹的名字,这样简洁。

# mv nginx-1.6.0.tar.gz /usr/local
# tar -zxv -f nginx-1.6.0.tar.gz
# mv nginx-1.6.0 nginx
# cd nginx
# ./configure --prefix=/usr/local/nginx/
# make && make install

4、在安装到make install的时候遇到了这样一个问题,大概描述如下:
make install
make -f objs/Makefile install
make[1]: Entering directory `/usr/local/nginx'
test -d '/usr/local/nginx/' || mkdir -p '/usr/local/nginx/'
test -d '/usr/local/nginx//sbin'                || mkdir -p '/usr/local/nginx//sbin'
test ! -f '/usr/local/nginx//sbin/nginx'                || mv '/usr/local/nginx//sbin/nginx'         '/usr/local/nginx//sbin/nginx.old'
cp objs/nginx '/usr/local/nginx//sbin/nginx'
test -d '/usr/local/nginx//conf'                || mkdir -p '/usr/local/nginx//conf'
cp conf/koi-win '/usr/local/nginx//conf'
cp"conf/koi-win" "/usr/local/nginx//conf/koi-win" 为同一文件
make[1]: *** [install] 错误 1
make[1]: Leaving directory `/usr/local/nginx'
make: *** [install] 错误 2

也就是cp: `conf/koi-win’ and `/usr/local/nginx/conf/koi-win’ are the same file的报错,是因为我们没有配置conf-path,更改操作步骤命令如下:
# ./configure --prefix=/usr/local/nginx/ --conf-path=/usr/local/nginx/nginx.conf
# make && make install

说明:这里的nginx.conf是nginx根目录下的,如果你安装的位置就是上面的,那你就这么来没错,这就是我刚开始安装把源码解压后和安装位置搞在一起的坏处,文件过多错乱。

5、到这里,我们已经完成了nginx的安装,需要配置防火墙,如果没有开启防火墙那最好了,因为nginx占用的是80端口,所以执行:
#修改防火墙配置: 
# vi + /etc/sysconfig/iptables
#添加配置项内容,很多端口的设置都可以在这里添加,比如其他服务会用到的5080 1935 8080等,博主把防火墙给关掉了,以绝后患。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
 
#重启防火墙和网络配置
# service iptables restart
# /etc/init.d/network restart

6、启动验证安装成果两种方法如下,常用的下面那种。
#方法1 
# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#方法2 
# cd /usr/local/nginx/sbin 
# ./nginx

7、其他操作可查看帮助信息
./sbin/nginx -h
常用的停止命令stop,停止relaod
./sbin/nginx -s stop

8、查看端口使用情况,netstat –na|grep 80,在Windows浏览器测试,http://ip:80。
成功页面显示,Welcome to nginx等内容。

9、其他操作,可配置启动命令脚本文件,开机启动程序,这里就不过多介绍。

=======================分界线=======================
五、安装Freeswitch

1、如果仅仅看博主的文章,估计也只能帮助你安装软件而已,如果想了解更多使用上的操作,还需要另找文档啦,比如如何测试,哪些开放的用户啊,9999啊之类的。而且在安装的过程中也会出现各种依赖组件包的问题,需要我们一个一个的解决掉,比较麻烦,一下记录的问题不全面,当时遇到了好多,但在谷歌都能找到解决办法,就是要认真仔细的去找才能行。下载的是源码编译包,所以就老套路了,加上遇到的问题,如下:

yum install -y subversion autoconf automake libtool gcc-c++ ncurses-devel make

2、下载openssl-1.0.1f.tar.gz包,解压
tar -zxvf openssl-1.0.1f.tar.gz
cd openssl-1.0.1f
./config --prefix=/usr/openssl101f -fPIC
make
make install

3、解压安装freeswitch-1.4.17.tar.gz
tar xvzf freeswitch-1.4.17-latest.tar.gz
cd freeswitch-1.4.17
./configure CFLAGS="-I/usr/openssl101f/include" LDFLAGS="-L/usr/openssl101f/lib"
make
make install

4、另外可能用到的依赖关系:
yum install autoconf automake gcc-c++ git-core libjpeg-devel libtool make ncurses-devel pkgconfig
yum install unixODBC-devel openssl-devel gnutls-devel libogg-devel libvorbis-devel curl-devel libtiff-devel libjpeg-devel python-devel expat-devel zlib zlib-devel bzip2 which
yum install sqlite-devel.x86_64

5、执行配置这一步可能遇到的问题:
问题1:configure: error: Library requirements (sqlite3 >= 3.6.20) not met
办法:
yum install sqlite-devel.x86_64
问题2:configure: error: Library requirements (libpcre >= 7.8) not met
办法:
yum install pcre*
问题3:configure: error: Library requirements (speex >= 1.2rc1 speexdsp >= 1.2rc1) not met
办法:yum install speex*
问题4:configure: error: You need to either install libldns-dev or disable mod_enum in modules.conf
办法:
按提示没有找到libldns-dev 包,所以我选择disable mod_enum,做法如下:
[root@localhost freeswitch]#vi modules.conf
#applications/mod_enum
问题5:提示libedit-dev找不到。办法:
 yum install libedit*

6、建立链接
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/local/bin/
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/local/bin/

7、freeswitch默认只支持声音,添加视频。修改conf/var.xml:
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>

<X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,PCMA,GSM,H264,H263-1998,H263"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM,H264,H263-1998,H263"/>

8、安装声音包freeswitch-sounds-en-us-callie-8000-1.0.50.tar.gz,在freeswitch目录下是可以看到已经存在的声音文件包的,选择性安装。

9、常用到的指令,可在启动后的界面看到,也可以查看帮助文档,这个是学习最快的方式
freeswitch -nc后台运行
fs_cli进入客户端;/exit退出客户端
freeswitch -stop停止freeswitch

10、主要介绍性的资料,在这里http://lion3875.blog.51cto.com/2911026/599416,另外这个在安装中遇到特别多的Error,这里并没有全部记录。
补充官方地址:https://freeswitch.org/confluence/display/FREESWITCH/CentOS+6,特别建议参考此处安装。

11、测试方法,在Windows机器上安装 X-Lite_Win32_4.7.1_74247.exe,然后设置新的账户,详细可以通过上面的博客地址完成,比较简单,语音播报挺不错的,这东西挺好用。

12、补充:
问题记录,在启动freeswitch的过程中,出现如下错误信息:
Cannot lock pid file /usr/local/freeswitch/log/freeswitch.pid.
则可断定此时freeswitch已经启动,并运行在后台,可在bin目录下把freeswitch控制台显示在前台,然后关闭。
即执行命令:./fl_cli 然后shutdown.

=======================分界线=======================
六、安装FFmpeg
由于博主使用的虚拟机中已经预先安置了ffmpeg,此处就不过多说明,建议参考官方文档,亦可参照其他博文。

=======================分界线=======================
七、安装Ruby

1、通过云盘分享下载ruby-1.9.3-p551.tar.gz,各个版本的ruby地址http://ftp.ruby-lang.org/pub/ruby/

2、准备安装的软件环境,其实大部分都已经安装过,不过没关系,系统会有提示,也不会重复安装。
yum -y install make gcc openssl-devel zlib-devel gcc gcc-c++ make autoconf readline-devel curl-devel expat-devel gettext-devel ncurses-devel sqlite3-devel mysql-devel httpd-devel wget which

3、解压,安装,没有制定目录的情况下都是默认安装位置
tar zxf ruby-1.9.3-p551.tar.gz
cd ruby-1.9.3-p551
./configure --prefix=/usr/local --disable-install-doc --with-opt-dir=/usr/local/lib
make && make install

4、可以通过如下命令找到ruby:whereis ruby
5、自行测试。

=======================分界线=======================
八、安装Red5

1、下载安装包,解压,安装,步骤都是差不多的,最难的是下载Red5的安装文件,相当不好找了,博主操作的时候,Red5官网是不能访问的。
tar xvf red5-server-1.0.5-RELEASE-server.tar.gz 
mv red5-server-1.0.5-RELEASE-server.tar /usr/share/red5 

2、可以设置系统自动启动,授权。
自启动脚本地址:http://bigbluebutton.googlecode.com/files/red5  因为脚本比较久了,所以我就没弄,又和Ubuntu系统下的自启动脚本比较了一下发现差别还是比较大的,还是决定手动启动吧,如果后续实践成功,再回过头来修改添加也是一样的。

3、启动Red5
cd /usr/share/red5/
./red5.sh

4、由于之前安装tomcat的时候启动测试,占用了9999端口,所以这个地方会报错,可参照博主其他博文解决,如果不着急测试也没关系,最终在整体配置的时候会修改此处。

=======================分界线=======================
九、安装redis 

由于内网有便捷命令安装,且不对外,所以需要的请自行解决,抱歉。

=======================分界线=======================
十、安装LibreOffice

1、下载LibreOffice_4.3.6_Linux_x86-64_rpm.tar.gz,其实在完成这一步之后才想起来没必要安装,Ubuntu是图形界面的Linux系统,CentOS不是,所以无所谓的。

2、 删除已安装的libreoffice or openoffice

# yum remove openoffice.org* libreoffice.org*

3、解压、 安装

# tar -xvf LibreOffice_4.3.6_Linux_x86-64_rpm.tar.gz

# cd /tmp/LibreOffice_4.3.6_Linux_x86-64_rpm/RPMS/

# yum localinstall *.rpm

# yum localinstall libreoffice4.3-freedesktop-menus-4.3.6*.noarch.rpm

4、 启动
#/opt/libreoffice4.3/program/soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard

=======================分界线=======================
十一、安装ImageMagick

2、安装地址,参照官网:http://www.imagemagick.org/script/install-source.php#unix或者博客http://koda.iteye.com/blog/1175968,推荐博客地址。
3、依赖包云盘下载或者官网下载,jpegsrc.v9a.tar地址http://www.ijg.org/files/

=======================分界线=======================
十二、安装BigBlueButton组件
之前有参考几个很古老的博客,上面有说可以通过官网下载到bigbluebutton.war部署包,又在Google BBB的论坛群组里找了好久发现it's not possible now!怒了,这简直可以说我这么多天就是安装卸载测试安装卸载测试一直在白努力呀,这怎么能符合积极进取的心态呢,于是就有了搬迁Ubuntu上已有环境到CentOS环境下的idea,说干就干。

最要感谢的Ubuntu提供这样好用的命令(也说明自己知识广度不够)

查询依赖关系
1、dulearn@learn:~$apt-cache depends bigbluebutton;
罗列出bigbluebutton依赖的内容,如bbb-config。

查询反依赖关系
2、dulearn@learn:~$apt-cache rdepends bigbluebutton;
罗列出谁依赖于bigbluebutton组件。

通过云盘下载的tar包是通过如下方式打包和解包的
简单的打包解包命令.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName

了解bigbluebutton的工作原理,迁移环境就不会茫然不知所措,所以我分四步走nginx、tomcat、red5、bigbluebutton下面按顺序说明:
切记:一定要测试通过一步,再往下弄,否则多而乱就更好操作啦。并请事先做好文件备份,如果信心充足可忽略。
1、迁移nginx
原理很简单也很笨拙,就是在ubuntu命令行查找nginx:locate nginx,然后根据显示内容,从上到下的顺序依次迁移,并更改配置文件内容,比如简单的目录位置,索引,IP,端口号,快捷操作,命令方式等。与nginx软件自身的环境无关,我们只关心配置文件。
在Ubuntu环境下的BBB安装比较不规则,我们需要按照配置依赖关系把其统一整理到CentOS环境下。熟悉了步骤一的操作,步骤二三四,操作就会很容易,因为写起来篇幅特别长,所以这里不打算记录,如果你对Ubuntu环境的BBB熟悉,那这不会是问题的,只少部分记录关键点位置。

2、迁移tomcat
原理都是一样的,还是查找,迁移然后更改配置,tomcat下面关键的就是webapps,直接复制替换。
3、迁移red5
red5我是整体替换掉的,也就是说我之前安装的red5被废弃,这样简直不用担心会出错,剩下就是更改配置,这一步够吃一壶的啦,因为除了客户端从物理地址获取外服务都在这里,特别麻烦。自行对比解决。
4、bigbluebutton
如果上述三步都按照要求来更改,这一步其实基本上是完成了,这个时候我们可以检查一下,比如
/var/www/bigbluebutton/client/conf/config.xml (bbb-client) 
                 IP for tunnel check: 72.42.96.157 
                  IP for rtmp (red5): 72.42.96.157 
          host for bbb-web interface: 72.42.96.157 

/etc/nginx/sites-available/bigbluebutton (configuration file nginx) 
                         server_name: 72.42.96.157 
                                port: 80 
                client document root: /var/www/bigbluebutton 

/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/ 
bigbluebutton.properties (bbb-web) 
                                host: localhost:80

/var/lib/tomcat7/webapps/bigbluebutton/demo/bbb_api_conf.jsp (API 
demos) 
                                host: 72.42.96.157 

以上内容来自Google BBB论坛

如果没有更改如上的这些IP地址就会报错,就是最上面的500错误。

java.lang.NullPointerException 
        at org.apache.jsp.demo.demo1_jsp.getJoinURL(demo1_jsp.java:220)

更改后,仍然是空指针,但是错误变成了503,也就是博主开头提到的错误,也就是我目前的工作进展。
猜想:是Red5里面组件服务没有配置造成,比如freeswitch服务,redis,ruby等等,待后续时间许可再完善。

ESL 是sip的协议内容,也就是涉及到的freeswitch配置,端口号也有,这样的问题还是能解决的。
最后附上官网FAQ地址就是解决500错误的说明。


上面的介绍使用安装等内容,如果存在任何疏漏错误,欢迎各位纠正,指教,如果你能看到这,实属不易,博文内容太多,写文章就用了2天时间,感谢党~。


=======================个人总结=======================

如果只是想了解本文核心内容的各位,看到这里您可以止步了,收藏点叉吐槽均可,下面是作者的一点点感悟。
经过我们这么多步骤的努力,终于到了涉及BBB的内容,前面所有的都是在做准备,可到这最关键的时候,发现BBB的官网已经不再提供bigbluebutton.war的下载了,虽然能够在Github上找到源码文件,但源码安装的方式不稳妥,BBB组件之间的依赖关系太强,很容易弄乱,思来想去,只能够另辟蹊径。由于之前有一台单独的ubuntu部署的机器环境,就考虑到能否把上面的内容拿过来用呢,联想到组件均是开源的且都支持多平台环境部署,那么理论上是不会存在问题的。于是经过反复的实践,发现还真的只能是停留在理论上。之前看到官网Wiki上有说CentOS搭建BBB的问题,缺陷不足,还是决定试一试。最终结果是没能搞定,不过如果再多些时间,或许可能就成功了呢!
反复想想,这其中的原因所在,耗费时间过多,可以归纳为以下几点:
1、自身能力有限,对CentOS环境不熟悉。
就像最初接触Ubuntu系统一样,CentOS也是完全陌生的东西,即使有一点点Red Hat的基础在,摆弄CentOS环境还是略有些吃力,些许现有的命令规则使用方法均不熟悉就必然导致整个尝试过程耗时较多,主要原因。
2、强依赖,问题多,易出错。
服务组件之间的依赖关系较强,即存在过多的需要手动更改的文件,对每个组件熟悉,有些了解才能解决好每个不用的功能配置,这点可以慢慢梳理,还不算大问题。最主要的是在安装过程中,比较容易出错,以swftools的安装为例说明,依赖的系统包不少于8个,需要手动安装的文件包3个,安装编译过程报错多达6种类,这还不包括语言包环境的设置。
3、安装包过多,部分无用。
如最上面表格中列,将近16个文件包需要手动安装,去除几个比较熟悉好弄的,大部分都没遇到过,甚至都是第一次听,还好有度娘和谷歌帮忙,其中在Ubuntu系统下使用的LibreOffice文件包,在CentOS环境没有什么用,下载安装完全是浪费,这也是没有在最初设定好路线所致,分析预研不到位造成。

那我学到了哪些东西呢?同样,归纳为以下几点:
1、熟悉了多种Linux环境使用操作,不同类型系统的安装方式,使用规则,测试方法,构建融合。
2、更深一层次的理解BBB组件之间的关系,服务组件导向,操作,配置,使用。
3、解决问题的方式方法,做好沟通,思维变换的模式。
4、拓宽了知识面,深度。

后续如果时间允许,还会在环境搭建上努力努力,官方不支持这样的服务没关系,我支持。
当下与Flex或者AS相关的工作,除了页游,能说的出的就是视频领域了,可做好的视频播放器万年也不变的,是不是这样的技术真的已经穷途末路?
拥抱变化,真的是时候改变一下了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章