linux系統CentOS7 先下載Apache需要依賴的軟件 1、APR 下載地址http://apr.apache.org/download.cgi wget下載路徑http://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz 這里用到的是 apr-1.5.2.tar.gz 2、APR-util 下載地址同APR一樣http://apr.apache.org/download.cgi wget下載路徑http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz 這里用到的是 apr-util-1.5.4.tar.gz 3、PCRE 下載地址ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ wget下載路徑ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz 這里用到的是 pcre-8.37.tar.gz Apache 下載地址http://httpd.apache.org/download.cgi wget下載路徑http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.17.tar.gz 這里用到的是 httpd-2.4.17.tar.gz PHP 下載地址http://www.php.net/downloads.php wget下載路徑http://cn2.php.net/distributions/php-5.6.15.tar.gz 這里用到的是 php-5.6.15.tar.gz 用 WinSCP上傳到指定的目錄下,這里是 /usr/local/src shell端 需要先安裝gcc與gcc-c++ yum添加/刪除/更新RPM包即軟件包 install : 安裝一個或多個軟件包在系統上 -y : 回答所有的問題為是 這里安裝兩個軟件包gcc和gcc-c++ yum install -y gcc gcc-c++ 進入到安裝包目錄 cd /usr/local/src 解壓縮APR到當前文件夾 tar -zxvf apr-1.5.2.tar.gz 進入APR的解壓目錄 cd apr-1.5.2 配置APR安裝目錄 configure這一步一般用來生成 Makefile,為下一步的編譯做准備,可以通過在 configure 后加上參數來對安裝進行控制 --prefix : 設置安裝目錄 ./configure --prefix=/usr/local/apr 開始編譯APR make編譯,大多數的源代碼包都經過這一步進行編譯(有些perl或python編寫的軟件需要調用perl或python來進行編譯) make 開始安裝 make install這條命令來進行安裝(有些軟件需要先運行 make check 或 make test 來進行一些測試),這一步一般需要有 root 權限(因為要向系統寫入文件) make install 返回上級目錄 cd ../ 解壓縮APR-util到當前文件夾 tar -zxvf apr-util-1.5.4.tar.gz 進到解壓縮目錄 cd apr-util-1.5.4 配置安裝目錄及關聯APR --with-apr : 指定APR的安裝目錄 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 編譯 make 安裝 make install 返回上級目錄 cd ../ 解壓縮PCRE到當前文件夾 tar -zxvf pcre-8.37.tar.gz 進入解壓縮目錄 cd pcre-8.37 配置安裝目錄 ./configure --prefix=/usr/local/pcre 編譯 make 安裝 make install 返回上級目錄 cd ../ 解壓縮Apache到當前文件夾 tar -zxvf httpd-2.4.17.tar.gz 進入解壓縮目錄 cd httpd-2.4.17 配置Apache安裝 httpd允許配置的選項 --prefix : 安裝路徑 --sysconfdir : 指定配置文件路徑 --enable-so : DSO兼容,DSO=Dynamic Shared Object,動態共享對象,可實現模塊動態生效 --enable-ssl : 支持SSL/TLS,可以實現https訪問 --enable-cgi : 支持CGI腳本(默認對非線程的MPM模式開啟) --enable-rewrite : 啟用Rewrite功能 --enable-deflate : 支持壓縮 --with-z : 使用指定的zlib庫,不指定路徑會自動尋找 --with-apr : 指定apr安裝路徑 --with-apr-util : 指定apr-util安裝路徑 --with-pcre : 使用指定的PCRE庫,不指定路徑會自動尋找 --enable-modules : 支持動態啟用的模塊,可選參數有all,most,few,reallyall --enable-mpms-shared : 支持動態加載的MPM模塊,可選all --with-mpm : 設置默認啟用的MPM模式 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre 編譯 make 安裝 make install 修改Apache配置文件 進入后按鍵盤i進行編輯,修改如下值 一大堆LoadModule下面 添加 #加載PHP處理模塊 LoadModule php5_module modules/libphp5.so #添加PHP等后綴的處理 AddType application/x-httpd-php .php 如果服務器有任何問題將通知的郵箱地址 修改 ServerAdmin you@example.com 改成 ServerAdmin zdy_521@126.com 配置服務器名稱,本機ip為192.168.155.128,如果DNS未配置,此段語句要放在配置文件開頭處 修改 ServerName www.example.com:80 改成 ServerName 192.168.155.128:80 修改 DirectoryIndex index.html 改成 DirectoryIndex index.php index.html 編輯后按esc鍵輸入:wq按回車保存。 vim /usr/local/apache/conf/httpd.conf 將Apache加入到可控制啟動的服務的文件夾內,並命名httpd,即service可控制的服務名,這樣就可以使用service httpd start來啟動Apache了 cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 修改/etc/init.d/httpd使Apache可以設置成開機啟動 在第一行#!/bin/sh下一行添加如下兩行 #chkconfig: 2345 10 90 #description: Activates/Deactivates Apache Web Server #必須有,其中:2345是設為要啟動的運行級別,10是啟動優先級,90是殺死進程的優先級,誰優先誰先掛的意思。 編輯后按esc鍵輸入:wq按回車保存。 vim /etc/init.d/httpd 讓Apache服務加入到開機啟動指令管理的服務列表中 chkconfig --add httpd 設置成開機啟動 chkconfig httpd on 返回上級目錄 cd ../ 安裝php前需要安裝libxml2和libxml2-devel yum install -y libxml2 libxml2-devel 解壓縮PHP到當前文件夾 tar -zxvf php-5.6.15.tar.gz 進入解壓縮目錄 cd php-5.6.15 配置PHP安裝 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config 編譯 make 安裝 make install 將安裝包里的開發版php.ini復制到配置php安裝時指定存放php.ini的位置即--with-config-file-path指向的位置 cp php.ini-development /usr/local/php/php.ini 編輯php.ini 將前面的;去掉使PHP支持mysql,並且配置時要指定--with-mysql的值,如果之前安裝時未配置,需要重新配置,編譯,安裝 ;extension=php_mysql.dll 要使用phpmyadmin或mysqli函數打開,並且配置時要指定--with-mysqli的值,如果之前安裝時未配置,需要重新配置,編譯,安裝 ;extension=php_mysqli.dll 要PHP支持png,jpg,gif等(phpcmsV9必須)打開 ;extension=php_gd2.dll 大字符集,支持多字符集之間的轉換打開 ;extension=php_mbstring.dll php5默認<?php echo date("Y-m-d H:i:s");?>時間與北京時間相差八小時(少八小時) 為什么呢?PHP5系列版本新增了時區設置,默認為格林威治時間,與中國所在的東8區正好相差8個小時 查找 ;date.timezone = 將;去掉,並修改成 date.timezone = PRC 除了E_NOTICE類型的錯誤(Notice)不報告,其他的都報告,查找 error_reporting = E_ALL 改成 error_reporting = E_ALL & ~E_NOTICE 使 include 等可以包含域外網頁如 include_once "http://www.126.com"; 找到 allow_url_include = Off 改成 allow_url_include = On vim /usr/local/php/php.ini 啟動Apache,之前未啟動是因為未安裝PHP關聯前Apache配置文件中LoadModule php5_module modules/libphp5.so找不到加載模塊報錯 service httpd start 開放防火牆80端口訪問 firewall-cmd --zone=public --add-port=80/tcp --permanent 重啟防火牆 firewall-cmd --reload 附一: PHP ./configure允許配置的選項,列表如下(部分參數未得到解釋) --prefix : 指定 php 安裝目錄 --with-apxs2 : 整合 Apache,apxs功能是使用mod_so中的LoadModule指令,加載指定模塊到 Apache,要求 Apache 要打開SO模塊 --with-config-file-path : 指定php.ini位置 --with-mysql : mysql安裝目錄,對mysql的支持。例--with-mysql=/usr/local/mysql --with-mysqli : mysqli擴展技術支持不僅可以調用MySQL的存儲過程、處理MySQL事務,而且還可以使訪問數據庫工作變得更加穩定。例--with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir : 選項指令,用於 PHP 編譯時指定 iconv 在系統里的路徑,否則會掃描默認路徑。例--with-iconv-dir=/usr/local --with-freetype-dir : 打開對freetype字體庫的支持 --with-jpeg-dir : 打開對jpeg圖片的支持 --with-png-dir : 打開對png圖片的支持 --with-zlib-dir : 打開zlib庫的支持,用於http壓縮傳輸 --with-libxml-dir : 打開libxml2庫的支持 --disable-rpath : 關閉額外的運行庫文件 --enable-bcmath : 打開圖片大小調整,用到zabbix監控的時候用到了這個模塊 --enable-shmop : 這樣就使得你的PHP系統可以處理相關的IPC函數了。和--enable-sysvsem一起使用 --enable-sysvsem : 這樣就使得你的PHP系統可以處理相關的IPC函數了。和--enable-shmop一起使用 --enable-inline-optimization : 優化線程 --with-curl : 打開curl瀏覽工具的支持 --with-curlwrappers : 運用curl工具打開url流 --enable-mbregex : --enable-fpm : 打上PHP-fpm 補丁后才有這個參數,CGI方式安裝的啟動程序 --enable-mbstring : 多字節,字符串的支持 --with-mcrypt : mcrypt算法擴展 --with-mhash : mhash算法擴展 --with-gd : 打開gd庫的支持 --enable-gd-native-ttf : 支持TrueType字符串函數庫 --with-openssl : openssl的支持,加密傳輸https時用到的 --enable-pcntl : freeTDS需要用到的,可能是鏈接mssql 才用到 --enable-sockets : 打開 sockets 支持 --with-xmlrpc : 打開xml-rpc的c語言 --enable-zip : 打開對zip的支持 --enable-ftp : 打開ftp的支持 --with-bz2 : 打開對bz2文件的支持 --without-iconv : 關閉iconv函數,字符集間的轉換 --with-ttf : 打開freetype1.*的支持,可以不加了 --with-xsl : 打開XSLT 文件支持,擴展了libXML2庫 ,需要libxslt軟件 --with-gettext : 打開gnu 的gettext 支持,編碼庫用到 --with-pear : 打開pear命令的支持,PHP擴展用的 --enable-calendar : 打開日歷擴展功能 --enable-exif : 圖片的元數據支持 --enable-magic-quotes : 魔術引用的支持 --disable-debug : 關閉調試模式 --with-mime-magic : 魔術頭文件位置。例--with-mime-magic=/usr/share/file/magic.mime CGI方式安裝才用的參數 --enable-fastCGI : 支持fastcgi方式啟動PHP --enable-force-CGI-redirect : 重定向方式啟動PHP --with-ncurses : 支持ncurses 屏幕繪制以及基於文本終端的圖形互動功能的動態庫 --with-gmp : 應該是支持一種規范 --enable-dbase : 建立DBA 作為共享模塊 --with-pcre-dir : perl的正則庫案安裝位置。例--with-pcre-dir=/usr/local/bin/pcre-config --disable-dmalloc : --with-gdbm : dba的gdbm支持 --enable-sigchild : --enable-sysvshm : --enable-zend-multibyte : 支持zend的多字節 --enable-wddx : --enable-soap : 例 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php --with-jpeg-dir --with-curl --with-gd