一:安裝前檢查工做準備
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.1php
./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/pcrehtml
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/httpdnode
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