文档章节

Oracle APEX 系列文章4:在阿里云上打造属于你自己的APEX完整开发环境 (安装XE, ORDS, APEX)

youfen
 youfen
发布于 04/02 10:41
字数 2677
阅读 20
收藏 0

Oracle APEX 系列文章4:在阿里云上打造属于你自己的APEX完整开发环境 (安装XE, ORDS, APEX)

本文是钢哥的Oracle APEX系列文章中的第四篇,完整 Oracle APEX 系列文章如下:

引言

在这一章节里,我们将一起动手安装Oracle数据库(XE)、APEX以及ORDS,并完成相关的设置。

友情提示:由于之前没有绑定阿里云的弹性公网IP,导致阿里云ECS在关机重启后IP地址会变化,这里只要简单把公网IP转换成弹性公网IP即可。弹性公网IP的好处是IP地址不会变化,需要的时候拿过来绑定到ECS等设备上即可,非常灵活。 更多关于阿里云弹性公网IP的介绍请移步这里

现在我们的ECS服务器已经转成弹性公网IP了,以后只要不解绑,这个公网IP地址就不会自己变化了。

言归正传,接下来我们开始今天的教程。

安装前准备工作

下载软件包

我们需要到Oracle官网下载如下软件,如果你还没有注册过Oracle账号,请先完成注册(免费的),登录后才可以下载。

截止到本文写作时间为止,APEX最新的版本是5.1.4.00.08,请下载All Language多语言版本,ORDS最新版本是18.1.1.95.1251。你下载的版本可能比钢哥的高,不过安装步骤是一样的。

创建安装包目录

现在软件包已经下载到本地了,在上传之前ssh连接到ECS,创建一下上传目录/u01/media。

mkdir /u01 mkdir /u01/media chmod -Rf 777 /u01 复制代码

增加swap空间

# 检查当前swap文件 swapon -s # 检查当前磁盘空间 df # 创建一个2GB的swap文件 dd if=/dev/zero of=/swapfile bs=1024 count=2048k mkswap /swapfile swapon /swapfile # 再次检查swap文件 swapon -s # 将新的swap文件加入到启用项 echo "/swapfile swap swap defaults 0 0" >> /etc/fstab # 赋予适当权限 chown root:root /swapfile chmod 0600 /swapfile 复制代码

上传安装包

接下来需要利用ftp工具上传到你的ECS服务器上。这里钢哥使用的是 FileZilla 来上传,连接信息如下图所示:

上传后如图所示:

安装 Oracle Database XE 数据库

将安装包解压缩

cd /u01/media unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 复制代码

利用yum本地安装

yum localinstall Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm -y 复制代码

提示已成功安装完毕。

完成数据库初始化

保持在root用户下,继续执行以下命令:

/etc/init.d/oracle-xe configure 复制代码

按照提示完成初始化设置。

创建dba用户组

cd 复制代码

创建oracle用户,并分配到dba用户组

useradd -u 501 -g dba -G dba oracle 复制代码

设置oracle用户的密码

passwd oracle 复制代码

切换到oracle用户

按照提示设置好oracle用户的密码后,可以用su - oracle命令完成用户切换。

友情提示:su - oracle命令中间的 - 符号意思是切换同时做初始化,因为oracle的很多软件需要设置环境变量的,所以每次切换用户请保证带上-符号。

配置环境变量

我们接下来要为oracle账号设置环境变量,以便保证每次切换到oracle用户时,都可以直接使用sqlplus等命令。

将执行oracle_env.sh的命令写到bash_profile文件中,这样只要每次使用su - oracle命令切换后,会自动执行~/.bash_profile文件里的脚本,完成环境变量的初始化。

echo '. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh' >> ~/.bash_profile 复制代码

测试一下环境变量是否已设置成功。

source ~/.bash_profile 复制代码

执行后就可以使用sqlplus等命令了。

sqlplus /nolog 复制代码

至此,Oracle Database XE 安装配置完毕。

测试数据库监听

数据库虽然成功安装好了,但还是要验证一下是否可以正产连接比较好(而不是用sqlplus /nolog的方式,因为不走监听)。

直接用sqlplus连接数据库,用户名输入system,密码输入安装时的密码,看是否能够正常连上数据库。

sqlplus 复制代码

如果可以,证明数据库服务和监听都没问题了。

安装配置 ORDS

解压缩安装包

mkdir -p /u01/ords unzip /u01/media/ords.18.1.1.95.1251.zip -d /u01/ords/ 复制代码

执行安装脚本

cd /u01/ords java -jar ords.war install advanced 复制代码

按照提示完成ORDS的安装配置。

钢哥友情提示:这里的参数要认真填写,特别是数据库名称name of the database server,一定要跟数据库监听器里 /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora 保持一致,否则后面会因为ORDS连接不上数据库,导致访问报错。 另外这里要设置好几个数据库账号的密码,建议第一次安装时统一设置成一个,并做好记录,避免后面错乱。

为tomcat账号授权(需切换到root用户)

确保tomcat账号(安装Tomcat服务器时自动创建的)可以访问/u01/ords/config目录。

su - root chown -R tomcat:tomcat /u01/ords/config 复制代码

安装配置 APEX

卸载旧版本的APEX

由于Oracle Datebase XE自带了一个旧版本的APEX,在正式安装最新版APEX之前,我们需要将旧版本的卸载掉。

su - oracle cd /u01/app/oracle/product/11.2.0/xe/apex sqlplus /nolog -- 用数据库超级管理员连接数据库 SQL> connect sys as sysdba -- 卸载原有的旧版本APEX SQL> @apxremov.sql -- 退出当前数据库会话 SQL> exit 复制代码

安装最新版本APEX

确保仍然在oracle账号下,执行以下命令安装最新版本的APEX。

cd /u01/media mkdir -p /u01/apex unzip apex_5.1.4.zip -d /u01/ chown -R oracle:dba /u01/apex 复制代码

现在新的APEX安装文件已经放在/u01/apex/目录下了,登录数据库执行安装。

cd /u01/apex -- 以超级管理员身份登录数据库 sqlplus / as sysdba -- 安装APEX,指定默认表空间和静态文件别名 SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/ -- 安装完毕后数据库会话会自动断开,再次以超级管理员身份登录数据库 sqlplus / as sysdba -- 创建APEX实例管理员(Instance Administration)及密码,这个密码必须包含特殊符号,否则设置不上。这个密码很重要,是管理APEX平台的账号密码,以后创建新的应用schema、解锁账号等都靠它,第一次登录APEX时也要用到。 SQL> @apxchpwd.sql -- 配置RESTful Services服务 SQL> @apex_rest_config.sql -- 禁用数据库内置的PL/SQL网关 SQL> exec dbms_xdb.sethttpport(0); SQL> exec dbms_xdb.setftpport(0); -- 解锁ORDS用户账号 SQL> alter user apex_public_user account unlock; -- 断开数据库会话 SQL> exit 复制代码

复制APEX静态文件到Tomcat目录

钢哥提示:网上很多教程都是直接把APEX静态文件内容放到Web服务器(httpd、Nginx)的目录下,我个人推荐放到Tomcat目录下(/u01/tomcat/webapps/i/),这样做的好处是可以先测试APEX在Tomcat上是否能跑起来,如果可以,再将上边的目录映射到Nginx中。

## 切换到root用户 su - root ## 在Tomcat的webapps目录下新建一个名为`i`的文件夹 mkdir -p /u01/tomcat/webapps/i/ ## 将APEX静态文件复制过去 cp -a /u01/apex/images/* /u01/tomcat/webapps/i/ ## 重启Tomcat服务 systemctl restart tomcat 复制代码

将 ords.war 部署到 Tomcat

现在我们可以将刚才生成的ords.war文件部署到Tomcat上了。

cp -a /u01/ords/ords.war /u01/tomcat/webapps/ ## 重启Tomcat服务 systemctl restart tomcat 复制代码

测试 APEX + ORDS + Tomcat 的组合是否正常工作

打开浏览器,访问http://47.100.207.171:8080/ords,如果一切正常,应该可以访问到APEX的页面了。

  • workspace: INTERNAL
  • username: administrator
  • password: 你刚才设置的instance administration的密码

成功登录后界面如下图所示:

配置Nginx,将http请求转发到Tomcat

最后,我们需要配置一下Nginx,让所有的http请求都能自动转发到部署在Tomcat上的ORDS上,完成跟APEX的交互。

Nginx默认配置文件在/etc/nginx/nginx.conf,我们需要修改这个文件,主要修改server节点下的内容。

server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } # 增加了/i/目录的请求转发规则,/i/目录是APEX默认的静态文件目录别名。 location ^~ /i/ { alias /u01/tomcat/webapps/i/; } # 增加/ords/目录的请求转发规则,所有形如http://xxx.xxx.xxx.xxx/ords/的请求都会自动转发到http://xxx.xxx.xxx.xxx:8080/ords/上 # 即APEX请求都会由Tomcat接管 location ^~ /ords/ { proxy_pass http://localhost:8080/ords/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 20m; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } 复制代码

最终内容如下:

重启Nginx服务

systemctl restart nginx 复制代码

验证 APEX + ORDS + Tomcat + Nginx 的组合是否正常工作

打开浏览器,这次直接访问http://47.100.207.171/ords,如果一切顺利,应该就直接打开APEX的页面了。

总结

至此,Oracle XE数据库 + ORDS + Tomcat + Nginx 的完整开发环境就搭建好了。在接下来的文章里,钢哥将带你做进一步的优化,敬请期待。

 

 

汉化

 

 

Select username,created from dba_users where username like'APEX%';

查出APEX_0008

Alter session set current_schema=APEX_030200;

@F:/app/apex/builder/zh-c/load_zh-cn.sql

 

 

 

qlplus / as sysdba 脸上之后。

 

alter database mount ;

alter database open;

 

 

select 'grant select on ' || sequence_name || ' to itreport;' from dba_sequences where sequence_owner='USER_NAME';

本文转载自:https://wangfanggang.com/Oracle/Oracle-APEX/apex-series-4/

youfen
粉丝 4
博文 91
码字总数 60650
作品 0
广州
程序员
私信 提问
Oracle APEX 系列文章14:Oracle APEX 18.1 Docker 镜像

本文是钢哥的 Oracle APEX 系列文章的第14篇,完整文章目录如下: Oracle APEX 系列文章01:Oracle APEX, 让你秒变全栈开发的黑科技 Oracle APEX 系列文章02:在阿里云上打造属于你自己的APE...

钢钢更新
2018/09/05
0
0
Oracle APEX 系列文章8:如何从 APEX 5.1.4 升级到最新的 APEX 18.1

本文是钢哥的 Oracle APEX 系列文章的第8篇,完整文章目录如下: Oracle APEX 系列文章1:Oracle APEX, 让你秒变全栈开发的黑科技 Oracle APEX 系列文章2:在阿里云上打造属于你自己的APEX完...

kenny.wang
2018/05/29
0
0
在阿里云上打造属于你自己的APEX完整开发环境 (安装CentOS, Tomcat, Nginx)

Oracle APEX 系列文章3:在阿里云上打造属于你自己的APEX完整开发环境 (安装CentOS, Tomcat, Nginx) 本文是钢哥的Oracle APEX系列文章中的第三篇,完整 Oracle APEX 系列文章如下: Oracle A...

youfen
2018/07/27
74
0
Oracle APEX 系列文章6:Oracle APEX 到底适不适合企业环境?

本文是钢哥的Oracle APEX系列文章中的第六篇,完整 Oracle APEX 系列文章如下: Oracle APEX 系列文章1:Oracle APEX, 让你秒变全栈开发的黑科技 Oracle APEX 系列文章2:在阿里云上打造属于...

kenny.wang
2018/05/13
0
0
Linux上安装oracle application express

虚拟化平台192.168.75.26:用户root,密码CWXT#net 操作系统:OracleLinux-R6-U3-Server-x86_64-dvd.iso Oralce数据库:11.2.0.1x64 JDK:11.2.0.1x64 Tomcat:apache-tomcat-8.5.32 新建虚拟......

youfen
2018/07/27
215
0

没有更多内容

加载失败,请刷新页面

加载更多

Activity启动模式二

上篇文章Activity启动模式一主要介绍了Activity的四种启动模式,这些启动模式都是在AndroidManifest中进行配置的。除此之外,Android系统还通过Intent类提供了一些标志位,同样可以指定Activ...

ltlovezh
23分钟前
4
0
三原色还原

1、Color Filter Array — CFA 随着数码相机、手机的普及,CCD/CMOS 图像传感器近年来得到广泛的关注和应用。 图像传感器一般都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式...

天王盖地虎626
34分钟前
3
0
kubernetes pod exec接口调用

正文 一般生产环境上由于网络安全策略,大多数端口是不能为集群外部访问的。多个集群之间一般都是通过k8s的ApiServer组件提供的接口通信,如https://192.168.1.101:6443。所以在做云平台时,...

码农实战
今天
8
0
3_数组

3_数组

行者终成事
今天
8
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部