前排提示,文档还未写完。仅供稍微参考一下(┬_┬)
搭建好的图床地址: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.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

You got to put the past behind you before you can move on.