环境简介
ubuntu14.04 + apache2 + php5 + hexo + git
安装apache2、php5
1
| apt-get install -y apache2 php5
|
更改apache账户为可登录账户,并为其设置密码
1 2 3 4
| vim /etc/passwd 修改内容如下: www-data:x:33:33:www-data:/home/www-data:/bin/bash mkdir /home/www-data 创建用户根目录
|
gitlab上创建source仓库
配置ssh秘钥
进入www-data用户
1
| ssh-keygen -t rsa -C "test" 创建sshkye
|
把生成pubkey内容复制到gitlab上项目里的deploy keys里或用户ssh keys里
hexo安装
下载脚本并执行
1
| curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
|
安装nodejs
1 2
| apt-get install -y nodejs apt-get install -y build-essential
|
安装hexo
1
| hexo -v #看到版本信息,则证明安装没问题
|
建立博客站点
1 2
| cd /home/www-data/ hexo init blog-name
|
配置主题
主题下载
1 2
| cd blog-directory git clone https://github.com/wuchong/jacman.git themes/jacman
|
修改主题
让主题支持本地搜索,见让jacman主题支持本地搜索这篇博客
所写文章支持指定作者
配置主题配置文件
1
| vim /themes/jacman/_config.yml
|
1 2 3 4 5 6 7 8 9
| menu: Home: / Archives: /archives About: /about 更改为如下: menu: 主页: / 归档: /archives 关于: /about
|
1 2 3
| #author_img: #注释掉 index: expand: false #更改false,让主页文章折叠起来
|
1 2 3
| 修改链接 links: github: https://github.com/
|
配置站点配置文件
1 2 3 4 5 6
| vim _config.yml title: AACHINA-BLOG #站点名称 language: zh-CN #配置站点支持中文 url: http://ip地址:4000 #站点路径 post_asset_folder: true #改为true,让hexo使用本地图片,需要安装插件:npm install hexo-asset-image --save theme: jacman #配置使用哪个主题
|
gitlab的webhook自动化部署hexo
客户端有push动作,hexo服务端自动触发pull,下载更新
配置git仓库
进入www-data用户
1 2 3 4 5 6
| apt-get install -y git #安装git cd blog-directory/source git init #初始化git可以管理的仓库 在gitlab上创建名为source的仓库 git remote add origin git@gitlab地址:aachina/source.git #关联远程仓库 git push -u origin master #把本地master分支推送到远端,并关联远端master分支
|
配置php
进入root账户
1 2 3 4 5 6 7 8 9 10
| cd /var/www/html vim test.php 加入如下内容: <?php $www_folder = "/home/www-data/aachina-blog/source" ; //git仓库地址 $git_repo = "git@gitlab地址:aachina/source.git" ; //执行指令 echo shell_exec(" cd $www_folder && git pull $git_repo 2>&1 "); ?>
|
配置gitlab webhook选项:

配置路径及勾上push events

hexo server后台启动配置
1 2 3 4
| vim /etc/rc.local 加入: cd /home/www-data/aachina-blog && nohup hexo s & 保存重启
|
参照链接: