前些日子移植了boa服务器,今天打算尝试一下apache服务器。
本来是在ubuntu11.04上进行编译,无奈库文件确实缺少很多,然而时间又紧。
所以便在fodera9.0完成的编译,关于ubuntu上的以后有时间在解决。
首先下载apache源码
这个网上还是挺好找的,我是用的开发板自带的。
来总体说一下步骤吧
Apache源码需要编译两次,一次是直接执行make 一次需要使用交叉编译器。
就是编译出两个版本一个是PC机使用的,一个是arm开发板上使用的
那第一个版本有什么用呢?你肯定会这么问,第一个pc机使用是第二个arm开发板上
使用的编译通过的条件,因为第二个的编译过程需要使用第一个中的两个文件。
大致步骤说完了,那么就开始吧。
首先把用户切换到超级用户,
解压apache源码
先建立两个文件
#mkdir /home/apache #
mkdir /home/apache-arm
分别解压apache源码到以上两个目录
#tar xvzf apach-版本号 -C /home/apache
#tar xvzf apach-版本号 -C /home/apache-arm
再在/home/apache-arm下建立一个目录名字是apache
然后进入/home/apache
执行以下两条命令
#./configure
#make
这样就完成了apach的本机编译了
接着编译开发板版本
进入/home/apach-arm目录
#CC=arm-linux-gcc./configure--prefix=/home/apache-arm/apache
会出来这样的提示,
/helpers/TestCompile: line 294:
/home/apache-arm/src/helpers/testfunc:
Cannotexecutebinaryfile
因为交叉编译的生成的testfunc这个工具不能在
PC 上执行,(因为生成的是二进制文件)但可以不理会它.
接着把/home/apache/src/main 下的gen_uri_delims,gen_test_char
考到/home/apache-arm/src/main替换掉该目录下的相同文件
#cp –rf /home/apache/src/main/gen_uri_delims /home/apache-arm/src/main
#cp –rf /home/apache/src/main/ gen_test_char /home/apache-arm/src/main
接下来还必须建立nobody用户和nogroup组,因为apache拒绝使用
root用户运行。具体来说就是在ARMLinux根文件系统上建立
/etc/passwd /etc/group
和 两个文件。它们的内容可以如下:
#gedit /etc/passwd
root::0:0:root:/:/bin/ash
nobody::65534:65533:nobody:/:/bin/ash
#gedit /etc/group
nobody::65533:
nogroup::65534:nobody
root::0:
users::100:
这里借用了刚才编译生成的本机代码里的工具,然后
#make
#makeinstall
接着在/home/apache-arm下
执行
#make
#make install
接着把/home/apache-arm/apache目录和里面的文件一起考到开发板上。
如考到/usr/local
接着执行
#cd/usr/local/apache_arm/bin
#./apachectlstart
使用网线将开发板和电脑连起来。在浏览器里打你开发板的址即可、
http://210.46.98.112:8080
501: Not Implemented!
no www-folder configured
会产生这样的打印信息。
这样你的apache服务器就一直完毕了