移植apache-1.3.39到arm平台

准备工作:

  下载 apache_1.3.39.tar.gz

  下载链接:http://download.csdn.net/detail/liangzhuangdongtou/9581434

  解压缩apache_1.3.39.tar.gz到两个文件夹(apache_1.3.39_host和apache_1.3.39_target)

    #tar xzvf apache_1.3.39.tar.gz

    #mv apache_1.3.39 apache_1.3.39_host (用来进行本地编译)

    #tar xzvf apache_1.3.39.tar.gz apache_1.3.39

    #mv apache_1.3.39 apche_1.3.39_target (用来进行交叉编译)

 

1. 配置本地编译的源码

    #cd ~/apache_1.3.39_host/src (进入的是src文件夹)

    #./Configure (其中的C为大写)

    #cd ..

    #./configure

 

2.在正式开始编译之前,先使用vim对源码中的3个C文件进行修改。

    apache_1.3.39_host/src/support/htpasswd.c   第101行、第550行

    apache_1.3.39_host/src/support/htdigest.c    第74行、第161行、第219行

    apache_1.3.39_host/src/support/logresolve.c 第74行、第281行、第329行

       将上述位置的函数名getline全部修改为 _getline。

 

3.本地编译生成头文件test_char.h 和 uri_delims.h

    #cd ~/ apache_1.3.39_host  

   #make

   在apache_1.3.39_host/src/main目录下就会生成我们需要的文件test_char.h 和 uri_delims.h

 

4.  配置交叉编译的源码

    #cd ~/apache_1.3.39_target 

    #CC=arm-linux-gcc ./configure --prefix=/usr/local/apache1.3.39/

    修改交叉编译的源码

    按照第2步给出的方法,修改以下3个C文件:

     apache_1.3.39_target/src/support/htpasswd.c  

     apache_1.3.39_target/src/support/htdigest.c  

    apache_1.3.39_target/src/support/logresolve.c

 

5.  三次make完成交叉编译

   #make

   第一次报错:将apache_1.3.39_host/src/main目录下的test_char.h复制到apache_1.3.39_target/src/main目录下,使用的命令如下:

    #cp ../apache_1.3.39_host/src/main/test_char.h src/main

    然后第2次输入make命令

    #make

   将apache_1.3.39_host/src/main目录下的uri_delims.h复制到apache_1.3.39_target/src/main目录下,使用的命令如下:

    #cp ../apache_1.3.39_host/src/main/uri_delims.h src/main

   最后第3次输入make命令

   #make 

   第3次make编译成功

 

6.  安装Apache到/home/lium/apache1.3.39

    执行如下命令安装Apache:

    #make install

 

7.  精简安装目录apache1.3.39

   依次执行如下命令,删除apache最小系统中的冗余文件。

    #cd ../apache1.3.39

    #rm -rf cgi-bin icons include libexec man proxy                         

    #rm -rf htdocs/*                                                    

    #cd bin/                                                          

    #rm ab apxs dbmmanage logresolve apachectl checkgid htdigest rotatelogs    

    #cd ../conf 

    #rm *.default                                                     

    #rm access.conf magic srm.conf 

    #cd ..  

  依次执行如下命令,创建能显示“hello world!”的主页。

   #cat>htdocs/index.html<<EOF                                       

   #hello world!                                                      

   #EOF   

   执行如下命令,减小bin目录下的可执行文件的大小。

    #arm-linux-strip bin/*                                         

   执行如下命令,在apache1.3.39目录下创建passwd子目录,将来用以存储用户密码文件。

   #mkdir passwd

  精简完毕后,我们最终得到的apache1.3.39总大小在700~800 kB左右。

 

8. 修改配置文件httpd.conf

  使用vim打开apache1.3.39/conf目录下的httpd.conf,做如下修改。

   第236行,将Port的值由8080改为8000;

   第276行,使能ServerName并将其值改为192.168.99.187:8000,其中192.168.99.187即为400的IP地址;

   第324行,将Allowoverride的值由None改为All;

 

9.运行新移植的apache

   移植交叉编译好的Apache文件夹到arm板的相同位置

  输入如下命令启动apache1.3.39:

   #cd apache1.3.39/bin                              

   #./httpd -f /home/lium/apache1.3.39/conf/httpd.conf start 

  (例如,我自己移植后的命令为:./httpd -f /usr/local/apache-1.3.39-arm/conf/httpd.conf start)

  打开自己桌面PC上的浏览器,在地址栏中输入

  http://192.168.99.187:8000                              

  如果页面左上角出现了“hello world!”,那么我们的apache就已经移植成功了!

 

10.apache设置为开机自动启动

  etc\rc.d目录下的rcS中,添加内容:(其中apache-1.3.39-arm是对应的安装目录)

chmod -R 777 /usr/local/apache-1.3.39-arm
export PATH=/usr/local/apache-1.3.39-arm:$PATH
/usr/local/apache-1.3.39-arm/bin/httpd -f /usr/local/apache-1.3.39-arm/conf/httpd.conf start &

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值