我使用PostgreSQL连接构建了关于Liferay CE的笔记
前提信息
在macOS Mojave上,我使用独立的vagrant镜像成功在两个节点中安装了CentOS。
版本信息
CentOS 7.6-1810
Liferay 7.1.2 GA3
Oracle JDK 11.0.3
PostgreSQL 9.6.12
PostgreSQL JDBC Driver 42.2.5
中文译文:
CentOS 7.6-1810
Liferay 7.1.2 GA3
Oracle JDK 11.0.3
PostgreSQL 9.6.12
PostgreSQL JDBC 驱动 42.2.5
在构建Liferay的服务器上进行的工作
安装p7zip以展开7z文件扩展名。
# yum install p7zip
安装并启用自动启动作为反向代理的httpd。
# yum install httpd
# systemctl enable httpd.service
JDK的安装
# cd
# cp /vagrant/shared/jdk-11.0.3_linux-x64_bin.rpm .
# rpm -ivh jdk-11.0.3_linux-x64_bin.rpm
# java -version
java version "11.0.3" 2019-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.3+12-LTS, mixed mode)
Liferay安装
# cp /vagrant/shared/liferay-ce-portal-tomcat-7.1.2-ga3-20190107144105508.7z /var
# cd /var
# 7za x liferay-ce-portal-tomcat-7.1.2-ga3-20190107144105508.7z
# mv ./liferay-ce-portal-7.1.2-ga3 ./liferay
安装PostgreSQL JDBC驱动器
# cp /vagrant/shared/postgresql-42.2.5.jar /var/liferay/tomcat-9.0.10/lib/
Liferay的启动
# /var/liferay/tomcat-9.0.10/bin/startup.sh
httpd的配置用于tomcat的反向代理。
# echo "ProxyPass / ajp://localhost:8009/" > /etc/httpd/conf.d/proxy.conf
# cat /etc/httpd/conf.d/proxy.conf
ProxyPass / ajp://localhost:8009/
启动httpd
# systemctl start httpd.service
在构建PostgreSQL的服务器上的工作
在中国语言中原生方式重述上述内容:
安装和启用自动启动PostgreSQL。
# yum install -y https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm
# yum install -y postgresql96-server postgresql96-contrib
# psql --version
psql (PostgreSQL) 9.6.12
# /usr/pgsql-9.6/bin/postgresql96-setup initdb
# systemctl enable postgresql-9.6.service
启动PostgreSQL
# systemctl start postgresql-9.6.service
创建用于Liferay的数据库lportal,并更改postgres用户的密码(密码password为任意)。
# passwd postgres
# su - postgres
$ psql
postgres=# create database lportal;
postgres=# ALTER USER postgres WITH PASSWORD 'password';
postgres=# \q
$ exit
请配置PostgreSQL以便从外部服务器访问lporta。
# cp /var/lib/pgsql/9.6/data/postgresql.conf /vagrant/shared/
# vi /var/lib/pgsql/9.6/data/postgresql.conf
# diff /var/lib/pgsql/9.6/data/postgresql.conf /vagrant/shared/postgresql.conf
59c59
< listen_addresses = '*' # what IP address(es) to listen on;
---
> #listen_addresses = 'localhost' # what IP address(es) to listen on;
# cp /var/lib/pgsql/9.6/data/pg_hba.conf /vagrant/shared/
# vi /var/lib/pgsql/9.6/data/pg_hba.conf
# diff /var/lib/pgsql/9.6/data/pg_hba.conf /vagrant/shared/pg_hba.conf
82,83c82
< #host all all 127.0.0.1/32 ident
< host lportal postgres 10.168.33.10/32 trust
---
> host all all 127.0.0.1/32 ident
重新启动PostgreSQL
# systemctl restart postgresql-9.6.service
在浏览器中进行Liferay设置
登录后的页面
将语言切换至日语的屏幕(姓、名和电子邮件地址请填写正确信息)。
按下设定结束按钮后的页面
在配置PostgreSQL的服务器上的工作
如果注册用户的电子邮件地址是xxx@liferay.com,则将其密码更改为test(默认密码未详细调查)。
# su - postgres
$ psql -d lportal
lportal=# UPDATE User_ SET password_='qUqP5cyxm6YcTAhz05Hph5gvu9M=' WHERE emailAddress='xxx@liferay.com';
lportal=# \q
$ exit
在构建Liferay的服务器上的工作
确认Liferay重启和初始设置属性。
# /var/liferay/tomcat-9.0.10/bin/shutdown.sh
# cat /var/liferay/portal-setup-wizard.properties
admin.email.from.address=xxx@liferay.com
admin.email.from.name=XXX XXX
company.default.locale=ja_JP
company.default.web.id=liferay.com
default.admin.email.address.prefix=xxx
default.admin.first.name=XXX
default.admin.last.name=XXX
jdbc.default.driverClassName=org.postgresql.Driver
jdbc.default.password=password
jdbc.default.url=jdbc:postgresql://10.168.33.11:5432/lportal
jdbc.default.username=postgres
liferay.home=/var/liferay
setup.wizard.add.sample.data=on
setup.wizard.enabled=false
# /var/liferay/tomcat-9.0.10/bin/startup.sh
在浏览器中设置Liferay。
Liferay在重新启动后的访问页面。
登录界面
登录后的设置页面(问题和答案随便填写)
登录成功页面
请参考
Vagrant文件的内容
$ cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "centos76minimal"
config.vbguest.auto_update = false
config.vm.define "liferay_ap" do |server|
server.vm.hostname = "node01"
server.vm.network "forwarded_port", guest: 22, host: 2222, auto_correct: true
server.vm.network "forwarded_port", guest: 80, host: 2280, auto_correct: true
server.vm.network "private_network", ip: "10.168.33.10", virtualbox__intnet: true
end
config.vm.define "liferay_db" do |server|
server.vm.hostname = "node02"
server.vm.network "forwarded_port", guest: 22, host: 2222, auto_correct: true
server.vm.network "private_network", ip: "10.168.33.11", virtualbox__intnet: true
end
end