MENU

自建Lychee图床指南

March 19, 2020 • 极意阅读设置

鸽了很久的图床安装指南,最近迁移了下图床,就顺便把教程也写好了,方便我以后自己看嘿嘿~

简单介绍一下吧,所谓图床(image hosting)就是存放图片的容器,不管你是写个博客还是用Markdown编写文件,引用图床的外链都是非常便捷的事情,主要我用Markdown也不知道如何调用本地图片,虽然说现在有一些免费图床也很好用,但除了会面临审查之外,更多是不稳定所带来的数据丢失风险,虽然自建图床也安全不到哪去,虽然说追求绝对安全可以尝试支持sftp的去中心化图床,但我暂时没有那个要求,所以就选择了简单、开源、好看的Lychee图床,官方在其GitHub项目上有一份安装说明,但写的太简单了,所以我重新写了一份新手指南以供参考~

你要问我为什么不选择更为知名的其他图床软件,因为Lychee是集合美观与小巧的最优选择~(当然免费也很重要~)

0.安装Nginx和MariaDB依赖,这个老生畅谈了,想看更详细的请随便点开一篇前文,这里不再啰嗦

#安装nginx
apt -y install nginx
# ufw allow 'Nginx HTTP'
systemctl start nginx
systemctl enable nginx
# 安装MariaDB数据库
apt -y install mariadb-server
mysql_secure_installation
# 这里会提示你设置密码,重设完密码后最后四个问题选择YnYY
systemctl restart mariadb.service
systemctl enable mariadb.service

1.安装php依赖,如果你需要视频还需要安装ffmpeg和php-ffmpeg

apt -y install php7.3 php7.3-common php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-sqlite3 php7.3-pgsql php7.3-opcache php7.3-mbstring php7.3-curl php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-intl php7.3-json php7.3-bz2 php7.3-imagick php7.3-ldap

2.修改php.ini文件解除限制

nano /etc/php/7.3/fpm/php.ini
----------修改如下内容--------
max_execution_time = 200
post_max_size = 100M
upload_max_filesize = 20M  # 如果你需要添加视频,请将这个增加到合适大小
memory_limit = 256M
----------重载PHP7.3fpm-------
systemctl restart php7.3-fpm.service

3.下载安装Lychee站点文件

apt -y install git
cd /opt/wwwroot
git clone --recurse-submodules https://github.com/LycheeOrg/Lychee.git

4.使用composer安装PHP依赖,这一步需要你先安装composer,我整了好久后才弄明白,需要安装容器后添加到全局变量:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

进入文件,指定安装位置

cd /opt/wwwroot/Lychee
composer install --working-dir=/opt/wwwroot/Lychee

5.修改文件权限

# 修改站点文件权限
chmod -R 755 /opt/wwwroot/Lychee
chown -R www-data:www-data /opt/wwwroot/Lychee
# 修改上传图床文件权限
touch dist/user.css
chmod -R 775 uploads/ dist/
chmod -R 750 data/

6.设置Nginx配置文件

nano /etc/nginx/conf.d/Lychee.conf

将下面内容修改后复制:

server {
        listen      80;
        server_name      你的域名.com;
        return 301 https://你的域名.com;
}

server {
        listen 443 ssl http2;
        root         /opt/wwwroot/Lychee/;
        index       index.html index.htm index.php;

        server_name 你的域名.com;

        ssl_certificate        /etc/letsencrypt/live/你的SSl公钥路径/fullchain.pem;
        ssl_certificate_key    /etc/letsencrypt/live/你的SSl私钥路径/privkey.pem;
        ssl_protocols          TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

        client_max_body_size 100M;
        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript i$;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        }
        }
        location ~ /\.ht {
                deny all;
        }
}

测试通过后重载Nginx服务

nginx -t
systemctl reload nginx

7.打开网站,填入数据库名称和密码,设置用户密码,安装成功~

Last Modified: March 23, 2020