前排提示,文档还未写完。仅供稍微参考一下(┬_┬)
搭建好的图床地址:view.lixingyong.com
背景
最近想搭建一个图床,在git上找来找去,始终没有找到一个特别好看的图床,最初使用java搭建了Hello-hao的图床。 但似乎没有图廊预览功能,效果不太好。因此决定来决定去,最后选择搭建基于PHP的Chevereto图床。
MySQL和Nginx我已经有了,就不再进行安装了
安装PHP
先更新apt
sudo apt-get update
sudo apt-get install php-fpm php-mysql php-curl
ubuntu自带的php为php7
配置PHP处理器
轻微配置PHP使得PHP更加安全
使用root权限打开主配置文件
sudo vim /etc/php/7.0/fpm/php.ini
查找参数 **cgi.fix_pathinfo **,将其前方的;取消注解,并将默认设置改为“0”,即关闭
【注:在vim中使用/后接参数进行查找】
fix_pathinfo 具有安全隐患。详见Nginx + PHP CGI的一个可能的安全漏洞
重启PHP处理器
sudo systemctl restart php7.0-fpm
配置Nginx使用PHP
按照如下配置即可
server {
listen 80;
server_name xxx.xxx.com;
# 这里是我默认的地址
root /home/project/view;
index index.php;
# charset utf-8;
# Context limits
client_max_body_size 20M;
# Disable access to sensitive files
location ~* (app|content|lib)/.*\.(po|php|lock|sql)$ {
deny all;
}
# Image not found replacement
location ~ \.(jpe?g|png|gif|webp)$ {
log_not_found off;
error_page 404 /content/images/system/default/404.gif;
}
# CORS header (avoids font rendering issues)
location ~ \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
add_header Access-Control-Allow-Origin "*";
}
# Pretty URLs
location / {
index index.php;
try_files $uri $uri/ /index.php$is_args$query_string;
}
}
执行到这里,兴高采烈的去访问了一下网址,结果给我当头一棒,原来还没完。。。>_<
配置数据库
在Chevereto的安装目录 app 下,新建一个settings.php 文件,内容如下
<?php
$settings['db_host'] = '127.0.0.1';
$settings['db_port'] = 'port';
$settings['db_name'] = 'name';
$settings['db_user'] = 'user';
$settings['db_pass'] = 'password';
$settings['db_table_prefix'] = 'chv_';
$settings['db_driver'] = 'mysql';
$settings['debug_level'] = 1;
安装GD库支持
Chevereto需要GD库支持,用来执行图像处理,因此安装GD库
sudo apt-get install php7.0-gd
安装mbstring多字节字符串
sudo apt-get install php7.0-mbstring
安装xml
sudo apt-get install php7.0-xml
emmm 搞着搞着忘了写文档,就先暂时这样,后续补充
Q.E.D.