环境

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/jdk.1.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内存
CATALINA_OPTS="-server -Xms800m -Xmx1480m -XX:MaxPermSize=222m -Dfile.encoding=utf-8 -Djava.awt.headless=true -XX:+UseParallelGC -XX:MaxGCPauseMillis=100"

三、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那一段去掉注释

<!-- 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,出现初始化和安装设置界面

【原】CentOS7上安装Xwiki8.2.1的更多相关文章

  1. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  2. 在 CentOS7 上安装 zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...

  3. 在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  4. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

  5. 在 CentOS7 上安装 Tomcat9

    在 CentOS7 上安装 Tomcat9 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目 ...

  6. 在CentOS7上安装JDK1.8

    在CentOS7上安装JDK1.8 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目录 to ...

  7. 在Centos7上安装漏洞扫描软件Nessus

    本文摘要:简单叙述了在Centos7上安装Nessus扫描器的过程   Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,Nessus的用户界面是基于Web界面来访问Nessus漏洞扫描器 ...

  8. 如何在centos7上安装源码包

    在我们使用linux的过程中,有很多程序是通过红帽官网给的系统中安装的,但是一般来说,系统更新的速度比较慢,如果这个时候我们又想用最新版的该怎么办呢?总不能一直等系统升级吧╮(╯﹏╰)╭所以,我们可以 ...

  9. centos7上安装0penStack

    centos7上安装0penStack author:headsen chen 2017-10-09  20:41:54 个人原创,欢迎转载,请注明作者,出去,否则依法追究责任 一,准备工作(配置ip ...

随机推荐

  1. leetcode@ [355] Design Twitter (Object Oriented Programming)

    https://leetcode.com/problems/design-twitter/ Design a simplified version of Twitter where users can ...

  2. Phonegap学习点滴(2) -- 网络状态检测

    Phonegap学习点滴(2) -- 网络状态检测  http://blog.csdn.net/x251808026/article/details/16992943 方法一:在MainActivit ...

  3. jpa仓库接口

    可以使用的仓库接口有: Repository: 是 Spring Data的一个核心接口,它不提供任何方法,开发者需要在自己定义的接口中声明需要的方法. CrudRepository: 继承Repos ...

  4. codeforce 630N Forecast

    N. Forecast time limit per test 0.5 seconds memory limit per test 64 megabytes input standard input ...

  5. codeforces 624A Save Luke(水题)

    A. Save Luke time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  6. String中的Indexof,LastIndexOf, Indexofany,LastIndexOfAny 的区别

    本文转载自 http://www.cnblogs.com/qinying/archive/2008/09/22/1295730.html 定位子串是指在一个字符串中寻找其中包含的子串或者某个字符.在S ...

  7. C++获取系统的Mac地址

    C++获取系统的Mac地址,加上libnetapi32.a #include <windows.h> #include <stdlib.h> #include <stdi ...

  8. Light oj 1197 - Help Hanzo (素数筛技巧)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1197 给你a和b求a到b之间的素数个数. 先在小区间素数筛,大区间就用类似素数筛的想法 ...

  9. Centos 卸载OpenJdk

    [root@localhost ~]# rpm -qa|grep jdkjava-1.6.0-openjdk-devel-1.6.0.0-1.50.1.11.5.el6_3.i686java-1.7. ...

  10. 三,对于printf函数和C语言编程的初步拓展

    前面说过了,任何程序都要有输出,所以printf函数是一个很重要的函数,所以有必要在学变量之前先拓展一下. 其实编程就是用计算机语言说话,一句一句地说,只要语法没错就能运行,至于能实现什么功能,就看编 ...