Rat's

Google/Youtube/Twitter等镜像一键部署脚本–Zmirror
特性支持一次部署多个镜像, 支持同VPS多镜像。自动安装let's encrypt并申请证书, 启用HTTPS。自...
扫描右侧二维码阅读全文
16
2017/07

Google/Youtube/Twitter等镜像一键部署脚本–Zmirror

特性

  • 支持一次部署多个镜像, 支持同VPS多镜像。
  • 自动安装let's encrypt并申请证书, 启用HTTPS
  • 自动添加let's encrypt的定期renew脚本到crontab
  • 启用HTTP/2 ps:Debian8Ubuntu15.04不支持HTTP/2
  • 启用HSTS

安装

Github地址:https://github.com/aploium/zmirror-onekey

系统要求:Ubuntu 14.04/15.04(不支持HTTP2)/15.10/16.04+Debian 8(不支持HTTP2)。
注意:每个镜像都需要个三级域名并且DNS记录中已经正确指向你的VPS

1、安装
本教程采用Ubuntu 16.04 x86_64系统测试。

(1)没有ssl证书的运行以下命令:

sudo apt-get -y update && sudo apt-get -y install python3 git
git clone https://github.com/aploium/zmirror-onekey.git --depth=1
cd zmirror-onekey
sudo python3 deploy.py

按照脚本给予的提示继续, 过程中会自动获取SSL证书。

(2)有ssl证书的请将上面代码中的第四行后面加上--i-have-cert, 在运行期间会提示你输入证书路径的,比如:

sudo apt-get -y update && sudo apt-get -y install python3 git
git clone https://github.com/aploium/zmirror-onekey.git --depth=1
cd zmirror-onekey
sudo python3 deploy.py --i-have-cert

2、各个程序的文件夹位置
zmirror
安装在/var/www/镜像名文件夹下
镜像名为每个镜像的名字。

let's encrypt
本体在:/etc/certbot/
申请到的证书位置, 请看:certbot文档-where-are-my-certificates

Apache
Apache的配置文件在/etc/apache2/
其中各个站点的配置文件在/etc/apache2/sites-enabled/

Apache日志文件在/var/log/apache2/镜像名_后缀.log
后缀 _error的日志文件中, 同时包含了stdout的输出(无论是否是错误), 对debug会有帮助

注意事项

1、证书获取失败

脚本使用[Let's encrypt(certbot)](https://letsencrypt.org/)来获取证书  
  
certbot 会在本地 Listen 80 或者 443 端口, 然后由远程授权服务器根据**域名的[A记录](https://support.dnspod.cn/Kb/showarticle/tsid/30/)**来**访问本机**  
当远程服务器成功连接到本机的certbot客户端后, 就会颁发证书.  
详细流程请看官方文档[How It Works](https://letsencrypt.org/how-it-works/)  

证书获取失败最有可能的原因是域名记录设置后[尚未来得及生效](https://support.dnspod.cn/Kb/showarticle/tsid/53/), 域名DNS记录的生效通常需要数分钟以上, 最长可达*72小时*  
对于这种情况, 除了等待以外是没有什么办法的.  
本脚本在默认的5次尝试失败后, 会提示是否一直尝试下去, 如果你确认DNS记录已经正常设置, 请在提示  
`max retries exceed, do you want to continue retry infinity?(Y/n)`  
时, 选择Y, 一般数分钟内就能成功.  

如果不能确定是否正常设置, 可以访问 https://www.whatsmydns.net/ , 这个网站可以在全球范围内查询A记录  
如果查询出的A记录与你的IP相同, 就表示设置成功了, 此时只需要让脚本自行尝试即可  
如果此时仍然多次尝试失败, 请看下面的`手动运行lets encrypt获取证书`部分  

> **手动运行lets encrypt获取证书**  
> 如果能确认DNS记录已经设置正常, 但是仍然无法获取证书, 请尝试手动运行letsencrypt获取证书:
>   
> ```bash
> sudo service apache2 stop
> sudo /etc/certbot/certbot-auto certonly --standalone -d "你的域名1"
> sudo /etc/certbot/certbot-auto certonly --standalone -d "你的域名2"
> sudo service apache2 start
> ```
>   
> 或者(如果上面的仍然失败)  
> ```bash
> sudo apt-get install letsencrypt
> sudo service apache2 stop
> sudo letsencrypt certonly --standalone -d "你的域名1"
> sudo letsencrypt certonly --standalone -d "你的域名2"
> sudo service apache2 start
> ```
>
> 并在手动获取证书成功后再次运行本脚本  

2、更新zmirror

cd zmirror-onekey
git pull
sudo python3 deploy.py --upgrade-only

更新zmirror以后会自动重启Apache

搬瓦工年付$187机房套餐补货了,电信联通优化,512M内存/500G流量/1G带宽,建站稳定,优惠码:BWH1ZBPVK,【点击购买】!
搬瓦工年付$28CN2高速线路,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快,建站稳定,优惠码同上,【点击购买】!
Vultr最新活动,充$5$33,可以用$2.5的服务器一年多,活动随时结束,快上车【点击查看】!
最后修改:2017 年 07 月 16 日 04 : 23 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论