将hexo部署到服务器
我以前是部署在github上的,本机的部署都是完成了的,本机部署请看其他教程
安装git
yum install git
创建git用户
adduser git #/home 目录下生成一个git目录
passwd git #设置密码
chmod a+w /etc/sudoers
vim /etc/sudoers #添加git ALL=(ALL) ALL
配置SSH密钥
vim ~/.ssh/authorized_keys
#在物理机中复制C:\Users\youruser\.ssh\id_rsa.pub中的公钥到上面的文件中
保存退出
创建仓库
su git
cd /home/git
mkdir -p projects/hexo # 建立项目目录
mkdir repos #创建仓库目录
cd repos
git init --bare hexo.git #创建仓库
chown -R git:git /home/git/repos/hexo.git # 给git用户添加权限
创建一个钩子
接上面继续操作
cd hexo.git/hooks
vim post-receive # 创建一个钩子
#添加如下文件
#!/bin/sh
git --work-tree=/var/www/blog --git-dir=/home/git/repos/hexo.git checkout -f
chmod +x post-receive # 添加可执行权限
本地建立SSH信任关系
ssh-copy-id -i ~/.ssh/id_rsa.pub git@server_ip # 建立信任关系
ssh git@server_ip # 试一下能不能登录
更改git用户默认的shell
cat /etc/shells # 查看 git-shell 是否在登录方式里面
which git-shell # 找到git-shell的路径,记下来
vim /etc/shells
然后把刚才记下来的路径添加进去
vim /etc/passwd
#把git:x:1000:1000::/home/git:/bin/bash修改为git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell
#没有就算了
BUG
报错remote: fatal: cannot create directory at '2019': Permission denied
部署目录没有写的权限,改法
chmod go+w /home/git/projects/hexo