confluence -wik搭建

介绍:
JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪(bug管理)、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。

环境

机器配置:4C+8G+60G

•CentOS 7

•MySQL 5.7

•JDK 1.8.0_251

•mysql-connector-java-5.1.44

一、安装JDK并配置环境变量

1.安装 JDK,如果你已经安装,此步略过.....

mkdir -p /usr/local/java

tar zxf jdk-8u251-linux-x64.tar.gz -C /usr/local/java

  

2.配置环境变量。

vim /etc/profile 加入行

export JAVA_HOME=/usr/local/java/jdk1.8.0_251

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

export PATH=$JAVA_HOME/bin:$PATH

  

3.让配置文件立即生效

source /etc/profile

  

4.检查是否安装成功

 

出现以下信息代表安装成功:

[root@hostname test]# java -version
java version "1.8.0_251" Java(TM) SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

  


 

二、mysql编译安装

1.MySQL 编译源码所需的工具和库,根据自己需要进行安装

yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel bzip2 flex libaio-devel

  

2. 新增 MySQL 用户组

groupadd mysql

  

3. 创建用户 设置不允许登陆系统 -M不创建家目录,/dev/null 首先表示标准输出重定向到空设备文件

useradd -M mysql -s /sbin/nologin -d /dev/null -g mysql

  

4.新建MySQL安装目录,并设置权限

mkdir -p /usr/local/mysql          # mysql 安装目录

mkdir -p /data/logs/mysqllogs      # mysql 日志目录

mkdir -p /data/binlog              # mysql 二进值目录

mkdir -p /data/mysql/mysql         # 数据库安装目录

mkdir -p /data/temp/mysql         # 缓存目录

chown mysql.mysql -R /data/temp/mysql

chown mysql.mysql -R /data/binlog

chown mysql.mysql -R /data/mysql/mysql

  

5.编译安装 jemalloc 内存管理工具

wget https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2

tar xjf jemalloc-5.2.1.tar.bz2

cd jemalloc-5.2.1

./configure

make -j 2 >> make install

  

6.注意: 64位系统 用这个

ln -s /usr/local/lib/libjemalloc.so.2 /usr/lib64/libjemalloc.so.1

  

7.注意: 32位系统 用这个

ln -s /usr/local/lib/libjemalloc.so.2 /usr/lib/libjemalloc.so.1

  

8.运行程序时可能会报找不到库 将jemalloc的库加载到系统中

echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf

  

ldconfig

9.下载 Boost MySQL依赖库

wget https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_70_0.tar.gz

  

10.下载 MySQL 源码包并解压

官网下载网址 https://dev.mysql.com/downloads/mysql

wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.28-el7-x86_64.tar.gz

tar zxf mysql-5.7.28-el7-x86_64.tar.gz

tar zxf boost_1_70_0.tar.gz

pushd mysql-5.7.28-el7-x86_64

  

13.开始编译安装 MySQL5.7

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mysql/mysql \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=../boost_1_70_0 \

-DSYSCONFDIR=/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLE_DTRACE=0 \

-DENABLED_LOCAL_INFILE=1 \

-DDEFAULT_CHARSET=utf8mb4 \

-DDEFAULT_COLLATION=utf8mb4_general_ci \

-DEXTRA_CHARSETS=all \

-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc'          #这个是之前安装过的 jemalloc 优化内存

make -j 2 >> make install              #等半小时后或者更长,这个和电脑配置有关

  

15.建立开机启动配置文件

 

/bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

  

16.修改启动文件安装路径

 

sed -i "s@^basedir=.*@basedir=/usr/local/mysql@" /etc/init.d/mysqld

sed -i "s@^datadir=.*@datadir=/data/mysql/mysql@" /etc/init.d/mysqld

  

17. 修改数据库数据存储路径

sed -i "s@^datadir=.*@datadir=/data/mysql/mysql@" /etc/init.d/mysqld

  

18. 设置启动文件权限

chmod +x /etc/init.d/mysqld

  

19. 添加开机启动

chkconfig --add mysqld

chkconfig mysqld on

  

20.生成配置文件 my.cnf

 

注意:根据自身情况来进行修改

 

cat >/etc/my.cnf<<EOF
[client] port = 3306 socket = /tmp/mysql.sock default-character-set = utf8mb4 [mysql] prompt="MySQL [\d]> " no-auto-rehash [mysqld] #skip-grant-tables ####重置mysql密码时使用 port = 3306 user = mysql socket = /tmp/mysql.sock character-set-server=utf8mb4 ##注意这个不能写成default-character-set=utf8,否则会导致5.7版本mysql无法打开 explicit_defaults_for_timestamp = true basedir = /usr/local/mysql datadir = /data/mysql/mysql pid-file = /data/mysql/temp/mysql.pid bind-address = 0.0.0.0 tmpdir = /data/mysql/temp #slave-load-tmpdir = /data/mysql/temp #secure-file-priv = /usr/local/mysql/uploads log_error = /data/logs/mysqllog/mysql_error.log #开启查询缓存 slow_query_log = 1 long_query_time = 1 #log-queries-not-using-indexes = 1 #log-slow-admin-statements = 1 #log-slow-slave-statements = 1 slow_query_log_file = /data/logs/mysqllog/mysql_slow.log init-connect = 'SET NAMES utf8mb4' character-set-server = utf8mb4 log-bin-trust-function-creators = 1 symbolic-links = 0 ##主从同步相关设置 server-id = 10 binlog_cache_size = 4M max_binlog_size = 1G max-binlog-cache-size = 2G max-relay-log-size = 1G log_bin = /data/mysql/binlog/MySQL-Bin binlog_format = mixed log_bin_index = /data/mysql/binlog/Binlog.index expire_logs_days = 7 default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_open_files = 500 innodb_buffer_pool_size = 64M #InnoDB 使用后台线程处理数据页上写 I/O(输入)请求的数量 innodb_write_io_threads = 4 #InnoDB 使用后台线程处理数据页上读 I/O(输出)请求的数量 innodb_read_io_threads = 4 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 #日志缓冲池,控制在8M-16M即可 innodb_log_buffer_size = 2M #InnoDB 日志文件的大小 innodb_log_file_size = 32M innodb_log_files_in_group = 3 #控制了 Dirty Page 在 Buffer Pool 中所占的比率 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 #缓冲区刷新到磁盘时,刷新脏页数量,ssd磁盘,或做了raid后,可将此值设置较大 #innodb_io_capacity = 500 #innodb_adaptive_flushing = OFF #*** MyISAM Specific options bulk_insert_buffer_size = 8M myisam_sort_buffer_size = 8M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 #导入大的sql文件的方法 interactive_timeout = 28800 wait_timeout = 28800 connect_timeout = 20 #thread_concurrency = 8 [mysqlhotcopy] interactive-timeout [mysqldump] quick max_allowed_packet = 500M [myisamchk] key_buffer_size = 8M sort_buffer_size = 8M read_buffer = 4M write_buffer = 4M
EOF

  

21. 建立初始化数据库,64位系统必须指定目录

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql

22. 设置 my.cnf 权限 为 600 防止黑客攻击

chown mysql.mysql /etc/my.cnf
chmod 600 /etc/my.cnf
chown mysql.mysql -R /data/mysql/mysql

23.删除默认测试数据库文件

rm -rf "/usr/local/mysql/data"
rm -rf "/usr/local/mysql/mysql-test"

24. 添加 MySQL 到系统库中

"/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf

ldconfig    #刷新动态库配置

reboot      # 最好重启一下系统

 

25. 设置 MySQL 加入PATH路径环境变量

vim /etc/profile                    # 修改export PATH= 在最下面添加

export PATH=/usr/local/mysql/bin:$PATH            # 如果有多个路径请用 英文分号(;) 隔开

source /etc/profile                 # 使/etc/profile里的配置立即生效

  

26. 启动数据库服务

service mysqld start

  

27. 删除默认 test 数据库

mysql -uroot -e "drop database test;"

  

28. 安全设置

mysql -uroot -e "delete from mysql.proxies_priv where Host!='localhost';

mysql -uroot -e "delete from mysql.db where User='';

29.mysql密码设置

在mysql配置文件/etc/my.cnf添加下面内容
[mysqld]
skip-grant-tables ####重置mysql密码时使用
mysql -u root进入mysql执行一下命令 UPDATE user SET password=PASSWORD(‘newpasswd’)WHERE user=’root’;  

 

三、confluence安装

1.下载所需包

1)创建软件包存放目录:(根据自身情况而论)
mkdir -p /home/package
cd /home/package

2)confluence下载: wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-7.4.8.tar.gz
3)po-jie软件包下载: 链接:https://pan.baidu.com/s/1MsQRSosDskTEZ1SxrrUHjg 密码:ev14

4)解压confluence:
tar xf atlassian-confluence-7.4.8.tar.gz

5)配置confluence
cp -rap atlassian-confluence-7.11.2 /usr/local/wiki sed -i "s#AsyncFileHandler.directory = .*#AsyncFileHandler.directory = /data/logs/wikilogs#g" /usr/local/wiki/conf/logging.properties
logging.properties文件可能存在特殊符号(^M)通过vim 输入:s/\r//;或通过sed -i 's/\r//' /usr/local/wiki/conf/logging.properties

将"confluence.home=/data/wiki"写入/usr/local/wiki/confluence/WEB-INF/classes/confluence-init.properties最后一行 将po-jie包里的mysql驱动放入/usr/local/wiki/confluence/WEB-INF/lib/
cp /home/package/mysql-connector-java-5.1.44-bin.jar /usr/local/wiki/confluence/WEB-INF/lib/

 

confluence的setenv.sh文件需要修改具体内容如下:

[root@fqy-wiki-1 bin]# cat setenv.sh 
# See the CATALINA_OPTS below for tuning the JVM arguments used to start Confluence.

echo "If you encounter issues starting up Confluence, please see the Installation guide at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide"

# set the location of the pid file
if [ -z "$CATALINA_PID" ] ; then
    if [ -n "$CATALINA_BASE" ] ; then
        CATALINA_PID="$CATALINA_BASE"/work/catalina.pid
    elif [ -n "$CATALINA_HOME" ] ; then
        CATALINA_PID="$CATALINA_HOME"/work/catalina.pid
    fi
fi
export CATALINA_PID

PRGDIR=`dirname "$0"`
if [ -z "$CATALINA_BASE" ]; then
  if [ -z "$CATALINA_HOME" ]; then
    LOGBASE=$PRGDIR
    LOGTAIL=..
  else
    LOGBASE=$CATALINA_HOME
    LOGTAIL=.
  fi
else
  LOGBASE=$CATALINA_BASE
  LOGTAIL=.
fi

PUSHED_DIR=`pwd`
cd $LOGBASE
cd $LOGTAIL
LOGBASEABS="/data/wiki"  ###日志文件
cd $PUSHED_DIR

echo ""
echo "Server startup logs are located in $LOGBASEABS/logs/catalina.out"
# IMPORTANT NOTE: Only set JAVA_HOME or JRE_HOME above this line
# Get standard Java environment variables
if $os400; then
  # -r will Only work on the os400 if the files are:
  # 1. owned by the user
  # 2. owned by the PRIMARY group of the user
  # this will not work if the user belongs in secondary groups
  . "$CATALINA_HOME"/bin/setjre.sh
else
  if [ -r "$CATALINA_HOME"/bin/setjre.sh ]; then
    . "$CATALINA_HOME"/bin/setjre.sh
  else
    echo "Cannot find $CATALINA_HOME/bin/setjre.sh"
    echo "This file is needed to run this program"
    exit 1
  fi
fi

echo "---------------------------------------------------------------------------"
echo "Using Java: $JRE_HOME/bin/java"
CONFLUENCE_CONTEXT_PATH=`$JRE_HOME/bin/java -jar $CATALINA_HOME/bin/confluence-context-path-extractor.jar $CATALINA_HOME`
export CONFLUENCE_CONTEXT_PATH
$JRE_HOME/bin/java -jar $CATALINA_HOME/bin/synchrony-proxy-watchdog.jar $CATALINA_HOME
echo "---------------------------------------------------------------------------"

# Set the JVM arguments used to start Confluence.
# For a description of the vm options of jdk 8, see:
# http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
# For a description of the vm options of jdk 11, see:
# https://docs.oracle.com/en/java/javase/11/tools/java.html
CATALINA_OPTS="-XX:+IgnoreUnrecognizedVMOptions ${CATALINA_OPTS}"
CATALINA_OPTS="-XX:-PrintGCDetails -XX:+PrintGCDateStamps -XX:-PrintTenuringDistribution ${CATALINA_OPTS}"
CATALINA_OPTS="-Xlog:gc+age=debug:file=$LOGBASEABS/logs/gc-`date +%F_%H-%M-%S`.log::filecount=5,filesize=2M ${CATALINA_OPTS}"
CATALINA_OPTS="-Xloggc:$LOGBASEABS/logs/gc-`date +%F_%H-%M-%S`.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M ${CATALINA_OPTS}"
CATALINA_OPTS="-XX:G1ReservePercent=20 ${CATALINA_OPTS}"
CATALINA_OPTS="-Djava.awt.headless=true ${CATALINA_OPTS}"
CATALINA_OPTS="-Datlassian.plugins.enable.wait=300 ${CATALINA_OPTS}"
CATALINA_OPTS="-Xms8192m -Xmx8192m -XX:+UseG1GC ${CATALINA_OPTS}"              ###内存
CATALINA_OPTS="-Dsynchrony.enable.xhr.fallback=true ${CATALINA_OPTS}"
CATALINA_OPTS="-Dorg.apache.tomcat.websocket.DEFAULT_BUFFER_SIZE=32768 ${CATALINA_OPTS}"
CATALINA_OPTS="-Djava.locale.providers=JRE,SPI,CLDR ${CATALINA_OPTS}"
CATALINA_OPTS="${START_CONFLUENCE_JAVA_OPTS} ${CATALINA_OPTS}"
CATALINA_OPTS="-Dconfluence.context.path=${CONFLUENCE_CONTEXT_PATH} ${CATALINA_OPTS}"
CATALINA_OPTS="-Djdk.tls.server.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.1,TLSv1.2 ${CATALINA_OPTS}"
CATALINA_OPTS="-XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing ${CATALINA_OPTS}"


export CATALINA_OPTS

[root@fqy-wiki-1 bin]# 

2.启动

1)启动confulence

[root@fqy-wiki-1 lib]# cd /usr/local/wiki/bin/
[root@fqy-wiki-1 bin]# sh start-confluence.sh 

2)web访问:localhost:8090(默认端口是8090) 

 

 

 

 

 

 

 

 

3.pojie

1.本地环境下载java(百度直接搜java进入官网下载即可)

mv /usr/local/wiki/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-x.x.x.jar /home/package/wiki/atlassian-extras-2.4.jar
cp /home/package/wiki/atlassian-extras-2.4.jar /home/package/wiki/atlassian-extras-2.4.jar_bak

2.通过sz将atlassian-extras-2.4.jar传到本地

3.运行confluence_keygen.jar 

1)windows用户直接双击confluence_keygen.jar

2)mac用户需要打开终端并进入存放confluence_keygen.jar的目录运行java -jar confluence_keygen.jar

 

 

 

4.name,email,organization随便填。server ID填写web界面的服务器id

 

 

5.将刚才从服务器上下载下来的文件进行选择

 

 

 

 

 

 6.生成密钥并复制到记事本上

 

 

 

 

 

 7.上传文件atlassian-extras-2.4.jar,并改回原名放置到/usr/local/wiki/confluence/WEB-INF/lib下面

 

 

 

 

 8.重启confluence服务。

 

 

 

 

停止:sh /usr/local/wiki/bin/stop-confluence.sh

启动:sh /usr/local/wiki/bin/

 

bin/start-confluence.sh

 

我们登录web页面:localhost:8090并复制授权码并粘贴:

 

 

 

 

后面的我们可以选择内嵌数据库,也可以选择外部数据库,测试的话直接使用内嵌就行,但是生产环境建议大家使用外部数据库

 

 

 

 

 

 

 

其他操作:

 

 

 

 

 

配置管理用户:

 

 

 

 

配置管理员账户:

 

 

 

 

 

 

所遇到的问题:

测试连接数据库的时候存在错误

 

 

 解决:

进入mysql数据库执行以下命令:

set global transaction isolation level read committed;

ALTER DATABASE wiki_db CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

flush privileges;

 

 

 

 

 

你的数据库必须使用'READ-COMMITTED'作为默认隔离级别

 

mysql -uroot -p'pass'

SET GLOBAL tx_isolation='READ-COMMITTED';

 

posted @ 2021-04-10 20:56  echo$?  阅读(345)  评论(0)    收藏  举报