Centos7源碼編譯安裝2.4版本http服務(wù)步驟

一著觉、實驗?zāi)康?/h1>

全新系統(tǒng)析校,通過網(wǎng)絡(luò)(wget http://ftp.wangshuai.tech/script/install.sh && cat install.sh |bash |tee log)妥凳,實現(xiàn)在線自動編譯安裝httpd服務(wù)又厉,且重啟也生效

二校摩、實驗過程

(1)準(zhǔn)備安裝環(huán)境

1几睛、關(guān)閉防火墻

systemctl stop firewalld
systemctl disable firewalld

2败晴、關(guān)閉SELINUX

sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

3浓冒、準(zhǔn)備用戶

groupadd -g 48 apache
useradd -u 48 -g 48 -r -s /sbin/nologin apache

4、配置YUM庫

yum install wget -y -q
cd /etc/yum.repos.d/
rm -rf *
wget http://ftp.wangshuai.tech/yum_repo/base-aliyun.repo
wget http://ftp.wangshuai.tech/yum_repo/epel-aliyun.repo

5尖坤、源碼包安裝環(huán)境依賴的包

yum install apr-devel apr-util-devel openssl-devel pcre-devel gcc -y

安裝開發(fā)工具組

yum groupinstall "Development Tools" >/dev/null

6稳懒、下載httpd源碼包

cd /tmp/
rm -rf *
wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.29.tar.gz

(2)編譯安裝http服務(wù)

1、解壓httpd源碼包

cd /tmp/
tar -zxvf httpd*

2慢味、編譯安裝httpd

進(jìn)入源目錄

cd httpd-2.4.29

configure腳本场梆,指定安裝位置、指定啟用的特性

./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd/ --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

遇到如下類似畫面表示配置成功


image.png

按腳本生成的文件去編譯安裝

make && make install

(3)編譯后細(xì)節(jié)配置

1纯路、配置環(huán)境變量并使環(huán)境變量生效

echo 'export PATH=/usr/local/httpd24/bin:$PATH' > /etc/profile.d/apache2.sh
. /etc/profile.d/apache2.sh

2辙谜、導(dǎo)入幫助手冊

編輯文件

vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/httpd24/man //添加此行

如果沒出現(xiàn),更新man數(shù)據(jù)庫

mandb

3感昼、導(dǎo)入庫文件路徑

編輯創(chuàng)建如下文件装哆,添加新的庫文件所在目錄至此文件中

vim /etc/ld.so.conf.d/httpd24.conf
/usr/local/httpd24/modules

讓系統(tǒng)重新生成緩存:

ldconfig [-v]

(4)準(zhǔn)備修改配置文件,以及權(quán)限問題

先備份

cp /etc/httpd/httpd.conf /etc/httpd/httpd.conf.bak

修改配置文件

vim /etc/httpd/httpd.conf
User apache
Group apache

創(chuàng)建日志生成目錄
默認(rèn)在/usr/local/httpd24/logs
刪除該目錄,創(chuàng)建軟連接指向自己指定的日志生成目錄

cd /usr/local/httpd24/
rm -rf logs
mkdir /var/log/httpd
ln -s /var/log/httpd /usr/local/httpd24/logs

chown -R apache.apache /usr/local/httpd24/
chown -R apache.apache /etc/httpd/
choown -R apache.apache /var/log/httpd

(5)制作啟動http服務(wù)腳本

vim /etc/rc.d/init.d/httpd

#!/bin/bash
# chkconfig: 2345 11 99
# Description: start/syop httpd service
cmd_path="/usr/local/httpd24/bin"
httpd_pid="/usr/local/httpd24/logs/httpd.pid"
function_start_http()
{
if [ ! -e "httpd_pid" ];then printf "Starting http...\n"{cmd_path}/httpd -k start &> /dev/null
else
printf "http is running...\n"
exit
fi
}
function_stop_http()
{
if [ ! -e "httpd_pid" ];then printf "http is stopped...\n" else printf "Stoping http...\n"{cmd_path}/httpd -k stop &> /dev/null
fi
}
function_restart_http()
{
printf "Restarting http...\n"
function_stop_http
sleep 2
function_start_http
}
case $1 in
start)
function_start_http
;;
stop)
function_stop_http
;;
restart)
function_restart_http
;;
*)
printf "Usage: service httpd {start|stop|restart}\n"
esac

修改權(quán)限并添加SysV的服務(wù)腳本

cd /etc/rc.d/init.d/
chmod 750 httpd
chkconfig --add httpd

(6)啟動服務(wù)設(shè)置開機(jī)自啟

service httpd start
chkconfig httpd on

三定嗓、實現(xiàn)腳本自動安裝編譯

最終腳本如下
#!/bin/bash
# ------------------------------------
# Filename: install45.sh
# Revision: 6.6
# Author: wang shuai
# Date: 2017-12-01
# Description: This is a script
# ------------------------------------
# Copyright: 2017 shuai
# License: NI DA YE

ver=`sed -nr 's/.release ([^.]+)../\1/p' /etc/centos-release`

# 開啟自動掛載并開機(jī)啟動,關(guān)閉防火墻
echo "正在開啟自動掛載服務(wù)并開機(jī)啟動,關(guān)閉防火墻蜕琴,需要時間,請稍等..."
[[ "$ver" -eq 7 ]] && systemctl stop firewalld && systemctl disable firewalld || { service iptables stop && chkconfig iptables off ; }

# 關(guān)閉SELINUX
echo "正在關(guān)閉SELINUX"
sed -i.bak 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
setenforce 0

echo "配置ftp服務(wù)器上YUM源宵溅,請保證能ping通外網(wǎng)"
# 配置YUM庫
cd /etc/yum.repos.d/
rm -rf *
wget http://ftp.wangshuai.tech/yum_repo/base-aliyun.repo
wget http://ftp.wangshuai.tech/yum_repo/epel-aliyun.repo

# 清除yum緩存
yum clean all

# 卸載httpd的rpm安裝包
echo "正在卸載舊版本rpm包凌简,如果沒有安裝,無影響"
rpm -qa |grep http &>/dev/null
[[ $? -eq 0 ]] && rpm -qa |grep http|xargs yum -y remove

ls /usr/local/httpd24 -ld &>/dev/null
[[ $? -eq 0 ]] && \rm -rf /usr/local/httpd24

# 安裝開發(fā)工具組

echo "安裝開發(fā)工具組恃逻,請稍等..."

yum groupinstall "Development Tools" -y

#源碼包安裝環(huán)境依賴的包
echo "安裝httpd源碼包環(huán)境依賴的包雏搂,請稍等..."
yum install apr-devel apr-util-devel openssl-devel pcre-devel gcc -y

#準(zhǔn)備用戶
groupadd -g 48 apache
useradd -u 48 -g 48 -r -s /sbin/nologin apache

echo "馬上下載httpd源碼包并解壓"
# 下載httpd源碼包并解壓
cd /tmp/
rm -rf *
wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.29.tar.gz
tar xf httpd*

echo "編譯安裝httpd藕施,時間較長,請稍等......."
# 編譯安裝httpd
cd httpd*
./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd/ --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
make
make install

echo "配置httpd環(huán)境變量"
# 配置環(huán)境變量
cat /etc/profile.d/apache2.sh &>/dev/null
[[ ? -eq 0 ]] || { echo 'export PATH=/usr/local/httpd24/bin:PATH' >>/etc/profile.d/apache2.sh && source /etc/profile.d/apache2.sh && echo "配置環(huán)境變量成功且已生效" ; }

#導(dǎo)入幫助手冊
echo 'MANDATORY_MANPATH /usr/local/httpd24/man' >>/etc/man_db.conf

#導(dǎo)入庫文件路徑讓重新生成緩存
echo '/usr/local/httpd24/modules' >/etc/ld.so.conf.d/httpd24.conf
ldconfig

#準(zhǔn)備修改配置文件,以及權(quán)限問題
cp /etc/httpd/httpd.conf /etc/httpd/httpd.conf.bak

sed -ir 's/^User deamon/User apache/' /etc/httpd/httpd.conf
sed -ir 's/^Group deamon/Group apache/' /etc/httpd/httpd.conf

#創(chuàng)建日志生成目錄
cd /usr/local/httpd24/
rm -rf logs
ls /var/log/httpd -ld &>/dev/null
[[ $? -eq 0 ]] || mkdir /var/log/httpd
ln -s /var/log/httpd /usr/local/httpd24/logs

chown -R apache.apache /usr/local/httpd24/
chown -R apache.apache /etc/httpd/
chown -R apache.apache /var/log/httpd

#下載啟動腳本
wget http://ftp.wangshuai.tech/other//httpd -O /etc/rc.d/init.d/httpd
cd /etc/rc.d/init.d/
chmod 750 httpd
chkconfig --add httpd

echo "啟動httpd服務(wù)"
# 啟動http服務(wù)
service httpd start

echo "設(shè)置開機(jī)啟動httpd服務(wù)"
# 設(shè)置開機(jī)啟動http服務(wù)
chkconfig httpd on
echo "安裝完成凸郑!"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裳食,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芙沥,更是在濱河造成了極大的恐慌诲祸,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件而昨,死亡現(xiàn)場離奇詭異救氯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)歌憨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門着憨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人务嫡,你說我怎么就攤上這事甲抖。” “怎么了植袍?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵惧眠,是天一觀的道長籽懦。 經(jīng)常有香客問我于个,道長,這世上最難降的妖魔是什么暮顺? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任厅篓,我火速辦了婚禮,結(jié)果婚禮上捶码,老公的妹妹穿的比我還像新娘羽氮。我一直安慰自己,他們只是感情好惫恼,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布档押。 她就那樣靜靜地躺著,像睡著了一般祈纯。 火紅的嫁衣襯著肌膚如雪令宿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天腕窥,我揣著相機(jī)與錄音粒没,去河邊找鬼。 笑死簇爆,一個胖子當(dāng)著我的面吹牛癞松,可吹牛的內(nèi)容都是我干的爽撒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼响蓉,長吁一口氣:“原來是場噩夢啊……” “哼硕勿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厕妖,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤首尼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后言秸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體软能,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年举畸,在試婚紗的時候發(fā)現(xiàn)自己被綠了查排。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡抄沮,死狀恐怖跋核,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叛买,我是刑警寧澤砂代,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站率挣,受9級特大地震影響刻伊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椒功,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一捶箱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧动漾,春花似錦丁屎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至删豺,卻和暖如春共虑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吼鳞。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工看蚜, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赔桌。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓供炎,卻偏偏與公主長得像渴逻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子音诫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

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