在IIS虚拟主机服务器安装Chevereto图床程序的二十四时辰

猿代码 · 2019-07-31 · 1924 人浏览

折腾了两天,总算在IIS虚拟主机上成功安装运行了Chevereto...期间经历了数次挫败。第一天本来要放弃了,第二天又静下心来慢慢梳理,终于解决了问题,安装的过程就不详述了,主要把遇到的问题列出来,供各位参考。

一、Chevereto简介

Chevereto有两个版本,免费版可以从官网直接下载(https://github.com/chevereto),还有一个付费版,在搜索引擎上随处可见破解版本。付费版主要增加了外部存储、管理横幅、喜欢和粉丝、外部分享这几个功能。据说官方会对安装了破解版本的站点进行投诉、封站,所以如果要装破解版本,可要仔细考虑哦~~

二、安装环境

  • Apache或Nginx Web服务器(推荐的服务器)
  • PHP 5.6(推荐7.3)与标准库。
  • MySQL 8 / MariaDB 10

因为本人建站用的是IIS虚拟主机,不在官方推荐的配置里,因为对其他图床程序都不是很满意,所以只能尝试安装一下了。

三、错误提示G\: Sessions are not working on this server due to missing write permission on session save path (php.ini session.save_path).

压缩包上传服务器,解压,打开首页就发现了这个错误,而且搜索引擎上很少能找到这个问题。后来通过研究官方文档,发现是虚拟主机的session一般在C:/Windows/Temp,而网站需要对这个temp文件夹进行读/写访问。

根据官方文档(https://chevereto.com/docs/server-issues)的提示,在app/settings.php文件内添加下面的语句,把session路径放在自己站点的文件夹里(后面的引号里填入你自己设置的路径),权限问题就搞定了!

$settings['session.save_path'] = 'D:\local\XXXX\Web\session';

另外,请把您改好的这一行文本复制做好备份,后面有用!

四、进入安装页面空白(或出现404/500页面)

Chevereto图床的伪静态特征,需要在服务器配置URL重写的文件。官方文档(https://chevereto.com/docs/requirements)只对Apache/Nginx服务器的配置进行了说明,而对于IIS服务器的伪静态规则却只字未提。

陷入再度绝望的我,终于在官网的论坛里查找到了两篇相关的资料。参考网址如下:

根据参考资料的提示,在Chevereto程序的根目录下添加web.config文件(刚开始我加到了我虚拟主机的根目录下,又出了不少错误提示,折腾了大半天,后来才发现,文件应该放在这个程序的根目录下)。

web.config文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Importierte Regel 1">
                    <match url="lines" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="and" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="Make" />
                </rule>
                <rule name="Importierte Regel 2" stopProcessing="true">
                    <match url="images/.+\.(gif|jpe?g|png|bmp)" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Redirect" url="{R:0}" redirectType="Temporary" />
                </rule>
                <rule name="Importierte Regel 4" stopProcessing="true">
                    <match url="." ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        <add input="{URL}" pattern="\.(css|js|html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpe?g|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
<security>
<requestFiltering>
 <requestLimits maxAllowedContentLength="200000000" />
</requestFiltering>
</security>
    </system.webServer>
</configuration>

搞定!这次终于成功打开安装页面!

五、填入数据库配置,点击下一步按钮,又出现了和之前一样的Sessions are not working on this server

这是因为数据库配置信息提交后,之前的设置文件被覆盖导致的。解决方法是:安装页面一定不要关闭(很重要),同时打开app/settings.php文件,把之前你复制的那一行追加到最后(不要覆盖已有的记录)。

编辑好的文件上传之后,刷新你刚才没有关闭的安装页面,安装就可以继续进行了。

六、样式表打不开,页面版式错乱

安装完成之后,又出现了问题!页面版式错乱,通过检查发现是.css样式表报错net::ERR_ABORTED 500 / Failed to load resource: the server responded with a status of 500 (Internal Server Error)

经过研究,发现问题最终出现在web.config文件中。在官方论坛里给出参考的伪静态规则里包括这几行:

        <staticContent>
            <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
        </staticContent>

这几行的含义是,在IIS中将.svg添加到MIME类型。否则.svg格式的chevereto徽标将不会显示。在MIME类型中将.svg添加为image / svg + xml。因为我的web.config伪静态规则里有这几行,才导致了css文件无法读取(推测可能是和服务器的已有配置冲突了)。

将上述几行删掉,搞定收工!成就感满满 :P

自此,Chevereto图床程序安装全部完成,剩下的就是自己的后续配置了~~

Chevereto 图床 虚拟主机 服务器 个人主页
京ICP备2023019113号-1 ◎ Theme by Jasmine