apache安裝(httpd)

apache安裝(httpd)

(一)在linuxwindows平臺共享apache安裝軟件,並掛載

yum install -y cifs-utils

mount //192.168.1.100/Apache--httpd /opt

()解壓文件

cd /opt

tar zxvf apr-1.4.6.tar.gz -C /usr/local

tar zxvf apr-util-1.4.1.tar.gz -C /usr/local

tar zxvf httpd-2.4.4.tar.gz -C /usr/local

(三)複製解壓文件,去掉版本號

cd  /usr/local

cp -r apr-1.4.6 httpd-2.4.4/srclib/apr

cp -r apr-util-1.4.1 httpd-2.4.4/srclib/apr-util

(四)安裝下面的三個必須安裝的編譯語言工具gccgcc-c++make

安裝過程出現的錯誤要安裝prce-devel這個開發包

yum -y install gcc

yum -y installgcc-c++

yum -y installmake

yum -y installpcre-devel

(五)源碼編譯

cd  /usr/local/httpd-2.4.4

./configure \

--prefix=/usr/local/apache \

--enable-so \

--enable-rewrite \

--enable-mods-shared=most \

--with-mpm=worker \

--disable-cgid \

--disable-cgi

參數解釋:

./configure \     //可執行配置程序

--prefix=      //指定將httpd服務程序安裝到哪個目錄

--enable-so  //該參數表示支持用mod_so模塊提供的功能,用LoadModulehttpd.conf文件或包含的conf文件中

動態加載某個模塊。讓 Apache 可以支持DSO模式

--enable-rewrite       / /啓用網頁地址重啓功能,用於網站優化及目錄遷移維護

--enable-mods-shared=most  //選項:告訴編譯器將所有標準模塊都動態編譯爲DSO模塊。

--with-mpm=worker // apacheworker方式運行

--with-mpm=worker   //該參數是配置apache將以何種模式編譯的。Apache網站文檔指出不同操作系統下的不同

的默認模式.

--disable-cgid //禁止用一個外部 CGI 守護進程執行CGI腳本

--disable-cgi //禁止編譯 CGI 版本的 PH,不便於擴展網站的應用訪問能力

(六)源碼編譯及安裝

make                把源代碼轉換爲可執行程序

make install           拷貝過程:將/usr/local/httpd-2.4.4目錄下編譯完的http程序及相關目錄,文件複製到預設

                              的安裝目錄(及--prefix=/usr/local/apache指定安裝路徑

(七)使httpd服務可以使用service管理

"service管理的命令都在/etc/init.d/這個目錄下

grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd

vi /etc/init.d/httpd

在文件最前面插入下面的行,使其支持chkconfig命令

#!/bin/sh

             # chkconfig: 2345 85 15

             # description: Apache is a World Wide Web server.

行參數意義分別爲:Linux2,3,4,5級別需要啓動httpd服務,啓動序號(85);關閉序號(15)

chmod+x /etc/init.d/httpd    //httpd文件加上可執行權限

chkconfig --add httpd //注如果在/etc/init.d/httpd不編輯這個# chkconfig: 2345 85 15內容的話,

就沒法用chkconfig --add來添加apache這個服務的

htpd的基本配置(訪問默認網頁)

(一)修改主配置文件

vi /etc/httpd.conf(# vi /usr/local/apache/conf/httpd.conf)

ServerName //設置成hostname顯示的名稱

Listen 192.168.1.20//添加或修改監聽本地的IPv4的地址的80端口

cat /usr/local/apache/htdocs/index.html

<html><body><h1>It works!</h1></body></html>     默認顯示網頁

(二)設置軟連接

ln -s /usr/local/apache/conf/httpd.conf/etc/httpd.conf  軟連接------/etc/httpd.conf -> /usr/local/apache/conf/httpd.conf

虛擬目錄(匿名用戶訪問)

(一)修改主配置文件

vi /usr/local/apache/conf/httpd.conf//配置文件裏添加一條參數

Include conf.d/*.conf         //識別/usr/local/apache/conf.d目錄下以.conf 結尾的虛擬目錄配置文件

(二)創建虛擬目錄

mkdir /usr/local/apache/conf.d

(三)編輯虛擬目錄下的配置文件

cd /usr/local/apache/conf.d

vi vdir.conf

Alias /anon "/opt/anon/"

<Directory "/opt/anon/">

   Options Indexes MultiViews FollowSymLinks    //固定模式

   AllowOverride None//固定的不允許重寫

   Order allow,deny                           //先允許,後拒絕      

   Allow from all                             //允許任何網段客戶機訪問  

   Require all granted  //對這個目錄給予授權,這是6.0手動編譯安裝的apache時,定義被訪問目錄的權限

</Directory>

(四)創建虛擬目錄存放路徑

mkdir /opt/anon

(五)在虛擬目錄下存放文件

echo "this is www.benet.com" > /opt/anon/index.html

                  虛擬目錄(用戶授權訪問)

(一)修改主配置文件

vi /usr/local/apache/conf/httpd.conf//配置文件裏添加一條參數

Include conf.d/*.conf         //識別/usr/local/apache/conf.d目錄下以.conf 結尾的虛擬目錄配置文件

(二)創建虛擬目錄

mkdir /usr/local/apache/conf.d

(三)編輯虛擬目錄下的配置文件

vi /usr/local/apache/conf.d/vdir.conf

Alias /test "/opt/test/"        指定授權虛擬目錄名(即192.168.1.20/test),虛擬目錄存放路徑

<Directory "/opt/test/">                        //虛擬目錄存放路徑

   Options Indexes MultiViews FollowSymLinks           //固定模式

   AllowOverride None                              //固定的不允許重寫

   AuthName "hello"          //定義受保護的領域名稱,該內容將在瀏覽器彈出的認證對話框中顯示

   authtype basic             //設置認證的類型,basic爲基本的認證

authuserfile /usr/local/apache/user//這裏的文件路徑要和創建用戶認證數據文件的路徑一樣的

require valid-user        //要求只有認證文件中的合法用戶才能訪問。valid-user表示所有合法用戶

#   authgroupfile /etc/httpd/group   //設置組的保存用戶賬號、密碼的認證文件路徑444444444444444444444#  authuserfile /etc/httpd/user//設置用於保存用戶賬號、密碼的認證文件路徑(htpasswd

#   require user test         //只允許指定的test這個用戶訪問

#   Require group admin     //允許訪問的組名,只有組中定義的才能訪問

#   Require all granted     //對這個目錄給予授權,這是6.0手動編譯安裝的apache時,定義被訪問目錄的權限

</Directory>

(四)使用htpasswd工具創建用戶認證數據文件

htpasswd -c /usr/local/apache/user test 新建數據文件user包含一個名爲test用戶信息。這裏的文件路徑要和虛擬目錄下的配置路徑一樣(authuserfile /usr/local/apache/user/

(五)創建虛擬目錄存放路徑

mkdir /opt/test

(六)在虛擬目錄下存放文件

echo "this is www.benet.com" > /opt/anon/index.html

注!!

/usr/local/apache/bin/htpasswd -c 等同於htpasswd -c

htpasswd這個工具在我們手工編譯的安裝路徑的bin的執行文件下,用“-c”的參數表示新建立此文件。

如下所示:如果省略“-c”選項,則表示指定的用戶數據文件已經存在,用於添加新的用戶或修改現有用戶的密碼

htpasswd /usr/local/httpd/user tom

New password: 修改密碼

Re-type new password: 確認修改密碼

Re-type new password:mkdir /opt/benet

虛擬主機(基於端口號)

()新建虛擬主機目錄和網站

mkdir /opt/accp

mkdir /opt/accp

echo "<h1>this is www.benet.com</h1>" > /opt/benet

echo "<h1>this is www.accp.com</h1>" > /opt/accp

(二)修改主配置文件

vi /usr/local/apache/conf/httpd.conf//配置文件裏添加一條參數

Include conf.d/*.conf         //識別/usr/local/apache/conf.d目錄下以.conf 結尾的虛擬目錄配置文件

(三)編輯虛擬主機配置文件(子配置文件)

touch /usr/local/apache/conf.d/vhost.conf

vi /usr/local/apache/conf.d/vhost.conf

Listen 81          //監聽端口

<VirtualHost 192.168.1.20:80>

   ServerAdmin xiaohang@benet.com

   DocumentRoot /opt/benet/

   ServerName www.benet.com

   ErrorLog logs/bjxh.com-error_log

   CustomLog logs/bjxh.com-access_log common

</VirtualHost>

<Directory "/opt/benet">

   Options Indexes MultiViews FollowSymLinks

   AllowOverride None

   Order allow,deny

   Allow from all

   Require all granted

</Directory>

<VirtualHost 192.168.1.20:81>

   ServerAdmin xiaohang@accp.com

   DocumentRoot /opt/accp/

   ServerName www.accp.com

   ErrorLog logs/xhce.com-error_log

   CustomLog logs/xhce.com-access_log common

</VirtualHost>

<Directory "/opt/accp">

   Options Indexes MultiViews FollowSymLinks

   AllowOverride None

   Order allow,deny

   Allow from all

   Require all granted

</Directory>

虛擬主機(基於域名)

(一)配置搭建DNS服務器

1、全局配置文件

vi /etc/named.conf

options {

       listen-on port 53 { 192.168.1.20; };

allow-query     { any; };

}

2、區域配置文件

vi /etc/named.rfc1912.zones

zone "benet.com" IN {

       type master;

       file "benet.com.zone";

};

zone "accp.com" IN {

       type master;

       file "accp.com.zone";

       allow-update { none; };

};

3、區域數據配置文件

# vi /var/named/benet.com.zone

$TTL 1D

@       IN SOA  @  xiaohang.benet.com. (

                                       0       ; serial

                                       1D      ; refresh

                                       1H      ; retry

                                       1W      ; expire

                                       3H )    ; minimum

       NS      www.benet.com.

www    A       192.168.1.20

vi /var/named/accp.com.zone

$TTL 1D

@       IN SOA  @  xiaohang.accp.com. (

                                       0       ; serial

                                       1D      ; refresh

                                       1H      ; retry

                                       1W      ; expire

                                       3H )    ; minimum

       NS      www.accp.com.

www    A       192.168.1.20

(二)修改主配置文件

vi /usr/local/apache/conf/httpd.conf//配置文件裏添加一條參數

Include conf.d/*.conf         //識別/usr/local/apache/conf.d目錄下以.conf 結尾的虛擬目錄配置文件

(三)編輯虛擬主機配置文件(子配置文件)

touch /usr/local/apache/conf.d/vhost.conf

vi /usr/local/apache/conf.d/vhost.conf

<VirtualHost 192.168.5.4:80>         //設置benet虛擬站點區域

   ServerAdmin [email protected]   //管理員郵箱

   DocumentRoot /opt/benet/         //網站根目錄路徑

   ServerName www.benet.com       //虛擬主機網站名稱

   ErrorLog logs/bjxh.com-error_log     //錯誤日誌存放路徑

   CustomLog logs/bjxh.com-access_log common    //設置訪問日誌文件的路徑,日誌類型

</VirtualHost>

<Directory"/opt/benet/">                          //設置目錄訪問權限

   Options Indexes MultiViews FollowSymLinks     //控制選項,允許使用符號鏈接

   AllowOverride None       //不允許隱含控制文件中的覆蓋配置

Order allow,deny         //白名單,先允許,後拒絕

   Allow from all           //允許所有網段訪問虛擬主機網站

   Require all granted       //

</Directory>

<VirtualHost 192.168.5.4:80>

   ServerAdmin [email protected]

   DocumentRoot /opt/accp/

   ServerName www.accp.com

   ErrorLog logs/xhce.com-error_log

   CustomLog logs/xhce.com-access_log common

</VirtualHost>

<Directory "/opt/accp/">

   Options Indexes MultiViews FollowSymLinks

   AllowOverride None

   Order allow,deny

   Allow from all

   Require all granted

</Directory>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章