手动搭建Drupal网站(Alibaba Cloud Linux 3/2、CentOS 7.x/8.x)

更新时间:2025-02-18 06:08:16

Drupal是使用PHP语言编写的开源内容管理框架(CMF),由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。它用于构建提供多种功能和服务的动态网站,能支持从个人博客到大型社区等各种不同应用的网站项目。本文介绍如何在Alibaba Cloud Linux 3/2、CentOS 7.x/8.x系统的ECS实例中搭建Drupal电子商务网站。

准备工作

  1. 创建用于部署Drupal网站的ECS实例。具体操作,请参见自定义购买实例

    该实例必须满足以下条件:

    • 操作系统:Alibaba Cloud Linux 3/2、CentOS 7.x/8.x。

    • 实例已分配固定公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定EIP

    • 实例安全组的入方向规则已放行22、80端口。具体操作,请参见添加安全组规则

  2. 部署LAMP环境。

    重要

    DrupalPHP的版本有依赖关系,若版本不匹配则无法安装Drupal。具体依赖请参见Drupal官方文档。本文档以安装Drupal 11.1.0、PHP 8.48.3为例。

    具体操作,请参见手动部署LAMP环境

操作步骤

  1. 远程连接已部署LAMP环境的ECS实例。

    具体操作,请参见使用Workbench工具以SSH协议登录Linux实例

  2. 安装所需工具及相关依赖。

    #安装Composer,并为Composer赋予可执行权限
    sudo php -r "copy('https://mirrors.aliyun.com/composer/composer.phar', '/usr/local/bin/composer');"
    sudo chmod +x /usr/local/bin/composer
    #安装PHP相关扩展
    sudo yum install -y php-gd php-pdo php-opcache php-xml php-dom php-simplexml php-zip unzip
    #重启Apache服务,使扩展生效
    sudo systemctl restart httpd
    #安装Git
    sudo yum install -y git
  3. 下载Drupal。

    进入Apache默认的网站目录,使用Composer下载Drupal核心软件,该操作会在当前目录下创建一个新的目录my_site,您可以通过修改命令中的版本号(例如11.1.0)来指定下载的Drupal版本。

    重要

    如果您的服务器在中国内地,请执行以下命令设置阿里云镜像源,提升下载速度。

    sudo /usr/local/bin/composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    #进入Apache默认的网站目录
    cd /var/www/html
    #使用Composer下载Drupal核心软件
    sudo /usr/local/bin/composer create-project drupal/recommended-project:11.1.0 "my_site"
  4. 配置Drupal。

    1. 下载中文翻译包,并为Drupal安装过程中需要的目录和文件赋予写权限,以便顺利完成后续的Drupal安装。

      说明
      • 如果您下载的是其他版本的Drupal,您可以修改下方命令中的版本号,以下载对应版本的中文翻译包。例如下载10.3.0版本的Drupal时,可修改为sudo wget -P sites/default/files/translations https://ftp-origin.drupal.org/files/translations/all/drupal/drupal-10.3.0-beta1.zh-hans.po

      • 如果您想在之后安装Drupal时,选择安装语言为英文,则可以不下载中文翻译包。

      #进入my_site/web目录
      cd /var/www/html/my_site/web
      #创建相关目录
      sudo mkdir -p sites/default/files/translations
      #下载中文翻译包(如果您想在之后安装Drupal时,选择安装语言为英文,则可以不下载中文翻译包)
      sudo wget -P sites/default/files/translations https://ftp-origin.drupal.org/files/translations/all/drupal/drupal-11.1.0-beta1.zh-hans.po
      #为sites/default/files目录添加写权限
      sudo chmod a+w sites/default/files
      #创建Drupal安装配置文件sites/default/settings.php并添加写权限
      sudo cp sites/default/default.settings.php sites/default/settings.php
      sudo chmod a+w sites/default/settings.php
    2. Apache服务开启简洁URL。

      1. 打开Apache配置文件。

        sudo vim /etc/httpd/conf/httpd.conf
      2. i键进入编辑模式,将以下内容添加至配置文件中。

        <Directory "/var/www/html/my_site/web">
            AllowOverride All
            Require all granted
        </Directory>

        添加后,输入:wq,按Enter键保存并退出。

      3. 重启Apache服务。

        sudo systemctl restart httpd
  5. 安装Drupal。

    1. 在本地浏览器输入http://<ECS实例公网IP地址>/my_site/web ,进入到Drupal安装界面。

    2. 选择安装语言,单击Save and continue

      image

    3. 选择标准安装方式,单击保存并继续

      image

    4. 系统会自动检查当前环境是否符合安装要求。

      • 若符合要求,自动跳转至下一步。

      • 若有未符合要求的内容,将在检查时提出警告,您可以根据警告内容进行修复。修复后,在页面下方单击重试即可重新检查。

        例如,出现如下警告,可以执行yum install -y php-mbstring命令安装该扩展,安装后,执行sudo systemctl restart httpd命令使扩展生效,即可修复该警告。

        image

    5. 配置数据库文件,单击保存并继续

      image

    6. 自动安装完成后进入网站设置界面,填写站点信息,单击保存并继续

      image

      image

  6. 安装完成后,进入Drupal网站页面,您可以根据您的需求对网站进行个性化设置。

    后续操作

    重要

    安装完成后,建议您执行以下命令移除sites/defaultsites/default/filessites/default/settings.php的写权限以避免安全风险。

    sudo chmod a-w /var/www/html/sites/default
    sudo chmod a-w /var/www/html/sites/default/files
    sudo chmod a-w /var/www/html/sites/default/settings.php

常见问题

无法访问Drupal网站的排查思路?

  1. 排查php-fpmMySQL是否已启动。

    1. 执行以下命令,查看php-fpm的状态。

      sudo systemctl status php-fpm
      • 如果状态为Running,表示php-fpm已启动,请继续执行下一步。

      • 如果状态为非Running,表示php-fpm没有启动,请执行以下命令启动php-fpm。

        sudo systemctl start php-fpm
    2. 执行以下命令,查看MySQL的状态。

      sudo systemctl status mysqld
      • 如果状态为Running,表示MySQL已启动,请继续执行下一步。

      • 如果状态为非Running,表示MySQL没有启动,请执行以下命令启动MySQL。

        sudo systemctl start mysqld
  2. 排查DrupaPHP的版本是否匹配。

    DrupalPHP的版本有依赖关系,否则会无法安装Drupal。具体依赖请参见Drupal官方文档

    若您已安装的PHP版本与Drupal版本不匹配,请先卸载不匹配版本的PHP,再安装匹配版本的PHP。

  • 本页导读 (1)
  • 准备工作
  • 操作步骤
  • 常见问题