centos7.0卸載系統默認版本,安裝apache-2.4.10及其出現問題

centos7.0安裝完畢後,通過yum 安裝的apache版本是 2.4.6的。

於是先停止了httpd服務,然後卸載了默認安裝的版本。

systemctl stop httpd.service

rpm -qa|grep httpd #查看apache包,找到名字(例如httpd-2.4.6-18.el6_2.1.x86_64)後用下面命令刪除
rpm -e httpd-2.2.15-15.el6_2.1.x86_64 #不過要先把依賴apache的包刪除
或者
yum remove httpd
yum list|grep httpd #查看apache包名,例如httpd.x86_64
yum erase httpd.x86_64         #相關依賴包自動會被刪除
開始安裝2.4.10
wgethttp://mirrors.cnnic.cn/apache/httpd/httpd-2.4.10.tar.gz
 wget http://apache.dataguru.cn/apr/apr-1.5.1.tar.gz
wget http://apache.dataguru.cn/apr/apr-util-1.5.3.tar.gz
cd apr-1.5.1
./configure --prefix=/usr/local/apr
Make
Make install
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
Make
Make install
 Cd /usr/local/src
Tar –xvf httpd-2.4.10.tar.gz
./configure --prefix=/usr/local/apache--sysconfdir=/etc/httpd2 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event --enable-proxy 
--enable-proxy-fcgi
# 參數依次是: httpd安裝路徑  httpd配置文件存放路徑  啓用模塊化方式  啓用ssl安全連接
# 啓用cgi腳本功能  啓用url重寫  啓用服務器壓縮  啓用正則表達式支持    apr安裝路徑 
# apr util安裝路徑   啓用常用模塊以確保apache正常工作    將多進程模型非靜態化 
# 啓用事件異步模型
 Make
Make install
裝完後,配置httpd.conf文件,我make的時候出了點小差錯,這個文件的路徑裝的位置過深,於是用ln命令鏈接到一個比較好找的位置
ln -s  /usr/local/apache/bin/httpd2/conf  /usr/local/conf   
vi /usr/local/conf/httpd.conf
#AddHandler cgi-script .cgi #修改爲:AddHandler cgi-script .cgi .pl (允許擴展名爲.pl的CGI腳本運行)
AllowOverride None  #修改爲:AllowOverride All (允許.htaccess)
AddDefaultCharset UTF-8 #修改爲:AddDefaultCharset GB2312 (添加GB2312爲默認編碼)
#Options Indexes FollowSymLinks   #修改爲 Options FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html   #修改爲:DirectoryIndex index.html index.htm Default.html Default.htmindex.php(設置默認首頁文件,增加index.php)
servername 名字改好
保存退出,運行 systemctl start httpd.service  啓動httpd服務,運行netstat -tnl   和 netstat -ntpl |grep 80 發現服務沒起來。
運行/usr/local/apache/bin/apachectl start  一樣沒啓動
運行/usr/local/apache/bin/apachectl stop 報錯 服務沒啓動,no httpd.pid
於是cat /usr/local/apache/logs/error_log
H01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
grep 'slotmem' /usr/local/conf/httpd.conf 
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
 /usr/local/apache/bin/apachectl -k start
netstat -ntpl |grep :80
tcp        0      0 :::80                       :::*                        LISTEN      7898/httpd
測試apache   IT IS WORK.
這個版本的apache配置虛擬主機,來配置文件放到了conf/extra/下面,conf/extra/httpd-vhosts.conf
打開httpd.conf: 將#Include conf/extra/httpd-vhosts.conf 前的“#”去掉   讓apache加載虛擬機配置文件
打開conf/extra/httpd-vhosts.conf,隱掉或刪掉例子
#<VirtualHost *:80>
#    ServerAdmin [email protected]
#    DocumentRoot "/usr/local/apache2/docs/dummy-host2.example.com"
#    ServerName dummy-host2.example.com
#    ErrorLog "logs/dummy-host2.example.com-error_log"
#    CustomLog "logs/dummy-host2.example.com-access_log" common
#</VirtualHost>
添加自己的修改過的配置
注意要加上權限
<Directory />
    Options Indexes FollowSymLinks
    AllowOverride all
    require all granted
    </Directory>
安裝PHP
wget http://cn2.php.net/get/php-5.5.17.tar.gz/from/this/mirror
 
yum install libxml2-devel gd-devel libmcrypt-devel libcurl-devel openssl-devel
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --enable-shared --with-libxml-dir --with-gd --with-openssl --enable-mbstring --with-mcrypt --with-mysqli --with-mysql --enable-opcache --enable-mysqlnd --enable-zip --with-zlib-dir --with-pdo-mysql --with-jpeg-dir --with-freetype-dir --with-curl --without-pdo-sqlite --without-sqlite3
載入php的模組
 
LoadModule php5_module        modules/libphp5.so
 
AddType application/x-httpd-php .php .php3 .php5 .phtml (注意:php .php這個點前面有一個空格)
 
在/var/www/html  目錄新建 index.php  輸入下面內容
<?php
phpinfo();
?> 
 訪問頁面測試PHP是否成功
 安裝PHPWIND
 用winscp將PHPWIND源文件複製到服務器上
 配置虛擬站點
Vi /usr/local/conf/extra/httpd-vhosts.conf  
配置一個域名
PHPWIND有些目錄(具體名字略)需要讀寫權限,可以用winscp設置權限,也可以命令行
Chomd o+w data
安裝配置phpadmin
安裝略
cd phpdmin
 chmod -R 777 phpMyAdmin
  cp config.sample.inc.php config.inc.php
  vi config.inc.php
   vi config.inc.php修改以下的參數爲:(如果沒有,可自己添加)
         $cfg['Servers'][$i]['auth_type'] = 'config';
         /* Server parameters */
         $cfg['Servers'][$i]['host'] = 'localhost';
         $cfg['Servers'][$i]['user'] = 'root';
         $cfg['Servers'][$i]['password'] = '??';
         'auth_type' 用於設置登陸方式,config是直接從這個文件中獲取user/password然後連接數據庫,http則是在客戶端訪問的時候會彈出一個輸入用戶名密碼的框進行認證處理 cookie則是通過頁面輸入用戶名密碼進行連接。其中config的安全等級最低,cookie的等級最高,不過如果禁用了cookie則無法使用cookie的方式進行認證。
 配置apache配置文件:/usr/local/apache/conf/extra/httpd-vhost.conf
      添加:
         <VirtualHost xxx:80>
           ServerAdmin xxx
           DocumentRoot "/usr/local/apache/htdocs/phpMyAdmin"
           ServerName xxx
              ErrorLog "logs/mysql.admin-error_log"
           CustomLog "logs/mysql.admin-access_log" common
         </VirtualHost>
   9. 重新啓動apache服務
  配置好hosts後,就可以通過http:// 域名來訪問了。

make
  根據Makefile文件編譯源代碼、連接、生成目標文件、可執行文件。
  make clean
  清除上次的make命令所產生的object文件(後綴爲“.o”的文件)及可執行文件。
  make install
  將編譯成功的可執行文件安裝到系統目錄中,一般爲/usr/local/bin目錄。
  make dist
  產生髮布軟件包文件(即distribution package)。這個命令將會將可執行文件及相關文件打包成一個tar.gz壓縮的文件用來作爲發佈軟件的軟件包。
  它會在當前目錄下生成一個名字類似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我們在configure.in中定義的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。
  make distcheck
  生成發佈軟件包並對其進行測試檢查,以確定發佈包的正確性。這個操作將自動把壓縮包文件解開,然後執行configure命令,並且執行make,來確認編譯不出現錯誤,最後提示你軟件包已經準備好,可以發佈了。
  make distclean
  類似make clean,但同時也將configure生成的文件全部刪除掉,包括Makefile文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章