兰空图床(Lsky Pro)安装教程(无宝塔面板下手动搭建LNMP环境)

前言

Lsky Pro 是一个用于在线上传、管理图片的图床程序,中文名「兰空图床」,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。

Screenshot 2024-06-03 133051.png

Lsky Pro 官网:https://www.lsky.pro/

Lsky Pro on GitHub:https://github.com/lsky-org/lsky-pro

Lsky Pro 官方文档:https://docs.lsky.pro/


一、环境准备

本文使用的系统环境:Ubuntu Server 22.04 LTS + Nginx 1.18.0 + MySQL 8.0 + PHP 8.1 

1.更新系统:

1
2
sudo apt update
sudo apt upgrade

2.安装Nginx

执行以下命令安装Nginx:

1
sudo apt install nginx

执行以下命令确认Nginx是否处于工作状态:

1
sudo systemctl status nginx

若出现类似内容即处于工作状态:

Pasted image 20240601010629

此时在浏览器内输入您的IP地址或域名并打开,应当看见如下页面:

Pasted image 20240601010840

如您看到了如上界面,恭喜,您的Nginx已经正常工作!


3.安装PHP

 根据官方文档,我们需要安装以下扩展,开启以下函数:

  • PHP >= 8.0.2
  • BCMath PHP 扩展
  • Ctype PHP 扩展
  • DOM PHP 扩展
  • Fileinfo PHP 扩展
  • JSON PHP 扩展
  • Mbstring PHP 扩展
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Tokenizer PHP 扩展
  • XML PHP 扩展
  • Imagick 扩展
  • exec、shell_exec 函数
  • readlink、symlink 函数
  • putenv、getenv 函数

执行以下命令安装PHP-FPM(经测试PHP8.3版本过高,Lsky Pro未适配,这里指定指定安装PHP8.1版本):

1
sudo apt install php8.1-fpm

执行以下命令查看确认PHP版本:

1
php -version

Pasted image 20240601041640

 请注意:请确认安装的PHP版本是否>=8.0,否则将无法部署Lsky Pro!

执行以下命令安装BCMath、DOM、JSON、Mbstring、Tokenizer、XML、Imagick扩展(Ctype、Fileinfo、PDO已包含在上一步安装的php-common中):

1
sudo apt install php-bcmath php-dom php-json php-mbstring php-tokenizer php-xml php-imagick

openssl扩展的安装比较特殊,需要执行以下命令安装:

1
sudo apt install libssl-dev openssl

下一步,我们要对PHP进行配置

确认exec、shell_exec 、readlink、symlink 、putenv、getenv 这几个函数没有被禁用;确认open_basedir已关闭。

在php.ini中,

  1. 找到disable_functions,若 “=” 右侧存在exec、shell_exec、readlink、symlink、putenv、getenv函数,将其删除(默认状态下,等号右侧为空白);
  2. 找到open_basedir,在其前面加上“;”(默认已添加)。

可以使用以下命令可以快速查找在 /etc/php/8.1/fpm/php.ini 文件中包含 disable_functionsopen_basedir的行,并显示出行号以及该行的内容

1
grep -n "disable_functions" /etc/php/8.1/fpm/php.ini
1
grep -n "open_basedir" /etc/php/8.1/fpm/php.ini

执行以下命令重启PHP-FPM:

1
sudo systemctl restart php8.1-fpm

检查PHP-FPM是否处于工作状态:

1
sudo systemctl status php8.1-fpm

若出现以下内容即为工作状态:

Pasted image 20240601044448

恭喜,PHP-FPM已经安装完成!


4.下载Lsky Pro正式版本

Lsky Pro的每个版本都是通过 github 发布,下载正式版本请访问https://github.com/lsky-org/lsky-pro/releases

请注意:如果你不是开发者,请不要下载名称为Source Code的压缩包,此为核心源代码,需要自己安装拓展!

首先,创建一个新的目录来存放Lsky Pro文件,这里我在/var/www/路径下新建了一个
lsky目录

1
sudo mkdir -p /var/www/lsky 

进入到/var/www/lsky目录下,下载Lsky Pro压缩包

1
2
cd /var/www/lsky
sudo wget https://github.com/lsky-org/lsky-pro/releases/download/2.1/lsky-pro-2.1.zip

如果下载速度太慢,可以自行下载Lsky Pro压缩包,上传至前面创建的网站目录下

执行以下命令安装unzip:

1
sudo apt install unzip

执行以下命令解压压缩包:

1
sudo unzip lsky-pro-2.1.zip

将文件夹所有者改为www-data,权限设为755。

1
2
sudo chown -R www-data:www-data /var/www/lsky 
sudo chmod -R 755 /var/www/lsky

恭喜,Lsky Pro正式版本的安装文件已经准备完毕!


5.配置Nginx

执行以下命令为Lsky Pro新建一个nginx的网站配置文件:

1
sudo vi /etc/nginx/sites-available/lsky

复制并粘贴以下配置,根据注释信息修改相关内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   server {
listen 8010; # 端口设置,可修改为你想要的端口
server_name 192.168.168.134; # 修改为你的域名或IP

root /var/www/lsky/public; # 网站运行目录设置
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

创建一个软链接,使得配置文件生效

1
sudo ln -s /etc/nginx/sites-available/lsky /etc/nginx/sites-enabled/

执行以下命令检查Nginx配置文件是否正确:

1
sudo nginx -t

若无错误,执行以下命令重启Nginx:

1
sudo systemctl restart nginx

恭喜,现在Nginx配置好了!


6.安装MySQL并准备数据库

执行以下命令安装MySQL和它的PHP扩展:

1
sudo apt install mysql-server php-mysql

初次使用,我们需要设置root密码,执行以下命令进入MySQL控制台:

1
sudo mysql

 在控制台中,我们执行以下命令修改root密码:

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

‘your_password’值请修改为你想要设置的密码,末尾的分号不要遗漏了

继续执行以下命令,给Lsky Pro创建一个新的数据库和用户:

执行以下命令,创建名为 lsky 的数据库

1
CREATE DATABASE lsky;

执行以下命令,创建一个新的数据库用户 lsky,并设置密码

1
CREATE USER 'lsky'@'localhost' IDENTIFIED BY 'password';

‘password’值请修改为你想要设置的密码

执行以下命令,授予数据库用户 lsky对 lsky 数据库的所有权限

1
GRANT ALL PRIVILEGES ON lsky.* TO 'lsky'@'localhost';

执行以下命令,刷新权限,使更改生效

1
FLUSH PRIVILEGES;

执行以下命令,退出mysql命令行

1
exit

执行以下命令重启并检查MySQL是否正常工作:

1
2
sudo systemctl restart mysql
sudo systemctl status mysql

若出现如下内容即为正常工作: 

Pasted image 20240601031038
恭喜,MySQL已经安装并配置完成!

至此,Lsky Pro的系统环境准备已经全部完成,下面我们将打开浏览器进行正式安装。


二、正式安装

1.系统自检

在浏览器内打开您的IP或域名,应当看到如下界面:

Pasted image 20240603132641

确认自检是否通过后,请点击下一步。


2.连接数据库

按照界面指引填写之前准备好的数据库用户名、密码和数据库名:

Pasted image 20240603132621

 确认无误后,点击下一步。


3.安装完成

若出现以下界面:

Pasted image 20240603132731

恭喜你!Lsky Pro已经可以使用了!