Ubuntu下安装Flex Module for Apache and IIS

月中的时候Adobe labs放出了这个Flex Module for Apache and IIS, 这个编译模块可以让您直接在线编译您的flex文件,有点类似FDS的直接访问.mxml文件,后台自动编译要访问的文件,然后直接将编译好的SWF用 HTML封住好返回给我们,不过和FDS不同,这个不需要任何的服务器技术,只需要apache服务器上安装有JRE和Flex SDK就可以了。

其实这个的原理也是很简单,首先在apache中增加一个 Handler,用于处理.mxml文件的访问。然后apache收到.mxml文件的访问时调用编译器编译.mxml文件,当然这里使用的增量编译以减 少后续访问的编译时间。而Apache对编译器的调用就更加的简单,直接就是一个java的调用,类似如下:

 
   

这个调用一目了然,不需要我多说吧?嘿嘿...

Ubuntu下安装如下,首先到labs网站下载安装文件。

 
   

接着就会出现一个安装画面,需要我们输入Flex2 SDK的位置,Apache配置文件的位置,以及一些Flex Module for Apache and IIS的设置。以上安装会将Flex Module for Apache and IIS的大部分文件安装到你的SDK同一目录中,其中$FLEX_SDK/modules/mod_flex.so就是apache中处理.mxml文件 访问的模块。

因为Ubuntu中,Apache的配置缺省配置都存放在 /etc/apache2.conf文件中,而前面的安装程序需要通过检测httpd.conf文件来检测系统中安装的apache版本,所以在 Ubuntu中就不能检测到正确的Apache版本而使用缺省的2.0版本的mod_flex.so,进而启动Apache的时候就会报如下错误:

 
   

解决的方法是自己从安装文件中解压出对应版本的Apache module文件,Flex Module for Apache and IIS的安装程序是用InstallAnywhere打包的,所以我们可以用如下方法解压出我们需要的文件:

首先,运行安装程序,然后点击OK,出现第一个介绍画面后停下来不要再点击。

现在,在/tmp目录下会有一个类似install.dir.15138 的文件夹,这个就是InstallAnywhere临时解压出来用于安装过程使用的文件存放路径,其中 /tmp/install.dir.15138/InstallerData/Disk1/InstData/Resource1.zip包含所有的 Flex Module for Apache and IIS需要的文件。

解压Resource1.zip这个文件,在解压出来文件的$ IA_PROJECT_DIR$/data/mods目录包含所有平台所有apache版本的模块文件。其中linux_zg_ia_sf.jar包含所 有linux版本的.so文件(其他的macos_zg_ia_sf.jar包含mac平台的apache模块文件,win目录下是所有win平台的 dll文件)。

解压linux_zg_ia_sf.jar,将2.2目录下的mod_flex.so复制到$FLEX_SDK/modules/mod_flex.so,Apache就可以正常启动了。

为了便于大家安装,我已经将以上提到的文件剥离出来了,使用Apache 2.2的朋友可以直接点击这里下载2.2的.so文件,其他版本或其他平台的用户请下载这个包含所有平台的压缩包。

Apache启动后,不要访问官方说明中的http: //localhost/Main.mxml测试,因为前面安装程序的BUG,实际上这个Main.mxml是不存在的,而目前的Beta版本的在线编译 器会一直对于不存在文件不存在会一直死循环编译下去的。所以请访问http://localhost/samples测试相应的例子应用好了。

更多Flex Module for Apache and IIS信息请访问Adobe Labs网站。

PS:这个Hotfix 1 for Flex 2.0.1 SDK大家关注下,建议立刻升级您的Flex SDK,修复了不少的BUG哦!

你可能感兴趣的:(Ubuntu下安装Flex Module for Apache and IIS)