最近在测试信息管理的系统,找了一圈貌似就Yclas(Open Classifieds)出现频率比较高,那就用它好了。
环境:
腾讯云服务器,采用宝塔面板安装的lmnp,具体为CentOS7+Nginx1.16.1+MySQL5.6+PHP7.3。

安装过程

新建虚拟主机后将源码上传至根目录下,然后在浏览器中输入网址或IP地址。
yclas-system-check.png
系统监测后提示缺少mod_rewrite和ZipArchive。只是警告,此时你可以继续安装,也可以先解决系统问题。
从网上的安装教程上来看,貌似是可以在nginx下实现mod_rewrite通过的。至于zip的问题,从提示上来看是影响日后的升级,不过倒是好解决得很。
另外,系统还有可能会提示你主题目录themes的写入权限。

安装ZipArchive

ZipArchive这个问题,宝塔的论坛上有过解释,属于历史遗留问题(具体可参考《近期宝塔Linux版本安装的PHP7.3缺少ZIP》一文)。这里只是把相应的代码贴一下。

  1. 编译和安装扩展
    cd /www/server/php/73/src/ext/zip/
    /www/server/php/73/bin/phpize
    ./configure --with-php-config=/www/server/php/73/bin/php-config
    make && make install
  2. 修改配置文件

    echo "extension = zip.so" >> /www/server/php/73/etc/php.ini

  3. 重启PHP服务

    service php-fpm-73 reload

再次刷新安装页面,zip的问题解决。
yclas-system-check-installed-zip.png
这张图是我重新安装后截取的,所以少了语言配置的选项。

配置mod_rewrite

这个是很棘手的问题,以至于我一直被这个问题所困扰。事实上在宝塔面板中网站的伪静态中输入如下代码:

location /
{
     try_files $uri $uri/ /index.php?$args;
}

眼熟吗?如果你使用wordpress,会发现也是用的这条。
重新加载nginx后,刷新页面,还是无果。

没办法,直接继续安装吧。输入数据库名、用户名和密码之后,简单地选择一下语言和时区,然后注册管理员之后,系统安装成功。

问题的解决

这可能是整个安装过程中最坑的,花了我整整几个小时在这上面,因为我始终认为是由于mod_rewrite的缘故。
1、没有伪静态
如果你没有设置伪静态然后选择直接安装,那么很有可能安装完毕之后是能够看到主页的,但是如果你点击任何一个链接都有可能出现404错误。
2、设置伪静态
按照上面的代码设置伪静态后,重新加载nginx,刷新页面,404错误没有了。但是,登录后台https://yourdomain.com/oc-panel可能会出现下列错误。

Session_Exception [ 1 ]: Error reading session data. ~ APPPATH/kohana/system/classes/Kohana/Session.php [ 324 ]

一种可能是伪静态设置完毕需要清空cookies,另一种可能的话查看一下安装目录的权限,我使用宝塔面板上传源码后发现,好多文件夹及文件的所属为root,就好比说主题目录themes一样。

所有设置完毕后,重新登录。
yclas-login.png
估计是翻译的问题,登录按钮被写成了注册,看起来好怪。
yclas-oc-panel.png
好了,终于可以安心玩耍了,只是这个系统并不是我想要的啊。

其实我的诉求很简单,几个简单的分类可以相互查询就成,这个类太大了。
最后放一下yclas和osclass的对比图(差点放弃yclas,所以又安装了osclass做个对比),个人还是喜欢yclas,至少它支持中文。
yclas-homepage.png
osclass-homepage.png
参考文档:
Setup Yclas (Open Classifieds) on Ubuntu 18.04 | 16.04 with Nginx

最后修改:2020 年 08 月 31 日
如果觉得我的文章对你有用,请随意赞赏