分类 Linux 下的文章

今日闲来无事将Typecho从0.9.0更新至1.2.0

环境对比

环境差异:
  Typecho 0.9.0
    PHP 7.1 以下

  Typecho 1.12.0
    PHP 7.2 以上

相同点:
    MySQL, PostgreSQL, SQLite 任意一种数据库支持,并在 PHP 中安装了相关扩展
    CURL 扩展支持
    mbstring 或 iconv 扩展支持

Typecho升级步骤

1、备份

数据库:

本人使用了宝塔面板进行快速建站,可直接使用mysql数据库管理工具phpmyadmin(如图:):

第一步:在数据库列表中选择网站使用的数据库;
第二步:点击菜单栏的“导出”;
第三步:直接点击“执行”按钮,然后会下载一个sql数据库文件,确认文件保存(记住文件存放位置);

网站文件:

第一步:进入宝塔的“文件”管理页面;
第二步:选择网站存放的建站目录(默认位置为“/www/wwwroot”);
第三步:将鼠标放置在对应的站点目录上,移动至右侧点击“压缩”即可完成所有文件备份;

(可点击右侧的“更多”,将文件下载至本地保存。)

2、更新

升级PHP版本

卸载低版本的PHP,选择7.2以上PHP进行安装:

注:
  1、Typecho 1.12.0支持PHP 7.2 及 PHP 8,此处我选择更新至8.0的PHP 。
  2、Typecho更新情况,可通过链接打开查看:http://typecho.org/category/release/

替换文件

替换网页PHP文件:

第一步:前往官网下载最新的程序包;

第二步:将网站原来的以下文件和目录删除;
    /admin/
    /var/
    /index.php
    /install.php

第三步:把下载的最新版本typecho程序的压缩包解压,上传删除的文件和目录到网站根目录;
 (或直接替换除usr外的其他文件,其他文件的会提示重新安装,请谨慎操作。)

第四步:文件替换完成后,使用管理员帐号重新登陆网站后台,会弹出升级程序的提示;

第五步:点击“完成升级”按钮完成更新;


更新后可能存在的问题:

页面白屏、PHP异常提示:

情况一:页面白屏

替换成最新的主题文件(文件路径:`/usr/themes/default`),尝试使用最新的默认主题;
(未出现异常。)

情况二:其他页面正常,编辑新的文档页面一闪之后出现白屏、文档检索出现PHP异常提示

  1)其他页面正常,编辑新的文档页面一闪之后出现白屏
     F12检查发现css错误   

  2)/var/Widget/Metas/Category/Rows.php中96、128行的parent取值异常
     实际原因为1.2.0与0.9.0的数据库创建内容不同,创建的数据库差异如下图:

    可通过`phpmyadmin`,直接在表中添加对应字段列;
(本人更新后,出现上述两个异常,通过补充字段后解决。)

- 阅读剩余部分 -

Directory Lister目录索引看起来很好看,安装简单,也很适用;类似的目录索引工具(h5ai)

简介

PHP Directory Lister是一个使用PHP开发的目录索引工具,旨在让您列出目录的所有内容以及所有子目录,并允许您在其中导航。您只需将Directory Lister下载并安装到任何Web目录,就可以访问该目录下的所有文件和子目录。

官方网站:http://www.directorylister.com/
下载地址:https://github.com/DirectoryLister/DirectoryLister/releases
注意查看日志

功能特点

安装快速,将文件上传到任何可访问网页的目录,Direcectory Lister将为您快速生成列表。

内置主题支持,以适应您的独特风格。

控制您的列表与文件/文件夹的自定义排序顺序。

支持MD5查看。

使用说明

搭建php网站环境可使用宝塔面板。

PHP7.1可使用DirectoryLister-2.2.0及以下;


2.7.1版本需PHP7.4以上

**2.7.1**
  1)下载并提取Directory Lister到网站目录。

  2)复制resources/default.config.php到resources/config.php。

  3)浏览器打开网址添加对应目录,即可加载文件夹的内容

  将其他文件上传到与index.php相同的目录。


3.12.0

**3.12.0**

  1)下载并提取Directory Lister到网站需要的目录下

  2)将.env.example另存为.env

  3)浏览器打开网址添加对应目录即可加载文件夹的内容

  将其他文件上传到与index.php相同的目录(或index下新建的目录中,app为资源文件前往上传保存的文夹)。

  注意:还需要在 PHP 中开启“fileinfo”扩展插件;

- 阅读剩余部分 -

MySql8有新的安全要求,不能像之前的版本那样一次性创建用户并授权需要先创建用户,再进行授权操作

  1. 创建新用户:

    create user 'username'@'host' identified by 'password';
    1
    其中username为自定义的用户名;host为登录域名,host为'%'时表示为 任意IP,为localhost时表示本机,或者填写指定的IP地址;paasword为密码

  2. 为用户授权:

    grant all privileges on . to 'username'@'%' with grant option;
    1
    其中.第一个表示所有数据库,第二个表示所有数据表,如果不想授权全部那就把对应的*写成相应数据库或者数据表;username为指定的用户;%为该用户登录的域名

  3. 授权之后刷新权限:

    flush privileges;
    1
    4.撤销授权

收回权限(不包含赋权权限)

REVOKE ALL PRIVILEGES ON . FROM user_name;
REVOKE ALL PRIVILEGES ON user_name.* FROM user_name;

收回赋权权限

REVOKE GRANT OPTION ON . FROM user_name;

操作完后重新刷新权限

flush privileges;

frp 简介

frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。

在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。

根据对应的操作系统及架构,从 Release 页面下载最新版本的程序。
https://github.com/fatedier/frp/releases

也可以通过 wget 命令直接下载

wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_darwin_amd64.tar.gz

解压缩下载的压缩包,将其中的 frpc 拷贝到内网服务所在的机器上,将 frps 拷贝到具有公网 IP 的机器上,放置在任意目录。

参考文章:
https://gofrp.org/docs

https://www.cnblogs.com/hi-9527/p/15256371.html

https://www.cnblogs.com/mr-hu2009/p/16442173.html

https://zhuanlan.zhihu.com/p/405919449

https://www.cnblogs.com/nuo010/p/16041023.html

- 阅读剩余部分 -