背景

最近重建博客,又回到了老生常谈的问题,WordPress图片管理问题,之前几次放弃WordPress都是因为其图片管理一团糟,没有分类!强制生成大中小三种尺寸的图片,不管你是否需要!
搜索到的图片管理插件大部分都是相册的实现,要么是逻辑分类,也不知道大家都怎么用的,反正我是很难受;
如今markdown编辑器的流行,让我再次回到WordPress,再次尝试翻越前几次的坎,兜兜转转还是如此,作罢,自己搞吧。
网上搜罗,有些推荐七牛存储的,但是https是收费的,对于小站来说,实在是没有不想去因为几张几十张的图片去购买套餐。
所以,那就来吧

环境要求

  • centos 7
  • nginx 1.16
  • PHP 7.2
  • mariadb 10.3
  • chevereto free 1.1.3

chevereto free

官方的帮助文档内容少得可怜,连PHP的模块都没写,只能在你安装的时候一个个检测,然后在安装,也不知道这是不是free的待遇;
官方给了几种安装方式
1. 在线下载方式,先给一个index.php文件,然后自动下载部署
1. 下载zip包方式,解压安装
1. docker安装
官方安装文档
GitHub地址

我采用第2种方式,zip的方式部署安装

nginx

如果已安装nginx,请跳过此步骤

sudo vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

mariadb

如果已安装MySQL/MariaDB,请跳过此步骤

sudo vim /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

PHP 7.2

使用remi源安装PHP7系列,remi安装需要epel,如果已安装国内版的epel,则需要备份,然后在安装完成后在覆盖回去

sudo mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak && \
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y && \
sudo mv /etc/yum.repos.d/epel.repo.bak /etc/yum.repos.d/epel.repo

前置准备

先安装一些零碎儿

sudo yum install vim wget yum-utils unzip -y && \
sudo yum-config-manager --enable remi-php72 && \
sudo yum install nginx mariadb-server php php-fpm php-mbstring php-gd php-curl php-mysql php-zip -y

nginx配置

nginx默认安装后有个default.conf文件,这里不需要,如果以后在添加别的网站应该会需要,这里先重命名让其失效

sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak

按照chevereto的要求,添加新的nginx配置文件内容

sudo vim /etc/nginx/conf.d/chevereto.conf
server {
    listen 80;
    server_name localhost;
    root /var/www/html/chevereto;
    index index.php;

    #Chevereto: Disable access to sensitive files
    location ~* /(app|content|lib)/.*\.(po|php|lock|sql)$ {
        deny all;
    }
    #Chevereto: CORS headers
    location ~* /.*\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js) {
        add_header Access-Control-Allow-Origin "*";
    }
    #Chevereto: Upload path for image content only and set 404 replacement
    location ^~ /images/ {
        location ~* (jpe?g|png|gif) {
            log_not_found off;
            error_page 404 /content/images/system/default/404.gif;
        }
        return 403;
    }
    #Chevereto: Pretty URLs
    location / {
        index index.php;
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    location ~ /\.ht {
        deny  all;
    }
}

配置PHP

sudo sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini && \
sudo sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini && \
sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php.ini && \
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.ini && \
sudo sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php.ini && \
sudo sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/g' /etc/php.ini
# 最后一行有个转义符

配置php-fpm

sudo sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf && \
sudo sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf

配置权限

还挺重要的一步,不然会报错

sudo chown -R nginx:nginx /var/lib/php/session && \
sudo chmod -R 775 /var/lib/php/session

配置mariadb

sudo systemctl start mariadb
# 先启动mariadb
sudo mysql_secure_installation
# 先设置root密码,然后一路回车即可

配置服务

sudo systemctl enable nginx && \
sudo systemctl enable mariadb && \
sudo systemctl enable php-fpm && \
sudo systemctl start nginx && \
sudo systemctl start php-fpm

开启防火墙

sudo firewall-cmd --add-service=http --permanent && \
sudo firewall-cmd --add-service=https --permanent && \
sudo firewall-cmd --reload

下载

GitHub Release

# 下载并解压
cd ~
wget https://github.com/Chevereto/Chevereto-Free/archive/1.1.3.zip
unzip 1.1.3.zip
sudo mv Chevereto-Free-1.1.3 /var/www/html/chevereto
# 设置权限
sudo chown -R nginx:nginx /var/www/html/chevereto
sudo chmod -R 775 /var/www/html/chevereto

创建数据库

mysql -uroot -p123456 << EOF
create database chv_db;
create user chv_u identified by '123456';
grant all privileges on chv_db.* to chv_u@'localhost' identified by '123456';
flush privileges;
quit
EOF

开始安装

输入域名/IP访问开始安装

  1. 输入数据库连接信息
  • database name:chv_db
  • database user:chv_u
  • database user password:123456
  1. Continue(继续)
  2. 后台信息
  • admin username:(管理员用户名)
  • admin email:(管理员邮箱)
  • admin password:(管理员密码)
  • from email address:(给用户或你发送邮件的地址)
  • incoming email address:(用户联系你的接收邮箱地址)
  1. 安装完成,进入仪表盘
  2. 登陆后,点击右上角的admin->settings
  • language:简体中文
  • timezone:asia/shanghai

后记

  1. 更多的选项在“admin-仪表盘-设置”
  2. 设置的“网站”旁边有个倒三角的图标,点击里面有很多相关设置
  3. 如果跟我一样是自家用,那么在“设置->网站->网站的隐私模式=仅注册用户”,然后在“设置->用户-开放注册=禁用”
  4. 完成安装具体设置可以根据自己的需要,都是简体中文

发表评论

电子邮件地址不会被公开。 必填项已用*标注

10 + 15 =