Centos7的Docker容器里部署xwiki

来源:互联网 发布:linux 社区 编辑:程序博客网 时间:2024/05/17 00:04

环境先知:
CentOS 7
xwiki 9.7
tomcat 7.0.76
Docker 1.12.6

1.运行一个CentOS7镜像的容器.

-p指定端口,指定8080是因为tomcat默认是8080,196e0ce0c9fb是镜像的uuid,后面的/usr/sbin/inie则是为了在容器里面可以使用 systemctl命令来管理服务.

docker run -i -t -d -p 8080 --name xwiki 196e0ce0c9fb /usr/sbin/init

进入容器内部,exec保证了退出容器也不会导致容器停止工作,也是与docker attach命令的区别.

docker exec -ti xwiki /bin/bash

2.安装Java环境

yum install java -y

编辑配置文件

vi /etc/profile

在profile文件底部追加如下:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:${PATH}

刷新配置文件使它生效.

source /etc/profile

3.安装MySQL服务.

yum install mysql -y
yum install mysql-devel -y 

上面的两个服务可以安装,但是CentOS7以后不能直接安装mysql-server服务,需要我们先下载,如下:

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server

启动MySQL服务

systemctl start  mysqld

创建xwiki需要的数据库.根据官网上的教程.

mysql> create database xwiki default character set utf8 collate utf8_bin;

并未这个数据库创建一个用户.

mysql> grant all privileges on *.* to xwiki@localhost identified by 'xwiki';

4.安装Tomcat

yum install tomcat -y

下载Tomcat 的web管理器,没有这个的话无法通过浏览器访问程序的,很关键.

yum install tomcat-webapps tomcat-admin-webapps -y
cd /usr/share/tomcat/webapps

这时我们需要将准备好的war包传上来,或者直接从网上下一个.

wget http://download.forge.ow2.org/xwiki/xwiki-9.7.war

然后先启动Tomcat一下,让它把war包解开.

systemctl start tomcat

然后停止Tomcat

systemctl stop tomcat

然后删除war包,防止下次启动的时候从新解压.

rm xwiki-enterprise-web-6.3.war

然后切换到解压的工作目录

cd xwiki-enterprise-web-6.3

可能有的朋友需要了解我现在所处的路径

/usr/share/tomcat/webapps/xwiki-enterprise-web-6.3
cd WEB-INF/

我们要替换此文件夹下的两个文件.来完成xwiki与mysql数据库的连接,并设置为UTF-8,避免中文乱码.
hibernate.cfg.xml 需要修改的地方:
将自带的hsql注释掉,将mysql的地方取消注释,并改为以下内容:

    <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>      <property name="hibernate.connection.charSet">UTF-8</property>    <property name="hibernate.connection.useUnicode">true</property>    <property name="hibernate.connection.characterEncoding">utf8</property>    <mapping resource="xwiki.hbm.xml"/>      <mapping resource="feeds.hbm.xml"/>      <mapping resource="activitystream.hbm.xml"/>      <mapping resource="instance.hbm.xml"/> 

图片展示:
这里写图片描述

修改xwiki.cfg如下:
将其中的xwiki.encoding=UTF-8取消注释.

然后修改Tomcat的UTF-8格式:

cd /usr/share/tomcat/conf
vi server.xml

修改为如下:
这里写图片描述

这里写图片描述
5.启动Tomcat,使用浏览器访问xwiki.

systemctl start tomcat

访问的端口不是输入ip:8080,需要输入容器对应的宿主机的接口,此接口可以通过 docker ps命令获得.
这里写图片描述
最终出现欢迎界面就算成功了.
附上几位有价值的链接
http://blog.csdn.net/lzwjavaphp/article/details/40185585
http://jingyan.baidu.com/article/e4d08ffd6b01310fd3f60d5b.html

原创粉丝点击