Tomcat+MySQL+XWiki搭建开源Wiki系统

摘要

xwiki是使用java语言编写的开源wiki系统 xwiki有多种版本,standalone的版本可以直接下 […]

xwiki是使用java语言编写的开源wiki系统

xwiki有多种版本,standalone的版本可以直接下载之后独立安装,默认集成了jetty运行,但是这种方式安装xwiki,运行速度比较慢,在大部分的情况下不能满足企业的需求。

在linux系统上实现部署xwiki也有多种方式:

    其中serlet container就有许多:
    tomcat
    glassfish 

    jboss等

    关系型数据库的选择也是比较广泛的,在此使用tomcat和mysql

第一步:下载xwiki的war包

    wget http://download.forge.ow2.org/xwiki/xwiki-enterprise-web-6.3.war

第二步:安装jdk
    安装jdkde要点主要就是环境变量
    导出JAVA_HOME
    JRE_HOME

1. 导出可执行程序到PATH变量

    tar -zxvf jdk-8u73-linux-x64.tar.gz

    mv jdk1.8.0_73 /usr/local/jdk
    echo "JAVA_HOME=/usr/local/jdk" >>/etc/profile
    echo "CLASSPATH=.:$JAVA_HOME/lib.tools.jar" >>/etc/profile
    echo "PATH=/usr/local/jdk/bin:/bin:/sbin:/usr/sbin:/bin:/usr/bin:/root/bin" >>/etc/profile
    echo "export JAVA_HOME CLASSPATH PATH" >>/etc/profile
    source /etc/profile

2.查看jdk的版本

    usr/local/jdk/bin/java -version
    java version "1.8.0_73"
    Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
    Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

 

第三步:安装tomcat(/usr/local/tomcat/)
    tar  -zxvf  apache-tomcat-6.0.32.tar.gz  -C    /usr/local/
    cd /usr/local/
    mv  apache-tomcat-6.0.32    tomcat
1.tomcat的命令
    cd  tomcat
    bin/startup.sh  启动服务命令
    bin/shutdown.sh  停止服务命令
    webapps/ROOT/  网页目录
    conf  配置文件存放目录

2.查看端口

    netstat  -untnalp | grep :8080
    cd /usr/local/tomcat/webapps/
    mkdir xwiki
    mv xwiki-enterprise-web-6.3.war /usr/local/tomcat/webapps/xwiki/
    unzip xwiki-enterprise-web-6.3.war

第四步:安装mysql(数据库存放目录 /usr/local/mysql/data/)
安装配置工具cmake
 [[email protected] cmake-2.8.10.2]# ./bootstrap  --prefix=/usr/local/cmake
[[email protected] cmake-2.8.10.2]# make
[[email protected] cmake-2.8.10.2]# make install

[[email protected] local]# /usr/local/cmake/bin/cmake  --version
cmake version 2.8.10.2

使用camke配置安装源码mysql
tar -zxvf mysql-5.5.13.tar.gz
cd mysql-5.5.13

/usr/local/cmake/bin/cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql    -DSYSCONFDIR=/etc  -DMYSQL_DATADIR=/home/mysql  -DMYSQL_TCP_PORT=3306  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock  -DMYSQL_USER=mysql  -DEXTRA_CHARSETS=all  -DWITH_READLINE=1  -DWITH_SSL=system  -DWITH_EMBEDDED_SERVER=1  -DENABLED_LOCAL_INFILE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1

make

make install

  1. 初始化授权库
    cd /usr/local/mysql
    ./scripts/mysql_install_db --user=mysql
    ls /usr/local/mysql/data/mysql/ -l

  2. chmod 777 data

    创建mysql数据库的主配置文件
    cd  mysql-5.5.13/support-files/
    cp  my-medium.cnf  /etc/my.cnf

3.启动数据库服务
    /usr/local/mysql/bin/mysqld_safe  --user=mysql    &

4.使用数据库管理员从数据库服务器本机登录(没密码)
    /usr/local/mysql/bin/mysql    -uroot    -p

5.设置数据库管理员从本机登录的密码
    /usr/local/mysql/bin/mysqladmin  -hlocalhost    -uroot    password    "123"

    kill  -9  %1 
    pkill    -9    mysqld
    /usr/local/mysql/bin/mysqld_safe  --user=mysql    &

   /usr/local/mysql/bin/mysql    -uroot    -p123  (不加密码无法登录)

6.把mysql命令所在的路径添加到系统环境变量PATH里
    export  PATH=/usr/local/mysql/bin:$PATH

    vim /etc/bashrc
    export  PATH=/usr/local/mysql/bin:$PATH
    :wq

7.给源码mysql服务编写启动脚本
    cd    mysql-5.5.13/support-files/
    cp  mysql.server    /etc/init.d/mysqldd
    chmod  +x    /etc/init.d/mysqldd

    chkconfig --add mysqldd
    chkconfig --list mysqldd
    mysqldd      0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

[[email protected] support-files]# netstat -untlap | grep :3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                  LISTEN      38572/mysqld       
[[email protected] support-files]# pkill  -9  mysqld
[1]+  已杀死              /usr/local/mysql/bin/mysqld_safe --user=mysql
[[email protected] support-files]# netstat -untlap | grep :3306
service  mysqldd status
 service  mysqldd start
service  mysqldd status
service  mysqldd stop
service  mysqldd start

 更改包大小:默认是1M,WiKi导入超过1M的文件会出错。

    vi /etc/my.cnf

更改max_allowed_packet = 1M为max_allowed_packet = 32M创建XWiki的数据库:

 8.创建xwiki的数据库:

    mysql -uroot -p
    mysql> create database xwiki
    mysql> grant all privileges on xwiki.* to [email protected] identified by 'xwiki';

    不要使用MyISAM存储引擎,因为MyISAM不支持事务处理,推荐使用InnoDB存储引擎。

    vi /etc/my.cnf

[client]
#password      = your_password
port            = 3306
socket          = /tmp/mysqld.sock
default-character-set=utf8

 

[mysqld]
port            = 3306
socket          = /tmp/mysqld.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 32M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-storage-engine=INNODB

第五步:下载wiki和MySQL连接工具
    下载MySQL JDBC Driver Jar放到/data/app_platform/xwiki_tomcat/webapps/xwiki/WEB-INF/lib目录下
    wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar
    mv mysql-connector-java-5.1.34.jar /usr/local/tomcat/webapps/xwiki/WEB-INF/lib/
    cd  /usr/local/tomcat/webapps/wiki/WEB-INF/lib/
    cp -p hibernate.cfg.xml hibernate.cfg.xml-bak
    vi  hibernate.cfg.xml  删除所有多余的配置文件。
    [[email protected] WEB-INF]# cat hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <!-- MySQL configuration.
        Uncomment if you want to use MySQL and comment out other database configurations.
    -->
    <property name="connection.url">jdbc:mysql://localhost/xwiki</property>
    <property name="connection.username">xwiki</property>
    <property name="connection.password">xwiki</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    <property name="dbcp.ps.maxActive">20</property>
    <mapping resource="xwiki.hbm.xml"/>
    <mapping resource="feeds.hbm.xml"/>
    <mapping resource="activitystream.hbm.xml"/>
    <mapping resource="instance.hbm.xml"/>

  </session-factory>
</hibernate-configuration>

1.XWIKI字符集编码配置
  修改 web.xml文件
 /data/app_platform/xwiki_tomcat/webapps/xwiki/WEB-INF/xwiki.cfg

#-# The encoding to use when transformin strings to and from byte arrays. This causes the jvm encoding to be ignored,
#-# since we want to be independend of the underlying system.
xwiki.encoding=UTF-8
2.修改hibernate.cfg.xml
    hibernate.cfg.xml中添加
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>

3.MySQL的配置文件my.cnf
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_bin

4.管理附件(/var/local/xwiki/)

默认情况下,XWIKI使用数据库存储附件,上传的附件最大为30M左右,同时MySQL的配置文件my.cnf中要设置max_allowed_packet为最大值的3倍左右,因为存储历史版本也会耗费空间
使用文件系统存储可以上传更大的附件,XWIKI使用一个临时目录来存储从数据库中调出的图片或附件。

附件的存储目录在xwiki.properties中设定,不可以随意增加或删除这个目录下的内容,因为每个附件在数据库中都有相应的元数据
#-# Note if the system property xwiki.data.dir is set then this property is not used.
#-# If neither the system property nor this configuration value here are set then the Servlet container's temporary
#-# directory is used; This is absolutely not recommended since that directory could be wiped out at any time and you
#-# should specify a value.
environment.permanentDirectory=/var/local/xwiki/

最好在第一次运行XWIKI的时候就设定好附件的存储方式

在xwik.cfg文件中设置
xwiki.store.attachment.hint=file
xwiki.store.attachment.versioning.hint=file
xwiki.store.attachment.recyclebin.hint=file

用管理员登陆的话,需要修改xwiki.cfg,将xwiki.superadminpassword=system 前面#去掉, 用superadmin/system登陆即可。

Linux+Tomcat+XWiki+MySQL安装配置http://www.searu.org/2013-11/93033.htm

XWiki 安装教程及更改语言配置 http://www.searu.org/2014-10/108173.htm

Windows下安装Java开源知识库XWiki  http://www.searu.org/2014-10/108176.htm

Xwiki系统安装说明文档 PDF http://www.searu.org/2014-10/108360.htm

使用开源软件XWiki搭建安装公司内部Wiki系统 http://www.searu.org/2015-02/113290.htm

CentOS 7上安装XWiki 8.2.1 详解 http://www.searu.org/2016-08/134408.htm

XWiki 的详细介绍请点这里
XWiki 的下载地址请点这里

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: