WebcatEE 安装指南


本文档的目标读者是运维人员或者JAVA开发人员,且有一定的 JAVA WEB 应用部署的基本知识。

环境要求


1. JDK 1.8+
2. Tomcat 8.0+
3. MySql 5.0+

一、安装指南


1. 创建 mysql 数据库 webcat2;
    mysql -uroot -p密码
    create database if not exists webcat2 default charset utf8 collate utf8_general_ci;

2. 执行建库脚本
    use webcat2;
    source common.sql
    source oauth2.sql
    source webcat2.sql
    source init.sql

3. 先删除 TOMCAT_HOME/webapps 目录下的所有文件和目录,新建 TOMCAT_HOME/webapps/ROOT 目录,
   解压 webcat-1.2.x.war 并复制解压后的文件到 TOMCAT_HOME/webapps/ROOT 目录。
   请注意: WebcatEE 不支持 contextPath, 请务必使用根路径,否则将无法运行;
   解压之后的目录结构应该如下:

   TOMCAT_HOME\webapps\ROOT
       + error
       + help
       + META-INF
       + WEB-INF
       - favicon.ico
       - index.html
       - license.txt

4. 修改 ~/WEB-INF/classes/jdbc.properties, 数据库用户需要拥有 DDL 权限;
    jdbc.url=jdbc:mysql://[IP:PORT]/webcat2?autoReconnect=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&useNewIO=true&rewriteBatchedStatements=true&CharSet=utf8&serverTimezone=GMT&useSSL=false
    jdbc.username=[URERNAME]
    jdbc.password=[PASSWORD]

5. 修改 ~/WEB-INF/webcat/webcat.conf
    ## 用户上传文件存储位置,绝对路径且必须是已经存在的目录。
    webcat.storage.repository = /data/webcat

6. 修改 ~/WEB-INF/classes/logback.xml,修改日志文件存储路径,绝对路径且必须是已经存在的目录。linux环境请确保该路径存在并且当前用户拥有写权限。
    <property name="log.home" value="/web/logs/webcat.com"/>
    <property name="log.bak.home" value="/web/logs/bak.webcat.com"/>

7. 启动 Tomcat

默认的用户名密码
admin 1234

小贴士:强烈建议mysql驱动使用5.x版本,不要使用6.x和8.x的版本,bug太多。

出现任何启动不了或者启动失败的问题,请先看日志:

1. webcat.log

2. TOMCAT_HOME/logs/catalina.out 或者 TOMCAT_HOME/logs/catalina.log

系统启动成功之后 webcat.log 中会有如下日志


[localhost-startStop-1] INFO  com.skin.webcat.xx(43) - context.init: ok
[localhost-startStop-1] DEBUG com.skin.webcat.xx(35) - context.loaded
[localhost-startStop-1] INFO  com.skin.webcat.xx(43) - init complete.

系统第一次运行会生成几对 RSA 的公钥和私钥,这个运算时间比较长,大概在 1 分钟左右,如果没有上述日志,很可能是系统还在启动中,稍等一会即可。

如果很长时间还没启动完成,请参考 常见问题,先解决 Tomcat 启动慢的问题。

如果看到 Webcat Shutdown 的日志,说明系统被关闭了,原因较多,请仔细查看 webcat.log 和 catalina.log 文件找出问题原因并解决。

初次安装的用户,在频繁的重启 Tomcat 的过程中,有时 Tomcat 并没有被真的停止,后面的重启自然不会成功。所以每次重启之前,请确保 Tomcat 已经被正常停止了,可使用如下命令查看:


ps aux | grep 'tomcat'

如果发现 Tomcat 没有被停止,先强杀掉再重启。

也可以通过 catalina.log 查看是否有 java.net.BindException: Address already in use 这样的异常,如果有,一般都是多个 Tomcat 进程在运行导致的。

二、安全

  1. 无论如何,都不要将 WebcatEE 对公网开放!!!
  2. 无论如何,都不要将业务数据库对公网开放!!!
  3. 所有用户都尽量使用强密码,如有可能,请考虑使用 password + otp 方式!!!
  4. 如有可能,尽量为每个用户配置 IP 白名单,在 WebcatEE 管理控制台配置。
  5. WebcatEE 自带的Filter能过滤掉绝大部分的恶意扫描,也可根据情况自行添加规则。