开个新坑,慢慢写
前言
以前用的blog一直是wordpress,配合着@moedog大佬的二次元主题,然后有段时间摸鱼,正好碰到了@Candinyadalao移植的hexo主题风格,想了想wp比较臃肿,于是就理所应当的过渡到了hexo上。
准备
一个RSA密钥对,一台centos服务器,ssl证书(可选)
环境搭建
Windows
- 首先前往Nodejs官网下载nodejs,安装。
- 接着前往Git官网下载git,安装。
- 在
~/.ssh/
下面准备好的你的私钥,同时记下你的公钥
- (~~什么你还没有密钥对?~~那你可以通过
1
| ssh-keygen -f fileName -t rsa
|
来生成你的密钥对
5. 通过
来验证你的Nodejs是否安装成功
6. 接下来使用npm来安装hexo
如果不出error,问题都不大
7. 初始化hexo博客
1
| hexo init blogfoldername
|
- 使用如下命令来验证hexo雏形
- 如果没有问题你可以在
127.0.0.1:4000
看到初始的hexo博客
CentOS
- 安装并启动nginx
1 2 3 4
| yum install nginx systemctl enable nginx systemctl start nginx systemctl status nginx
|
这里就摸了
2. 新建用户设置密码(yuki为列示用户
1 2
| useradd yuki passwd yuki
|
- 把yuki用户添加到sudo用户组中
1 2
| chmod 740 /etc/sudoers vi /etc/sudoers
|
将yuki写入root下面
1 2
| root ALL = (ALL) ALL yuki ALL = (ALL) ALL
|
保存退出
回退权限
4. 切换到yuki
导入ssh公钥
1 2 3 4 5 6
| su yuki cd ~ mkdir .ssh vim .ssh/authorized_keys sudo chmod 600 ~/.ssh/authorized_keys sudo chmod 700 ~/.ssh
|
- 安装git
- 初始化仓库文件
1 2 3
| su git cd ~ git init --bare blog.git
|
- 建一个文件夹用于存放网页
- 修改hook
1 2 3 4
| vim ~/blog.git/hooks/post-receive
git --work-tree=~/home/yuki/hexo --git-dir=/home/yuki/blog.git checkout -f
|
- 赋权
1
| chmod +x ~/blog.git/hooks/post-receive
|
接下来来杯咖啡(误
Link
从windows上使用
来测试git是否可用,如果出现类似于“welcome"的语句,证明配置成功
在Windows上进入hexo文件夹,找到_config.yml
修改deploy
1 2 3 4
| deploy: type: git repo: yuki@yourip:/home/yuki/blog.git branch: master
|
PS:记得安装
1
| npm install hexo-deployer-git --save
|
接下来你可以使用
来推送的你的服务器,当然这个时候你还不能访问(nginx还没写
Nginx
这部分就摸了,有详细的看Nginx那篇文章吧
配好了Nginx后,你就可以访问你的blog了
其他
为了安全考虑,禁用yuki用户的SHELL 登录权限配置
这样yuki用户就只能用来执行脚本,无法切换到shell界面。
首先你必须确保 git-shell
已存在于 /etc/shells
文件中
使用命令
判断系统是否安装了git-shell
。如果已经安装,则返回git-shell
的安装目录,如:/usr/bin/git-shell
;如果未安装则需要安装git-shell
命令,安装命令:
判断shells
文件是否存在,判断命令:
如果文件不存在或没有/usr/bin/git-shell
,则需要使用vim增加这个路径:
,在最后一行添加git-shell
路径
1 2 3 4 5 6 7 8
| /bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /usr/bin/screen /usr/bin/git-shell
|
现在你可以使用 chsh
命令修改任一系统用户的shell权限了
现在我们修改创建的yuki用户的登录权限,禁止yuki用户使用shell权限:
终端中输入
然后在Login Shell [/bin/bash]:
后输入git-shell
路径/usr/bin/git-shell
修改完成后验证: vim /etc/passwd找到类似git:x:1000:1000:,,,:/home/yuki:/usr/bin/git-shell
,看看yuki用户是否是以git-shell
结尾
这样,yuki用户就只能使用SSH连接对Git仓库进行推送和拉取操作,而不能登录机器并取得普通shell命令