sitesCMS 环境搭建及IDEA仿真调试

不念不忘少年蓝@ 2021-09-21 14:52 276阅读 0赞

前言

开源中国上的链接:https://www.oschina.net/p/sitescms

官方文档:https://gitee.com/xhhxb/sitesCMS/wikis/01.sitesCMS

sitesCMS 是基于 JFinal多站点 CMS 内容管理系统,JFinal4.9全家桶(JFinal+Enjoy+ActiveRecord+JFinal-Undertow),除JFinal外无其他重度依赖。精简的多站点功能设计,极易二次开发,可以用来阅读,提高对 jfinal的理解。

打开工程

把源码下载后,就可以用IDEA打开,打开工程的时候会有提示,是使用eclipse方式还是maven方式?我选择了 maven方法打开。

发现有一个红色错误提示,如下,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70

这是缺少一个库,添加进来即可。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 1

但是又出现了一个问题:无法保存设置,提示如下:

20210108102253680.png

解决方法:出现这个问题的原因是,多模块Maven项目。删掉就可以了,如下图,把方框中的那个大胆删掉。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 2

到这一步,终于没有错误了,可以编译通过啦。

运行

点击main函数旁的绿三角,如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 3

这时,又弹出一个错误:

20210108104126649.png

解决方法:

打开配置,

20210108113305146.png

选择好jre版本即可(如下图所示),这个错误就不会再弹出来啦。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 4

问题2:端口不可用错误。

再次运行,还是出现了新问题。

20210108113516459.png

解决方法:

把端口号改一下,如下:

2021010811362585.png

随之,又有新的问题出现了。

问题3:mysql很多的错误。

sql错误之一:Plugin start error

20210108143509128.png

20210108140856822.png

20210108140507845.png

原因分析:

这里出现了一系列的SQL错误,可能是因为还没有创建数据库的原因吧,待验证。

打开 cmsConfig.txt,这个是就是SQL的配置文件了,可以看到数据库名,用户名,密码等信息。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 5

按照这些信息创建一个数据库吧。

4.数据库问题:init datasource error

20210207004122683.png

解决方法:创建好数据库,并设置好用户名密码等参数,解决方法的具体细节请参考上文。

有点需要注意的是,MYSQL的版本要注意,官方写着的是 MySQL 5.0.96,所以还是装这个版本吧。

5.错误:Failed to decrypt.

2021020715254969.png

20210207111315912.png

解决方法:也就是要把密码加密一下才行。

整个工程里搜索关键字“publicKey“,定位到生成加密字符串工具的工程:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 6

然后填入密码,即可生成对应字符串。再填入到 cmsConfig.txt 文件里即可,如下:

20210208020844612.png

再重新运行,这个问题就不会出现啦。

6.问题:Unable to load authentication plugin ‘caching_sha2_password’.

20210208021229549.png

解决方法:

参考: https://blog.csdn.net/w605283073/article/details/88096598

主要原因8.x版本的验证模块和之前版本不同:

5.x版本是:default_authentication_plugin=mysql_native_password

8.x版本就是:default_authentication_plugin=caching_sha2_password

哎,还是切换回 mysql5.x 的版本吧。

果然,切回到 mysql 5.0 之后,该问题就不再出现了。

问题7. Table ‘sitescms.accesslog’ doesn’t exist

20210208151517937.png

解决方法:

缺了表格,把这个表格加上去就行。要加入以下表格:

20210208152509208.png

问题8.Failed to load class “org.slf4j.impl.StaticLoggerBinder”.

20210208152805440.png

解决方法:

原来这是因为sl4j和log4j的不兼容导致的。这个问题只影响日志,可以先不管。

问题9. Unknown column ‘t.status’ in ‘where clause’

20210208163134841.png

解决方法:

列名不存在。填入就行,如下 :

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 7

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 8

问题10:Public Key Retrieval is not allowed

2021020922520381.png

解决方法:

在最前面加入参数 allowPublicKeyRetrieval=true&useSSL=false

20210209225456836.png

到这里,终于可以正常运行起来了,显示的信息如下:

2021020816350999.png

访问后台前台

前台地址: http://localhost

后台地址: http://localhost/cms 管理用户名为wumoxi,默认密码111111

终于可以到后台管理界面了,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 9

但是,前台却显示失败:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 10

但是,当我填入账号和密码时,又出现了新问题:“服务响应异常,请联系管理员处理!”

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 11

解决方法:

那是因为我没有导入初始化数据

系统的初始化数据库sql文件是
sitesCMS/src/main/resources/sql/sitescms-all.sql,包含数据表结构和测试数据,直接运行导入即可。

前面运行的时候,提示缺一些表格,我就根据提示添加进去了,其实那个步骤应该是可以省掉的,可以通过导入sql文件的方法来解决。

1.idea先连上数据库。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 12

20210208173228195.png

再选中数据库

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 13

2.

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 14

3.

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 15

数据库里就能看到数据了,如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 16

打包成release文件

1.打开maven栏

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 17

2.点击 clean comile package,即可生成 release部署文件。

2021021003351038.png

可能会遇到的问题: package时要下载一些内容,有时候网速很差,会卡上几个小时,不过没关系,不关电脑一个晚上,没有什么是下载不了的。

生成的文件如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 18

点击批处理,即可运行,运行成功显示如下:

20210210033821788.png

在ubuntu服务器上部署

1.先装好绿免安装的mysql5.0. 再把在window上调好的数据库文件复制过去。

2.装好java1.8。

本次使用的装java1.8的方法见我的另一篇文章 https://blog.csdn.net/zhuohui307317684/article/details/113886990

装java1.8的另一种方法(不过,本次没有使用这种方法)如下:

输入java,就会提示:

20210210224147373.png

按提示输入 sudo apt install openjdk-8-jre-headless 即可。

3.把release文件复制上去,直接运行即可。

为了方便调试,可先把jfinal.sh里改成:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 19

输入运行命令:

./jfinal.sh start

遇到问题:port: 80 not available

20210210225231679.png

解决方法:用 root 权限登录,再启动就行。除了这个问题,还出现了很多的问题,都是没有root权限的原因。

具体命令为:

su

jfinal.sh start

到了这一步,终于可以正常启动了,运行显示命令如下 :

20210224003417419.png

在浏览器输入网址即可登陆,不过,必须是 http 的方式,不能是 https, 如下:

20210224003614990.png

问题:图片/文件访问不到

运行起来后,还是有一点问题的。图片/文件访问不到,如下所示:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3podW9odWkzMDczMTc2ODQ_size_16_color_FFFFFF_t_70 20

解决方法:系统默认访问的图片或者文件是作者开发本地上传的,路径、文件名都是开发者本地的,首次运行没有图片或者文件是正常的,这个只需要在后台重新上传一次就可以了。如果想要作者使用的图片请关注微信公众号sitesCMS并发送关键字“图片获取”;(作者耍了个小聪明,想把开发者引流到他的公众号上。要关注公众号,才能得到图片。)

1.图片包的下载地址为,这是在作者的公众号里找到的。

地址:https://pan.baidu.com/s/1X8sQq9CgXFtR0g6Te49WjA

提取码:ritf

2.下载完后保存到ubuntu服务器上,比如:

20210224100152399.png

3.再修改 config/cmsConfig.txt 和 config/undertow.txt 文件,把路径对应改一下。

20210224101120448.png

易错点:如下图两个红框中所示,要改两个地方才可以。

20210224200135449.png

到了这一句,图片就都可以访问啦。

不过,公众号上提示,如果还是不显示

如果按照说明放置了图片、调整了配置仍然是不显示图片,可以手动在后台编辑文章处重新上传一次图片,但是需要注意文件上传目录和undertow中的资源目录能够对应起来!!!

附件必须是需要重新上传才可以的!!!

http可以访问,https不能访问的问题

原因是没有SSL证书证书吧。

网站启用https将会更加安全,其实现在国内很多大型的网站已经启用https了,怎么启用https呢,一个是自己制作证书,只不过自己制作的证书虽然也能起到加密的效果,但是他不是授信的,会被浏览器提示警告的。最好的办法就是去购买一个,便宜的一年2、300块钱贵的几千块钱,根据自己的需要按需购买即可。

其实,腾讯云可以免费申请的。

20210224204126310.png

购买成功后,还要进行部署的,

20210224205205592.png

试过一键部署不行,只能够下载下来再部署了。

发表评论

表情:
评论列表 (有 0 条评论,276人围观)

还没有评论,来说两句吧...

相关阅读