环境
CentOS 7
内核版本为 3.10.0-327.el7.x86_64
JDK8(jdk1.8.0_101)+Tomcat7.0.67+MySQL5.6.32
XWIKI 8.2.1 xwiki-enterprise-web-8.2.1.war

一、安装JDK8

JDK包下载回来jdk-8u101-linux-x64.tar,放到服务端解压到/usr/java(可以提前新建此文件夹)就完成安装了,接下来是配置环境变量才为重要步骤。

vim /etc/profile
在底部添加以下内容

JAVA_HOME=/usr/java/jdk1.8.0_101 #视你自己安装的实际版本和路径为准
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH

修改完后使用 source /etc/profile 使之立即生效

另最好手打,并修改完后敲javac 或java -version命令看能运行不,能运行则表示变量设置正确。

二、配置Tomcat 与 JAVA变量环境

tomcat7同样在官网下好tar包解压到/usr/local/tomcat上,通常解压得出的根目录是apache_tomcat版本什么的,为了以后使用方便还得将此根目录下的文件全mv到tomcat上。

注意xwiki官网提示最好不要用7.0.70的版本(使用中有回滚的bug未处理),所以这里建议用的是tomcat7.0.67的版本

设置tomcat开机启动

1.tomcat 需要增加一个pid文件
在tomca/bin目录下面,增加setenv.sh 配置,catalina.sh启动的时候会调用,同时配置java内存参数。

JAVA_HOME=/usr/java/jdk1.8.0_101
TOMCAT_USER=tomcat
#add tomcat pid
CATALINA_PID=”$CATALINA_BASE/tomcat.pid”
#add java opts
JAVA_OPTS=”-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m”

给脚本一个执行权限
chmod -R 755 setnev.sh

2.增加tomcat.service
在/usr/lib/systemd/system目录下增加tomcat.service,目录必须是绝对目录。

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]

WantedBy=multi-user.target

[unit]配置了服务的描述,规定了在network启动之后执行。[service]配置服务的pid,服务的启动,停止,重启。[install]配置了使用用户。

3.使用tomcat.service

配置开机启动
systemctl enable tomcat

启动tomcat
systemctl start tomcat

停止tomcat
systemctl stop tomcat

重启tomcat
systemctl restart tomcat

因为配置pid,在启动的时候会再tomcat根目录生成tomcat.pid文件,停止之后删除。
同时tomcat在启动时候,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行。
多个tomcat可以配置在多个目录下,互不影响。

修改conf/server.xml

Connector port=”8080” protocol=”HTTP/1.1”
connectionTimeout=”20000”
redirectPort=”8443”
URIEncoding=”UTF-8”
compression=”on”
compressionMinSize=”2048”
compressableMimeType=”text/html,text/xml,text/css,text/javascript,application/x-javascript”

配置java内存

此处有做上面setnev.sh脚本的话可以跳过
修改bin/catalina.sh:
JAVA_HOME=”/usr/java/jdk1.8.0_101/”
JAVA_OPTS=”-Xmx800m -XX:MaxPermSize=196m” #优化java内存

三、YUM安装mysql

先安装带有可用的mysql5系列社区版资源的rpm包

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

查看可用的mysql安装资源

yum repolist enabled | grep “mysql.-community.

一般来说,只要安装mysql-server跟mysql-client
这个时候我们可以直接使用yum的方式安装MySQL了

yum -y install mysql-community-server

注意安装完成后将mysql服务加入开机启动后需重启一次生效
加入开机启动 systemctl enable mysqld

启动mysql服务进程 systemctl start mysqld

准备mysql数据库

1、设置字符集为utf8
vim /etc/my.cnf

在[mysqld]下添加
default-character-set=utf8

底部再添加
[mysql]
default-character-set=utf8

2、创建xwiki数据库
create database xwiki character set utf8 collate utf8_general_ci;

3、创建xwiki用户 及授予权限+密码给xwiki用户
grant all privileges on xwiki.* to xwikiadmin@localhost identified by ‘你设置的密码’;

四、安装xwiki

1、将xwiki的WAR文件解压到tomcat的webapps目录下:

unzip xwiki-enterprise-web-8.2.1.war -d /usr/local/tomcat/webapps/xwiki/

2、下载mysql jdbc driver到xwiki/WEB-INF/lib目录

wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar

建议到官网手动下载 mysql-connector-java-5.1.39_bin.jar 然后再放lib目录

3、修改xwiki/WEB-INF/hibernate.cfg.xml
在选择数据库那块区域将默认的hsql给注释掉,然后将MySQL那一段去掉注释(请参照官网操作,而不是乱去掉注释)
注:这里强烈建议你将此XML文件导出或叫上传到win的系统上用Notepad++之类的软件编辑注释再下载回centos7的系统上。

<– MySQL configuration.
Uncomment if you want to use MySQL and comment out other database configurations.
Notes:
- if you want the main wiki database to be different than “xwiki”
you will also have to set the property xwiki.db in xwiki.cfg file
–>

<property name="connection.url">jdbc:mysql://localhost/xwiki</property>
<property name="connection.username">xwikiadmin</property>
<property name="connection.password">此处为密码</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="dbcp.poolPreparedStatements">true</property>
<property name="dbcp.maxOpenPreparedStatements">20</property>
<mapping resource="xwiki.hbm.xml"/>
<mapping resource="feeds.hbm.xml"/>
<mapping resource="activitystream.hbm.xml"/>
<mapping resource="instance.hbm.xml"/>
<mapping resource="mailsender.hbm.xml"/>

新增的两行是:
< property name=”connection.useUnicode”>true< /property>
< property name=”connection.characterEncoding”>UTF-8< /property>

试运行并初始化安装

1、运行tomact
2、在浏览器打开:http://127.0.0.1:8080/xwiki,出现初始化和安装设置界面

安装的时候其实出现过很多问题,都是上官网和自己推理排障解决的。有些问题很简单,你犯的可能就是很简单的错,但你没有遇上和解决过就是会折腾你很久。

by 铁乐与猫(食梦貘)

【原】CentOS7安装Xwiki8.2.1相关推荐

  1. Centos7安装Apache和PHP,包含配置过程

    本文主要讲的是本人在迁移php网站相关软件的安装和配置过程,以及一下问题的解决步骤.通过阅读本文能够知道如何迁移php网站,如何配置httpd服务使得它能够解析php文件以及如何解决迁移过程中的异常问 ...

  2. python3.6.5安装教程-Centos7 安装Python3.6.5

    一.centos7 安装 Python3.6.5教程 1.在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装): yum -y install zlib-devel ...

  3. python3.6.5安装教程-Centos7 安装Python3.6.

    一.centos7 安装 Python3.6.5教程 1.在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装): yum -y install zlib-devel ...

  4. python安装教程3.8.5-[分享栈]centos7安装python3.8.5

    1.切换到root账户 2.更新yum源 yum update 中间有询问过程,直接y同意更新就好了. 3.安装依赖项 yum install zlib-devel bzip2-devel opens ...

  5. CentOS7 安装 mysql8

    本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 涉及到的Linux命令 ...

  6. centos7 安装 python3.5

    centos7 安装 python3.5 一. python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前 ...

  7. Centos7安装并配置mysql5.6

    1.下载安装包:https://pan.baidu.com/s/18xAumOggjm9bu9Wty6kYjg 2.卸载系统自带的Mariadb 2.1查询已安装的mariadb [root@loca ...

  8. python3.6.5安装步骤-Centos7 安装Python3.6.5

    一.centos7 安装 Python3.6.5教程 1.在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装): yum -y install zlib-devel ...

  9. centos7安装Mysql8.0步骤

    CentOS7安装mysql8.0步骤 1.1 安装前清理工作: 1.1.1 清理原有的mysql数据库: 使用以下命令查找出安装的mysql软件包和依赖包: rpm -pa | grep mysql ...

最新文章

  1. python @ 符号 表示矩阵乘法时的用法
  2. appium---【Mac】Appium-Doctor提示WARN:“ ios_webkit_debug_proxy cannot be found”解决方案...
  3. 高精度加法(C++实现)
  4. 学习Python技术有哪些优势?
  5. 关于extjs中动态添加TabPanel的tab项并以iframe显示的整理(转)
  6. 连接数据库字符串编辑
  7. h5的fetch方法_你不需要jQuery(三):新AJAX方法fetch()
  8. linux中Centos7搭建lnmp环境
  9. P2419 [USACO08JAN]牛大赛Cow Contest
  10. spark work启动失败
  11. android 串口一直打开_串口通讯你真的会了吗?不妨来看看这些经验
  12. 博弈树α-β剪枝搜索学习参考资料
  13. js基础之--变量 作用域和内存问题
  14. Mahout-Pearson correlation的实现
  15. 记一次重构:Android实践从MVC架构到MVP架构
  16. html 字体图标大小,CSS ICONFONT 基线和大小问题
  17. matlab画中国地图深浅,matlab画中国行政区划图/省界图(转)
  18. 1336:【例3-1】找树根和child
  19. 二代测序方法:DNA测序之靶向重测序
  20. 基于云开发的查单词小程序设计 报告+PPT+项目源码+演示视频

热门文章

  1. github 头像生成 java_GitHub - haoziiy/avatar_generator: 头像图片生成器 Python代码
  2. html怎样判断是不是数字,javascript如何判断值是否是数字?
  3. pd linux文件夹打不开,Mac怎么访问pd虚拟机文件夹 Mac如何访问pd虚拟机文件夹
  4. Bootstrap 前端框架制作响应式网站
  5. typecho 设置文字图片居中
  6. Python在抖音上也火?
  7. SpringCloud 学习笔记(3 / 3)
  8. 《The Swift Programming Language》之语言参考:类型
  9. 关于edge浏览器 new bing 已申请且通过后没有出现聊天功能的问题解决
  10. Win32汇编获取窗体的mousehover消息