Apache HTTP Server安裝


title: Apache HTTP Server安裝
categories: Linux
tags:
- Apache
- httpd
timezone: Asia/Shanghai
date: 2019-01-12


環(huán)境

CentOS6/7
REHL6/7

# 源碼方式安裝
[root@host66 bin]# ./httpd -v
Server version: Apache/2.4.37 (Unix)
Server built:   Jan  8 2019 09:15:52

# CentOS7 1804(7.5) YUM方式安裝(安裝光盤)
[root@localhost /]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

# RHEL6.10 YUM方式安裝(安裝光盤)
[root@redhat6 ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 19 2018 06:33:11

# REHL 7.3 YUM方式安裝(安裝光盤)
[root@localhost ~]# httpd -v
Server version: Apache/2.4.6 (Red Hat Enterprise Linux)
Server built:   Aug  3 2016 08:33:27

方法1:源碼編譯安裝

1.配置本地yum并安裝開發(fā)工具
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

cat <<EOF >/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
EOF

yum clean all       #清理本地緩存
yum clean plugins   #清理插件緩存
yum makecache       #構(gòu)建緩存

# 區(qū)分REHL6還是REHL7
which systemctl && yum group install -y "Development Tools" || yum groupinstall -y "Development Tools"
2.源碼方式安裝依賴項和Apache HTTP Server
# 安裝expat-devel(這里注意使用yum安裝,rpm安裝后報錯沒有找到原因)
yum install expat-2.0.1-13.el6_8.x86_64.rpm expat-devel-2.0.1-13.el6_8.x86_64.rpm

# 下載依賴包
wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.5.tar.gz
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.37.tar.gz
wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz

# 安裝pcre
tar vxzf pcre-8.42.tar.gz
cd pcre-8.42
./configure
make
make install

# 這里為了保證每一步都正確安裝使用echo $?命令查看命令執(zhí)行結(jié)果是否有問題
# 0代表每問題,非0都是有問題的
tar -vxf apr-1.6.5.tar.gz
cd apr-1.6.5
./configure --prefix=/usr/local/apr
echo $?
make
echo $?
make install
echo $?


tar -vxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
echo $?
make && make install && echo $?


tar -vxf httpd-2.4.37.tar.gz
cp -a apr-1.6.5 httpd-2.4.37/srclib/apr
cp -a apr-util-1.6.1 httpd-2.4.37/srclib/apr-util/
cd httpd-2.4.37
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
echo $?
make && make install && echo $?
3.啟動httpd
默認安裝路徑:/usr/local/apache2/

# 編輯配置文件增加以下行
vim /usr/local/apache2/conf/httpd.conf
ServerName 0.0.0.0:80

# 啟動httpd
/usr/local/apache2/bin/apachectl -k start
    
    -k start        啟動
    -k restart      重新啟動
    -k graceful     優(yōu)雅的重啟(重讀配置文件吕晌,如果配置文件有問題憔古,將繼續(xù)用原來配置文件運行)
    -k graceful-stop    優(yōu)雅的停止
    -k stop         停止

# 參數(shù)解析
[root@host66 bin]# /usr/local/apache2/bin/apachectl -h
Usage: /usr/local/apache2/bin/httpd [-D name] [-d directory] [-f file]
                                    [-C "directive"] [-c "directive"]
                                    [-k start|restart|graceful|graceful-stop|stop]
                                    [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
  -D name            : define a name for use in <IfDefine name> directives
  -d directory       : specify an alternate initial ServerRoot
                     # 
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
                     # 顯示版本信息
  -V                 : show compile settings
                     # 顯示編譯設(shè)置
  -h                 : list available command line options (this page)
                     # 顯示幫助信息
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
                     # 顯示虛擬主機設(shè)置
  -t -D DUMP_RUN_CFG : show parsed run settings
                     # 顯示已解析的運行設(shè)置
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
                     # 等于-t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules 
                     # 顯示所有加載模塊
  -M                 : a synonym for -t -D DUMP_MODULES
                     # 等同于 -t -D DUMP_MODULES
  -t -D DUMP_INCLUDES: show all included configuration files
                     # 顯示所有包含的配置文件
  -t                 : run syntax check for config files
                     # 檢查配置文件
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)
                     # debug模式(只啟動一個進程)

方法2:YUM方式安裝

1.CentOS7(配置文件路徑:/etc/httpd/conf/httpd.conf)

yum install -y httpd

systemctl start httpd
systemctl enable httpd
systemctl status httpd

2.REHL6(配置文件路徑:/etc/httpd/conf/httpd.conf)

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

cat <<EOF >/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
EOF

yum clean all       #清理本地緩存
yum clean plugins   #清理插件緩存
yum makecache       #構(gòu)建緩存

yum install -y httpd

service httpd start
service httpd status
chkconfig httpd on
chkconfig --list httpd

3.REHL7(配置文件路徑:/etc/httpd/conf/httpd.conf)

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

cat <<EOF >/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
EOF

yum clean all       #清理本地緩存
yum clean plugins   #清理插件緩存
yum makecache       #構(gòu)建緩存

yum install -y httpd

systemctl start httpd
systemctl enable httpd
systemctl status httpd

附錄:配置文件常用參數(shù)介紹

# 監(jiān)聽端口
Listen 80

# 監(jiān)聽端口(多IP可以這么寫)
Listen 10.0.1.66:8080
Listen 10.0.1.5:80

# 監(jiān)聽服務(wù)器名字(上邊的端口號優(yōu)先級更高)
ServerName 0.0.0.0:80

# 默認主頁(如果默認主頁不存在痴怨,默認將以目錄模式展示文件列表)
<IfModule dir_module>
    DirectoryIndex 1.html
</IfModule>

# 禁用目錄模式(去掉以下Indexes)
Options Indexes FollowSymLinks

附錄:建立虛擬目錄

# 編輯配置文件增加以下行
# 訪問http://10.0.1.66/test的時候訪問的是/home目錄
vim /usr/local/apache2/conf/httpd.conf

Alias /test /home
<Directory "/home">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

附錄:建立虛擬主機

1.基于端口的虛擬主機

Listen 8080
Listen 8090
# 訪問:http://10.0.1.66:8080訪問到的是/usr/local/apache2/111目錄
<VirtualHost *:8080>
    ServerAdmin 111.com
    DocumentRoot "/usr/local/apache2/111"
    ErrorLog "logs/port80-error_log"
    CustomLog "logs/port80-access_log" common
</VirtualHost>
<Directory "/usr/local/apache2/111">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
# 訪問:http://10.0.1.66:9090訪問到的是/usr/local/apache2/222目錄
<VirtualHost *:8090>
    ServerAdmin 222.com
    DocumentRoot "/usr/local/apache2/222"
    ErrorLog "logs/port8080-error_log"
    CustomLog "logs/port8080-access_log" common
</VirtualHost>
<Directory "/usr/local/apache2/222">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

2.基于IP地址的虛擬主機

Listen 80

# 訪問:http://10.0.1.66訪問到的是/usr/local/apache2/111目錄
<VirtualHost 10.0.1.66:80>
    ServerAdmin 111.com
    DocumentRoot "/usr/local/apache2/111"
    ErrorLog "logs/port80-error_log"
    CustomLog "logs/port80-access_log" common
</VirtualHost>
<Directory "/usr/local/apache2/111">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
# 訪問:http://10.0.1.5訪問到的是/usr/local/apache2/222目錄
<VirtualHost 10.0.1.5:80>
    ServerAdmin 222.com
    DocumentRoot "/usr/local/apache2/222"
    ErrorLog "logs/port8080-error_log"
    CustomLog "logs/port8080-access_log" common
</VirtualHost>
<Directory "/usr/local/apache2/222">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

3.基于域名的虛擬主機

Listen 80
# 訪問111.com訪問到的是/usr/local/apache2/111目錄
<VirtualHost *:80>
    ServerAdmin 111.com
    ServerName 111.com
    DocumentRoot "/usr/local/apache2/111"
    ErrorLog "logs/port80-error_log"
    CustomLog "logs/port80-access_log" common
</VirtualHost>
<Directory "/usr/local/apache2/111">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
# 訪問222.com訪問到的是/usr/local/apache2/222目錄
<VirtualHost *:80>
    ServerAdmin 222.com
    ServerName 222.com
    DocumentRoot "/usr/local/apache2/222"
    ErrorLog "logs/port8080-error_log"
    CustomLog "logs/port8080-access_log" common
</VirtualHost>
<Directory "/usr/local/apache2/222">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

附錄:

Apache官網(wǎng):http://httpd.apache.org/download.cgi

pcre-8.42.tar.gz下載地址:https://pan.baidu.com/s/1a8BjWf7FW7pER0dgoh_nwg

httpd-2.4.37.tar.gz下載地址:https://pan.baidu.com/s/17S2L9m79j6RWGr1x6CoGbw

apr-util-1.6.1.tar.gz下載地址:https://pan.baidu.com/s/1IhYxCU9uuDtHdKSzg-P_kg

apr-1.6.5.tar.gz下載地址:https://pan.baidu.com/s/1uNjTp2ob-Reurkyv4Cyubg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雏婶,一起剝皮案震驚了整個濱河市过椎,隨后出現(xiàn)的幾起案子忆肾,更是在濱河造成了極大的恐慌荸频,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件客冈,死亡現(xiàn)場離奇詭異旭从,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門遇绞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來键袱,“玉大人,你說我怎么就攤上這事摹闽√憧В” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵付鹿,是天一觀的道長澜汤。 經(jīng)常有香客問我,道長舵匾,這世上最難降的妖魔是什么俊抵? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮坐梯,結(jié)果婚禮上徽诲,老公的妹妹穿的比我還像新娘。我一直安慰自己吵血,他們只是感情好谎替,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹋辅,像睡著了一般钱贯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侦另,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天秩命,我揣著相機與錄音,去河邊找鬼褒傅。 笑死弃锐,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的殿托。 我是一名探鬼主播拿愧,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼碌尔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起券敌,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤唾戚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后待诅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叹坦,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年卑雁,在試婚紗的時候發(fā)現(xiàn)自己被綠了募书。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绪囱。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖莹捡,靈堂內(nèi)的尸體忽然破棺而出鬼吵,到底是詐尸還是另有隱情,我是刑警寧澤篮赢,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布齿椅,位于F島的核電站,受9級特大地震影響启泣,放射性物質(zhì)發(fā)生泄漏涣脚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一寥茫、第九天 我趴在偏房一處隱蔽的房頂上張望遣蚀。 院中可真熱鬧,春花似錦纱耻、人聲如沸芭梯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粥帚。三九已至,卻和暖如春限次,著一層夾襖步出監(jiān)牢的瞬間芒涡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工卖漫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留费尽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓羊始,卻偏偏與公主長得像旱幼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子突委,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容