宝塔Linux面板Apache启用HTTP2模块Shell脚本

宝塔面板(https://www.bt.cn/)是一款简单好用的服务器管理面板,目前承诺永久免费。其Linux面板Apache尚未启用http2模块,最近研究了一下,折腾了好久终于成功启用,但自己安装的配置与官方默认配置中有所不同,而且面板后台也无法管理,于是想到从官方的安装脚本提取修改,加入自己修改的部分内容,其余全部按官方原始设置,这样就与面板无缝配合了。

测试了一下面板官方安装,发现其安装脚本会下载到 /www/server/panel/install ,Shell文件名为 apache.sh,将其下载修改,增加了openssl 1.02和nghttp2,修改apache编译配置,重新编译后即成功启用HTTP/2。


一、使用方法

1.如已安装apache,请先在面板停用并卸载apache,如果为全新安装 ,请用该脚本安装apache再安装PHP/Mysql/FTP等。

2.执行修改后的安装脚本:
可直接wget到主机上执行

 wget -O apache_http2.sh https://cdn.qianrong.me/shell/apache_http2.sh
 sh apache_http2.sh

也可下载(链接)后自己修改一下后上传执行。

3.安装完后在httpd24.conf加入以下内容

 LoadModule http2_module modules/mod_http2.so

 <IfModule http2_module>
 ProtocolsHonorOrder On
 Protocols h2 http/1.1
 </IfModule>

4.启动Apache,给相关网站配置SSL。
注意如果之前已经配置了SSL,需要关闭再重新打开。然后重启即可。

5. 测试成功,用的是这个插件。 HTTP/2 and SPDY indicator

https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin?utm_source=chrome-app-launcher-info-dialog

二、增加和修改的说明:
该安装脚本修改自宝塔linux面板的apache安装脚本。/www/server/panel/install/apache.sh
几处修改说明如下:
1.安装openssl 1.02
#安装openssl 1.02,为避免出现问题单独安装不覆盖升级,编译apache时需指定该版本

 cd /usr/local/src
 wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
 tar -zxf openssl-1.0.2l.tar.gz
 cd openssl-1.0.2l
 ./config --openssldir=/usr/local/openssl zlib-dynamic shared
 make && make test && make install
 #下面的第2个EOF需顶格,否则会出错
cat > /etc/ld.so.conf.d/openssl.conf <<EOF
/usr/local/openssl/lib
EOF
ldconfig

2.安装nghttp2

cd /usr/local/src
 wget https://cdn.qianrong.me/nghttp2-1.22.0.tar.gz
 #官网下载地址很慢,使用的是我网站的镜像,不放心可替换为以下官方地址
 #https://github.com/nghttp2/nghttp2/releases/download/v1.22.0/nghttp2-1.22.0.tar.gz
 tar -zxf nghttp2-1.22.0.tar.gz
 cd nghttp2-1.22.0
 ./configure --prefix=/usr/local/nghttp2
 make && make install

3.apache编译参数,主要为指定ssl,引入nghttp2,启用http2

./configure \
 --prefix=${Setup_Path} \
 --enable-mods-shared=most \
 --enable-headers \
 --enable-mime-magic \
 --enable-proxy \
 --enable-so \
 --enable-rewrite \
 --with-ssl=/usr/local/openssl \
 --with-nghttp2=/usr/local/nghttp2 \
 --enable-ssl \
 --enable-deflate \
 --with-pcre \
 --with-included-apr \
 --with-apr-util \
 --enable-mpms-shared=all \
 --with-mpm=prefork \
 --enable-remoteip\
 --enable-http2

其他如安装apache2.2则做了精简/删除

尊重作者劳动,转载请注明出处:札记-Qianrong's Blog » 宝塔Linux面板Apache启用HTTP2模块Shell脚本

赞 (15)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址