天天看點

linux 部署apache,Linux下Apache服務的部署和配置

目錄php

目錄檔案linux

Apache是世界使用排名第一的Web伺服器軟體。它能夠運作在幾乎全部普遍使用的計算機平台上,因為其跨平台和安全性被普遍使用,是最流行的Web伺服器端軟體之一。它快速、可靠而且可經過簡單的API擴充,将Perl/Python等解析器編譯到伺服器中。可是Apache有一個缺點就是,從新加載配置檔案時須要重新開機 httpd 服務,而nginx重載配置檔案時隻需重載reload配置檔案便可。httpd服務預設監聽 tcp / 80 端口

apache有兩個日志檔案,access.log記錄了通路網站的日志;error.log記錄了錯誤日志

Apache服務的安裝

yum源安裝:

安裝httpd主程式: yum  -y  install  httpd

在/var/www/html 目錄下寫入咱們本身的首頁 index.html

開啟httpd程式:systemctl  start httpd

防火牆開放http服務  firewall-cmd  --add-service=http ,關閉SElinux: setenforce=0

檢視apache版本号:httpd -v

目錄檔案

程式目錄:/usr/sbin/httpd

預設網站首頁存放目錄: /var/www/html/

日志檔案存放目錄:/var/log/httpd/

主配置檔案:/etc/httpd/conf/httpd.conf

從配置檔案:/etc/httpd/conf.d/

主配置檔案 /etc/httpd/conf/httpd.conf 的一些參數的意義

ServerRoot “/etc/httpd“ //服務配置檔案目錄

PidFile run/httpd.pid //PID檔案

Listen 80 //預設監聽端口

Include conf.modules.d/*.conf //包含子產品目錄的配置檔案

User apache //啟動使用者

Group apache //啟動組

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

ServerName www.example.com:80 //域名主機名

DocumentRoot “/var/www/html“ //預設首頁存放目錄

DirectoryIndex index.html index.html.var //索引檔案

//規定網站根目錄的位置

AllowOverride None

# Allow open access:

Require all granted

ErrorLog logs/error_log //錯誤日志

CustomLog logs/access_log combined //通路日志

AddDefaultCharset UTF-8 //預設字元集

IncludeOptional conf.d/*.conf //包含了 conf.d/*.conf 的配置檔案

DirectoryIndex index.html //預設索引

擴充配置檔案: /etc/httpd/conf.d/ , 咱們能夠在這個目錄下建立一些咱們本身定義的配置檔案,好比基于ip的虛拟主機,基于端口的虛拟主機,基于域名的虛拟主機等等

源碼包安裝:

源碼安裝以前先安裝編譯工具: yum  -y  install  gcc  gcc-c++  make

源碼包: httpd-xxxx.tar.bz2

解壓,而後進入解壓目錄, ./configure 編譯, make && make install  安裝便可

進入安裝目錄的 bin 目錄下, ./httpd 啟動

目錄檔案:

linux 部署apache,Linux下Apache服務的部署和配置

安裝完成後,軟體預設安裝在  /usr/loca/apache2/ 下面,也能夠編譯的時候自定義安裝目錄

可執行檔案目錄:/usr/local/apache2/bin/

網站首頁目錄:/usr/local/apache2/htdocs/

配置檔案目錄:/usr/local/apache2/conf/

日志檔案目錄:/usr/local/apache2/logs/

Apache中添加對php的支援

安裝php的支援包    yum  -y  install   php,而後重新開機 httpd 服務便可

若是想讓Apache識别預設的index.php檔案,須要修改配置檔案 /etc/httpd/conf/httpd.conf 中,在以下位置加入 index.php

DirectoryIndex index.php index.html

Apache中添加php對mysql資料庫的支援

安裝php-mysql的包便可:yum  -y  install php-mysql

Apache服務的進階配置

如下無論是基于ip、端口仍是基于域名建立的虛拟主機,網站首頁目錄隻能在 /var/www/ 下,若是想更改到其餘的任意目錄的話,須要修改配置檔案  /etc/httpd/conf/httpd.conf

//這裡的目錄更改成你的網站首頁目錄

AllowOverride None

# Allow open access:

Require all granted

1:配置基于ip的虛拟主機

能夠在一台伺服器上配置多個網卡,也能夠在一塊網卡上配置愛多個ip

我這裡在一塊網上上配置多個ip:   ifconfig  eno16777736:1   10.96.10.204

linux 部署apache,Linux下Apache服務的部署和配置

而後在從配置檔案中  /etc/httpd/conf.d/   下建立一個配置檔案,咱們建立一個 ip.conf 檔案,而後加入下面幾行

DocumentRoot /var/www/html/web1 //第一個ip的網站的首頁面目錄

DocumentRoot /var/www/html/web2 //第二個ip的網站的首頁面目錄

而後在/var/www 下建立 web1和web2目錄,在web1和web2目錄裡面分别放入咱們的網站頁面。而後重新開機httpd服務便可。

2. 配置基于端口的虛拟主機

在配置檔案中  /etc/httpd/conf.d/   下建立一個配置檔案,咱們建立一個 port.conf 檔案,而後加入下面幾行

Listen 8080

DocumentRoot /var/www/html/web1 //第一個端口的網站主目錄

DocumentRoot /var/www/html/web2 //第二個端口的網站主目錄

而後在/var/www 下建立 web1和web2目錄,在web1和web2目錄裡面分别放入咱們的網站頁面。而後重新開機httpd服務便可。

3.配置基于域名的虛拟主機

在配置檔案中  /etc/httpd/conf.d/   下建立一個配置檔案,咱們建立一個 domain.conf 檔案,而後加入下面幾行

NameVirtualHost *:80

DocumentRoot /var/www/web1 //第一個域名的網站主目錄

ServerName web1.xie.com

DocumentRoot /var/www/web2 //第二個域名的網站主目錄

ServerName web2.xie.com

而後在/var/www 下建立 web1和web2目錄,在裡面放入咱們的網站頁面。而後再重新開機httpd服務便可。

HTTP服務的通路控制

控制對特定首頁内容的通路,為相應網站目錄添加通路控制

經常使用通路控制方式分類:

客戶機位址限制

使用者受權限制

設定客戶機位址通路

Order配置項,定義控制順序 Order allow,deny 先容許後拒絕,預設拒絕 Order deny,allow 先拒絕後容許,預設容許

Allow、Deny配置項,設定容許或拒絕的網段或位址 Deny from IP位址 或者 網段 Allow from IP位址 或者 網段

基于ip的使用者通路控制的配置:

在配置檔案中  /etc/httpd/conf.d/   下建立一個配置檔案,咱們建立一個 ip.conf 檔案,而後加入下面幾行

// 這個的意思的容許全部使用者通路/var/www/html 目錄下的網頁,可是隻容許 10.96.10.204/24這個網段的通路 /var/www/html/test/ 目錄下的網頁

//本機ip

DocumentRoot /var/www/html //網站首頁的目錄

//要設定限制的目錄

Order allow,deny //比對了容許的就拒絕全部

Allow from 10.96.10.204/24 //隻容許10.96.10.204這個位址通路

基于使用者身份認證受權的配置:

通路控制的配置

在配置檔案中  /etc/httpd/conf.d/   下建立一個配置檔案,咱們建立一個auth.conf 檔案,而後加入下面幾行

htpasswd  -c   /etc/httpd/webpasswd    tom (第一次加 -c 參數,表示建立檔案);   htpasswd  /etc/httpd/webpasswd  jack(第二次不用加 -c參數 ,由于檔案已經建立)

重新開機服務驗證

//本機ip

DocumentRoot /var/www/html //首頁目錄

//設定認證的目錄

AuthType Basic //認證的方法:密碼

AuthName Password! //彈出登陸框

AuthUserFile /etc/httpd/webpasswd //使用者名和密碼儲存的檔案

require user tom jack //隻容許 tom 和 jack 使用者通路