记录一下搭建Lsky Pro的过程
操作环境
- Ubuntu 20.04
- Lsky Pro v2.1
- PHP==8.0.29
- Nginx 1.18.0(Ubuntu)
- mysql==8.0.33
安装
首先建议阅读官方文档
下载源文件
下载文件并且解压
wget https://github.com/lsky-org/lsky-pro/releases/download/2.1/lsky-pro-2.1.zip
unzip lsky-pro-2.1.zip -d /var/www/lsky # 目录改为Nginx项目的根目录
PS:注意解压后的目录中有若干隐藏文件无法直接使用mv
指令转移,如果使用mv
转移还请注意。
安装PHP8.0
安装php
Lsky Pro V2.1 要求PHP >= 8.0.2,Ubuntu可以直接安装1
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php # 使用ondrej/php添加PHP 8.0包和其他所需要的PHP扩展
sudo apt update # 更新包索引和包列表
# 安装PHP8.0
sudo apt install php8.0
# 安装php-fpm
sudo apt install php8.0-fpm
安装拓展
Lsky Pro需要以下拓展:
- BCMath PHP 扩展
- Ctype PHP 扩展
- DOM PHP 拓展
- Fileinfo PHP 扩展
- JSON PHP 扩展
- Mbstring PHP 扩展
- OpenSSL PHP 扩展
- PDO PHP 扩展
- Tokenizer PHP 扩展
- XML PHP 扩展
- Imagick 拓展
可以直接执行:
# 包含了部分常用拓展,也可以只安装官方要求的拓展
sudo apt install php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl php8.0-bcmath -y
配置Nginx
在/etc/nginx/sites-enabled
下(Nginx配置文件,根据安装方式不同可能略有差异),新建配置文件,配置Server。下面提供我的配置文件以供参考。
server {
listen 80; //端口
listen [::]:80;
server_name example.com; //域名,或者IP地址
root /var/www/lsky/public; //lsky的项目路径,注意要在public下
index index.html index.htm index.php;
client_max_body_size 10M; //nginx附件最大上传大小
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
location / {
try_files $uri $uri/ /index.php?$query_string; // 伪静态
}
location ~ \.php$ {
include fastcgi.conf;
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.0-fpm.sock; // php-fpm路径
}
}
然后重启Nginx服务。
systemctl restart nginx
然后打开nginx配置文件中设置的域名以及端口号,成功则会出现以下界面:
Lsky初始化
出现上述界面后点击下一步,配置数据库。
新建数据库,填入数据库名称以及密码。管理员账户和密码是Lsky后台的管理账户。点击立即安装后即可成功安装。
成功后可以进入管理页面。
到此Lsky Pro就算安装完毕。
Typora + LANKONG
Typora和Picgo配置
使用Typora编写文章可以使用LANKONG插件自动上传图片,省去了手动上传的繁琐。
LANKONG是picgo的一个插件。picgo依赖于Node.js,首先需要下载Node.js,下载地址,选择对应的版本下载。安装过可以忽略。
Typora集成了两种方式,一种是Picgo app,另一种是Picgo-Core。前一种是图像化界面,第二种是命令行的形式。不过由于Picgo app每次需要调用打开应用程序,因此在此选择Picgo-Core的方式。
使用Typora下载
在Typora->文件->偏好设置->图像->上传服务设定中,选择PicGo-Core(command line),点击下载或更新。
下载完成后,进行LANKONG插件的安装,此处参考LANKONG项目下的issue #10,首先打开picgo的安装位置,winwos下一般在C:\Users\用户名\AppData\Roaming\Typora\picgo\win64\
,在命令行执行:
C:\Users\用户名\AppData\Roaming\Typora\picgo\win64> ./picgo.exe install lankong
使用全局npm安装
如果你已经安装过node.js
,那么你可以选择使用已安装的node.js
进行picgo-core的安装,参考官方教程,依次执行如下命令:
# 安装picgo
npm install picgo -g # 或者 yarn global add picgo
安装完成后,进入picgo的目录下,默认在/node安装路径/node_modules/picgo/bin
,安装lankong插件:
cd /node安装路径/node_modules/picgo/bin
# 安装lankong【For windwos】
node picgo install lankong
# 或执行 ./picgo install lankong
然后在Typora->文件->偏好设置->图像->上传服务设定中,选择自定义命令,然后输入:
# For Windows
node \path\to\node_modules\picgo\bin\picgo upload
配置LSKY PRO图床
安装完成后,打开picgo的配置文件。
picgo 的默认配置文件为~/.picgo/config.json
。其中~
为用户目录。不同系统的用户目录不太一样。
linux 和 macOS 均为~/.picgo/config.json
。
windows 则为C:\Users\你的用户名\.picgo\config.json
编辑如下:
{
"picBed": {
"current": "lankong",
"uploader": "lankong",
"lankong": {
"lskyProVersion": "V2", //兰空版本V1,V2
"server": "https://example.com", //示例: https://example.com,只需填写Serve Name而非API链接
"token": "", //认证 token 信息
"strategyId": "", //选填, V1以及V2使用默认存储策略时请留空
"albumId": "",
"permission": "public", // 默认为私有(private(default)),即不再画廊公开
"ignoreCertErr": true, //是否忽略证书错误, 如果上传失败提示证书过期请设为true
"syncDelete": false //是否同步删除,只支持V2
}
},
"picgoPlugins": {
"picgo-plugin-lankong": true
}
}
其中Token根据lsky pro版本的不同,获取方式不同,V2版本可以通过以下方式获取:
cURL(lankong提供):
curl --location --request POST 'https://your.domain/api/v1/tokens' \ --form 'email="your_email@address"' \ --form 'password="your_passwd"' //email和password替换为自己的账号密码
python:
import requests import json if __name__ == "__main__": # 将对应数据换成自己的数据 post_dict = {'email': 'email', 'password': 'password'} header = { "Accept": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" } r1 = requests.post("https://example.com/api/v1/tokens", data=post_dict, headers=header) print("token-->" + r1.text)
返回结果:
将token中的返回数据与
"Bearer "
拼接(注意有一个空格),填入到配置文件中去,然后在Typora中测试。安装成功。