移植Sqlite2+PHP5.2+apache1.3到ARM平台
提醒:在整个移植的过程中注意各软件包的版本 本文中Sqlite使用的是Sqlite2.8.17.tar.gz,Apache使用的是1.3.39,PHP使用的5.2.13 一:Sqlite数据库移植 1)下载sqlite2.8.17.tar.gz,(版本号至少应该保存前两位对应) 2)把这个压缩包放到/home/chen的目录下,并且解压。再建立一个sqlite目录,作为安装目录。 3)进入到sqlite2.8.17目录下,执行如下命令 CC=arm-linux-gcc ./configure --prefix=/home/chen/sqlite --host=arm-linux 4)make 5)make install 。安装成功后,在sqlite这个目录下有三个文件夹:bin、lib、include 6)进入lib目录中,arm-linux-strip libsqlite.so.0.8.6 7)将bin目录下的sqlite拷贝到目标板的/usr/bin目录下。 8)将lib目录下的libsqlite.so.0.8.6拷贝到/usr/lib目录下。 9)登录到开发板中,进入/usr/lib目录,创建一个符号链接ln -s libsqlite.so.8.6 libsqlite.so.0 到此sqlite数据库就算是移植完毕了。在开发板上面运行sqlite看到如下画面,则sqlite安装成功
二:Apache服务器移植 1)下载apache1.3.39的软件包。apache1.3.39.tar.gz,注意版本的移植性。 2)在/home/chen/目录下建立两个文件夹:arm和source 3)把软件包分别拷贝到arm与source这两个文件夹中,并使用tar -xzvf apache1.3.39.tar.gz进行解压。 4)进入/home/chen/source/apache1.3.39/src这个文件目录中。执行./Configure。生成一个Makefile文件。 5)返回到/home/chen/source/apache1.3.39这个目录中,执行./configure。再执行make。这时可能有两种情况 (①)成功运行出make,无需额外的操作。 (②)make出错,错误如下:
If you don't do this,the installation will fail because of the following error:
htpasswd.c:101: error: conflicting types for 'getline'
/usr/include/stdio.h:651: note: previous declaration of 'getline' was here
make[2]: *** [htpasswd.o] Error 1
make[2]: Leaving directory `/home/ISPConfig- 2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support'
make[1]: *** [build-support] Error 1
make[1]: Leaving directory `/home/ISPConfig- 2.2.stable/install_ispconfig/compile_aps/apache_1.3.41'
make: *** [build] Error 2
ERROR: Could not make Apache
6)观察/home/chen/source/apache1.3.39/src/main这个目录下是否有gen_test_char和gen_uri_delims这个两个可执行文件。如果上述步骤没有遗漏,应该会出现这两个可执行文件 7)进入/home/chen/arm/apache1.3.39/src中,执行 1)exprort CC="arm-linux-gcc" 2)./Configure生成Makefile文件。会出现Syntax error:word unexpected(expecting")")这种错误。 8)修改arm/apache1.3.39/src/main目录下的Makefile文件。把 ./gen_uri_delims >uri_delims.h 改为: uri_delims.h: gen_uri_delims /home/chen/source/apache_1.3.39/src/main/gen_uri_delims >uri_delims.h
把test_char.h: gen_test_char ./gen_test_char >test_char.h 改为: test_char.h: gen_test_char /home/chen/source/apache_1.3.39/src/main/gen_test_char >test_char.h 9)进入到/home/chen/arm/apache1.3.39目录下。执行 (1)export CC="arm-linux-gcc" (2) ./configure---->make------->make install 看到如下信息 +--------------------------------------------------------+ | You now have successfully built and installed the | | Apache 1.3 HTTP server. To verify that Apache actually | | works correctly you now should first check the | | (initially created or preserved) configuration files | | | | /usr/local/apache/conf/httpd.conf | | | and then you should be able to immediately fire up | | Apache the first time by running: | | | | /usr/local/apache/bin/apachectl start | | | Thanks for using Apache. The Apache Group | | http://www.apache.org/ | +--------------------------------------------------------+ 10)进入/usr/local目录中,可以看到多了一个apache的目录,现在把这个目录打包,使用如下命令 tar -czvf apache.tar.gz apache/,在使用ftp等方式把apache解压出来,放入到开发板的/usr/local中。 11)下面须在开发板中/etc的目录中修改两个配置文件,passwd和group文件,如果没有这两个文件就自己建立; 文件一:passwd (如果这个文件中已经有内容了,只需要添加缺少的项就行) root::0:0:root:/:/bin/ash nobody::65534:65533:nobody:/:/bin/ash 文件二:group(如果这个文件中已经有内容了,只需要添加缺少的项就行) nobody::65533: nogroup::65534:nobody root::0: users::100 三:PHP5.2.13的移植 在安装PHP之前需要进行libxml与zlib的安装。所以我们分为3部进行安装PHP, 一:libxml的安装 1)把libxml2-2.8.0解压到/usr/src目录中。在进入libxml2-2.8.0这个目录中去。 2)运行 CC=arm-linux-gcc ./configure --host=arm-linux --target=arm --prefix=/opt/libxml 3)make 再 make install 4)把libxml2.so.2.8.0传到板子的/usr/lib中,并且建立两个符号链接名字分别为libxml2.so和libxml2.so.2 二:zlib的安装 1)把zlib-1.2.7解压到/usr/src目录中,在进入到zlib-1.2.7这个目录中去。 2)运行CC=arm-linux-gcc ./configure --prefix=/opt/zlib 3)make 再 make install 4)把libz.so.1.2.7传到板子的/usr/lib中,并且建立两个符号链接名字分别为libz.so和libz.so.1 三:php的安装 1)把php-5.2.13.tar.gz拷贝到/usr/src目录下。并且在此目录中建立一个temp文件夹。(在把php-5.2.13.tar.gz拷贝到temp文件中,这个里面主要是放PC体系结构的PHP的一个可执行文件,后面交叉编译php的时候回用到) 2)首先进入到temp目录中,解压php,再进入/usr/src/temp/php-5.2.13目录中,直接./configure即可。 再 make 接着make install 3)进入到/usr/src目录,解压php,进入到/usr/src/php-5.2.13目录中。 4)export CC=arm-linux-gcc 再 ./configure --host=arm-linux--prefix=/opt/php5 --enable-pdo --enable-sockets --with-sqlite --with-pdo-sqlite --with-zlib-dir=/opt/zlib --with-libxml-dir=/opt/libxml --without-iconv 5)首先修改php的Makefile.在开始出添加LDFLAGS += -ldl,这里是为了链接dlopen库然后修改main/php.h 在开始处添加#define HAVE_LIBDL 1,这个宏是为了交叉编译时强制使用dlopen。紧接着修改ext/standard/dl.c ,这段代码中添加#include <dlfcn.h> ,这个是dlopen的头文件。如下
install-pear-installer: $(SAPI_CLI_PATH)
@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
install-pear-installer: $(SAPI_CLI_PATH) /usr/src/temp/php-5.2.13/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
7)make 再 make install
8)把当前目录下的php.ini-dist拷贝到/opt/php5/lib中去。 9)进入/opt中,把其中的php5这个文件夹传递到/usr/local中去。 在移植结束apache与php后,需要修改板子中/usr/local/apach/conf中的http.conf文件这里为了把apache以及php联合在一起。改成如下内容: 也可以重新建立一个http.conf文件,内容为下面。
## ## httpd.conf -- Apache HTTP server configuration file ## # # Based upon the NCSA server configuration files originally by Rob McCool. # # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/> for detailed information about # the directives. # # Do NOT simply read the instructions in here without understanding # what they do. They're here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # After this file is processed,the server will look for and process # /usr/local/apache/conf/srm.conf and then /usr/local/apache/conf/access.conf # unless you have overridden these with ResourceConfig and/or # AccessConfig directives here. # # The configuration directives are grouped into three basic sections: # 1. Directives that control the operation of the Apache server process as a # whole (the 'global environment'). # 2. Directives that define the parameters of the 'main' or 'default' server,# which responds to requests that aren't handled by a virtual host. # These directives also provide default values for the settings # of all virtual hosts. # 3. Settings for virtual hosts,which allow Web requests to be sent to # different IP addresses or hostnames and have them handled by the # same Apache server process. # # Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32),the # server will use that explicit path. If the filenames do *not* begin # with "/",the value of ServerRoot is prepended -- so "logs/foo.log" # with ServerRoot set to "/usr/local/apache" will be interpreted by the # server as "/usr/local/apache/logs/foo.log". # ### Section 1: Global Environment # # The directives in this section affect the overall operation of Apache,# such as the number of concurrent requests it can handle or where it # can find its configuration files. # # # ServerType is either inetd,or standalone. Inetd mode is only supported on # Unix platforms. # ServerType standalone # # ServerRoot: The top of the directory tree under which the server's # configuration,error,and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the LockFile documentation # (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>); # you will save yourself a lot of trouble. # ServerRoot "/usr/local/apache" # # The LockFile directive sets the path to the lockfile used when Apache # is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or # USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at # its default value. The main reason for changing it is if the logs # directory is NFS mounted,since the lockfile MUST BE STORED ON A LOCAL # DISK. The PID of the main server process is automatically appended to # the filename. # #LockFile /usr/local/apache/logs/httpd.lock # # PidFile: The file in which the server should record its process # identification number when it starts. # PidFile /usr/local/apache/logs/httpd.pid # # ScoreBoardFile: File used to store internal server process information. # Not all architectures require this. But if yours does (you'll know because # this file will be created when you run Apache) then you *must* ensure that # no two invocations of Apache share the same scoreboard file. # ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard # # In the standard configuration,the server will process httpd.conf (this # file,specified by the -f command line option),srm.conf,and access.conf # in that order. The latter two files are now distributed empty,as it is # recommended that all directives be kept in a single file for simplicity. # The commented-out values below are the built-in defaults. You can have the # server ignore these files altogether by using "/dev/null" (for Unix) or # "nul" (for Win32) for the arguments to the directives. # #ResourceConfig /usr/local/apache/conf/srm.conf #AccessConfig /usr/local/apache/conf/access.conf # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high,for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 15 # # Server-pool size regulation. Rather than making you guess how many # server processes you need,Apache dynamically adapts to the load it # sees --- that is,it tries to maintain enough server processes to # handle the current load,plus a few spare servers to handle transient # load spikes (e.g.,multiple simultaneous requests from a single # Netscape browser). # # It does this by periodically checking how many servers are waiting # for a request. If there are fewer than MinSpareServers,it creates # a new spare. If there are more than MaxSpareServers,some of the # spares die off. The default values are probably OK for most sites. # MinSpareServers 5 MaxSpareServers 10 # # Number of servers to start initially --- should be a reasonable ballpark # figure. # StartServers 5 # # Limit on total number of servers running,i.e.,limit on the number # of clients who can simultaneously connect --- if this limit is ever # reached,clients will be LOCKED OUT,so it should NOT BE SET TOO LOW. # It is intended mainly as a brake to keep a runaway server from taking # the system with it as it spirals down... # MaxClients 150 # # MaxRequestsPerChild: the number of requests each child process is # allowed to process before the child dies. The child will exit so # as to avoid problems after prolonged use when Apache (and maybe the # libraries it uses) leak memory or other resources. On most systems,this # isn't really needed,but a few (such as Solaris) do have notable leaks # in the libraries. For these platforms,set to something like 10000 # or so; a setting of 0 means unlimited. # # NOTE: This value does not include keepalive requests after the initial # request per connection. For example,if a child process handles # an initial request and 10 subsequent "keptalive" requests,it # would only count as 1 request towards this limit. # MaxRequestsPerChild 0 # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports,instead of the default. See also the <VirtualHost> # directive. # #Listen 3000 #Listen 12.34.56.78:80 # # BindAddress: You can support virtual hosts with this option. This directive # is used to tell the server which IP address to listen to. It can either # contain "*",an IP address,or a fully qualified Internet domain name. # See also the <VirtualHost> and Listen directives. # #BindAddress * # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the # directives contained in it are actually available _before_ they are used. # Please read the file http://httpd.apache.org/docs/dso.html for more # details about the DSO mechanism and run `httpd -l' for the list of already # built-in (statically linked and thus always available) modules in your httpd # binary. # # Note: The order in which modules are loaded is important. Don't change # the order below without expert advice. # # Example: # LoadModule foo_module libexec/mod_foo.so # # ExtendedStatus controls whether Apache will generate "full" status # information (ExtendedStatus On) or just basic information (ExtendedStatus # Off) when the "server-status" handler is called. The default is Off. # #ExtendedStatus On ### Section 2: 'Main' server configuration # # The directives in this section set up the values used by the 'main' # server,which responds to any requests that aren't handled by a # <VirtualHost> definition. These values also provide defaults for # any <VirtualHost> containers you may define later in the file. # # All of these directives may appear inside <VirtualHost> containers,# in which case these default settings will be overridden for the # virtual host being defined. # # # If your ServerType directive (set earlier in the 'Global Environment' # section) is set to "inetd",the next few directives don't have any # effect since their settings are defined by the inetd configuration. # Skip ahead to the ServerAdmin directive. # # # Port: The port to which the standalone server listens. For # ports < 1023,you will need httpd to be run as root initially. # Port 8080 # # If you wish httpd to run as a different user or group,you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # . On SCO (ODT 3) use "User nouser" and "Group nogroup". # . On HPUX you may not be able to use shared memory as nobody,and the # suggested workaround is to create a user www and use that user. # NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) # when the value of (unsigned)Group is above 60000; # don't use Group "#-1" on these systems! # User nobody Group nogroup # # ServerAdmin: Your address,where problems with the server should be # e-mailed. This address appears on some server-generated pages,such # as error documents. # ServerAdmin chen@chen-virtual-machine. # # ServerName allows you to set a host name which is sent back to clients for # your server if it's different than the one the program would get (i.e.,use # "www" instead of the host's real name). # # Note: You cannot just invent host names and hope they work. The name you # define here must be a valid DNS name for your host. If you don't understand # this,ask your network administrator. # If your host doesn't have a registered DNS name,enter its IP address here. # You will have to access it by its address (e.g.,http://123.45.67.89/) # anyway,and this will make redirections work in a sensible way. # # 127.0.0.1 is the TCP/IP local loop-back address,often named localhost. Your # machine always knows itself by this address. If you use Apache strictly for # local testing and development,you may use 127.0.0.1 as the server name. # #ServerName www.example.com # # DocumentRoot: The directory out of which you will serve your # documents. By default,all requests are taken from this directory,but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/usr/local/apache/htdocs" # # Each directory to which Apache has access,can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First,we configure the "default" to be a very restrictive set of # permissions. # <Directory /> Options FollowSymLinks AllowOverride None </Directory> # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something's not working as # you might expect,make sure that you have specifically enabled it # below. # # # This should be changed to whatever you set DocumentRoot to. # <Directory "/usr/local/apache/htdocs"> # # This may also be "None","All",or any combination of "Indexes",# "Includes","FollowSymLinks","ExecCGI",or "MultiViews". # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # Options Indexes FollowSymLinks MultiViews # # This controls which options the .htaccess files in directories can # override. Can also be "All",or any combination of "Options","FileInfo",# "AuthConfig",and "Limit" # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> # # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is received. # <IfModule mod_userdir.c> UserDir public_html </IfModule> # # Control access to UserDir directories. The following is an example # for a site where these directories are restricted to read-only. # #<Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS PROPFIND> # Order deny,allow # Deny from all # </LimitExcept> #</Directory> # # DirectoryIndex: Name of the file or files to use as a pre-written HTML # directory index. Separate multiple entries with spaces. # <IfModule mod_dir.c> DirectoryIndex index.html DirectoryIndex index.php DirectoryIndex index.php3 DirectoryIndex index.phtml </IfModule> # # AccessFileName: The name of the file to look for in each directory # for access control information. # AccessFileName .htaccess # # The following lines prevent .htaccess files from being viewed by # Web clients. Since .htaccess files often contain authorization # information,access is disallowed for security reasons. Comment # these lines out if you want Web visitors to see the contents of # .htaccess files. If you change the AccessFileName directive above,# be sure to make the corresponding changes here. # # Also,folks tend to use names such as .htpasswd for password # files,so this will protect those as well. # <Files ~ "^.ht"> Order allow,deny Deny from all Satisfy All </Files> # # CacheNegotiatedDocs: By default,Apache sends "Pragma: no-cache" with each # document that was negotiated on the basis of content. This asks proxy # servers not to cache the document. Uncommenting the following line disables # this behavior,and proxies will be allowed to cache the documents. # #CacheNegotiatedDocs # # UseCanonicalName: (new for 1.3) With this setting turned on,whenever # Apache needs to construct a self-referencing URL (a URL that refers back # to the server the response is coming from) it will use ServerName and # Port to form a "canonical" name. With this setting off,Apache will # use the hostname:port that the client supplied,when possible. This # also affects SERVER_NAME and SERVER_PORT in CGI scripts. # UseCanonicalName On # # TypesConfig describes where the mime.types file (or equivalent) is # to be found. # <IfModule mod_mime.c> TypesConfig /usr/local/apache/conf/mime.types </IfModule> # # DefaultType is the default MIME type the server will use for a document # if it cannot otherwise determine one,such as from filename extensions. # If your server contains mostly text or HTML documents,"text/plain" is # a good value. If most of your content is binary,such as applications # or images,you may want to use "application/octet-stream" instead to # keep browsers from trying to display binary files as though they are # text. # DefaultType text/plain # # The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile # directive tells the module where the hint definitions are located. # mod_mime_magic is not part of the default server (you have to add # it yourself with a LoadModule [see the DSO paragraph in the 'Global # Environment' section],or recompile the server and include mod_mime_magic # as part of the configuration),so it's enclosed in an <IfModule> container. # This means that the MIMEMagicFile directive will only be processed if the # module is part of the server. # <IfModule mod_mime_magic.c> MIMEMagicFile /usr/local/apache/conf/magic </IfModule> # # HostnameLookups: Log the names of clients or just their IP addresses # e.g.,www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on,since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # HostnameLookups Off # # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a <VirtualHost> # container,error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost> # container,that host's errors will be logged there and not here. # ErrorLog /usr/local/apache/logs/error_log # # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug,info,notice,warn,crit,# alert,emerg. # LogLevel warn # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined LogFormat "%h %l %u %t "%r" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost> # container,they will be logged here. Contrariwise,if you *do* # define per-<VirtualHost> access logfiles,transactions will be # logged therein and *not* in this file. # CustomLog /usr/local/apache/logs/access_log common # # If you would like to have agent and referer logfiles,uncomment the # following directives. # #CustomLog /usr/local/apache/logs/referer_log referer #CustomLog /usr/local/apache/logs/agent_log agent # # If you prefer a single logfile with access,agent,and referer information # (Combined Logfile Format) you can use the following directive. # #CustomLog /usr/local/apache/logs/access_log combined # # Optionally add a line containing the server version and virtual host # name to server-generated pages (error documents,FTP directory listings,# mod_status and mod_info output etc.,but not CGI generated documents). # Set to "EMail" to also include a mailto: link to the ServerAdmin. # Set to one of: On | Off | EMail # ServerSignature On # EBCDIC configuration: # (only for mainframes using the EBCDIC codeset,currently one of: # Fujitsu-Siemens' BS2000/OSD,IBM's OS/390 and IBM's TPF)!! # The following default configuration assumes that "text files" # are stored in EBCDIC (so that you can operate on them using the # normal POSIX tools like grep and sort) while "binary files" are # stored with identical octets as on an ASCII machine. # # The directives are evaluated in configuration file order,with # the EBCDICConvert directives applied before EBCDICConvertByType. # # If you want to have ASCII HTML documents and EBCDIC HTML documents # at the same time,you can use the file extension to force # conversion off for the ASCII documents: # > AddType text/html .ahtml # > EBCDICConvert Off=InOut .ahtml # # EBCDICConvertByType On=InOut text/* message/* multipart/* # EBCDICConvertByType On=In application/x-www-form-urlencoded # EBCDICConvertByType On=InOut application/postscript model/vrml # EBCDICConvertByType Off=InOut */* # # Aliases: Add here as many aliases as you need (with no limit). The format is # Alias fakename realname # <IfModule mod_alias.c> # # Note that if you include a trailing / on fakename then the server will # require it to be present in the URL. So "/icons" isn't aliased in this # example,only "/icons/". If the fakename is slash-terminated,then the # realname must also be slash terminated,and if the fakename omits the # trailing slash,the realname must also omit it. # Alias /icons/ "/usr/local/apache/icons/" <Directory "/usr/local/apache/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> # This Alias will project the on-line documentation tree under /manual/ # even if you change the DocumentRoot. Comment it if you don't want to # provide access to the on-line documentation. # Alias /manual/ "/usr/local/apache/htdocs/manual/" <Directory "/usr/local/apache/htdocs/manual"> Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases,except that # documents in the realname directory are treated as applications and # run by the server when requested rather than as documents sent to the client. # The same rules about trailing "/" apply to ScriptAlias directives as to # Alias. # ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" ScriptAlias /php5/ "/usr/local/php5/bin/" # # "/usr/local/apache/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists,if you have that configured. # <Directory "/usr/local/apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> </IfModule> # End of aliases. # # Redirect allows you to tell clients about documents which used to exist in # your server's namespace,but do not anymore. This allows you to tell the # clients where to look for the relocated document. # Format: Redirect old-URI new-URL # # # Directives controlling the display of server-generated directory listings. # <IfModule mod_autoindex.c> # # FancyIndexing is whether you want fancy directory indexing or standard # IndexOptions FancyIndexing # # AddIcon* directives tell the server which icon to show for different # files or filename extensions. These are only displayed for # FancyIndexed directories. # AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (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 .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ # # DefaultIcon is which icon to show for files which do not have an icon # explicitly set. # DefaultIcon /icons/unknown.gif # # AddDescription allows you to place a short description after a file in # server-generated indexes. These are only displayed for FancyIndexed # directories. # Format: AddDescription "description" filename # #AddDescription "GZIP compressed document" .gz #AddDescription "tar archive" .tar #AddDescription "GZIP compressed tar archive" .tgz # # ReadmeName is the name of the README file the server will look for by # default,and append to directory listings. # # HeaderName is the name of a file which should be prepended to # directory indexes. # ReadmeName README.html HeaderName HEADER.html # # IndexIgnore is a set of filenames which directory indexing should ignore # and not include in the listing. Shell-style wildcarding is permitted. # IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t </IfModule> # End of indexing directives. # # Document types. # <IfModule mod_mime.c> # # AddLanguage allows you to specify the language of a document. You can # then use content negotiation to give a browser a file in a language # it can understand. # # Note 1: The suffix does not have to be the same as the language # keyword --- those with documents in Polish (whose net-standard # language code is pl) may wish to use "AddLanguage pl .po" to # avoid the ambiguity with the common suffix for perl scripts. # # Note 2: The example entries below illustrate that in quite # some cases the two character 'Language' abbreviation is not # identical to the two character 'Country' code for its country,# E.g. 'Danmark/dk' versus 'Danish/da'. # # Note 3: In the case of 'ltz' we violate the RFC by using a three char # specifier. But there is 'work in progress' to fix this and get # the reference data for rfc1766 cleaned up. # # Danish (da) - Dutch (nl) - English (en) - Estonian (ee) # French (fr) - German (de) - Greek-Modern (el) # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn) # Portugese (pt) - Luxembourgeois* (ltz) # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cs) # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja) # Russian (ru) # AddLanguage da .dk AddLanguage nl .nl AddLanguage en .en AddLanguage et .ee AddLanguage fr .fr AddLanguage de .de AddLanguage el .el AddLanguage he .he AddCharset ISO-8859-8 .iso8859-8 AddLanguage it .it AddLanguage ja .ja AddCharset ISO-2022-JP .jis AddLanguage kr .kr AddCharset ISO-2022-KR .iso-kr AddLanguage nn .nn AddLanguage no .no AddLanguage pl .po AddCharset ISO-8859-2 .iso-pl AddLanguage pt .pt AddLanguage pt-br .pt-br AddLanguage ltz .lu AddLanguage ca .ca AddLanguage es .es AddLanguage sv .sv AddLanguage cs .cz .cs AddLanguage ru .ru AddLanguage zh-TW .zh-tw AddCharset Big5 .Big5 .big5 AddCharset WINDOWS-1251 .cp-1251 AddCharset CP866 .cp866 AddCharset ISO-8859-5 .iso-ru AddCharset KOI8-R .koi8-r AddCharset UCS-2 .ucs2 AddCharset UCS-4 .ucs4 AddCharset UTF-8 .utf8 # LanguagePriority allows you to give precedence to some languages # in case of a tie during content negotiation. # # Just list the languages in decreasing order of preference. We have # more or less alphabetized them here. You probably want to change this. # <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 allows you to tweak mime.types without actually editing it,or to # make certain files to be certain types. # AddType application/x-tar .tgz AddType application/x-httpd-php .php3 AddType application/x-httpd-php .php AddType application/x-httpd-php .phtml # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # Despite the name similarity,the following Add* directives have nothing # to do with the FancyIndexing customization directives above. # AddEncoding x-compress .Z AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out,then you # probably should define those extensions to indicate media types: # #AddType application/x-compress .Z #AddType application/x-gzip .gz .tgz # # AddHandler allows you to map certain file extensions to "handlers",# actions unrelated to filetype. These can be either built into the server # or added with the Action command (see below) # # If you want to use server side includes,or CGI outside # ScriptAliased directories,uncomment the following lines. # # To use CGI scripts: # #AddHandler cgi-script .cgi # # To use server-parsed HTML files # #AddType text/html .shtml #AddHandler server-parsed .shtml # # Uncomment the following line to enable Apache's send-asis HTTP file # feature # #AddHandler send-as-is asis # # If you wish to use server-parsed imagemap files,use # #AddHandler imap-file map # # To enable type maps,you might want to use # #AddHandler type-map var </IfModule> Action application/x-httpd-php "/php5/php" # End of document types. # # Action lets you define media types that will execute a script whenever # a matching file is called. This eliminates the need for repeated URL # pathnames for oft-used CGI file processors. # Format: Action media/type /cgi-script/location # Format: Action handler-name /cgi-script/location # # # MetaDir: specifies the name of the directory in which Apache can find # meta information files. These files contain additional HTTP headers # to include when sending the document # #MetaDir .web # # MetaSuffix: specifies the file name suffix for the file containing the # meta information. # #MetaSuffix .meta # # Customizable error response (Apache style) # these come in three flavors # # 1) plain text #ErrorDocument 500 "The server made a boo boo. # n.b. the single leading (") marks it as text,it does not get output # # 2) local redirects #ErrorDocument 404 /missing.html # to redirect to local URL /missing.html #ErrorDocument 404 /cgi-bin/missing_handler.pl # N.B.: You can redirect to a script or a document using server-side-includes. # # 3) external redirects #ErrorDocument 402 http://www.example.com/subscription_info.html # N.B.: Many of the environment variables associated with the original # request will *not* be available to such a script. # # Customize behaviour based on the browser # <IfModule mod_setenvif.c> # # The following directives modify normal HTTP response behavior. # The first directive disables keepalive for Netscape 2.x and browsers that # spoof it. There are known problems with these browser implementations. # The second directive is for Microsoft Internet Explorer 4.0b2 # which has a broken HTTP/1.1 implementation and does not properly # support keepalive when it is used on 301 or 302 (redirect) responses. # BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0 # # The following directive disables HTTP/1.1 responses to browsers which # are in violation of the HTTP/1.0 spec by not being able to grok a # basic 1.1 response. # BrowserMatch "RealPlayer 4.0" force-response-1.0 BrowserMatch "Java/1.0" force-response-1.0 BrowserMatch "JDK/1.0" force-response-1.0 </IfModule> # End of browser customization directives # # Allow server status reports,with the URL of http://servername/server-status # Change the ".example.com" to match your domain to enable. # #<Location /server-status> # SetHandler server-status # Order deny,allow # Deny from all # Allow from .example.com #</Location> # # Allow remote server configuration reports,with the URL of # http://servername/server-info (requires that mod_info.c be loaded). # Change the ".example.com" to match your domain to enable. # #<Location /server-info> # SetHandler server-info # Order deny,allow # Deny from all # Allow from .example.com #</Location> # # There have been reports of people trying to abuse an old bug from pre-1.1 # days. This bug involved a CGI script distributed as a part of Apache. # By uncommenting these lines you can redirect these attacks to a logging # script on phf.apache.org. Or,you can record them yourself,using the script # support/phf_abuse_log.cgi. # #<Location /cgi-bin/phf*> # Deny from all # ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi #</Location> ### Section 3: Virtual Hosts # # VirtualHost: If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at <URL:http://www.apache.org/docs/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # #NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost> 在进行上诉步骤后即可移植成功。以上作为参考,我会把编译成功的打包上传到资源中。如下链接 apache:http://download.csdn.net/detail/cangencong/4553164 php:http://download.csdn.net/detail/cangencong/4553169 sqlite2:http://download.csdn.net/detail/cangencong/4553173 zlib:http://download.csdn.net/detail/cangencong/4553175 libxml:http://download.csdn.net/detail/cangencong/4553177
HTTP.CONF配置文件下载http://download.csdn.net/detail/cangencong/5596839 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |