Apache1.3.39在ARM9-LINUX上的移植文档_第1页
Apache1.3.39在ARM9-LINUX上的移植文档_第2页
Apache1.3.39在ARM9-LINUX上的移植文档_第3页
Apache1.3.39在ARM9-LINUX上的移植文档_第4页
Apache1.3.39在ARM9-LINUX上的移植文档_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Web服务器Apache在400上的移植一、 移植Apache之前的准备工作1、 新建超级终端连接 在自己的计算机上打开超级终端,位置为 开始 -> 所有程序 -> 附件 -> 通讯 -> 超级终端 。图1 新建超级终端连接输入新建连接的名称,如图1所示,图中新建连接的名称为 apache-400 。点击确定之后出现图2所示对话框,在“连接时使用”列表中选择COM1 。图2 设置连接端口点击确认之后,出现COM1属性设置对话框,如图3所示,将系统默认属性修改为图3所示的设定值。然后依次点击 “应用”、“确定”,完成超级终端的设置。图3 COM1属性设置2、 启动目标板4

2、00用串口线将400上的Console端口和计算机的COM端口连接起来,然后将局域网网线接至400的Lan1网口。400上电之后,如果出现图4所示内容,说明串口通信成功,超级终端设置正确。图4 U-Boot启动界面U-Boot启动之后不要有任何键盘输入,以使U-Boot完成自启动,加载linux系统,等待约40秒后,linux系统启动完成,超级终端出现login,等待用户登录,我们以root用户登录,Password无,直接回车,登录过程如图5所示。图中可以看出,系统初始工作目录为/root (pwd命令输出),且/root目录下当前没有任何文件(ls命令输出)。图5 目标板linux系统登录

3、需要注意的是,400上的根文件系统是RamDisk实现的, 断电之后之前所有的改动都会消失,所以Apache移植过程中应保持供电状态。系统登录成功以后,在命令行中输入ifconfig命令查看400的IP地址,输出内容如图6所示。从图中可知网卡eth0的MAC地址为12:34:56:78:E2:44,400的IP地址TargetIP=87,TargetIP 比较重要,在后面的移植中会用到。 图6 查看400的IP地址3、 登录工作服务器由于交叉编译工具链是安装在214服务器的,所以编译过程要在214服务器上完成,所以要先登录服务器,在自己的计算机上使用putty登陆214

4、服务器,在系统提示下输入用户名和密码,在这里我的用户名是lium,过程如图7所示。在图7中所示的内容中可以看出服务器的IP地址HostIP =14 ,HostIP我们后面会用到。图7 登陆工作服务器我们使用的交叉编译工具链在214服务器上的路径是/usr/local/arm/2.95.3/bin ,使用echo $PATH命令查看环境变量PATH的内容,发现并没有/usr/local/arm/2.95.3/bin,输入命令PATH=$PATH:/usr/local/arm/2.95.3/bin添加/usr/local/arm/2.95.3/bin到PATH变量中去,操作

5、过程如图8所示。需要说明的是,修改过的PATH仅在本次登录中有效,再次登录后需要按如上方法重新设置PATH变量。 图8 修改环境变量PATH二、 Apache1.3.39的交叉编译输入命令cd (回车)wget /dist/httpd/apache_1.3.39.tar.gz (回车)从Apache官方网站上下载apache1.3.39的源码包到自己的用户目录下即/home/lium/。1. 解压源码包,制作两个解压包副本依次输入以下命令:tar xvzf apache_1.3.39.tar.gz (回车)mv apache_1.3.39 apa

6、che_1.3.39_host (回车)tar xvzf apache_1.3.39.tar.gz (回车)mv apache_1.3.39 apache_1.3.39_target (回车)apache1.3.39的默认安装目录为/usr/local/apache,但这里使用的用户lium在214服务器/usr/local目录下没有写权限,所以我们只能将apache安装在自己的用户目录下,使用命令mkdir apache1.3.39 (回车)在用户目录/home/lium下创建子目录apache1.3.39,将来我们编译好的apache就安装在这个目录下。全部完成后新增的3个目录如图9所示。

7、图9 用户目录下的新增目录到目前为止,apache_1.3.39_host和apache_1.3.39_target两个目录下的内容完全一致,都是解压过的apache源码。apache_1.3.39_host下的源码用来进行本地编译,生成交叉编译必须的两个文件test_char.h 和 uri_delims.h ,而apache_1.3.39_target则用来进行交叉编译,最终生成能在400上运行的可执行文件。2. 配置本地编译的源码依次输入以下命令: cd /apache_1.3.39_host/ (回车) export CC=gcc (回车) export LD=ld (回车) expo

8、rt RANLIB=ranlib (回车) cd src/ (回车) ./Configure (回车) cd . (回车) ./configure (回车)3. 修改本地编译的源码在正式开始编译之前,先使用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行将上述位置的函数

9、名getline全部修改为 _getline 。4. 本地编译生成头文件test_char.h 和 uri_delims.h输入如下命令:cd / apache_1.3.39_host (回车)make (回车)如果make过程中系统没有报错,说明本地编译成功,在apache_1.3.39_host/src/main目录下就会生成我们需要的文件test_char.h 和 uri_delims.h,如图10所示。图10 本地编译生成的test_char.h 和 uri_delims.h5. 配置交叉编译的源码依次输入以下命令,完成对交叉编译的源码的配置。 cd ./apache_1.3.39_t

10、arget/ (回车) export CC=arm-linux-gcc (回车) export LD=arm-linux-ld (回车) export RANLIB=arm-linux-ranlib (回车) cd src/ (回车) ./Configure (回车) cd . (回车) ./configure -prefix=/home/lium/apache1.3.39 (回车)6. 修改交叉编译的源码按照第3步给出的方法,修改以下3个C文件:apache_1.3.39_target/src/support/htpasswd.c apache_1.3.39_target/src/suppo

11、rt/htdigest.c apache_1.3.39_target/src/support/logresolve.c 7. 三次make完成交叉编译输入如下命令:cd /apache_1.3.39_target (回车)make (回车)第1次make报错,如图11所示。图11 交叉编译第1次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次输

12、入make命令make (回车)第2次make仍然报错,如图12所示图12 交叉编译第2次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编译成功!8. 安装Apache到/home/lium/apache1.3.39执行如下命令安装Apache: make install (回车) 如果看到

13、系统输出图13所示的提示信息,说明Apache已经安装成功。图13 apache安装成功9. 精简安装目录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 *.d

14、efault (回车) 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总大小在70080

15、0 kB左右。10. 修改配置文件httpd.conf 使用vim打开apache1.3.39/conf目录下的httpd.conf,做如下修改。第236行,将Port的值由8080改为8000 ;第251行,将Group的值由nogroup改为nobody ;第276行,使能ServerName并将其值改为87:8000 ,其中87即为400的IP地址 ;第324行,将Allowoverride的值由None改为All ;三、 Apache1.3.39在目标板400上的调试运行1.文件从214服务器转移到400使用如下命令将配置好的文件apac

16、he1.3.39打包成压缩文件apache1.3.39.tar.bz2 。cd (回车)tar cvjf apache1.3.39.tar.bz2 apache1.3.39/* (回车)打开与400通信的超级终端,使用如下命令在/home目录下创建名为lium的子目录,然后切换工作目录。cd /home (回车)mkdir lium (回车)cd lium (回车)使用ftp工具将214服务器上的apache1.3.39.tar.bz2下载到/home/lium ,所用命令及过程如图14所示。从图中可知,登录期间214服务器要求输入用户名和密码,使用用户lium登录成功后,214服务器将ftp

17、在服务器上的初始工作目录设定为/home/lium 。由于apache1.3.39.tar.bz2就放在/home/lium目录下,所以直接使用get apache1.3.39.tar.bz2 命令就可以下载到压缩文件。最终文件被下载到400上新建的lium子目录中。使用如下命令将压缩文件解压:tar xvjf apache1.3.39.tar.bz2 (回车)解压之后得到最终的文件apache1.3.39 。图14 ftp下载压缩文件apache1.3.39.tar.bz22.运行新移植的apache输入如下命令启动apache1.3.39:cd apache1.3.39/bin (回车).

18、/httpd -f /home/lium/apache1.3.39/conf/httpd.conf start (回车)打开自己桌面PC上的浏览器,在地址栏中输入87:8000 (回车)如果页面左上角出现了“hello world!”,那么我们的apache就已经移植成功了!3.为apache添加权限控制在工作目录/home/lium/apache1.3.39/bin下执行htpasswd创建授权用户,创建过程如图15所示,图中创建了用户adm ,htpasswd要求两次输入新建用户adm的密码,执行成功之后会在目录/home/lium/apache1.3.39/passwd下生成一个名为password的文件,示例中使用的密码是adm,从图15中可以看出,实际存储在password中的密码是经过加密的。图15 创建授权用户使用命令cd /home/lium/apache1.3.39/htdocs切换工作目录到htdocs下,在超级终端中使用vi编辑器创建名为 .htaccess 的文本文件,文件内容如下:A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论