配置Apache Roller 5.2.1
by 知识混子
Posted on 星期四 2018年11月08日 at 10:36上午 in IT技术
一、准备安装包
系统是阿里云轻量服务器 CentOS 7.2
1、到Oracle的java网站下载最新JDK,本例是jdk-8u192-linux-x64.rpm
2、到Oracle的java网站搜索javamail,1.5以后的版本迁移到github了,搜到最后版本是1.4.5,可以下载到javamai1_4_7.zip,解压后mail.jar是安装Roller需要的。
3、到Oracle的java网站搜索JavaBeans Activation Framework,下载jaf-1_1_1.zip,解压后的activation.jar是安装Roller需要的。
4、到MySQL网站下载安装仓库,mysql80-community-release-el7-1.noarch.rpm,还有连接器mysql-connector-java-8.0.12.tar.gz
5、到Tomcat网站下载安装包,apache-tomcat-9.0.12.tar.gz
6、到Roller网站下载最新安装包,roller-release-5.2.1-standard.tar.gz,解压后 docs 目录下有三个文档,这是Roller的官方Install、Template、User文档,OpenOffice 的 odt 格式,用 MS Office 可以打开。
按照Roller官方文档,环境mysql 5,connector 5,tomcat 7、8 经过测试。本例采用的是mysql 8,connector 8,tomcat 9也成功。
二、环境设置
2.1、设置CentOS的locale
先运行 locale 命令,看看是不是 zh_CN,如果不是:
$ sudo localectl set-locale LANG=zh_CN.utf8
设置之后,重启服务器或者 source /etc/locale.conf 使之生效。再运行 locale 命令,应该看到 LANG=zh_CN.utf8 了。
2.2、安装JDK
系统里没有带 openjdk,也没有安装过其他 jdk,不需要卸载。
$ sudo rpm -ivh jdk-8u192-linux-x64.rpm
没有错误提示则安装成功,完成后,可以用 java -version 看看jdk版本号。
修改环境变量
$ sudo vi /etc/profile
在文件最后添加
export JAVA_HOME=/usr/java/default
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重启服务器或者 source /etc/profile 使设置生效,验证Java和环境变量均正确。
三、安装MySQL和Tomcat
3.1、安装MySQL
先安装 MySQL 的 yum repo,然后通过 yum 安装 MySQL 8,过程中下载的安装包大概412M
$ sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
$ sudo yum install mysql-community-server
这样安装的是mysql最新版8.0,如果要安装旧版,可参考mysql网站说明。
查询mysqld的状态,如果是 inactive 则启动之
$ systemctl status mysqld.service
$ sudo systemctl start mysqld.service
查看安装过程中生成的随机密码,并以此密码登录mysql
$ sudo grep 'temporary password' /var/log/mysqld.log
下图中 Edy4(f9Uhkzp 就是root的临时密码。
以临时密码连接服务器。修改root的密码,大小写,数字,符号,8位,否则提示密码不合要求
$ mysql -u root -p
password: *****
mysql> alter user 'root'@'localhost' identified by 'root@8X8';
mysql> exit;
用 root正式密码登录mysql,创建 rollerdb 库和用户,对于MySQL 8.0,不允许用 grant 创建用户
$ mysql -u root -p
password: *****
mysql> create database rollerdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> create user scott@'%' identified by 'Tiger@8X8';
mysql> create user scott@localhost identified by 'Tiger@8X8';
mysql> grant all on rollerdb.* to scott@'%';
mysql> grant all on rollerdb.* to scott@localhost;
mysql> exit;
上面的 scott 就是 rollerdb 的管理员,Tiger@8X8 是密码。如果按照Roller官方文档,用 grant 创建用户是不能成功的,密码 tiger 也是不合要求的。
3.2、安装 Tomcat
将apache-tomcat-9.0.12.tar.gz解压,将生成的目录apache-tomcat-9.0.12整个移动为 /opt/tomcat9 目录
$ sudo mv apache-tomcat-9.0.12 /opt/tomcat9
将 Tomcat 放到 /opt 只是因为该目录是空的。一般放到 /usr/local 下,随意。
解压mysql-connector-java-8.0.12.tar.gz,将 mysql-connector-java-8.0.12.jar 和 mail.jar,activation.jar 拷贝到/opt/tomcat9/lib目录下
$ cp mysql-connector-java-8.0.12/mysql-connector-java-8.0.12.jar /opt/tomcat9/lib
$ cp activation.jar /opt/tomcat9/lib
$ cp mail.jar /opt/tomcat9/lib
修改 /opt/tomcat9/conf/server.xml,修改 8080 和 8009 端口
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" URIEncoding="utf-8" /<
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" URIEncoding="utf-8" />
将 8080 端口修改为 80,转接端口 8443 修改为 443,两个端口最后都添加 URIEncoding="utf-8"
阿里云服务器防火墙默认开启 80、443、22 端口,是否修改端口号视具体情况而定,但 URIEncoding="utf-8" 不能少。
解压roller-release-5.2.1-standard.tar.gz,进入 roller-release-5.2.1/webapp,将roller.war 解压缩到 blog 目录,如果提示没有unzip,则安装。将blog整个目录移动到/opt/tomcat9/webapps目录下
$ sudo yum -y install zip unzip
$ unzip roller.war -d blog
$ mv blog /opt/tomcat9/webapps
Roller 官方文档是把 roller.war 直接丢到 $TOMCAT/webapps 下面,自动部署生成 roller 目录,再将 roller 改名为你想要的比如 blog
在 /opt/tomcat9/lib 里创建 roller-custom.properties 文件,内容如下:
installation.type=auto
mediafiles.storage.dir=/usr/local/rollerdata/mediafiles
search.index.dir=/usr/local/rollerdata/searchindex
log4j.appender.roller.File=/usr/local/rollerdata/roller.log
database.configurationType=jdbc
database.jdbc.driverClass=com.mysql.cj.jdbc.Driver
database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8
database.jdbc.username=scott
database.jdbc.password=Tiger@8X8
mail.configurationType=properties
mail.hostname=smtp-server.example.com
mail.username=scott
mail.password=tiger
上面的 jdbc 驱动的名称是 connector 8 的名称,如果是 connector 5就不是这个。连接数据库的用户名、密码是前面设置的。
3.3、防火墙80端口
阿里云服务器80端口默认是开启的,不需要进行操作。如果80端口未开启,则开启80端口。
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
出现success表明添加成功,重启防火墙
$ sudo systemctl restart firewalld.service
四、启动Tomcat,设置roller
$ sudo /opt/tomcat9/bin/startup.sh
浏览器访问 http://域名或IP地址/blog,提示创建表,否则就是出错了,查看 tomcat 的 log,查看 /usr/local/rollerdata/roller.log
继续,注册用户,设置roller管理员,设置weblog的名字,编辑器,theme等。
收尾工作:修改 /opt/tomcat9/lib/roller-custom.properties,将第一行改成
installation.type=manual
Apache Roller配置完成,用管理员账号登录进行日常维护。
Roller 默认没有开启新用户注册,如果要开启,需要重新设置邮件系统,按照前面的设置,邮件系统是不能正常使用的。
Tags: roller