其实官网介绍 Ghost Blog 的安装过程已经够详细了,我在这里也是面向小白讲的更清楚一点,然后有一两个坑提一下
官网的安装教程可以在这里看到:https://docs.ghost.org/setup/
官网推荐的操作系统是 Ubuntu,那么服务器系统也就最好用 Ubuntu,其实这一点倒是没啥问题,Ubuntu 的兼容性也挺不错的,毕竟我之前用 CentOS 切过来也没啥问题。
开始之前还有一点要注意,如果你现在是一台新装过系统的服务器,又想装宝塔这种管理工具,请先安装,不然安装完Ghost后会无法安装。
下面阐述步骤:
- 由于原版安装 Ghost 的指令不可以由 root 用户完成,所以首先要新建一个账号:
adduser
这里将
之后会让你输入两遍密码,然后会让你输入全名、号码等信息,这些都不用管,直接回车就行。直到它显示
Is the information correct? [Y/n]
输入y,回车便完成新用户的创建
- 提升刚才新用户的操作权限,默认新用户是无法执行 sudo 命令的,所以通过下面这句提升权限。注意替换用户名。
usermod -aG sudo
- 登陆刚才创建的用户
su
- 更新系统的软件包列表和已安装的软件包
sudo apt-get update
sudo apt-get upgrade
第一次执行时会让你输入密码
- 安装Nginx
sudo apt-get install nginx
中间有个确认,选择y
- 修改防火墙策略,允许 Nginx 的流量
sudo ufw allow 'Nginx Full'
- 安装 MySQL
sudo apt-get install mysql-server
出现确认选择y
- 配置 MySQL
首先进入 MySQL 控制台
sudo mysql
设置数据库密码,密码要记清楚了
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
这里要把 password 替换成你想的密码,但是要保留单引号。用户名这里不要改成你刚才创建的用户名,就保留 root
然后退出 MySQL 控制台
quit
- 这里官网教程中要我们再次登陆刚才创建的用户,不过我觉得好像没必要,不过还是操作一下
su
要输入一下密码
- 安装 Node.js
添加仓库
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash
注意这里就用官网提供的这个地址,保证是受 Ghost 支持的版本
安装
sudo apt-get install -y nodejs
这一步可能会比较慢,因为上面为了保证版本内容相同,我们没有使用国内镜像
- 安装 Ghost-CLI,它可以让我们执行 ghost 相关的命令,比如安装卸载这种
sudo npm install ghost-cli@latest -g
- 为 Ghost 创建目录,这里你可以自己定,也可以像我一样按照官方的来
首先创建目录
sudo mkdir -p /var/www/ghost
然后给权限,这里的
sudo chown : /var/www/ghost
- 定位到刚刚创建的文件夹中
cd /var/www/ghost
- 执行安装命令
ghost install
这里有可能会卡在 Downloading and installing Ghost 这里,如果是卡在 Downloading 或者 Fetching packages,那就是服务器网不好,过一会他会自己重试;如果卡在 Building fresh packages 长达二十分钟多,那就是安装卡住了,需要按Ctrl+C退出安装,然后执行
ghost uninstall
卸载,再重新安装一半就好了。万一这里这里卸载也报错,那就先返回到上一层目录
cd ..
然后删除 ghost 文件夹
sudo rm -rf ghost
然后从第12步重新安装
如果安装正常进行的话,就会让你自定义一些信息。
Enter your blog URL: (http://localhost:2368)
这里如果你想弄https,就不要输入http://,直接输入域名就可以
Enter your MySQL hostname: (localhost)
这里直接回车
Enter your MySQL username:
输入 root,不要输入其他账号
Enter your MySQL password:
输入刚才设置的密码
Enter your Ghost database name:
直接回车,默认为ghost_prod
Do you wish to set up "ghost" mysql user?
yes
Do you wish to set up Nginx?
yes
Do you wish to set up SSL?
选择yes即代表使用https,推荐使用
Enter your email (For SSL Certificate)
输入一个能用的邮箱
Do you wish to set up Systemd?
yes
Do you want to start Ghost?
yes
之后就能启动了
- 打开你的域名/ghost,便可以打开管理员页面进行进一步设置