CentOS部署Hexo博客
安装各种工具
Nginx
- 参考
lrzsz
1 | apt install lrzsz |
Git
1 | sudo apt install git |
新增git用户
1 | root@iZj6cgoyl5x6opizfwaukrZ:~# adduser git |
修改Git权限
1 | visudo |
在root ALL=(ALL:ALL) ALL这一行下面添加git ALL=(ALL:ALL) ALL
关闭git用户shell权限
执行:vim /etc/passwd
将最后一行的git:x:1001:1001:,,,:/home/git:/bin/bash修改为git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
部署
初始化仓库
1 | cd /home/git //切换到git用户目录 |
创建目录
1 | cd /var/www/ //切换目录 |
配置SSH
1 | cd /home/git //切换到git用户目录 |
然后将本地的公钥复制到authorized_keys文件里(公钥即上文中本地执行cat ~/.ssh/id_rsa.pub查看的内容)
修改权限(重要)
修改 .ssh 目录的权限为 700
修改 .ssh/authorized_keys 文件的权限为 600
1 | sudo chmod 700 .ssh |
文件夹权限
1 | ll /home/git/ |
增加Hooks
配置Git Hooks
创建post-receive文件
git用户下执行:
cd /home/git/blog.git/hooks //切换到hooks目录下
vim post-receive //创建文件
复制下面的内容到post-receive文件中:
1 | #!/bin/bash -l |
保存退出后,执行:sudo chmod +x post-receive赋予可执行权限。
测试Git连接
3.Git服务器打开RSA认证
/etc/ssh/sshd_config中将RSA认证打开:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
1 | 在本地打开Git Bash: |