apache 2.4.1版本linux CentOS 6.0源代碼安裝完整過程

一:安裝前檢查工做準備
1:make gcc檢查是否安裝
#rpm    -q    make
#rpm    -q    gcc
若是已經安裝會有提示
1)運行:rpm -qa |grep -E "gcc|make"
gcc-4.4.7-16.el6.i686
gcc-c++-4.4.7-16.el6.i686
libgcc-4.4.7-16.el6.i686
make-3.81-20.el6.i686
automake-1.11.1-4.el6.noarch
若是安裝會提示上面的信息,若是沒有安裝編譯工具則在對解壓後的源代碼包執行./configure命令時會報錯:

2)檢查apach是否安裝,若是安裝需先刪除掉,要卸載的話首先查看服務是否開啓:
運行 netstat –tnl 查看端口是否開啓,先停服務再卸載。

3)若是是用 rpm方式安裝的,則先查找已經安裝的包:
#rpm    -qa|grep httpd
#rpm    -qa|grep mysql
#rpm    -qa|grep php
#rpm   –e 包名--nodeps //考慮到包與包之間的依賴關係,有時要強制卸載

3)若是是使用源代碼包安裝方式,則停掉服務後直接刪除安裝目錄。咱們能夠查看各個軟件的
安裝路徑:

#whereis    mysql
#whereis    httpd
#whereis    php
而後用刪除命令刪除#rm –rf文件目錄名

2、軟件包準備
1.apr
wget http://mirrors.noc.im/apache//apr/apr-1.5.2.tar.gz
2.apr-util
wget http://mirrors.noc.im/apache//apr/apr-util-1.5.4.tar.gz
3.pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2
4:libtool-2.4.2.tar.gz版本太低可能會出現錯誤,安裝最新的版本
wget http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz

三軟件包安裝
1) apr安裝
cd /usr/local/src/進去下載的源碼包目錄
tar zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install

2) libtool-2.4.2.tar.gz
tar zxvf liblibtool-2.4.2.tar.gz
cd lib-2.4.2
./configigure
make && make install

3) apr-util
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

4) 安裝pcre
tar zxvf pcre-8.37
cd pcre-pcre-8.37
./configure --prefix=/usr/local/pcre
make && make install

4、編譯安裝httpd-2.4.1.tar.gz
cd httpd-2.4.1
php

./configure --prefix=/usr/local/http2 \
--enable-modules=all \
--enable-rewrite \
--enable-mods-shared=all \
--enable-so \
--with-mpm=prefork \
--enable-cache \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-rewrite \
--with-pcre=/usr/local/pcre
html

6:添加服務選項
chkconfig --add httpd
chkconfig --level 35 httpd on

7:服務apach服務到/etc/init.d/httpd
cp /usr/local/http2/bin/apachectl /etc/init.d/httpd
chmod 755 /etc/init.d/httpd
node

service httpd start 啓動apach服務mysql

8:常見安裝問題c++

1)環境變量和動態庫問題sql

PATH和LD_LIBRARY_PATH本質都是變量,所謂變量的意思就是由別人賦值產生的,直覺每每會讓咱們添加和減小這個變量自己的某些路 徑,實際上這是不正確的。正確的作法是咱們要去修改賦予這個變量數值的那些配置文件,加一條路徑或者減一條。說到底變量只關乎顯示,不關乎其用於顯示的內 容。express

PATH:  可執行程序的查找路徑apache

查看當前環境變量:api

echo $PATH緩存

 設置: 

方法一: export PATH=PATH:/XXX 可是登出後就失效

方法二:修改~/.bashrc或~/.bash_profile或系統級別的/etc/profile

                  1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH

                  2. source .bashrc  (Source命令也稱爲「點命令」,也就是一個點符號(.)。source命令一般用於從新執行 剛修改的初始化文件,使之當即生效,而沒必要註銷並從新登陸)

 

 

LD_LIBRARY_PATH: 動態庫的查找路徑

設置:

方法一: export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 可是登出後就失效

方法二:  修改~/.bashrc或~/.bash_profile或系統級別的/etc/profile

                  1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH

                  2. source .bashrc  (Source命令也稱爲「點命令」,也就是一個點符號(.)。

source命令一般用於從新執行剛修改的初始化文件,使之當即生效,而沒必要註銷並從新登陸)

方法三:這個沒有修改LD_LIBRARY_PATH可是效果是同樣的實現動態庫的查找, 

                1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib

                2. 保存事後ldconfig一下(ldconfig 命令的用途,主要是在默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態 連接庫(格式如前介紹,lib*.so*),進而建立出動態裝入程序(ld.so)所需的鏈接和緩存文件.緩存文件默認爲/etc /ld.so.cache,此文件保存已排好序的動態連接庫名字列表.)

2)依賴包問題

根據提示安裝依賴包,經常使用依賴包yum 安裝

1:安裝環境準備
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

#Nginx
yum -y install pcre-devel zlib-devel

#Php
yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel

#Mysql
yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel

9:configure --help英文參數



Configuration:  -h, --help              display this help and exit      --help=short        display options specific to this package      --help=recursive    display the short help of all the included packages  -V, --version           display version information and exit  -q, --quiet, --silent   do not print `checking ...' messages      --cache-file=FILE   cache test results in FILE [disabled]  -C, --config-cache      alias for `--cache-file=config.cache'  -n, --no-create         do not create output files      --srcdir=DIR        find the sources in DIR [configure dir or `..']Installation directories:  --prefix=PREFIX         install architecture-independent files in PREFIX                          [/usr/local/apache2]  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX                          [PREFIX]By default, `make install' will install all the files in`/usr/local/apache2/bin', `/usr/local/apache2/lib' etc.  You can specifyan installation prefix other than `/usr/local/apache2' using `--prefix',for instance `--prefix=$HOME'.For better control, use the options below.Fine tuning of the installation directories:  --bindir=DIR            user executables [EPREFIX/bin]  --sbindir=DIR           system admin executables [EPREFIX/sbin]  --libexecdir=DIR        program executables [EPREFIX/libexec]  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]  --libdir=DIR            object code libraries [EPREFIX/lib]  --includedir=DIR        C header files [PREFIX/include]  --oldincludedir=DIR     C header files for non-gcc [/usr/include]  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]  --infodir=DIR           info documentation [DATAROOTDIR/info]  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]  --mandir=DIR            man documentation [DATAROOTDIR/man]  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]  --htmldir=DIR           html documentation [DOCDIR]  --dvidir=DIR            dvi documentation [DOCDIR]  --pdfdir=DIR            pdf documentation [DOCDIR]  --psdir=DIR             ps documentation [DOCDIR]System types:  --build=BUILD     configure for building on BUILD [guessed]  --host=HOST       cross-compile to build programs to run on HOST [BUILD]  --target=TARGET   configure for building compilers for TARGET [HOST]Optional Features:  --disable-option-checking  ignore unrecognized --enable/--with options  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]  --enable-layout=LAYOUT  --enable-dtrace         Enable DTrace probes  --enable-hook-probes    Enable APR hook probes  --enable-exception-hook Enable fatal exception hook  --enable-load-all-modules                          Load all modules  --enable-maintainer-mode                          Turn on debugging and compile time warnings and load                          all compiled modules  --enable-debugger-mode  Turn on debugging and compile time warnings and turn                          off optimization  --enable-pie            Build httpd as a Position Independent Executable  --enable-modules=MODULE-LIST                          Space-separated list of modules to enable | "all" |                          "most" | "few" | "none" | "reallyall"  --enable-mods-shared=MODULE-LIST                          Space-separated list of shared modules to enable |                          "all" | "most" | "few" | "reallyall"  --enable-mods-static=MODULE-LIST                          Space-separated list of static modules to enable |                          "all" | "most" | "few" | "reallyall"  --disable-authn-file    file-based authentication control  --enable-authn-dbm      DBM-based authentication control  --enable-authn-anon     anonymous user authentication control  --enable-authn-dbd      SQL-based authentication control  --enable-authn-socache  Cached authentication control  --disable-authn-core    core authentication module  --disable-authz-host    host-based authorization control  --disable-authz-groupfile                          'require group' authorization control  --disable-authz-user    'require user' authorization control  --enable-authz-dbm      DBM-based authorization control  --enable-authz-owner    'require file-owner' authorization control  --enable-authz-dbd      SQL based authorization and Login/Session support  --disable-authz-core    core authorization provider vector module  --enable-authnz-ldap    LDAP based authentication  --disable-access-compat mod_access compatibility  --disable-auth-basic    basic authentication  --enable-auth-form      form authentication  --enable-auth-digest    RFC2617 Digest authentication  --enable-allowmethods   restrict allowed HTTP methods  --enable-isapi          isapi extension support  --enable-file-cache     File cache  --enable-cache          dynamic file caching. At least one storage                          management module (e.g. mod_cache_disk) is also                          necessary.  --enable-cache-disk     disk caching module  --enable-socache-shmcb  shmcb small object cache provider  --enable-socache-dbm    dbm small object cache provider  --enable-socache-memcache                          memcache small object cache provider  --enable-socache-dc     distcache small object cache provider  --enable-so             DSO capability. This module will be automatically                          enabled unless you build all modules statically.  --enable-watchdog       Watchdog module  --enable-dbd            Apache DBD Framework  --enable-bucketeer      buckets manipulation filter. Useful only for                          developers and testing purposes.  --enable-dumpio         I/O dump filter  --enable-echo           ECHO server  --enable-example-hooks  Example hook callback handler module  --enable-case-filter    Example uppercase conversion filter  --enable-case-filter-in Example uppercase conversion input filter  --enable-example-ipc    Example of shared memory and mutex usage  --enable-buffer         Filter Buffering  --enable-data           RFC2397 data encoder  --enable-ratelimit      Output Bandwidth Limiting  --disable-reqtimeout    Limit time waiting for request from client  --enable-ext-filter     external filter module  --enable-request        Request Body Filtering  --enable-include        Server Side Includes  --disable-filter        Smart Filtering  --enable-reflector      Reflect request through the output filter stack  --enable-substitute     response content rewrite-like filtering  --enable-sed            filter request and/or response bodies through sed  --disable-charset-lite  character set translation. Enabled by default only                          on EBCDIC systems.  --enable-charset-lite   character set translation. Enabled by default only                          on EBCDIC systems.  --enable-deflate        Deflate transfer encoding support  --enable-xml2enc        i18n support for markup filters  --enable-proxy-html     Fix HTML Links in a Reverse Proxy  --enable-http           HTTP protocol handling. The http module is a basic                          one that enables the server to function as an HTTP                          server. It is only useful to disable it if you want                          to use another protocol module instead. Don't                          disable this module unless you are really sure what                          you are doing. Note: This module will always be                          linked statically.  --disable-mime          mapping of file-extension to MIME. Disabling this                          module is normally not recommended.  --enable-ldap           LDAP caching and connection pooling services  --disable-log-config    logging configuration. You won't be able to log                          requests to the server without this module.  --enable-log-debug      configurable debug logging  --enable-log-forensic   forensic logging  --enable-logio          input and output logging  --enable-lua            Apache Lua Framework  --enable-luajit         Enable LuaJit Support  --disable-env           clearing/setting of ENV vars  --enable-mime-magic     automagically determining MIME type  --enable-cern-meta      CERN-type meta files  --enable-expires        Expires header control  --disable-headers       HTTP header control  --enable-ident          RFC 1413 identity check  --enable-usertrack      user-session tracking  --enable-unique-id      per-request unique ids  --disable-setenvif      basing ENV vars on headers  --disable-version       determining httpd version in config files  --enable-remoteip       translate header contents to an apparent client                          remote_ip  --enable-proxy          Apache proxy module  --enable-proxy-connect  Apache proxy CONNECT module. Requires and is enabled                          by --enable-proxy.  --enable-proxy-ftp      Apache proxy FTP module. Requires and is enabled by                          --enable-proxy.  --enable-proxy-http     Apache proxy HTTP module. Requires and is enabled by                          --enable-proxy.  --enable-proxy-fcgi     Apache proxy FastCGI module. Requires and is enabled                          by --enable-proxy.  --enable-proxy-scgi     Apache proxy SCGI module. Requires and is enabled by                          --enable-proxy.  --enable-proxy-fdpass   Apache proxy to Unix Daemon Socket module. Requires                          --enable-proxy.  --enable-proxy-ajp      Apache proxy AJP module. Requires and is enabled by                          --enable-proxy.  --enable-proxy-balancer Apache proxy BALANCER module. Requires and is                          enabled by --enable-proxy.  --enable-proxy-express  mass reverse-proxy module. Requires --enable-proxy.  --enable-session        session module  --enable-session-cookie session cookie module  --enable-session-crypto session crypto module  --enable-session-dbd    session dbd module  --enable-slotmem-shm    slotmem provider that uses shared memory  --enable-slotmem-plain  slotmem provider that uses plain memory  --enable-ssl            SSL/TLS support (mod_ssl)  --enable-optional-hook-export                          example optional hook exporter  --enable-optional-hook-import                          example optional hook importer  --enable-optional-fn-import                          example optional function importer  --enable-optional-fn-export                          example optional function exporter  --enable-dialup         rate limits static files to dialup modem speeds  --enable-static-support Build a statically linked version of the support                          binaries  --enable-static-htpasswd                          Build a statically linked version of htpasswd  --enable-static-htdigest                          Build a statically linked version of htdigest  --enable-static-rotatelogs                          Build a statically linked version of rotatelogs  --enable-static-logresolve                          Build a statically linked version of logresolve  --enable-static-htdbm   Build a statically linked version of htdbm  --enable-static-ab      Build a statically linked version of ab  --enable-static-checkgid                          Build a statically linked version of checkgid  --enable-static-htcacheclean                          Build a statically linked version of htcacheclean  --enable-static-httxt2dbm                          Build a statically linked version of httxt2dbm  --enable-static-fcgistarter                          Build a statically linked version of fcgistarter  --enable-lbmethod-byrequests                          Apache proxy Load balancing by request counting  --enable-lbmethod-bytraffic                          Apache proxy Load balancing by traffic counting  --enable-lbmethod-bybusyness                          Apache proxy Load balancing by busyness  --enable-lbmethod-heartbeat                          Apache proxy Load balancing from Heartbeats  --enable-mpms-shared=MPM-LIST                          Space-separated list of MPM modules to enable for                          dynamic loading. MPM-LIST=list | "all"  --enable-unixd          unix specific support  --enable-privileges     Per-virtualhost Unix UserIDs and enhanced security                          for Solaris  --enable-heartbeat      Generates Heartbeats  --enable-heartmonitor   Collects Heartbeats  --enable-dav            WebDAV protocol handling. --enable-dav also enables                          mod_dav_fs  --disable-status        process/thread monitoring  --disable-autoindex     directory listing  --enable-asis           as-is filetypes  --enable-info           server information  --enable-suexec         set uid and gid for spawned processes  --enable-cgid           CGI scripts. Enabled by default with threaded MPMs  --enable-cgi            CGI scripts. Enabled by default with non-threaded                          MPMs  --enable-dav-fs         DAV provider for the filesystem. --enable-dav also                          enables mod_dav_fs.  --enable-dav-lock       DAV provider for generic locking  --enable-vhost-alias    mass virtual hosting module  --enable-negotiation    content negotiation  --disable-dir           directory request handling  --enable-imagemap       server-side imagemaps  --enable-actions        Action triggering on requests  --enable-speling        correct common URL misspellings  --enable-userdir        mapping of requests to user-specific directories  --disable-alias         mapping of requests to different filesystem parts  --enable-rewrite        rule based URL manipulation  --enable-v4-mapped      Allow IPv6 sockets to handle IPv4 connectionsOptional Packages:  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)  --with-included-apr     Use bundled copies of APR/APR-Util  --with-apr=PATH         prefix for installed APR or the full path to                             apr-config  --with-apr-util=PATH    prefix for installed APU or the full path to                             apu-config  --with-pcre=PATH        Use external PCRE library  --with-port=PORT        Port on which to listen (default is 80)  --with-sslport=SSLPORT  Port on which to securelisten (default is 443)  --with-distcache=DIR    Distcache installation directory  --with-z=DIR            use a specific zlib library  --with-libxml2          location for libxml2  --with-lua=PATH         Path to the Lua 5.1 prefix  --with-ssl=DIR          OpenSSL base directory  --with-mpm=MPM          Choose the process model for Apache to use by                          default. MPM={event|worker|prefork|winnt} This will                          be statically linked as the only available MPM                          unless --enable-mpms-shared is also specified.  --with-module=module-type:module-file                          Enable module-file in the modules/<module-type>                          directory.  --with-program-name     alternate executable name  --with-suexec-bin       Path to suexec binary  --with-suexec-caller    User allowed to call SuExec  --with-suexec-userdir   User subdirectory  --with-suexec-docroot   SuExec root directory  --with-suexec-uidmin    Minimal allowed UID  --with-suexec-gidmin    Minimal allowed GID  --with-suexec-logfile   Set the logfile  --with-suexec-safepath  Set the safepath  --with-suexec-umask     umask for suexec'd process

相關文章
相關標籤/搜索