资讯专栏INFORMATION COLUMN

Ucloud的1H1G的服务器搭建Chevereto图床

Tecode / 2783人阅读

摘要:由于个人服务器配置较低,使用的是的的服务器,另外不喜欢环境,网上找了很多教程都出现一些奇奇怪怪的问题,最后结合官方文档最终搭建好图床。这将移除一些匿名用户和测试数据库,并且禁用远程登录。

由于个人服务器配置较低,使用的是Ucloud的1H1G的服务器,另外不喜欢LNMP环境,网上找了很多教程都出现一些奇奇怪怪的问题,最后结合官方文档最终搭建好 Chevereto 图床。

预览地址:http://owye.cc

环境要求:

  • Ubuntu20.04(18.04也能用,但是系统自带的php7.2太低,需要手动升级到7.4)
  • PHP 7.4(在此之前试过7.2的,但是到了安装Chevereto时,提示php版本过低)
  • MySQL 8
  • Nginx1.18

注意:在开始之前,先更新系统。

sudo apt update && sudo apt upgrade

1.安装Nginx

Nginx的软件包在Ubuntu20.04默认软件仓库中可用。

# 安装Nginx
ubuntu@10-23-202-173:~$ sudo apt install nginx

安装完成后,检查Nginx服务的状态和版本:

# 查看运行状态
ubuntu@10-23-202-173:~$ sudo systemctl status nginx
# 查看nginx版本
ubuntu@10-23-202-173:~$ sudo nginx -v

如果正在运行防火墙,则还需要打开端口80和443(默认未开启,此步骤可忽略)

# 开放端口
ubuntu@10-23-202-173:~$ sudo ufw allow Nginx Full
# 验证更改
ubuntu@10-23-202-173:~$ sudo ufw status

使用systemctl管理Nginx服务,您可以像任何其他systemd一样管理Nginx服务。

# 关闭nginx
ubuntu@10-23-202-173:~$ sudo systemctl stop nginx
# 启动nginx
ubuntu@10-23-202-173:~$ sudo systemctl start nginx
# 重启nginx
ubuntu@10-23-202-173:~$ sudo systemctl restart nginx
# 重载Nginx服务
ubuntu@10-23-202-173:~$ sudo systemctl reload nginx
# 禁用Nginx服务在开机时启动
ubuntu@10-23-202-173:~$ sudo systemctl disable nginx
# 开机自启动
ubuntu@10-23-202-173:~$ sudo systemctl enable nginx

2.安装mysql

# 安装MySQL
ubuntu@10-23-202-173:~$ apt install mysql-server

执行上面命令安装MySQL,不会设置密码或者做任何其它配置。因为,这样会使你的安装不安全,我们将在下一步解决该问题。

# 运行安全脚本
ubuntu@10-23-202-173:~$ sudo mysql_secure_installation

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

接下来所有问题可以输入Y或者回车,采用默认配置即可。这将移除一些匿名用户和测试数据库,并且禁用远程root登录。同时,将加载这些新规则以使您做的变更能够在MySQL立刻生效。

2.1 调整用户认证和权限

为了能够以root用户通过密码的方式连接MySQL,将其认证方式从auth_socket方式变更为mysql_native_password。进行该设置,通过终端打开MySQL的提示符:

ubuntu@10-23-202-173:~$ sudo mysql
# 检查您的MySQL系统每个用户的认证方式
mysql> SELECT userauthentication_stringpluginhost FROM mysql.user;

可以看到实际上root用户通过auth_socket插件的方式进行认证。要将root用户设置为通过密码认证,运行如下ALTER USER命令。务必将密码设置为高强度的密码,需要注意的是该操作将改变前面设置的密码:

# 创建chevereto数据库
CREATE DATAbase chevereto;
# 创建用户名
CREATE USER chevereto IDENTIFIED BY chevereto;
# 设置root用户密码
ALTER USER root@localhost IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY wjywkr5R@..;

注意: 必须记下数据库名称,用户名和密码,因为稍后将需要这些详细信息。

# 刷新,使更改生效
mysql> FLUSH PRIVILEGES;
# 查看更改是否生效
mysql> SELECT userauthentication_stringpluginhost FROM mysql.user;
# 退出MySQL终端
exit
# 查看mysql服务状态
ubuntu@10-23-202-173:~$ systemctl status mysql.service
# 启动服务
sudo systemctl start mysql
# 停止服务
sudo systemctl stop mysql
# 查看mysql版本
ubuntu@10-23-202-173:~$ mysql -V
mysql  Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

3.安装php

ubuntu20.04自带的php为php7.4

ubuntu@10-23-202-173:~$ sudo apt install php-fpm php-zip php-curl php-mbstring php-gd php-mysql

配置PHP处理器,使用root权限打开主配置文件。

sudo nano /etc/php/7.4/fpm/conf.d/chevereto.ini
# Paste Ctrl+Shift+V this

upload_max_filesize = 20M;
post_max_size = 20M;
max_execution_time = 30;
memory_limit = 512M;

# Write close Ctrl+o Ctrl+x.

4.设置网站

创建网站文件的路径,并分配www-data所有者和组。

sudo mkdir -p /var/www/html/owye.cc/public_html
sudo chown www-data:www-data /var/www/html/owye.cc/public_html

删除默认的NGINX网站。

sudo rm -f /etc/nginx/sites-enabled/default

使用 nano 编辑器创建网站配置文件。

sudo nano /etc/nginx/sites-available/owye.cc.conf
server {
    listen         80 default_server;
    listen         [::]:80 default_server;
    server_name    owye.cc www.owye.cc;;
    root           /var/www/html/owye.cc/public_html;
    index          index.html;

    # 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;
    }

    location ~* .php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        include         fastcgi_params;
        fastcgi_param   script_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   script_NAME        $fastcgi_script_name;
    }
}

创建网站符号链接(可用网站)。

sudo ln -s /etc/nginx/sites-available/owye.cc.conf /etc/nginx/sites-enabled/

重新启动PHP和NGINX。

sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx

5.设置HTTPS

安装Certbot和特定于Web服务器的软件包,然后运行Certbot。

# 安装Certbot
sudo apt install python3-certbot-nginx
# 运行Certbot,会提示输入邮箱,以便使用ssl
sudo certbot --nginx

6.安装Chevereto

将安装程序下载到您的网站目录中,并以www-data的形式屏蔽。

sudo -u www-data wget -O /var/www/html/owye.cc/public_html/installer.php https://chevereto.com/download/file/installer

浏览器输入owye.cc/installer.php按照以下步骤安装,接下来使用图形化界面安装就可以了,需要注意的是必须记住前面创建的数据库名称,数据库用户名和密码。

完结撒花!

参考文档:https://v3-docs.chevereto.com/setup/requirements.html#php

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/126218.html

相关文章

  • 10 分钟使用 Spring Boot + Vue + Antd + US3 搭建自己图床

    摘要:网上已经一些运行不错的图床了,比如图壳路过图床那为什么我们还要自己搭建图床呢一来是因为码农总是喜欢折腾,二来是有了自己的图床数据自己存储更安全。下面是演示地址,可以先看一下搭建完成的效果。我们是以作为原型进行搭建。网上已经一些运行不错的图床了,比如SM.MS https://sm.ms/图壳 https://imgkr.com路过图床 https://imgchr.com/那为什么我们还要自...

    Tecode 评论0 收藏0
  • 开箱即用-简洁实用ImgURL图床相册程序和Zdir目录列表程序(文件管理器)

    摘要:本篇文章就来分享一下两款开箱即用上手容易的图床相册程序和在线文件管理器目录列表程序,由好友开发并维护,非常适合个人站长用作图床相册和文件下载分享。虽然说现在照片还有文件存储等都可以上传到网盘中,但是国内的网盘与国外的网盘存储还有点不一样。以百度网盘与Dropbox对比为例,百度网盘顶多算是一个个人用来存放私人照片和文件的网络硬盘,如果用来分享的话很容易被百度限制或者取消下载。很多的个人站长为...

    番茄西红柿 评论0 收藏2637
  • SpringBoot 整合 阿里云OSS 存储服务,快来免费搭建一个自己图床

    摘要:笔主很早就开始用阿里云存储服务当做自己的图床了。阿里云对象存储文档,本篇文章会介绍到整合阿里云存储服务实现文件上传下载以及简单的查看。 Github 地址:https://github.com/Snailclimb/springboot-integration-examples(SpringBoot和其他常用技术的整合,可能是你遇到的讲解最详细的学习案例,力争新手也能看懂并且能够在看完...

    邹强 评论0 收藏0
  • 【PPic】基于Electron+Vue+iView图床应用设计

    摘要:其实这个应用并不是那么的特别需求,一来本人写越来越少,二来开发工作也是越做越少,再者目前的编辑器几乎都支持直接剪切板上传图片,使图床应用的场景越来越少。 其实这个应用并不是那么的特别需求,一来本人写blog越来越少,二来开发工作也是越做越少,再者目前的编辑器几乎都支持直接剪切板上传图片,使图床应用的场景越来越少。不过本人本着不想丢弃技术的内心想法,以及锻炼自己写一个完整项目,还是开启了...

    call_me_R 评论0 收藏0
  • gitPic,利用Github做图床小工具

    摘要:注意选择是方式还是方式,如果已经配置好方式的话建议用这种方式,因为需要输入账号密码。如果有任何觉得需要改进的地方请留言或者在中提出,非常感谢地址原文地址利用做图床小工具 前言 最近使用自己搭建的一个博客系统Fame写博客,博客中的图片是利用github做图床的,配合RawGit获取图片中的链接,只是这样每次都感觉很麻烦,于是写了一个小工具方便上传图片和获取链接。 环境需求 java8...

    BetaRabbit 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<