ããç®å½(?)[-]
ããä¸å¸è½½ç³»ç»èªå¸¦Apache
ãã1åå¤å·¥ä½
ãã2å®è£
Apache24
ãã3å°Apacheæ·»å æhttpdæå¡å¹¶å¼æºèªå¯å¨
ããäºå®è£
PHP5615
ãã1 æºä»£ç å®è£
PHP
ãã2ä¿®æ¹PHPçé
ç½®æ件phpini
ãã3ä¿®æ¹Apacheé
ç½®æ件httpdconfç¸å
³ä¿®æ¹ä»¥æ¯æPHP4使ç¨å°æå·§
ããä¸é²ç«å¢ç管ç
ããå¯è½ç«å»ä¼æ人è¦é®ï¼ä¸ºå¥ä¸è£
MySQLï¼è¿æ¯å 为æ¬æ¬¡é¡¹ç®åå¤è´ä¹°äºRDSï¼æ以就ä¸å¨ç³»ç»ä¸èªå·±å®è£
MySqläºã
ããè¨å½æ£ä¼ ï¼å¼å§å®è£
ç³»ç»ã
ããä¸ï¼å¸è½½ç³»ç»èªå¸¦Apache
ããé¦å
æ个人è§å¾åºè¯¥è¦å¸è½½æç³»ç»ä¸èªå¸¦çapache软件ï¼
ããé¦å
æ们æ£æ¥ç³»ç»ä¸æ¯å¦å·²ç»å®è£
äºhttpdæå¡ï¼
ããroot@server ~]# rpm -qa|grephttpd
ããhttpd-2.2.3-11.el5_2.centos.4
ããhttpd-manual-2.2.3-11.el5_2.centos.4
ãã说æï¼rpm âqa | grep mysql å½ä»¤æ¯ä¸ºäºæmysqlç¸å
³çå
é½ååºæ¥ï¼æä¸é¢çä¾åæ¯Linuxé»è®¤å®è£
apacheçrpm软件å
å表ï¼å¦ææ¯å«çLinuxçæ¬ååºæ¥çå表æå¯è½ä¼ä¸ä¸æ ·ï¼ä¸è¿ä¸ç¨æ
å¿ï¼ä¸ç®¡æ¯ä»ä¹ï¼å¸è½½é½ä»æä¸é¢çä¸ä¸ªå
å¼å§ï¼ç´å°å¸è½½æ第ä¸ä¸ªä¸ºæ¢ã
ããæ¯å¦ï¼å¨è¿ä¸ªä¾åä¸ï¼æ们åºè¯¥å
å¸è½½httpd-manual-2.2.3-11.el5_2.centos.4æ¹æ³å¦ä¸ï¼
ããrpm âehttpd-manual-2.2.3-11.el5_2.centos.4å¦æå¸è½½ä¸æï¼åä¼æ¾ç¤ºè½¯ä»¶çä¾èµå
³ç³»ï¼åå¯ä»¥å é¤æä¾èµç软件ï¼ç¶ååæ¥å¸è½½å½å软件å
ã
ããå¦æå®å¨è§å¾ä¾èµè½¯ä»¶çå
³ç³»é¾å¤ªé¿å¤ªå¤æï¼åå¯ä»¥å¼ºè¡å é¤ï¼æ·»å ânodepsåæ°å³å¯ï¼æ令å¦ä¸ï¼
ããrpm âehttpd-manual-2.2.3-11.el5_2.centos.4 --nodeps个人è§ç¹ï¼å é¤æèªå¸¦çapache对äºä»å确认apacheåºç°çé®é¢æ好å¤ã
ãã1.1ï¼åå¤å·¥ä½
ããé¦å
è¦ä¸è½½æé软件çæºç å
ï¼æå¦ä¸è¿äºï¼
ããapr-1.5.2.tar.gz
ããapr-util-1.5.4.tar.gz
ããpcre-8.36.tar.gz
ããhttpd-2.4.17.tar.gz
ããPHP-5.6.15.tar.gz
ããæææçæºç å
ä¸ä¼ å°æå¡å¨ä¸ã
ãã1.2ï¼å®è£
Apache2.4
ããé¦å
è¦å®è£
Apacheçä¾èµåº
ããapr-1.5.2.tar.gz
ããapr-util-1.5.4.tar.gz
ããpcre-8.36.tar.gz
ããtar zxvf apr-1.5.2.tar.gz
ããcd apr-1.5.2
ãã./configure--prefix=/usr/local/apr
ããmake && make install
ããtar zxvfapr-util-1.5.4.tar.gz
ããcd apr-util-1.5.4
ãã./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/aprmake && make install
ããtar zxvf pcre-8.36.tar.gz
ããcd pcre-8.36
ãã./configure --prefix=/usr/local/pcre--with-apr-util=/usr/local/apr-util --with-apr=/usr/local/aprmake && make install
ããå®è£
PCREçæ¶åéå°å¦ä¸é误ï¼
ããYou need a C++ compiler forC++ support
ãã解å³æ¹æ¡æ¯ï¼
ããyum install -y gcc gcc-c++
ãã注æï¼è¿ä¸ª-yåä¸ä¸è½å°ã
ããå¯ä»¥å¼å§å®è£
Apacheäºï¼
ãã解å缩
ããcd httpd-2.4.17
ãã./configure--prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util--with-pcre=/usr/local/pcre --enable-so --enable-rewritemake && make install
ãã注æï¼ä¹åå®è£
çæ¶åä»windowsä¸å¤å¶ç./configureé
ç½®åæ°ï¼ç»æä¸é´ä¸ç¥ä¸ºä½å¤åºæ¥ä¸äºæ¢è¡ç¬¦ï¼å¯¼è´è¿è¡ç»æåºéäºï¼æ以大家æ·è´æ令çæ¶åä¸å®è¦å°å¿ã
ãããæ¥éã/usr/bin/ld: cannotfind -l*
ãã主è¦çåå æ¯åºæ件并没æ导å
¥çldæ£ç´¢ç®å½ä¸æ¯å¦è¯´æå°±éå°äºå¦ä¸ä¸¤ä¸ªé误ï¼
ãã/usr/bin/ld: cannot find -lssl
ãã/usr/bin/ld: cannot find -lcrypto
ããè¿ä¸¤ä¸ªé误就表示ï¼libssl.soålibcrypto.soè¿ä¸¤ä¸ªæ件并ä¸å¨ldæ£ç´¢çç®å½ä¸é¢ã
ããè¿ä¸¤ä¸ªsoæ件ç»è¿æ¥æ¾ï¼å
¶å®å°±å¨/usr/local/ssl/libæ件夹ä¸é¢ï¼å¹¶ä¸/usr/local/ssl/libä¹å·²ç»åå¨äºldçé
ç½®æ件ä¸ï¼/etc/ld.so.confæ件ãä½æ¯å°±æ¯æ²¡æèµ·ä½ç¨ã
ããæç解å³æ¹æ¡æ¯ï¼æ没æå»å¦ä¹ ldçå·¥ä½æºå¶ï¼æå¨ldé»è®¤çLibæ£æ¥ç®å½ä¹ä¸ç/usr/local/libä¸å¢å äºä»¥ä¸ä¸¤ä¸ªsoæ件çå¤é¾ï¼æ令å¦ä¸ï¼
ããcd /usr/local/lib
ããln -sv/usr/local/ssl/lib/libssl.so libssl.soln -sv/usr/local/ssl/lib/libcrypto.so libcrypto.soè¿æ ·çè¯ï¼apahceçæ¥éé®é¢å°±è§£å³äºã
ãã1.3,å°Apacheæ·»å æhttpdæå¡å¹¶å¼æºèªå¯å¨
ããå¦æ没æhttpd æå¡çæ¶åï¼æ¯æ¬¡å¯å¨é½è¦è¿è¡å¦ä¸æ令ï¼
ãã/usr/local/apache/bin/apachectl start
ãã好é¾åç说ï¼ä¸é¢å°±å°httpdè£
å°æå¡ä¸ï¼åçä¹å¯ä»¥ç¨å°å
¶ä»æå¡çæä½ã
ãã1.å°apachectlæ件copyä¸åå°/etc/rc.d/init.dä¸ï¼ç¶åå/etc/rc.d/rc5.dä¸å å
¥é¾æ¥ã
ããå
¶ä¸init.dä¸çèæ¬å°±ç¸å½äºwindowä¸ç注å表ï¼å¨ç³»ç»å¯å¨çæ¶åæäºæå®çèæ¬è¢«æ§è¡ãèrc5.då°±årc3.då·®ä¸å¤å§ãä¹é½æ¯ä¸äºèæ¬åªæ¯æ§è¡çº§å«ä¸åã
ããå½ä»¤å¦ä¸ï¼
ããcp/usr/local/apache/bin/apachectl /etc/init.d/httpdln -s /etc/init.d/httpd/etc/rc.d/rc5.d/S85httpd2.è¿è¡chkconfig --list åç°å表ä¸æ²¡æhttpdï¼éè¿chkconfig --add httpdæ¥æ·»å ï¼å¯è½ä¼æ示httpdæå¡ä¸æ¯æchkconfigï¼éè¦ç¼è¾/etc/rc.d/init.d/httpdå¨ç¬¬äºè¡æ·»å 以ä¸æ³¨è§ä¿¡æ¯ï¼
ãã# chkconfig: 345 85 15
ãã# description:Activates/Deactivates Apache Web Server345代表åªäºlinux级å«éè¦å¯å¨httpdï¼å¯å¨åºå·æ¯85ï¼å
³éåºå·æ¯15ã
ããä¿å以åæ§è¡ chkconfig --addhttpd æ·»å æå3.è¿è¡chkconfig --list httpd åºæ¬å°±åå¨äºãç¶åå°±å¯ä»¥ç¨äºãservice httpd start å service httpd stopäºï¼å®è£
PHP5.6.15
ãã2.1 æºä»£ç å®è£
PHP
ãã解å缩
ããCd php-5.6.15
ããé
ç½®åæ°å¤ªå¤æäºæ¯å»ç½ä¸æ¾äºä¸ä¸ªå¤§ççæ¨èï¼å¦ä¸ï¼
ãã./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-libxml-dir=/usr/include/libxml2 --with-config-file-path=/usr/local/apache2/conf--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config--with-gd--enable-gd-native-ttf --with-zlib--with-mcrypt--with-pdo-mysql=/usr/local/mysql --enable-shmop --enable-soap--enable-sockets--enable-wddx --enable-zip --with-xmlrpc --enable-fpm--enable-mbstring--with-zlib-dir --with-bz2 --with-curl --enable-exif--enable-ftp--with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/äºæ¯ä¹éå°äºä¸ç³»åçæ¥éï¼æ¨èæä¹åçä¸ç¯æç« ä»ç»äºå¸¸è§é误ç解å³åæ³ï¼
ãã
http://blog.csdn.NET/dodott/article/details/49664379æéå°çé®é¢å¦ä¸ï¼
ãããæ¥éãconfigure errorxml2-config not found. please check your libxml2 installation解å³æ¹æ¡ï¼
ããCentos: yum install libxml2
ããyum install libxml2-devel -y
ãããæ¥éãConfigure: error:Please reinstall the BZip2 distribution解å³æ¹æ¡ï¼
ããcentos: yum install bzip2bzip2-devel
ããdebian: apt-get installbzip2-devel
ãããæ¥éã
ããconfigure: error: Pleasereinstall the libcurl distribution -easy.h should bein<curl-dir>/include/curl/解å³æ¹æ¡ï¼
ããcentos: yum install curlcurl-devel (For Redhat & Fedora)ãæ¥éã
ããconfigure: error: mcrypt.hnot found. Please reinstalllibmcrypt.
ãã解å³æ¹æ¡ï¼
ããç½ä¸å¤§é¨åç»çæ¹æ³æ¯ä½¿ç¨å¦ä¸æ令
ããyum install libmcryptlibmcrypt-devel (For Redhat & Fedora)ä½æ¯åºæ¬ä¸é½æ²¡æä½ç¨ï¼ç³»ç»çè³ä¼æ示ï¼nothingto doã估计å¯è½åYUMæºç软件çæ¬å¤ªä½æå
³ç³»ã
ããæ£ç¡®åæ³æ¯èªå·±ä¸è½½æºç æ¥å®è£
ï¼
ããlibmcrypt-2.5.7.tar.gz
ããcd libmcrypt-2.5.7
ãã#ç¼è¯ï¼é»è®¤å®è£
å°/usr/local/lib/ï¼
ãã./configure--prefix=/usr/local/libmcrypt
ãã#æ§è¡å®è£
ããmake && make install
ãã注æï¼è¿éçå®è£
è·¯å¾è¦è®°ä½ï¼çä¼å®è£
PHPçæ¶åä¼ç¨å°ã
ãã继ç»åå°PHPçå®è£
ï¼æ¤æ¶çé
ç½®åæ°ä¿®æ¹ä¸ºï¼
ãã./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-libxml-dir=/usr/include/libxml2--with-config-file-path=/usr/local/apache2/conf--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-gd --enable-gd-native-ttf--with-zlib --with-pdo-mysql=/usr/local/mysql--enable-shmop --enable-soap--enable-sockets --enable-wddx --enable-zip--with-xmlrpc --enable-fpm--enable-mbstring --with-zlib-dir --with-bz2--with-curl --enable-exif--enable-ftp --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/--with-mcrypt=/usr/local/libmcryptä¿®æ¹å
容æ¯ï¼
ããå»æäº--with-mcryptï¼å¨æåå¢å äº--with-mcrypt=/usr/local/libmcryptãæ¥éãconfigure: error:libjpeg.(a|so) not foundconfigure: error: png.h not found.
ãã解å³æ¹æ³ï¼
ããå
³äºjpegçé®é¢ï¼å®è£
å¦ä¸è½¯ä»¶å
ããyum -y install libjpeg-devel
ããå
³äºpngçé®é¢ï¼å®è£
å¦ä¸è½¯ä»¶å
ããyum -y install libpng-devel
ãããæ¥éã
ããconfigure: error: Cannot findMySQL header files under/usr/local/mysql.
ããNote that the MySQL clientlibrary is not bundled anymore!
ããè¿ä¸ªé®é¢æ¯å 为没æå®è£
mysqlï¼æ以æ¾ä¸å°mysqlçè¿è¡åºã
ããä½æ¯æ¬æ¬¡å®è£
æ¬èº«å°±ä¸æ³å®è£
å®æ´çmysql软件ï¼å»phpå®ç½æ¥äºèµæåæ¾å°å¦ä¸ä¸æ®µç¿»è¯æåï¼
ããâå¯¹äº php-5.3.0ææ´æ°çæ¬ï¼mysqli é»è®¤ä½¿ç¨Mysql Native Driverä½ä¸ºé©±å¨ã è¿ä¸ªé©±å¨æ¯libmysqlä¼æä¸äºä¼å¿ï¼ --with-mysql=mysqlndâ
ããæç»configureåæ°ä¿®æ¹ä¸ºï¼
ãã./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs--with-libxml-dir=/usr/include/libxml2--with-config-file-path=/usr/local/apache2/conf --with-mysql=mysqlnd--with-mysqli=mysqlnd --with-gd --enable-gd-native-ttf --with-zlib--with-pdo-mysql=mysqlnd --enable-shmop --enable-soap --enable-sockets--enable-wddx --enable-zip --with-xmlrpc --enable-fpm --enable-mbstring --with-zlib-dir --with-bz2 --with-curl--enable-exif --enable-ftp --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/ --with-mcrypt=/usr/local/libmcrypt注æï¼ä¸é¢çº¢è²æ è®°åºæ¥çç®å½å°±æ¯åé¢php.iniéè¦æ¾ç½®çç®å½ã
ããå°æ¤ç»äºæPHPçconfigureæåéè¿ã
ããmake å makeinstallãPHPå®è£
å®æ¯ã
ãã2.2ï¼ä¿®æ¹PHPçé
ç½®æ件php.ini
ããè¿å
¥phpæºç ç®å½ï¼éæ©php.ini-developmentå¤å¶ä¸ä»½å°/usr/local/apache2/confï¼å¹¶æ¹å为php.ini使ç¨viæå¼ï¼æ¥æ¾extension_dirï¼ä¿®æ¹ä¸ºextension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226"ï¼è¯»è
æ ¹æ®èªå·±çPHPå®è£
ç®å½ç»æé
ç½®ï¼ç®çæ¯æ¾å°PHPçæ©å±åºã
ããæ¥æ¾extension=php_ï¼å»æextension=php_curl.dllï¼extension=php_gd2.dllï¼extension=php_mbstring.dllï¼extension=php_mysql.dllï¼extension=php_mysqli.dllï¼extension=php_pdo_mysql.dllï¼extension=php_xmlrpc.dllåé¢ çåå·ãæ¥æ¾short_open_tag= Offæå®ä¿®æ¹æshort_open_tag = Onï¼è®©å
¶æ¯æçæ ç¾ï¼æç注éè¿ä¸ªé»è®¤æ¯æå¼çï¼ã
ããä»å«äººçæå¡å¨ä¸æè¿æ·è´äºå¦ä¸æ件æ¾å°
ãã/usr/local/php/lib/php/extensions/no-debug-zts-20131226ç®å½ï¼æ件å¦ä¸ï¼
ããImap.so
ããMcrypt.so
ããMemcache.so
ããOpenssl.so
ããZip.so
ããç¶åå¨php.iniçæåå¢å å¦ä¸é
ç½®æåï¼
ããextension=memcache.so
ããextension=openssl.so
ããextension=mcrypt.so
ããextension=zip.so
ãã2.3ï¼ä¿®æ¹Apacheé
ç½®æ件httpd.confç¸å
³ä¿®æ¹ä»¥æ¯æPHPvi/usr/local/apache/conf/httpd.conf
ãã? æ·»å phpæ¯æã
ãããæ·»å å段ä¸ã
ããAddTypeapplication/x-httpd-php .php .phtmlAddType application/x-httpd-php-source.phpsãæ·»å å段äºã
ãã<FilesMatch \.php$>
ããSetHandlerapplication/x-httpd-php
ãã</FilesMatch>
ãã? æ·»å é»è®¤ç´¢å¼é¡µé¢index.phpï¼åæ¾å°âDirectoryIndexâï¼å¨index.htmlåé¢å ä¸â index.phpâ
ããDirectoryIndex index.htmlindex.php
ãã? 3. ä¸æ¾ç¤ºç®å½ç»æï¼æ¾å°âOptions Indexes FollowSymLinksâï¼ä¿®æ¹ä¸ºOptions FollowSymLinks
ãã? 4. å¼å¯Apacheæ¯æ伪éæï¼æ¾å°âAllowOverride Noneâï¼ä¿®æ¹ä¸ºAllowOverride All
ããéå¯Apache
ããservice httpd restart
ããæéï¼å®å¨ä¸ç¥éæä¹é
ç½®ï¼å°±æ¾ä¸ªå·²ç»æ建æåçæå¡å¨æé
ç½®æ件å¼è¿æ¥å¯¹æ¯ä¸ä¸ã
ããæ¤æ¶è¿ä¼éå°å¦ä¸æ¥éï¼
ããhttpd: Could not reliablydetermine the server's fully qualified domain name解å³åæ³ï¼
ããlinux :/usr/local/apache/conf
ããç¨è®°äºæ¬æå¼httpd.conf
ããå°éé¢ç#ServerNamelocalhost:80注éå»æå³å¯ã
ãããæ¥éãï¼æä¹æ¾ç»é
ç½®æäºServerName127.0.0.1:80ï¼ç»æå±åç½å
¶ä»çµè就没æ³è®¿é®äºï¼åå ä¸æ¸
æ¥ã
ããå°æ¤ï¼æ´ä¸ªApache+PHP5.6çç¯å¢æ建å®æ¯ã
ãã2.4ï¼ä½¿ç¨å°æå·§
ãããæ¥çApacheççæ¬å·ã
ããè¿è¡apacheå®è£
ç®å½ä¸ç/bin/httpd -vï¼å
·ä½å®è·µåçæ令æ¯ï¼
ãã#è¿å
¥apacheå®è£
ç®å½
ãã#cd /usr/local/apache2/bin
ãã#./httpd -v
ããServer version: Apache/2.4.17(Unix)
ããServer built: Feb 23 2016 15:21:50
ããä¸ï¼é²ç«å¢ç管ç
ãã1) éå¯åçæ
ããå¼å¯ï¼ chkconfig iptables on
ããå
³éï¼ chkconfig iptables off
ãã2) å³æ¶çæï¼éå¯å失æ
ããå¼å¯ï¼ service iptables start
ããå
³éï¼ service iptables stop
ããéè¦è¯´æçæ¯å¯¹äºLinuxä¸çå
¶å®æå¡é½å¯ä»¥ç¨ä»¥ä¸å½ä»¤æ§è¡å¼å¯åå
³éæä½ã