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';

浙公网安备 33010602011771号