本文讲述apache服务的移植,对于该web服务器的介绍和描述,本文不过多做介绍,请自己百度。
移植参考:http://www.cnblogs.com/shanchen/archive/2013/05/09/3070014.html
1、下载apache服务器。
下载地址:官方地址:http://archive.apache.org/dist/httpd/
本博客使用的版本:http://download.csdn.net/detail/yxtouch/6961805 建议使用本博客所使用的版本进行移植,以保证成功率。
2、解压压缩包并放到指定路径。
在/usr/local目录下建立两个目录/arm和/x64。将下载的压缩包解压并cp到两个目录下面,每个目录一份。
解压压缩包:
tar -xvf apache_1.3.9.tar.gz
复制解压文件到指定目录:
sudo cp -R apache_1.3.9 /usr/local/arm/
sudo cp -R apache_1.3.9 /usr/local/x64/
3、进入/usr/local/x64编译pc上使用的apache。
cd /usr/local/x64/apache_1.3.9/
步骤一、首先进入src目录下,执行如下命令生成makefile文件:
sudo ./Configure
步骤二/回到上层目录,先后执行如下命令进行配置和编译:
sudo ./configure
sudo make
make过程中可能出现 error: conflicting types for ‘getline’的错误提示,这是因为这里的getline函数和系统中的getline函数冲突了,所以找到相应的位置,将该函数改成其他名字,本文中改为_getline。该完之后重新make。好像是改到4到5个文件,按照提示该吧,呵呵。
make成功后会在src/main目录下生成:gen_test_char和gen_uri_delims两个可执行文件。先别管怎么用,继续。
4、进入/usr/local/arm下编译arm使用的apache。先进入src目录配置生成makefile
cd /usr/local/arm/apache_1.3.9/src/
步骤一、先后执行如下命令生成Makefile文件:
首先修改工具链:
export CC="arm-linux-gcc"
然后配置生成makefile文件
sudo ./Configure
步骤二、进入上一层目录,先后执行如下命令进行配置和编译:
export CC="arm-linux-gcc"
sudo ./configure
sudo make
步骤三、安装
sudo make install
此服务程序安装在/usr/local目录下。
5、把在 /usr/local/下生成的目录 apache拷贝到你的开发板根文件系统的 …/usr/local/ 目录下。
6、修改配置http.conf文件。在…/usr/local/apache/conf/ 目录下,用文本编辑器打开。
还有注意的是,apache拒绝使用root用户运行。所以你需要增加一个用户和用户组,我们可以使用 http.conf配置文件默认的用户名和用户组名,nobody和nobody。具体来说就是在ARM Linux根文件系统上建立/etc/passwd和/etc/group两个文件,它们的内容可以如下:
/etc/passwd
root::0:0:root:/:/bin/ash
nobody::65534:65533:nobody:/:/bin/ash
/etc/group
nobody::65533:
nogroup::65534:nobody
root::0:
users::100
如果rootfs中有这两个文件,那么就只需要检查一下是不是有nobody用户和nogroup组。
7、配置完之后,将 httpd 应用程序 拷贝到 /usr/sbin 文件夹下并 设置其为 开机自启动。向 /etc/init.d/rc 文件 最后 添加 命令 httpd。
8、在你的浏览器下面输入你的开发板 IP地址,这样你就可以看见一个测试网页了。