Total Pageviews

Saturday 20 July 2013

在vps上,搭建基于java的博客程序- b3log-solo

首先在你的vps上搭建tomcat.

环境
  • MySQL 5+
  • Tomcat 6+
1. 在 MySQL 中创建名为 b3log 的数据库
2. 配置 JDBC 数据源
按照数据库连接配置修改 ${b3log-solo-mysql-x.×.x}/WEB-INF/classes/local.properties 文件里
#### JDBC database Configurations ####
区域中
jdbc.URL=jdbc:mysql://localhost:3306/b3log?useUnicode=yes&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=
另外,还必须配置表前缀
# The specific table name prefix
jdbc.tablePrefix=b3_solo
可以配置为其他前缀,但不能留空。
3. 修改应用路径
修改 ${b3log-solo-x.×.x}/WEB-INF/classes/latke.properties 中的 Server 区域,配置成部署路径。
serverScheme=http
serverHost=你自己的域名
serverPort=端口填 80
staticServerScheme=http
staticServerHost=你自己的域名
staticServerPort=端口填 80
contextPath=/部署包展开后的目录名,例如 /b3log
staticPath=/部署包展开后的目录名,例如 /b3log
4. 部署
将 ${b3log-solo-mysql-x.x.x} 下的内容拷贝到部署目录下(tomcat/webapps/${contextPath}),例如 d:/tomcat/webapps/b3log

重启tomcat.

在浏览器中访问:http://${server}:${port}/${contextPath} 进行初始化.比如我的:
http://as3.brite.biz:8081/b3log

  • ${server}:${port} 为你容器的访问地址与端口.
 示例:http://as3.brite.biz:8081/b3log

修改自https://github.com/b3log/b3log-solo/wiki/deploy_local_tomcat

b3log-solo-mysql-0.6.0.war的下载地址:
http://pan.baidu.com/share/link?shareid=541735&uk=3255126224#dir/path=%2Fb3log-solo%2F0.6.0

项目地址:
https://github.com/b3log/b3log-solo(已经删除)
https://github.com/luckypoem/b3log-solo
-----

https://github.com/88250/solo
https://github.com/ydzydzydz/solo
https://hacpai.com/tag/solo
https://b3log.org/solo/
--------------------------------

Bolo菠萝博客 专为程序员设计的精致Java博客系统 | 🎸基于Solo深度定制 | ❤️完善文档轻松安装,贴心的技术支持 | 免登录评论 | 邮件/微信提醒 | 自定义图床 | 备案模式 | ✨精致主题持续更新 | 一键备份 | 防火墙 | 评论过滤 | 独立分类 | 文章与GitHub同步 | ✅安装太轻松!支持 Tomcat Docker 宝塔面板 | 支持Windows Linux MacOS Web容器 | 支持ARM处理器 X86/64处理器 | 🚚支持从Solo轻松迁移.
https://demo.stackoverflow.wiki/
 
基于 Java 的菠萝博客系统,简单易部署,精致主题,贴心服务,专为程序员设计。




❤ 令人放心的全面免费服务

✅ 贴心的技术支持

  • 有问必答的用户交流群,轻松气氛,社恐无惧
  • 舒心提问,耐心讲解,博客维护团队为你解答
  • 免费远程服务,解决疑难杂症
  • 菠萝博客及全部增值服务永久免费,永久更新

🌱 我是小白,装不好怎么办?

不用担心安装问题,我们提供完善的文档,提供所有部署方式的安装、升级方式,通过简单的几步就可启动。
如果你在跟随教程安装的过程中出现任何问题,菠萝博客用户群会有作者以及维护者随时待命,免费解答、远程帮助,QQ 用户群请点击最下方的链接。

为什么选择 Bolo

  1. 完整的教程文档,完善的交流答疑
  2. 精美皮肤常更新
  3. 支持将文章自动备份至 GitHub 仓库 示例
  4. 超酷的数据统计表
  5. 本地登录、评论,支持备案模式(隐藏登录、评论及搜索入口)
  6. 支持 Tomcat、Docker 快速部署
  7. 邮件提醒功能,不怕错过博客中的新评论,回复他人评论也会发邮件提醒他人
  8. 强大的 Vditor 编辑器,支持 所见即所得即时渲染分屏预览 三种模式,额外支持通过 Lute_HTTP 渲染
  9. 支持自定义图床(阿里云、又拍云、七牛云、腾讯云)
  10. 轻型防火墙功能,阻止恶意访问,保证博客正常运行
  11. 强大的 Markdown 编辑器(使用 Vditor)支持大纲、数学公式、脑图、图表、流程图、甘特图、时序图、五线谱、多媒体、语音阅读、标题锚点、代码高亮及复制、graphviz 渲染
  12. 支持黑暗模式,随系统设置自动切换,保护视力
  13. 看板娘+,在线更新海量看板娘资源
  14. 如果你是 Solo 用户,还可将 Solo 的数据一键迁移到 Bolo;如果你对 Bolo 不满意,还可以一键迁回至 Solo
  15. Server 酱推送功能,在微信上接收你的博客动态
  16. 自动生成“我在 GitHub 上的开源项目”文章功能,让博客的访客更好地了解你的 GitHub 履历

博客安装使用教程文档

👉 QQ用户群 | 安装教程 | 从Solo迁移 | Bolo介绍 | 常见问题 

from https://github.com/adlered/bolo-solo

https://doc.stackoverflow.wiki/web/#/7/165 

-----------------------------------------------------------

Solo 开发环境搭建详细说明


1. 环境搭建综述

讲述的是 CentOS7 的系统下安装 JDK,下载配置 Maven,安装 MySQL,配置 MySQL(改密码,建库),git clone solo 项目源码,编译启动的整个过程。
  • JDK:8 或更高的版本。我们就用当前最新的 JDK12 版本。
  • Maven:2 或更高的版本。我们就用当前最新的 Maven 3.6.1
  • MySQL:默认使用 MySQL,可选择使用内嵌的 H2 Database。我们就用当前最新的 MySQL8。

2. 安装 JDK12

2.1 安装之前先 rpm -qa |grep java 检查一下系统有没有低版本的 java

[root@localhost ~]# rpm -qa |grep java
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-devel-1.8.0.212.b04-0.el7_6.x86_64
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2019a-1.el7.noarch
java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
java-1.8.0-openjdk-headless-1.8.0.212.b04-0.el7_6.x86_64

2.2 用 yum -y remove java* 方法卸载低版本的 java

[root@localhost ~]# yum -y remove java*              

已加载插件:fastestmirror

正在解决依赖关系

--> 正在检查事务
---> 软件包 java-1.8.0-openjdk.x86_64.1.1.8.0.212.b04-0.el7_6 将被 删除
---> 软件包 java-1.8.0-openjdk-devel.x86_64.1.1.8.0.212.b04-0.el7_6 将被 删除
---> 软件包 java-1.8.0-openjdk-headless.x86_64.1.1.8.0.212.b04-0.el7_6 将被 删除
---> 软件包 javapackages-tools.noarch.0.3.4.1-11.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

==========================================================================================================================================================================================
 Package                                                架构                              版本                                                  源                                   大小
==========================================================================================================================================================================================
正在删除:
 java-1.8.0-openjdk                                     x86_64                            1:1.8.0.212.b04-0.el7_6                               @updates                            529 k
 java-1.8.0-openjdk-devel                               x86_64                            1:1.8.0.212.b04-0.el7_6                               @updates                             40 M
 java-1.8.0-openjdk-headless                            x86_64                            1:1.8.0.212.b04-0.el7_6                               @updates                            104 M
 javapackages-tools                                     noarch                            3.4.1-11.el7                                          @base                               156 k

事务概要
==========================================================================================================================================================================================
移除  4 软件包

安装大小:145 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : 1:java-1.8.0-openjdk-devel-1.8.0.212.b04-0.el7_6.x86_64                                                                                                               1/4 
  正在删除    : 1:java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64                                                                                                                     2/4 
  正在删除    : 1:java-1.8.0-openjdk-headless-1.8.0.212.b04-0.el7_6.x86_64                                                                                                            3/4 
  正在删除    : javapackages-tools-3.4.1-11.el7.noarch                                                                                                                                4/4 
  验证中      : 1:java-1.8.0-openjdk-devel-1.8.0.212.b04-0.el7_6.x86_64                                                                                                               1/4 
  验证中      : 1:java-1.8.0-openjdk-headless-1.8.0.212.b04-0.el7_6.x86_64                                                                                                            2/4 
  验证中      : 1:java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64                                                                                                                     3/4 
  验证中      : javapackages-tools-3.4.1-11.el7.noarch                                                                                                                                4/4 

删除:
  java-1.8.0-openjdk.x86_64 1:1.8.0.212.b04-0.el7_6       java-1.8.0-openjdk-devel.x86_64 1:1.8.0.212.b04-0.el7_6       java-1.8.0-openjdk-headless.x86_64 1:1.8.0.212.b04-0.el7_6      
  javapackages-tools.noarch 0:3.4.1-11.el7               

完毕!
再次查看一下:
[root@localhost ~]# rpm -qa |grep java
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2019a-1.el7.noarch
继续删除:
[root@localhost ~]# yum -y remove python-javapackages-3.4.1-11.el7.noarch


已加载插件:fastestmirror

正在解决依赖关系

--> 正在检查事务

---> 软件包 python-javapackages.noarch.0.3.4.1-11.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

==========================================================================================================================================================================================
 Package                                              架构                                    版本                                           源                                      大小
==========================================================================================================================================================================================
正在删除:
 python-javapackages                                  noarch                                  3.4.1-11.el7                                   @base                                   65 k

事务概要
==========================================================================================================================================================================================
移除  1 软件包

安装大小:65 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : python-javapackages-3.4.1-11.el7.noarch                                                                                                                               1/1 
  验证中      : python-javapackages-3.4.1-11.el7.noarch                                                                                                                               1/1 

删除:
  python-javapackages.noarch 0:3.4.1-11.el7                                                                                                                                               

完毕!
[root@localhost ~]# yum -y remove tzdata-java-2019a-1.el7.noarch
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 tzdata-java.noarch.0.2019a-1.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

==========================================================================================================================================================================================
 Package                                       架构                                     版本                                             源                                          大小
==========================================================================================================================================================================================
正在删除:
 tzdata-java                                   noarch                                   2019a-1.el7                                      @updates                                   366 k

事务概要
==========================================================================================================================================================================================
移除  1 软件包

安装大小:366 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : tzdata-java-2019a-1.el7.noarch                                                                                                                                        1/1 
  验证中      : tzdata-java-2019a-1.el7.noarch                                                                                                                                        1/1 

删除:
  tzdata-java.noarch 0:2019a-1.el7                                                                                                                                                        

完毕!
再查看一下:(没有输出说明全部删除了)
[root@localhost ~]# rpm -qa |grep java
[root@localhost ~]# 

2.3 清理完旧的 Java 环境就可以开始安装新版本的 JDK 了。

2.3.1 先用命令搜索一下服务器镜像上的 JDK 版本

注:这里搜到的都是 openjdk,要装 oracle 的 JDK 需自行去官网下载
[root@localhost ~]# yum search jdk

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
==================================================================================== N/S matched: jdk ====================================================================================
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without audio and video support
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
java-1.8.0-openjdk-accessibility.i686 : OpenJDK accessibility connector
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.8.0-openjdk-accessibility-debug.i686 : OpenJDK accessibility connector for packages with debug on
java-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK 8 accessibility connector for packages with debug on
java-1.8.0-openjdk-debug.i686 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment 8 with full debug on
java-1.8.0-openjdk-demo.i686 : OpenJDK Demos
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-1.8.0-openjdk-demo-debug.i686 : OpenJDK Demos with full debug on
java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos 8 with full debug on
java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
java-1.8.0-openjdk-devel-debug.i686 : OpenJDK Development Environment with full debug on
java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 8 with full debug on
java-1.8.0-openjdk-headless.i686 : OpenJDK Runtime Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-debug.i686 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK 8 API documentation for packages with debug on
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in single archive
java-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK 8 API documentation compressed in single archive for packages with debug on
java-1.8.0-openjdk-src.i686 : OpenJDK Source Bundle
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-1.8.0-openjdk-src-debug.i686 : OpenJDK Source Bundle for packages with debug on
java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 8 for packages with debug on
java-11-openjdk.i686 : OpenJDK Runtime Environment 11
java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11
java-11-openjdk-debug.i686 : OpenJDK Runtime Environment 11 with full debug on
java-11-openjdk-debug.x86_64 : OpenJDK Runtime Environment 11 with full debug on
java-11-openjdk-demo.i686 : OpenJDK Demos 11
java-11-openjdk-demo.x86_64 : OpenJDK Demos 11
java-11-openjdk-demo-debug.i686 : OpenJDK Demos 11 with full debug on
java-11-openjdk-demo-debug.x86_64 : OpenJDK Demos 11 with full debug on
java-11-openjdk-devel.i686 : OpenJDK Development Environment 11
java-11-openjdk-devel.x86_64 : OpenJDK Development Environment 11
java-11-openjdk-devel-debug.i686 : OpenJDK Development Environment 11 with full debug on
java-11-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 11 with full debug on
java-11-openjdk-headless.i686 : OpenJDK Headless Runtime Environment 11
java-11-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 11
java-11-openjdk-headless-debug.i686 : OpenJDK Runtime Environment with full debug on
java-11-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-11-openjdk-javadoc.i686 : OpenJDK 11 API documentation
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-11-openjdk-javadoc-debug.i686 : OpenJDK 11 API documentation for packages with debug on
java-11-openjdk-javadoc-debug.x86_64 : OpenJDK 11 API documentation for packages with debug on
java-11-openjdk-javadoc-zip.i686 : OpenJDK 11 API documentation compressed in single archive
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in single archive
java-11-openjdk-javadoc-zip-debug.i686 : OpenJDK 11 API documentation compressed in single archive for packages with debug on
java-11-openjdk-javadoc-zip-debug.x86_64 : OpenJDK 11 API documentation compressed in single archive for packages with debug on
java-11-openjdk-jmods.i686 : JMods for OpenJDK 11
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-jmods-debug.i686 : JMods for OpenJDK 11 with full debug on
java-11-openjdk-jmods-debug.x86_64 : JMods for OpenJDK 11 with full debug on
java-11-openjdk-src.i686 : OpenJDK Source Bundle 11
java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11
java-11-openjdk-src-debug.i686 : OpenJDK Source Bundle for packages with debug on
java-11-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 11 for packages with debug on
java-latest-openjdk.x86_64 : OpenJDK Runtime Environment 12
java-latest-openjdk-debug.x86_64 : OpenJDK Runtime Environment 12 with full debug on
java-latest-openjdk-demo.x86_64 : OpenJDK Demos 12
java-latest-openjdk-demo-debug.x86_64 : OpenJDK Demos 12 with full debug on
java-latest-openjdk-devel.x86_64 : OpenJDK Development Environment 12
java-latest-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 12 with full debug on
java-latest-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 12
java-latest-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-latest-openjdk-javadoc.x86_64 : OpenJDK 12 API documentation
java-latest-openjdk-javadoc-debug.x86_64 : OpenJDK 12 API documentation for packages with debug on
java-latest-openjdk-javadoc-zip.x86_64 : OpenJDK 12 API documentation compressed in single archive
java-latest-openjdk-javadoc-zip-debug.x86_64 : OpenJDK 12 API documentation compressed in single archive for packages with debug on
java-latest-openjdk-jmods.x86_64 : JMods for OpenJDK 12
java-latest-openjdk-jmods-debug.x86_64 : JMods for OpenJDK 12 with full debug on
java-latest-openjdk-src.x86_64 : OpenJDK Source Bundle 12
java-latest-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 12 for packages with debug on
ldapjdk-javadoc.noarch : Javadoc for ldapjdk
icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation
ldapjdk.noarch : The Mozilla LDAP Java SDK
openprops.noarch : An improved java.util.Properties from OpenJDK

  名称和简介匹配 only,使用“search all”试试。

2.3.2 选择 java-latest-openjdk-devel.x86_64 安装。

注:列出来的 JDK 中 java-latest-openjdk-devel.x86_64 : OpenJDK Development Environment 12 就是最新版的 openjdk12。另外 java-latest-openjdk.x86_64 这个是 JRE 运行时环境,只有 java 命令,没有 javac 命令。
[root@localhost ~]# yum -y install java-latest-openjdk-devel.x86_64

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
epel/x86_64/primary_db                                                                | 6.8 MB  00:02:44     
正在解决依赖关系
--> 正在检查事务
---> 软件包 java-latest-openjdk-devel.x86_64.1.12.0.1.12-1.rolling.el7 将被 安装
--> 正在处理依赖关系 java-latest-openjdk(x86-64) = 1:12.0.1.12-1.rolling.el7,它被软件包 1:java-latest-openjdk-devel-12.0.1.12-1.rolling.el7.x86_64 需要
--> 正在检查事务
---> 软件包 java-latest-openjdk.x86_64.1.12.0.1.12-1.rolling.el7 将被 安装
--> 正在处理依赖关系 java-latest-openjdk-headless(x86-64) = 1:12.0.1.12-1.rolling.el7,它被软件包 1:java-latest-openjdk-12.0.1.12-1.rolling.el7.x86_64 需要
--> 正在检查事务
---> 软件包 java-latest-openjdk-headless.x86_64.1.12.0.1.12-1.rolling.el7 将被 安装
--> 正在处理依赖关系 tzdata-java >= 2015d,它被软件包 1:java-latest-openjdk-headless-12.0.1.12-1.rolling.el7.x86_64 需要
--> 正在处理依赖关系 javapackages-tools,它被软件包 1:java-latest-openjdk-headless-12.0.1.12-1.rolling.el7.x86_64 需要
--> 正在检查事务
---> 软件包 javapackages-tools.noarch.0.3.4.1-11.el7 将被 安装
--> 正在处理依赖关系 python-javapackages = 3.4.1-11.el7,它被软件包 javapackages-tools-3.4.1-11.el7.noarch 需要
---> 软件包 tzdata-java.noarch.0.2019a-1.el7 将被 安装
--> 正在检查事务
---> 软件包 python-javapackages.noarch.0.3.4.1-11.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=============================================================================================================
 Package                              架构           版本                              源               大小
=============================================================================================================
正在安装:
 java-latest-openjdk-devel            x86_64         1:12.0.1.12-1.rolling.el7         epel            4.5 M
为依赖而安装:
 java-latest-openjdk                  x86_64         1:12.0.1.12-1.rolling.el7         epel            201 k
 java-latest-openjdk-headless         x86_64         1:12.0.1.12-1.rolling.el7         epel             39 M
 javapackages-tools                   noarch         3.4.1-11.el7                      base             73 k
 python-javapackages                  noarch         3.4.1-11.el7                      base             31 k
 tzdata-java                          noarch         2019a-1.el7                       updates         187 k

事务概要
=============================================================================================================
安装  1 软件包 (+5 依赖软件包)

总下载量:44 M
安装大小:190 M
Downloading packages:
(1/6): python-javapackages-3.4.1-11.el7.noarch.rpm                                    |  31 kB  00:00:00     
(2/6): javapackages-tools-3.4.1-11.el7.noarch.rpm                                     |  73 kB  00:00:00     
(3/6): tzdata-java-2019a-1.el7.noarch.rpm                                             | 187 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/epel/packages/java-latest-openjdk-12.0.1.12-1.rolling.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
java-latest-openjdk-12.0.1.12-1.rolling.el7.x86_64.rpm 的公钥尚未安装
(4/6): java-latest-openjdk-12.0.1.12-1.rolling.el7.x86_64.rpm                         | 201 kB  00:00:12     
(5/6): java-latest-openjdk-devel-12.0.1.12-1.rolling.el7.x86_64.rpm                   | 4.5 MB  00:03:01     
(6/6): java-latest-openjdk-headless-12.0.1.12-1.rolling.el7.x86_64.rpm                |  39 MB  00:09:44     
-------------------------------------------------------------------------------------------------------------
总计                                                                          77 kB/s |  44 MB  00:09:44     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 检索密钥
导入 GPG key 0x352C64E5:
 用户ID     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 指纹       : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 软件包     : epel-release-7-11.noarch (@extras)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : tzdata-java-2019a-1.el7.noarch                                                           1/6 
  正在安装    : python-javapackages-3.4.1-11.el7.noarch                                                  2/6 
  正在安装    : javapackages-tools-3.4.1-11.el7.noarch                                                   3/6 
  正在安装    : 1:java-latest-openjdk-headless-12.0.1.12-1.rolling.el7.x86_64                            4/6 
  正在安装    : 1:java-latest-openjdk-12.0.1.12-1.rolling.el7.x86_64                                     5/6 
  正在安装    : 1:java-latest-openjdk-devel-12.0.1.12-1.rolling.el7.x86_64                               6/6 
  验证中      : 1:java-latest-openjdk-12.0.1.12-1.rolling.el7.x86_64                                     1/6 
  验证中      : python-javapackages-3.4.1-11.el7.noarch                                                  2/6 
  验证中      : 1:java-latest-openjdk-headless-12.0.1.12-1.rolling.el7.x86_64                            3/6 
  验证中      : tzdata-java-2019a-1.el7.noarch                                                           4/6 
  验证中      : javapackages-tools-3.4.1-11.el7.noarch                                                   5/6 
  验证中      : 1:java-latest-openjdk-devel-12.0.1.12-1.rolling.el7.x86_64                               6/6 

已安装:
  java-latest-openjdk-devel.x86_64 1:12.0.1.12-1.rolling.el7                                                 

作为依赖被安装:
  java-latest-openjdk.x86_64 1:12.0.1.12-1.rolling.el7                                                       
  java-latest-openjdk-headless.x86_64 1:12.0.1.12-1.rolling.el7                                              
  javapackages-tools.noarch 0:3.4.1-11.el7                                                                   
  python-javapackages.noarch 0:3.4.1-11.el7                                                                  
  tzdata-java.noarch 0:2019a-1.el7                                                                           

完毕!

2.3.3 装完后查看一下 JDK 版本:(也是验证 java 和 javac 命令)

[root@localhost ~]# java -version
openjdk version "12.0.1" 2019-04-16
OpenJDK Runtime Environment 19.3 (build 12.0.1+12)
OpenJDK 64-Bit Server VM 19.3 (build 12.0.1+12, mixed mode, sharing)
[root@localhost ~]# javac -version
javac 12.0.1

3. 安装 Maven

3.1 先检查本机是否已经安装了 maven

[root@localhost ~]# mvn -v
-bash: mvn: 未找到命令
上面显示未找到命令表示没有安装 maven。

3.2 去 Maven 官网下载二进制文件。

3.2.1 我们先访问 apache-maven 网站的下载界面

maven1.png
651 x 316 1878 x 913

maven.png
651 x 505 770 x 598

右键点击 apache-maven-3.6.1-bin.tar.gz 复制链接地址 http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz

3.2.2 用 wget 下载 apache-maven-3.6.1-bin.tar.gz 到本地:

[root@localhost ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz


--2019-06-23 20:45:21--  http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz


正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9136463 (8.7M) [application/octet-stream]
正在保存至: “apache-maven-3.6.1-bin.tar.gz”

100%[===================================================================>] 9,136,463   3.32MB/s 用时 2.6s   

2019-06-23 20:45:23 (3.32 MB/s) - 已保存 “apache-maven-3.6.1-bin.tar.gz” [9136463/9136463])

3.3 解压缩 apache-maven-3.6.1-bin.tar.gz 文件:

[root@localhost ~]# tar -zxf apache-maven-3.6.1-bin.tar.gz 
[root@localhost ~]# 

3.4 设置 maven 的路径

编辑 .bash_profile 文件(vi .bash_profile),添加 maven 路径:$HOME/apache-maven-3.6.1/bin 到 PATH 环境变量。
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin:$HOME/apache-maven-3.6.1/bin

export PATH

3.5 切换一下用户,使 PATH 生效

当前用户是 root,用 su - 命令重新切换到 root 用户,可使 PATH 生效
[root@localhost ~]# su -
上一次登录:日 6月 23 21:02:56 CST 2019pts/0 上

3.6 查看 mvn 版本(顺便测试一下 mvn 是否可用)

[root@localhost ~]# mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: /root/apache-maven-3.6.1
Java version: 12.0.1, vendor: N/A, runtime: /usr/lib/jvm/java-12-openjdk-12.0.1.12-1.rolling.el7.x86_64
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.21.2.el7.x86_64", arch: "amd64", family: "unix"
mvn 安装成功。

4. 安装 MySQL

假设本机之前没有安装 MySQL 或者低版本的 MySQL 已经清理了。具体操作步骤请参见第 2 章节中对 Java 低版本的清理步骤。

4.1 centos7 上安装并启动 MySQL8 的命令步骤

  • 1)wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  • 2)yum -y install mysql80-community-release-el7-3.noarch.rpm
  • 3)yum -y install mysql-community-server (从 oracle 官网下载 mysql 速度较慢,耐心等)
  • 4)systemctl start mysqld.service (启动 mysql)

5. 配置 MySQL8

配置 MySQL8 包括修改 root 密码和建库。

5.1 获取 root@localhost 的初始密码

MySQL8 在安装后会创建一个 root@locahost 账户(与之前版本不同,MySQL8 为远程连接 root@% 和本地连接 root@locahost 提供了不同的密码验证方式)。MySQL8 将本地连接的初始密码放到了/var/log/mysqld.log 文件中;我们可以用 cat /var/log/mysqld.log | grep password 命令查看初始密码。
[root@VM_0_11_centos solo]# cat /var/log/mysqld.log | grep password


2019-06-23T03:35:57.941668Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: n=Ti,P4?J(uE
注:上面 n=Ti,P4?J(uE 就是初始密码。

5.2 使用初始密码登录 mysql

[root@VM_0_11_centos solo]# mysql -uroot -p


Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

5.3 修改 root 密码

MySQL8 的 root 用户的验证方式变了。从下面命令结果可以看出 root 的用户的加密方式为 caching_sha2_passoword,而 navicat 连接所用的方式为 native_password。
mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host, user, plugin from user;
+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| %         | root             | mysql_native_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | caching_sha2_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)

5.3.1 修改密码策略

下面开始修改密码操作,但是直接用 alter 命令改还不行,因为 123456 密太简单,不满足密码策略,查看密码策略命令如下:
mysql> SHOW VARIABLES LIKE 'validate%';

+--------------------------------------+--------+

| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
需要把 validate_password.check_user_name 改为 OFF,validate_password.length 改为 1,validate_password.policy 改为 LOW。命令如下:
mysql> set global validate_password.check_user_name=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password.length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'validate%';

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | OFF   |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

5.3.2 修改密码

密码策略降低要求后才可以把密码改为 123456(本地和远程的都改为 123456)
mysql> alter user'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER 'root'@'%' IDENTIFIED by '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

5.4 建库 solo

mysql> create database solo;
Query OK, 1 row affected (0.01 sec)

6. solo 项目配置

接下来才是主角:下载 solo 项目源码,编译启动 solo,完成开发环境搭建
注:没有装 git 命令请先用 yum -y install git 命令安装。

6.1 克隆 solo 项目

使用命令:git clone --recurse-submodules https://gitee.com/b3logos/solo.git(国内通过码云下载较快):
[root@VM_0_11_centos ~]# git clone --recurse-submodules https://gitee.com/b3logos/solo.git

Cloning into 'solo'...

remote: Enumerating objects: 44272, done.
remote: Counting objects: 100% (44272/44272), done.
remote: Compressing objects: 100% (13923/13923), done.
remote: Total 44272 (delta 24766), reused 44214 (delta 24708)
Receiving objects: 100% (44272/44272), 88.66 MiB | 2.85 MiB/s, done.
Resolving deltas: 100% (24766/24766), done.
Submodule 'src/main/webapp/skins' (https://github.com/b3log/solo-skins) registered for path 'src/main/webapp/skins'
Cloning into 'src/main/webapp/skins'...
remote: Enumerating objects: 1193, done.
remote: Counting objects: 100% (1193/1193), done.
remote: Compressing objects: 100% (732/732), done.
remote: Total 11743 (delta 845), reused 767 (delta 460), pack-reused 10550
Receiving objects: 100% (11743/11743), 23.59 MiB | 256.00 KiB/s, done.
Resolving deltas: 100% (8803/8803), done.
Submodule path 'src/main/webapp/skins': checked out 'ca0de62bddd9e3bb8732e46b4239001d7f238303'
[root@VM_0_11_centos ~]# 

6.2 启动 solo 博客系统

[root@VM_0_11_centos ~]# cd solo
[root@VM_0_11_centos ~]# mvn jetty:run

6.3 登录 solo 博客系统

http://【你的服务器IP】:8080/ 登录系统,初始化博客,大功告成。
from https://archive.is/qhC9n#selection-1029.0-4673.17 
-------
https://ld246.com/article/1537690756242 ,Solo 从设计到实现。
https://ld246.com/article/1546941897596