注意:
- Oracle 提供的免费实验室环境中提供了此教程。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请用特定于您的云环境的实验室值替换这些值。
使用 MySQL 数据库在 Oracle Linux 上安装 Drupal CMS
简介
Drupal 是以 PHP 编写的 Web 内容管理系统 (CMS)。Drupal 为全球各地的网站提供基础设施 - 从个人博客到企业、政治和政府网站。非常可扩展和模块化,可用于多种场景。
可以从本研习会开始,在 Oracle Linux 和 Oracle MySQL Database Service 上构建完整的安装。
成功步骤
在此研讨会中,您将学习:
- 创建 VCN 和子网
- 创建 Linux 实例
- 安装和配置 Apache HTTP Server
- 创建和填充 MySQL Database Service 实例
- 安装和配置 Drupal
先决条件
- 您需要 Oracle Cloud Infrastructure 账户。
- Web 浏览器
- SSH 终端 - Cloud Shell(在 OCI 控制台中提供)。或者,使用 SSH(Linux 或 MAC)的终端、使用 GitBash/Putty 或 WSL(Windows 子系统 for Linux)的 Windows 计算机。
创建您的虚拟云网络和相关组件
创建 VCN 和子网
设置虚拟云网络 (VCN) 以将 Linux 实例连接到互联网。您将配置创建虚拟网络所需的所有组件。
-
打开导航菜单。在“Core Infrastructure(核心基础结构)”下,转到“Networking(网络)”并单击“Virtual Cloud Networks(虚拟云网络)”。
确保在左侧的“区间”列表中选择了区间(或为您指定的区间)。
-
单击启动 VCN 向导。
-
选择“具有 Internet 连接的 VCN”,然后单击启动 VCN 向导。
-
输入以下内容(说明是斜体化的,替换为方案的值):
-
名称:输入云网络的名称
-
比较:选择所需的区间
-
VCN CIDR 块: 10.0.0.0.0/16
-
公共子网 CIDR 块: 10.0.0.0/24
-
专用子网 CIDR 块: 10.0.1.0/24
-
DNS 解析: checked
注意,公共和专用子网具有不同的 CIDR 块。
-
-
单击“下一步”。
此时将显示“Create a VCN with Internet Connection(使用 Internet 连接创建 VCN)”配置对话框,确认刚输入的所有值并列出将要创建的其他组件。
-
单击创建以启动工作流。
-
工作流完成后,单击查看虚拟云网络,您将被定向到您创建的 VCN 的详细信息页。
配置安全列表以允许 HTTP 传入连接
在默认安全列表中创建允许端口 80/TCP 和 443/TCP 上传入连接的规则。
-
单击“View Virtual Cloud Network(查看虚拟云网络)”以查看新 VCN。
-
显示新 VCN 后,单击“Public subnet(公共子网)”链接。
公共子网信息与安全列表一起显示在页面底部。应具有指向 VCN 的默认安全列表的链接。
-
单击默认安全性列表链接。
此时将显示 VCN 的默认入站规则。
-
单击 "Add Ingress Rules"。
此时将显示添加入站规则对话框。
-
输入以下信息:
-
无状态:不选择
-
源类型:CIDR
-
来源 CIDR:0.0.0.0/0
-
IP 协议:TCP
-
源端口范围:(留空)
-
目的地端口范围:80
-
说明:允许 HTTP 连接
单击添加入站规则后,将允许入站 HTTP 连接。
-
-
重复步骤 1-4,然后输入以下内容:
-
无状态:不选择
-
源类型:CIDR
-
来源 CIDR:0.0.0.0/0
-
IP 协议:TCP
-
源端口范围:(留空)
-
目的地端口范围:443
-
说明:允许 HTTPS 连接
单击添加入站规则后,将允许入站 HTTPS 连接。
-
配置安全列表以允许 MySQL 传入连接
在专用子网的安全列表 -VCN 名称 安全列表中创建一个规则,以允许端口 3306/TCP 和 33060/TCP 上的传入连接。
-
单击“View Virtual Cloud Network(查看虚拟云网络)”以查看新 VCN。
-
显示新 VCN 后,单击您的专用子网链接。
专用子网信息与安全列表一起显示在页面底部。应该有一个指向专用子网的安全列表 -VCN 名称 的链接。
-
单击专用子网的安全列表 -VCN 名称 链接。
此时将显示 VCN 的默认入站规则。
-
单击 "Add Ingress Rules"。
此时将显示添加入站规则对话框。
-
输入以下信息:
- 无状态:不选择
- 源类型:CIDR
- 来源 CIDR:10.0.0.0/24
- IP 协议:TCP
- 源端口范围:(留空)
- 目的地端口范围:3306
- 说明:允许 MySQL 连接
单击添加入站规则后,允许来自公共子网的入站 MySQL 连接。
-
重复步骤 1-4,然后输入以下内容:
- 无状态:不选择
- 源类型:CIDR
- 来源 CIDR:10.0.0.0/24
- IP 协议:TCP
- 源端口范围:(留空)
- 目的地端口范围:33060
- 说明:允许 MySQL X 连接
单击添加入站规则后,允许来自公共子网的入站 MySQL X 连接。
创建和配置 Oracle MySQL Database Service
创建 Oracle MySQL Database Service 所需策略
注意:如果您使用的是免费的 Oracle 提供的上机操作实验,则不需要创建此策略。可以转到“创建 Oracle MySQL Database Service”部分。
-
打开导航菜单。在监管和管理下,转到身份并单击策略。
-
在“Policies(策略)”页的“List Scope(列表范围)”下,选择区间 (root) 并单击“Create Policy(创建策略)”按钮。
-
输入以下信息:
- 名称: policy name
- 区间: (root)
-
在策略生成器中,单击自定义(高级)。
-
输入以下必需的 MySQL Database 服务策略:
策略语句
- 允许组管理员在租户中 {COMPARTMENT_INSPECT}
- 允许组管理员在租户中 {VCN_READ,SUBNET_READ,SUBNET_ATTACH,SUBNET_DETACH}
- 允许组管理员管理租户中的 mysql-family
-
单击创建。
创建 Oracle MySQL Database Service
-
打开导航菜单。在 Database(数据库)下,转至 MySQL ,然后单击 DB Systems(数据库系统)。
-
在数据库系统页上,选择区间并单击创建 MySQL 数据库系统。
-
输入以下信息:
- 名称: DB system name
- 说明:MySQL system Description
- 区间:选择区间
- 选择可用性域:选择可用性域
- 容错域:可选。可以保持未选中状态
- 选择配置:通过单击更改配置来选择所需的配置
- 数据存储大小 (GB):输入所需的存储大小
- 维护时段开始时间:无
-
单击下一步转至数据库信息屏幕。
-
输入以下信息:
- 用户名: administrator user name
- 口令: admin password
- 确认密码: admin password
- 虚拟云网络:选择 VCN 区间
- 虚拟云网络:选择专用 VCN
- 主机名:主机名
- MySQL 端口: 3306
- MySQL X 协议端口: 33060
-
单击下一步转至备份信息屏幕。
-
输入以下信息:
- 启用自动备份:选中
- 备份保留期: 7
- 默认备份窗口:选中
-
您将转到 MySQL 数据库系统的详细信息页面。黄色六边形变为绿色后,即会预配并启动并运行您的数据库系统。
创建 VM 计算实例并配置 Apache 和 PHP
创建 Oracle Linux 实例以托管 Apache Web 服务器。
-
打开 Oracle Cloud Infrastructure 主菜单。
-
依次选择计算和实例。
-
从实例列表中单击创建实例。
-
输入实例名称。
-
选择要在其中创建实例的分区。
-
完成“配置放置和硬件”部分中的以下内容:
- 可用性域:选择要在其中创建实例的可用性域
- 容错域:可选。可以保持未选中状态
- 映像:最新 Oracle Linux(默认情况下,已选择支持的最新版本)
- 配置:选择所需的配置
-
完成配置网络部分中的以下内容:
- 网络选择现有虚拟云网络
- 虚拟云网络位于:选择具有所需 VCN 的区间
- 网络:选择虚拟网络云网络
- 子网位于:选择具有所需 VCN 的区间
- 子网:选择公共子网 *
- 使用网络安全组控制流量: unchecked
- 公共 IP 地址: Assign a public IPv4 address
-
在添加 SSH 密钥部分中:
如果您没有 SSH 密钥对:
- 选择生成 SSH 密钥对。
- 单击保存专用密钥,然后按照浏览器提示保存专用密钥。
- 单击保存公共密钥,然后按照浏览器提示保存公共密钥。
如果您有公共密钥,可以:
- 选择选择公共密钥文件
- 将公钥文件拖放到上方或或者浏览到某个位置,找到该位置并选择文件。或者
- 选择粘贴公共密钥。
- 将公钥值粘贴到 SSH 密钥中(可以通过单击其他密钥来添加多个密钥)。
-
在配置引导卷中,取消选中所有选项。
-
单击创建。
-
您将转到实例的详细信息页面。黄色正方形变为绿色后,您的实例将被预配、启动并运行。
使用 PHP 安装和配置 Apache HTTP 服务器
-
打开 Oracle Cloud Infrastructure 主菜单。
-
依次选择计算和实例。
-
从实例列表中,单击要配置 HTTP 服务器的实例名称。
-
加载实例详细信息后,可在右侧的公共 IP 地址:的实例访问下找到。复制公共 IP 访问。
-
从终端(Cloud Shell 或任何其他启用 SSH 的终端)连接到实例:
ssh -i </path/private key file> opc@<instance's public IP>
-
安装 Apache HTTP Server 和 php。将自动解析并安装相关项。
sudo yum install -y httpd
-
启用和启动 Apache HTTP Server。
sudo systemctl enable httpd --now
-
允许在本地 iptables 防火墙中使用 HTTP 和 HTTPS。
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload
-
添加额外的资料档案库:
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi-php74
-
安装 PHP。
sudo yum install -y php sudo systemctl restart httpd
-
创建测试 Php 页面。
echo -e '<?php \nphpinfo();' | sudo tee /var/www/html/test.php
-
在 Web 浏览器中,导航到 http://public server IP/test.php 。
安装 MySQL 和 MySQL Shell
-
安装 MySQL 发行版软件包。
sudo yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
-
安装 MySQL Shell。
sudo yum -y install mysql-shell
安装 Drupal CMS
在您的 Oracle Linux 实例中安装 Drupal
-
从启用了 SSH 的终端,SSH 到将安装 Drupal 的 Oracle Linux 实例。
ssh -i <path/private key> opc@<instance public IP>
-
安装 Drupal 所需的程序包。
sudo yum install -y php-mbstring php-gd php-xml php-pear php-fpm php-mysql php-pdo php-opcach sudo systemctl restart httpd
-
编辑 httpd.conf。
sudo vim /etc/httpd/conf/httpd.conf
-
找到部分 <Directory "/var/www/html"> ,并在该部分中将 AllowOverride All 更改为 AllowOverride None 。您可以在找到文件之前导航该文件,或者按 "/",然后输入 Options Indexes FollowSymLinks 。
-
重新启动 Apache。
sudo systemctl restart httpd
-
从 Drupal 网站下载 Drupal。
curl -L -o drupallatest.tar.gz https://www.drupal.org/download-latest/tar.gz
-
将 latest.tar.gz 提取到 /var/www/html(Apache 文档根目录)。
sudo tar zxf drupallatest.tar.gz -C /var/www/html/ --strip 1
-
调整所有权。
sudo chown apache. -R /var/www/html/
-
创建 settings.php。
cd /var/www/html/sites/default/ cp default.settings.php settings.php
-
调整所有权。
sudo chown apache. -R /var/www/html/
- 调整 SE Linux。
sudo chcon -R -t httpd_sys_content_rw_t /var/www/html/sites/
- 允许 Apache 连接到外部数据库。
sudo setsebool -P httpd_can_network_connect_db 1
- 使用 MySQL Shell 连接到 MDS 数据库。
mysqlsh --sql -u admin -h <MDS end point IP>
- 创建 Drupal 数据库和用户。
create database drupal;
create user drupaluser IDENTIFIED BY 'ComplexPass0rd!';
GRANT ALL PRIVILEGES ON drupal.* To drupaluser;
\quit
-
从浏览器访问 http:// 实例公共 IP/。
-
选择语言,然后单击保存并继续。
-
选择安装配置文件,选择标准配置文件,然后单击保存并继续。
-
如果所有设置都正确,您将看到数据库配置页面。填写以下信息:
- 数据库类型:MySQL、MariaDB、Percona Server 或等效项
- 数据库名称:drupal
- 数据库用户名:drupaluser
- 数据库密码:ComplexPass0rd!展开高级选项
- 主机:MDS IP 地址
-
单击 Install site 。
-
通过输入以下信息来配置站点:
- 站点名称:选择您的站点名称
- 网站电子邮件地址:网站自动发送电子邮件的电子邮件帐户
- 用户名:Drupal 管理员
- 密码:Drupal 管理员密码
- 确认密码:确认密码
- 电子邮件地址:
- 默认的国家/地区:选择国家/地区
- 默认时区:选择时区
- 自动检查更新:已选中
- 接收电子邮件通知:未选中
-
单击保存并继续。
-
从浏览器访问 http:// 实例公共 IP/ 中,使用管理员用户登录并开始定制网站。
相关链接
确认
作者:Orlando Gentil 和 Frédéric Descamps
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或在 Oracle Learning YouTube 频道上访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Install Drupal CMS on Oracle Linux with MySQL database
F38453-06
September 2022
Copyright © 2022, Oracle and/or its affiliates.