Android + Mini2440 无线网络视频监控系统(二)Apache + PHP 的

一、apache的移植

从 上下载apache_1.3.36.tar.gz,然后解压缩的一个目录。

使用本地的gcc编译这个版本,我用的是Fedora14上的arm-linux-gcc4.4.3,运行:./configure生成makefile文件,make 完成后,不需要make install(如果安装的话,会把pc上的apache安装到默认目录下,此处是usr/local/apache)。

运行make 命令,这时编译会在apache_1.3.36/src/main/gen_test_char处失败,因为arm版本该程序无法在本地机器运行,你需要把前面编译的本地版本的apache_1.3.36/src/main/gen_test_char覆盖这个arm版本,然后转到arm版本的apache_1.3.36下继续make,随后编译到另一个程序apache_1.3.36/src/main/gen_uri_delims也出现相同的问题,也使用本地版本覆盖掉它,继续make,直到最后编译成功。

# make install

这就编译好了!

还需要配置apache/conf/httpd.conf 来设置服务器的功能,见下面。

移植到rootfs中,由于配置apache的时候“prefix”参数指定的安装位置是/usr/local/apache_arm,所以制作好的文件在/usr/local/apache_arm中,将apache拷贝到rootfs中的usr/local/中

# cp /usr/local/apache_arm /nfsroot/rootfs/usr/local/apache_arm / -rf

二、PHP的安装

交叉编译php同样需要两个步骤:1.编译本机代码;2.利用本机代码进行交叉编译。原因我就不重复了,假设为本机编译的php代码已经解压缩到/home/sg131971/php-4.4.8-i586,为ARM编译的php代码已经解压缩到/home/ sg131971/php-4.4.8,,交叉编译器arm-linux-gcc已设缺省路径,具体步骤还是用命令来说明:

# cd /home/sg131971/php-4.4.8-i586# ./configure# make

在编译的同时,可以打开/home/ sg131971/php-4.4.8/configure这个文件,搜索“can not run test program while cross compiling”,会搜索到很多个这样的结果:

{echo "configure: error: can not runtest program while cross compiling" 1>&2;exit 1;}

把它们都改为

{ echo "configure: error: can not runtest program while cross compiling" 1>&2; }

这样做的目的是直接无视交叉编译测试程序错误。

#cd /home/sg131971/php-4.4.8#CC=arm-linux-gcc ./configure–prefix=/usr/local/php_arm –host=arm-linux –target=arm-linux –enable-sockets

别以为可以编译了,还有东西要修改,打开/home/sg131971/php-4.4.8/Makefile,找到这段

install-pear-packages:$(top_builddir)/sapi/cli/php@$(top_builddir)/sapi/cli/php$(PEAR_INSTALL_FLAGS) /home/sg131971/php-4.4.8/pear/install-pear.php-d "$(peardir)" -b "$(bindir)" /home/sg131971/php-4.4.8/pear/packages/*.tar

用上我们刚才编译的本机php里的文件,把它改成

install-pear-packages: /home/sg131971/php-4.4.8-i586/sapi/cli/php@/home/sg131971/php-4.4.8-i586/sapi/cli/php$(PEAR_INSTALL_FLAGS) /home/sg131971/php-4.4.8/pear/install-pear.php -d"$(peardir)" -b "$(bindir)" /home/sg131971/php-4.4.8/pear/packages/*.tar

现在终于可以编译了

# cd /home/sg131971/php-4.4.8

# make# make install# exit

这样php就编译完成了。

三、Apache与PHP的配置

需要修改/nfsroot/rootfs/usr/local/apache_arm/conf/httpd.conf文件,此处我就直接将该文件贴出来来了!O(∩_∩)O~

ServerType standaloneServerRoot "/usr/local/apache_arm"PidFile /usr/local/apache_arm/logs/httpd.pidScoreBoardFile /usr/local/apache_arm/logs/httpd.scoreboardTimeout 300KeepAlive OnMaxKeepAliveRequests 100KeepAliveTimeout 15MinSpareServers 5MaxSpareServers 10StartServers 5MaxClients 150MaxRequestsPerChild 0User nobodyGroup nobodyServerAdmin sg131971@qq.comServerName DocumentRoot "/usr/local/apache_arm/htdocs"<Directory />Options FollowSymLinksAllowOverride None</Directory><Directory "/usr/local/apache_arm/htdocs">Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory><IfModule mod_userdir.c>UserDir public_html</IfModule><IfModule mod_dir.c>DirectoryIndex index.htmlDirectoryIndex index.phpDirectoryIndex index.php3DirectoryIndex index.phtml</IfModule>AccessFileName .htaccess<Files ~ "^\.ht">Order allow,denyDeny from allSatisfy All</Files>UseCanonicalName On<IfModule mod_mime.c>TypesConfig /usr/local/apache_arm/conf/mime.types</IfModule>DefaultType text/plain<IfModule mod_mime_magic.c>MIMEMagicFile /usr/local/apache_arm/conf/magic</IfModule>HostnameLookups OffErrorLog /usr/local/apache_arm/logs/error_logLogLevel warnLogFormat "%h %l %u %t \&;%r\&; %>s %b \&;%{Referer}i\&; \&;%{User-Agent}i\&;" combinedLogFormat "%h %l %u %t \&;%r\&; %>s %b" commonLogFormat "%{Referer}i -> %U" refererLogFormat "%{User-agent}i" agentCustomLog /usr/local/apache_arm/logs/access_log commonServerSignature On<IfModule mod_alias.c>Alias /icons/ "/usr/local/apache_arm/icons/"<Directory "/usr/local/apache_arm/icons">Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>Alias /manual/ "/usr/local/apache_arm/htdocs/manual/"<Directory "/usr/local/apache_arm/htdocs/manual">Options Indexes FollowSymlinks MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory>ScriptAlias /cgi-bin/ "/usr/local/apache_arm/cgi-bin/"ScriptAlias /php4/ "/usr/local/php_arm/bin/"<Directory "/usr/local/apache_arm/cgi-bin">AllowOverride NoneOptions NoneOrder allow,denyAllow from all</Directory></IfModule><IfModule mod_autoindex.c>IndexOptions FancyIndexingAddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzipAddIconByType (TXT,/icons/text.gif) text/*AddIconByType (IMG,/icons/image2.gif) image/*AddIconByType (SND,/icons/sound2.gif) audio/*AddIconByType (VID,/icons/movie.gif) video/*AddIcon /icons/binary.gif .bin .exeAddIcon /icons/binhex.gif .hqxAddIcon /icons/tar.gif .tarAddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .ivAddIcon /icons/compressed.gif .Z .z .tgz .gz .zipAddIcon /icons/a.gif .ps .ai .epsAddIcon /icons/layout.gif .html .shtml .htm .pdfAddIcon /icons/text.gif .txtAddIcon /icons/c.gif .cAddIcon /icons/p.gif .pl .pyAddIcon /icons/f.gif .forAddIcon /icons/dvi.gif .dviAddIcon /icons/uuencoded.gif .uuAddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tclAddIcon /icons/tex.gif .texAddIcon /icons/bomb.gif coreAddIcon /icons/back.gif ..AddIcon /icons/hand.right.gif READMEAddIcon /icons/folder.gif ^^DIRECTORY^^AddIcon /icons/blank.gif ^^BLANKICON^^DefaultIcon /icons/unknown.gifReadmeName README.htmlHeaderName HEADER.htmlIndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</IfModule><IfModule mod_mime.c>AddLanguage da .dkAddLanguage nl .nlAddLanguage en .enAddLanguage et .eeAddLanguage fr .frAddLanguage de .deAddLanguage el .elAddLanguage he .heAddCharset ISO-8859-8 .iso8859-8AddLanguage it .itAddLanguage ja .jaAddCharset ISO-2022-JP .jisAddLanguage kr .krAddCharset ISO-2022-KR .iso-krAddLanguage nn .nnAddLanguage no .noAddLanguage pl .poAddCharset ISO-8859-2 .iso-plAddLanguage pt .ptAddLanguage pt-br .pt-brAddLanguage ltz .luAddLanguage ca .caAddLanguage es .esAddLanguage sv .svAddLanguage cs .cz .csAddLanguage ru .ruAddLanguage zh-TW .zh-twAddCharset Big5.Big5 .big5AddCharset WINDOWS-1251 .cp-1251AddCharset CP866.cp866AddCharset ISO-8859-5 .iso-ruAddCharset KOI8-R.koi8-rAddCharset UCS-2.ucs2AddCharset UCS-4.ucs4AddCharset UTF-8.utf8<IfModule mod_negotiation.c>LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw</IfModule>AddType application/x-tar .tgzAddType application/x-httpd-php .php3AddType application/x-httpd-php .phpAddType application/x-httpd-php .phtmlAddEncoding x-compress .ZAddEncoding x-gzip .gz .tgz</IfModule>Action application/x-httpd-php "/php4/php"<IfModule mod_setenvif.c>BrowserMatch "Mozilla/2" nokeepaliveBrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0BrowserMatch "RealPlayer 4\.0" force-response-1.0BrowserMatch "Java/1\.0" force-response-1.0BrowserMatch "JDK/1\.0" force-response-1.0</IfModule>大多数人想要改造这个世界,但却罕有人想改造自己。

Android + Mini2440 无线网络视频监控系统(二)Apache + PHP 的

相关文章:

你感兴趣的文章:

标签云: