apache-1.3.39在ARM上的移植

来源:互联网 发布:warframe淘宝白金 编辑:程序博客网 时间:2024/06/06 01:34

一:

1.apache-1.3.39下载:

  http://pan.baidu.com/s/1nuZuR2p

2.解压

解压两份 分别为作为 本地编译的源码,交叉编译的源码;

命令:tar xzvf apache_1.3.39.tar.gz  -C /home  //本地编辑源码

          tar xzvf apache_1.3.39.tar.gz  -C /local    //交叉编辑源码

二:本地编辑的配置

   1.cd /home/apache_1.3.39/src (进入的是src文件夹)

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

   2.  cd /home/apache_1.3.39

       ./configure

   3.getline全部修改为 _getline

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

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

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

   4.生成test_char.h  uri_delims.h

      cd /home/ apache_1.3.39

      make

     (在apache_1.3.39/src/main目录下就会生成我们交叉编辑中需要的文件test_char.h 和 uri_delims.h)

三: 配置交叉编译的源码 

         1.交叉编辑

          cd /local/apache_1.3.39

         CC=arm-linux-gcc ./configure --prefix=/local/apache-1.3.39

       2.getline全部修改为 _getline

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

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

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

        3.移动test_char.h 和 uri_delims.h

           make

           cp /home/apache_1.3.39/src/main/test_char.h /local/apache_1.3.39/src/main

           make

           cp /home/apache_1.3.39/src/main/uri_delims.h /local/apache_1.3.39/src/main

           make

        4.

             make install;

        

    四:ARM上的配置.

   1.依次执行如下命令,删除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左右。

 

2. 修改配置文件httpd.conf

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

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

   第251行,将Group的值由nogroup改为nobody

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

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

 

3.运行新移植的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.1.187:8000                       

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

 

4.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 &


原创粉丝点击