【介绍】
全称:YetiShare File Hosting
演示:https://mfscripts.com/yetishare/demo.html
文档:https://docs.mfscripts.com/yetishare/
论坛:https://forum.mfscripts.com/ 颇多经验,不二之选
参考:https://www.chieng.cn/post/145.html
【安装】
比较简单。
【插件】
默认插件。
扩展插件。
【模板】
默认模板为 spirit 。
网上有 Mega 和 Pro 两种。
【设置】
设置:Nginx 静态化
参考:https://support.mfscripts.com/public/kb_view/78/
server { listen 80; server_name domain.name www.domain.name; rewrite ^(.*) https://$server_name$1 permanent; } server { listen 443 ssl http2; server_name domain.name www.domain.name; root /usr/local/nginx/html/domain.name/portal; index index.php; client_max_body_size 120m; ssl_certificate /etc/letsencrypt/live/domain.name/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.name/privkey.pem; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; location ~ \.php$ { if (!-e $request_filename) { rewrite ^/(.*) /index.php?_page_url=$1 last; } fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED on; include fastcgi_params; } #location / { if (!-e $request_filename) { rewrite ^/(.*) /index.php?_page_url=$1 last; } # } location /files/ { internal; } location /logs/ { deny all; } location ~* \.(php|txt|xml|js|css|flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|mp4|m4v|ogg|webm|aac|eot|ttf|otf|woff|svg|jpg|jpeg|png|gif|swf|webp)$ { expires 1d; } }
涉及 API,尚未验证:
# handle requests to the API location ~ /api/v2/(.+)$ { if (!-e $request_filename) { rewrite ^/api/v2/(.*) /api/v2/index.php?_page_url=$1 last; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
参考:https://forum.mfscripts.com/threads/yetishare-nginx-help.3141/
【翻译】
YetiShare 的 i18n 的特殊性:
1. 语言文件存储于数据库中,以键值模式存储。并非通过读取单独的语言文件而实现。
2. 可以将语言翻译导出为 .CSV文件进行进一步离线翻译。
3. 可以通过新建语言,再导入相应 .CSV文件。导入后,词条将被锁定,仅限在线编辑。
4. 可以通过导入 .CSV文件更新指定语言,但仅限于解锁词条。
5. 因此,如果涉及离线编辑较大范围词条,请一次性完成翻译工作后,在线删除原语言数据,再重新新建语言,全新导入。
创建新语言步骤:
进入后台,点击
Site Configuration然后点击translation。
截下来点击 Add Languages。
Language Name 里输入简体中文,Text Direction保持默认从左到右。
Language Flag选择cn.png。
Language Code选择ZH-CN。
然后点击Add Languages。即可。
导入语言
点击右下角的Import Translations,
Import Language里选择刚才建立的 简体中文
Translations CSV将下载下来的Chinese.csv
在后台设置里,设置语言为简体中文,然后退出登录,再打开就是中文了。
【排障】
问题:无法访问 /js/uploader.js 和 assets/js/translations.js
此问题在界面上表现为不显示上传界面。
并非程序包中缺失这两个文件,而是涉及 nginx 静态化设置。请参照以上推荐设置。
参考:https://forum.mfscripts.com/threads/some-js-files-404.4266/#post-13919
问题:无法导出语言包
此问题在界面上表现为导出语言包时出现空白页面。
问题应该与服务器权限有关。YetiShare应该对于 Apache 更友好,cache 目录下新建的目录所有者均为 apache 。
临时解决方案:重新设置 cache 所有者为 nginx 并全部 777 。
根本解决方案:换 apache 环境应该能避免。
问题:头像不显示
问题应该与服务器权限有关。参考上条。
问题:上传模板.zip包无结果
待决。应该与服务器权限有关。
问题:插件目录中的插件不被识别
待决。应该与服务器权限有关。