前排提示,文档还未写完。仅供稍微参考一下(┬_┬)

搭建好的图床地址:[view.lixingyong.com](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的一个可能的安全漏洞](https://www.laruence.com/2010/05/20/1495.html)

重启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 搞着搞着忘了写文档,就先暂时这样,后续补