搭建wiki服务器

本文基于centOS7.1系统搭建

登录远程linux

本机实在win10版本下,以管理员身份启动Windows PowerShell
用power shell远程登录centOS

ssh root@ip地址

然后输入密码,密码是不可见的,回车登录
登录成功
由于远程服务器下载速度缓慢,所以我使用windows下载然后传过去,这里就不用命令行了,直接用可视化工具拖拽复制粘贴就好,我们先下载XFTP6

下载安装XFTP

链接:http://down-www.7down.net/pcdown/soft/xiazai/xftp6.zip
安装 新建连接,输入ip地址,账户(一般是root)和密码
下载atlassian-confluence-6.7.1-x64.bin安装包
链接:https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.7.1-x64.bin

下载安装MySQL5.7

卸载自带数据库
我网上搜到的教程是需要卸载原来的数据库,但我执行到后边才发现密码安全配置死活改不了,无法重启MySQL,出现了如下状况

才发现又要把maria DB装回去,但安装mariadb也依然无效,而使用yum安装也不起作用,原因是mariadb的安装本身就没有完成,执行以下命令,查看mariadb的依赖情况

sudo yum search mariadb

然后安装缺少的依赖包

yum install mariadb-embedded mariadb-libs mariadb-bench mariadb mariadb-sever

更新源
直接yum安装实在是太慢了我更新了一下源,用了163的
下载源
清除原缓存
下载远程包信息到本地缓存
更新源

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
yum update

然后再安装依赖包,但我发现还是不行,于是

sudo yum search mariadb

再次查看需要的包,一个一个安装,这个还是要yum安装特别慢,可能是我这边服务器的问题。
安装好之后就没有maria DB了,
说一下 我是下载了mysql rpm包之后本地更新过mysql的yum源,之后才做的这些步骤,也就是不断试错
检查mysql是否存在

rpm -qa | grep mysql

没有的话(这种安装方式受限于网络,更推荐用tar解压方式安装会更快,教程:https://www.cnblogs.com/dadadechengzi/p/6723686.html(别人写的))
安装mysql
如果有的话就不用安装了,我这里之前卸载了MariaDB导致我必须再把MariaDB的依赖安装回去,也有可能是搞错了,启动命令可能有问题
在linux中直接下载即可

 wget  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

本地安装yum源:
注意与下载的rpm版本一致

yum localinstall mysql57-community-release-el7-9.noarch.rpm

安装MySQL

yum install mysql-community-server

启动MYSQL
这里就是我上边遇到的坑,网上查到的安装教程启动和添加到开机启动命令是这样

systemctl start mysqld
systemctl enable mysqld 
systemctl daemon-reload

查看初始密码(这个命令之后密码忘记也可以用来查看密码)

grep 'temporary password' /var/log/mysqld.log

登录mysql
密码是刚才查出来的,复制粘贴就好,注意密码是不显示的

mysql -uroot -p

更改密码
重点来了,我所有遇到的坑都是因为它
MySql5.7默认密码规则是要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。
所以需要更改密码规则
更改密码策略
这里有两种方案
第一种修改mysql环境变量更改规则
通过msyql环境变量可以查看密码策略的相关信息:

mysql> show variables like '%password%';


说明:

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

validate_password_length:密码最少长度

validate_password_mixed_case_count:大小写字符长度,至少1个

validate_password_number_count :数字至少1个

validate_password_special_char_count:特殊字符至少1个 上述参数是默认策略MEDIUM的密码检查规则。

validate_password_policy:密码策略,默认为MEDIUM策略 ,共有如下三种密码策略:

策略 检查规则
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

当然我们也可以通过修改/etc/my.cnf文件,通过添加validate_password_policy配置,来指定密码策略,如下:

validate_password_policy=0 #0(LOW),1(MEDIUM),2(STRONG)其中一种,注意2需要提供密码字典文件
这里我在my.conf中禁用了密码策略,
在/etc/my.cnf文件中加入

validate_password = off

之后重启MySQL
重启MySQL
前面说重点,但其实这才是根本原因,之前的systemctl start mysqld可以启动,但无法关闭,也无法restar,这里查了大量教程和资料,自己也试了很多坑,才发现在centOS中重启用
(可能是我卸载了MariaDB后又安装所导致,因为systemctl restar mysqld 以及一直提示没有mysql.service)
这里记一个命令
查看有没有mysql.service 文件

systemctl list-unit-files 

我的是安装了之后,如果没有还要安装全才行
然后

service mysqld start

没错这样才能重启mysql成功,这时候就可以随意设置密码了,否则简单一些的密码是无法设置的
登录mysql后更改密码
更改密码
更改密码为root

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

更改成功

yum install -y mysql-server mysql mysql-devel
service mysqld start #初始化及相关配置
chkconfig --list | grep mysqld #查看mysql服务是不是开机自动启动
chkconfig mysqld on #设置成开机启动
mysqladmin -u root password '123456'  #通过该命令给root账号设置密码为 123456
mysql -u root -p #登录mysql数据库
create database confluence character set UTF8;
grant all on confluence.* to confluence@"%" identified by "confluence";
grant all on confluence.* to confluence@"localhost" identified by "confluence";
FLUSH PRIVILEGES;
quit  #退出
service mysqld stop  #关闭mysql服务
cd /etc/
vi my.cnf
在[mysqld]下面加上character-set-server =utf8    #解决中文显示???的乱码问题
service mysqld start   #启动mysql服务

开启root远程访问权限

GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privileges; 

切换openJDK为OracleJDK

卸载openJDK
查看已安装jdk

rpm -qa|grep jdk

卸载查到的这些jdk

yum -y remove java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
yum -y remove java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
yum -y remove java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64

查看java命令
java -version

 java -version
-bash: /usr/bin/java: No such file or directory

oracleJDK下载链接:https://download.oracle.com/otn-pub/java/jdk/8u201-b09-demos/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64-demos.tar.gz?AuthParam=1551102038_dd2c3074c9eb420ddfa55f8d9f58ef94
我安装的是1.8的201版本
下载后解压 移动至/usr/local/java/目录
解压

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

移动

mv jdk1.8.0_201/ /usr/local/java

配置profile
命令行键入

vim /etc/profile

在文件末尾配置环境

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使/etc/profile生效
命令行键入

source /etc/profile

查看是否成功

java -version
javac

安装

跳转至atlassian-confluence-6.7.1-x64.bin文件所在目录,我这里放在了download目录下,所以

cd /root/Downloads
#修改文件权限
chmod +xatlassian-confluence-6.7.1-x64.bin
#安装 ,这条命令可能第一次会提示没有文件,再执行一次就好了./后按tab键自动补全
./atlassian-confluence-6.7.1-x64.bin


安装过程中会分别提示输入 o ,i, y表示同意,回车好像也可以,可以看到端口是8090

使用浏览器输入地址和端口
http://你的ip地址:8090
可以看到搭建成功

破解confluence

破解文件链接
链接: https://pan.baidu.com/s/1zP5aUQpvg0z7hn8AEmIbXw 提取码: 5bpi
首先进入wiki链接,然后选择语言为中文,这里我没顾的上截图,有的用的别人的有的用的我自己的,不过都是一模一样的

接上,搭建成功之后继续按下图操作配置


这里的serverID就是刚才记录下的id
将/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.3.0.jar文件ftp到本地(Windows环境下),这里我用XFTP直接传输到我的windows桌面,
重命名为atlassian-extras-2.4.jar(注意文件名不能有误,否则检测不到),运行confluence_keygen.jar,点击.patch,选择atlassian-extras-2.4.jar文件,点击打开,jar文件破解成功。
patch之后会回到破解程序的首页,这时候输入name,邮箱和Server ID,name和邮箱随便ServerID就是刚记录下来的,填进去,点击gen生成key,把生成的key记录下来

破解完之后同时会生成一个后缀为bak的备份文件,到此就说明你的jar文件已被破解

把破解后的atlassian-extras-2.4.jar再重命名为atlassian-extras-decoder-v2-3.3.0.jar,然后再传到/opt/atlassian/confluence/confluence/WEB-INF/lib目录下并覆盖

然后重启服务

sh /opt/atlassian/confluence/bin/stop-confluence.sh
sh /opt/atlassian/confluence/bin/start-confluence.sh


Confluence本身是没有集成mysql驱动的,名称类似于mysql-connector-java-5.1.46.jar需要自己下载并上传
我这里直接用的IDEA自带的复制过去,也可以自己下载将驱动文件移动到/opt/atlassian/confluence/confluence/WEB-INF/lib;
我这里用了之前的XFTP直接上传上去了,也可以用linux命令在驱动所在目录移动至/opt/atlassian/confluence/confluence/WEB-INF/lib

cp mysql-connector-java-5.1.46.jar /opt/atlassian/confluence/confluence/WEB-INF/lib

目录下,如过你已经有IDEA了就不需要去下载了,IDEA自带的database插件的驱动(注意:这个也是需要下载的,除非你用过配置过IDEA自带的DataBase插件,否则还是另行下载去吧)在C:\Users\Tablo.IntelliJIdea2018.3\config\jdbc-drivers\MySQL Connector\J

这里也贴一个下载链接:https://dev.mysql.com/downloads/connector/j/5.1.html

移动过去之后重启Confluence
命令:

sh /opt/atlassian/confluence/bin/stop-confluence.sh
sh /opt/atlassian/confluence/bin/start-confluence.sh

开启root用户远程数据库连接后测试
乱码提示要用utf8_bin排序规则 我用navicat直接编辑数据库做修改,再次测试


在mysql中执行以下语句并再次测试

set global transaction isolation level read committed;


成功