Preparación de una migración de MoodleHow to prepare for a Moodle migration

Antes de migrar una aplicación de Moodle desde el entorno local a Azure, debe exportar los datos.Before you migrate a Moodle application from your on-premises environment to Azure, you should export your data. En esta guía se explican los pasos del proceso de exportación.This guide explains the steps of the export process.

Instalación de la CLI de AzureInstall the Azure CLI

Siga estos pasos para configurar la CLI de Azure en el entorno local:Follow these steps to set up the Azure CLI in your on-premises environment:

  1. En un host que pueda usar para las tareas de Azure, escriba este comando para instalar la CLI de Azure:On a host that you can use for Azure tasks, enter this command to install the Azure CLI:

    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    
  2. En la CLI de Azure, escriba este comando para iniciar sesión en su cuenta de Azure:In the Azure CLI, enter this command to sign in to your Azure account:

    az login -u <username> -p <password>
    
  3. Si la CLI de Azure abre una pestaña o ventana del explorador, inicie sesión en Azure con su cuenta de Microsoft.If the Azure CLI opens a browser window or tab, sign in to Azure with your Microsoft account. Si no se abre una ventana del explorador, vaya a https://aka.ms/devicelogin y escriba el código de autorización que se muestra en el terminal.If a browser window doesn't open, go to https://aka.ms/devicelogin, and enter the authorization code displayed in your terminal.

una suscripciónCreate a subscription

Omita este paso si ya tiene una suscripción de Azure.Skip this step if you already have an Azure subscription.

Si no tiene una suscripción de Azure, puede crear una gratis.If you don't have an Azure subscription, you can create one for free. También puede configurar una suscripción de pago por uso, o bien puede crear una suscripción en Azure Portal.You can also either set up a pay-as-you-go subscription, or you can create a subscription in the Azure portal.

  • Para usar Azure Portal para crear una suscripción, abra Suscripciones, seleccione Agregar y escriba la información necesaria.To use the Azure portal to create a subscription, open Subscriptions, select Add, and enter the required information.

    Captura de pantalla de la página Suscripciones en Azure Portal.

  • Para usar la CLI de Azure para crear una suscripción, escriba este comando:To use the Azure CLI to create a subscription, enter this command:

    az account set --subscription '<subscription name>'
    

Este es un comando de ejemplo:An example command is:

az account set --subscription 'ComputePM LibrarySub'

Crear un grupo de recursosCreate a resource group

Una vez configurada la suscripción de Azure, cree un grupo de recursos en Azure mediante Azure Portal o la CLI de Azure.Once you set up your Azure subscription, create a resource group in Azure using either the Azure portal or the Azure CLI.

  • Para usar Azure Portal, siga estos pasos:To use the Azure portal, follow these steps:

    1. Abra Grupos de recursos y seleccione Agregar.Open Resource Groups, and select Add.

    2. Escriba el nombre de la suscripción, un nombre de grupo de recursos y una región.Enter your subscription name, a resource group name, and a region. Consulte Residencia de datos en Azure para obtener una lista de las regiones disponibles.See Data residency in Azure for a list of available regions. Anote el nombre del grupo de recursos que especifique para que pueda usar ese nombre en pasos posteriores.Make a note of the name of the resource group that you enter so that you can use that name in later steps.

    3. Seleccione Revisar + crear.Select Review + create.

    Captura de pantalla de la página Crear un grupo de recursos en Azure Portal, con casillas de Suscripción, Grupo de recursos y Región, y un botón Revisar y crear.

  • Para usar la CLI de Azure para crear un grupo de recursos, escriba este comando:To use the Azure CLI to create a resource group, enter this command:

    az group create -l <region> -n <resource group name> -s '<subscription name>'
    

    Por ejemplo, escriba:For example, enter:

    az group create -l eastus -n manual_migration -s 'ComputePM LibrarySub'

    El valor que se proporciona con el parámetro -l especifica la ubicación predeterminada.The value you provide with the -l parameter specifies the default location. Utilice la misma ubicación que se usó en pasos anteriores.Use the same location that you used in previous steps. Anote el nombre del grupo de recursos que cree para que pueda usarlo en pasos posteriores.Make a note of the name of the resource group that you create, and use that name in later steps.

Crear una cuenta de almacenamientoCreate a storage account

A continuación, cree una cuenta de almacenamiento dentro del grupo de recursos que acaba de crear:Next, create a storage account within the resource group that you just created. Usará esta cuenta de almacenamiento para realizar copias de seguridad de los datos de Moodle locales.You'll use this storage account to back up your on-premises Moodle data.

Puede usar Azure Portal o la CLI de Azure para crear una cuenta de almacenamiento.You can use either the Azure portal or the Azure CLI to create a storage account.

  • Para usar Azure Portal, siga estos pasos:To use the Azure portal, follow these steps:

    1. Vaya a Crear cuenta de almacenamiento.Go to Create storage account.

    2. Escribe la siguiente información:Enter the following information:

      • El nombre de la suscripción de AzureYour Azure subscription name
      • El nombre del grupo de recursos que acaba de crearThe name of the resource group that you just created
      • Un nombre de la cuenta de almacenamientoA storage account name
      • Su regiónYour region
    3. En Tipo de cuenta, seleccione BlobStorage en la lista desplegable.For Account kind, select BlobStorage from the drop-down list.

    4. En Replicación, seleccione Almacenamiento con redundancia geográfica con acceso de lectura (RA-GRS) en la lista desplegable.For Replication, select Read-access geo-redundant storage (RA-GRS) from the drop-down list.

    5. Seleccione Revisar + crear.Select Review + create.

    Captura de pantalla de la página Crear cuenta de almacenamiento en Azure Portal, con varios cuadros de entrada y un botón Revisar y crear.

  • Para usar la CLI de Azure para crear la cuenta de almacenamiento, escriba este comando:To use the Azure CLI to create the storage account, enter this command:

    az storage account create -n <storage account name> -g <resource group name> --sku <storage account SKU> --kind <storage account type> -l <region>
    

    Este es un comando de ejemplo:An example command is:

    az storage account create -n onpremisesstorage -g manual_migration --sku Standard_LRS --kind BlobStorage -l eastus

    El parámetro --kind especifica el tipo de cuenta de almacenamiento.The --kind parameter specifies the storage account's type.

Copia de seguridad de los datos localesBack up on-premises data

Antes de realizar una copia de seguridad de los datos de Moodle locales, active el modo de mantenimiento en el sitio web de Moodle siguiendo estos pasos:Before backing up your on-premises Moodle data, turn on Maintenance mode on your Moodle website by following these steps:

  1. En la instancia de Moodle en su entorno local, escriba este comando:From the Moodle instance in your on-premises environment, enter this command:

    sudo /usr/bin/php admin/cli/maintenance.php --enable
    
  2. Escriba el siguiente comando para comprobar el estado del sitio web de Moodle:Enter the following command to check the status of your Moodle website:

    sudo /usr/bin/php admin/cli/maintenance.php
    

Debe realizar las copias de seguridad de los archivos moodledata y Moodle locales, las configuraciones y las bases de datos en un único directorio.You should back up on-premises Moodle and moodledata files, configurations, and databases to a single directory. En el diagrama siguiente se resume esta recomendación:The following diagram summarizes this recommendation:

Diagrama que muestra la estructura del directorio de almacenamiento de copia de seguridad de Moodle.

Creación de un directorio de almacenamientoCreate a storage directory

Para copiar los datos, cree un directorio de almacenamiento vacío en cualquier ubicación que desee.Before copying your data, create an empty storage directory in any desired location. Por ejemplo, si la ubicación es /home/azureadmin, escriba estos comandos:For example, if the location is /home/azureadmin, enter these commands:

sudo -s
cd /home/azureadmin
mkdir storage

Copia de seguridad de directorios de MoodleBack up Moodle directories

En el entorno local, el directorio moodle contiene contenido HTML del sitio web.In your on-premises environment, the moodle directory contains website HTML content. El directorio moodledata contiene datos del sitio web de Moodle.The moodledata directory contains Moodle website data.

Escriba estos comandos para copiar los archivos de los directorios moodle y moodledata en el directorio de almacenamiento:Enter these commands to copy files from the moodle and moodledata directories into the storage directory:

cp -R /var/www/html/moodle /home/azureadmin/storage/
cp -R /var/moodledata /home/azureadmin/storage/

Copia de seguridad de las configuraciones de PHP y el servidor webBack up PHP and web server configurations

Para realizar una copia de seguridad de los archivos de configuración, siga estos pasos:To back up configuration files, follow these steps:

  1. Escriba estos comandos para crear un nuevo directorio en el directorio de almacenamiento:Enter these commands to create a new directory under your storage directory:

    cd /home/azureadmin/storage
    mkdir configuration
    
  2. Escriba estos comandos para copiar los archivos de configuración de PHP y NGINX:Enter these commands to copy the PHP and NGINX configuration files:

    cp -R /etc/php /home/azureadmin/storage/configuration/
    cp -R /etc/nginx /home/azureadmin/storage/configuration/
    

    El directorio php almacena los archivos de configuración de PHP, como php-fpm.conf, php.ini, pool.d y conf.d.The php directory stores PHP configuration files, such as php-fpm.conf, php.ini, pool.d, and conf.d. El directorio nginx almacena las configuraciones de nginx, como nginx.conf y sites-enabled/dns.conf.The nginx directory stores ngnix configurations, such as nginx.conf and sites-enabled/dns.conf.

Copia de seguridad de la base de datosBack up the database

Siga estos pasos para realizar una copia de seguridad de la base de datos:Follow these steps to back up your database:

  1. Escriba estos comandos para comprobar si mysql-client está instalado:Enter these commands to check whether mysql-client is installed:

    sudo -s
    mysql -V
    
  2. Si mysql-client está instalado, omita este paso.If mysql-client is installed, skip this step. En caso contrario, escriba este comando para instalar mysql-client:Otherwise, enter this command to install mysql-client:

    sudo apt-get install mysql-client
    
  3. Escriba este comando para hacer una copia de seguridad de la base de datos:Enter this command to back up the database:

    mysqldump -h <database server name> -u <database user ID> -p<database password> <database name> > /home/azureadmin/storage/database.sql
    

    Para <database server name>, <database user ID>, <database password> y <database name>, use los valores que usa la base de datos local.For <database server name>, <database user ID>, <database password>, and <database name>, use the values that your on-premises database uses.

Creación de un archivoCreate an archive

Escriba este comando para crear un archivo de almacenamiento, storage.tar.gz, para el directorio de copia de seguridad:Enter this command to create an archive file, storage.tar.gz, for your backup directory:

cd /home/azureadmin/ tar -zcvf storage.tar.gz storage

Descarga e instalación de AzCopyDownload and install AzCopy

Especifique los siguientes comandos para instalar AzCopy:Enter the following commands to install AzCopy:

sudo -s
wget https://aka.ms/downloadazcopy-v10-linux
tar -xvf downloadazcopy-v10-linux
sudo rm /usr/bin/azcopy
sudo cp ./azcopy_linux_amd64_*/azcopy /usr/bin/

Copia de los archivos almacenados en Azure Blob StorageCopy archived files to Azure Blob Storage

Siga estos pasos para utilizar AzCopy para copiar los archivos locales archivados en Azure Blob Storage.Follow these steps to use AzCopy to copy archived on-premises files to Azure Blob Storage.

Generación de un token de seguridadGenerate a security token

Para generar un token de firma de acceso compartido (SAS) para AzCopy, siga estos pasos:To generate a shared access signature (SAS) token for AzCopy, follow these steps:

  1. En Azure Portal, vaya a la página de la cuenta de almacenamiento que creó anteriormente.In the Azure portal, go to the page for the storage account you created earlier.

  2. En el panel izquierdo, seleccione Firma de acceso compartido.In the left panel, select Shared access signature.

    Captura de pantalla de la página de Azure Portal para una cuenta de almacenamiento, con la opción Firma de acceso compartido resaltada en el panel izquierdo.

  3. En Tipos de recursos permitidos, seleccione Contenedor.Under Allowed resource types, select Container.

  4. En Fecha y hora de inicio y caducidad, escriba una hora de inicio y de finalización para el token de SAS.Under Start and expiry date/time, enter a start and end time for the SAS token.

  5. Seleccione Generar la cadena de conexión y SAS.Select Generate SAS and connection string.

    Captura de pantalla de Azure Portal que muestra la página Firma de acceso compartido para una cuenta de almacenamiento.

  6. Realice una copia del token de SAS para usarlo en pasos posteriores.Make a copy of the SAS token to use in later steps.

Crear un contenedorCreate a container

Cree un contenedor en la cuenta de almacenamiento.Create a container in the storage account. Puede usar la CLI de Azure o Azure Portal para este paso.You can either use the Azure CLI or the Azure portal for this step.

  • Para usar la CLI de Azure, escriba este comando:To use the Azure CLI, enter this command:

    az storage container create --account-name <storage account name> --name <container name> --auth-mode login
    

    Este es un comando de ejemplo:An example command is:

    az storage container create --account-name onpremisesstorage --name migration --auth-mode login

    Cuando se usa el parámetro --auth-mode con un valor de login, Azure usa sus credenciales para la autenticación y, a continuación, crea el contenedor.When you use the --auth-mode parameter with a value of login, Azure uses your credentials for authentication and then creates the container.

  • Para usar Azure Portal para crear el contenedor, siga estos pasos:To use the Azure portal to create the container, follow these steps:

    1. En el portal, vaya a la página de la cuenta de almacenamiento que creó anteriormente.In the portal, go to the page for the storage account you created earlier.

    2. Seleccione Contenedor y, luego, seleccione Agregar.Select Container, and then select Add.

    3. Escriba un nombre para el contenedor y, después, seleccione Crear.Enter a name for the container, and then select Create.

      Captura de pantalla de un cuadro de diálogo en Azure Portal para crear un nuevo contenedor, con una casilla Nombre y un botón Crear.

Copia del archivo de almacenamiento en Azure Blob StorageCopy the archive file to Azure Blob Storage

Escriba este comando para copiar el archivo de almacenamiento en el contenedor que creó en Blob Storage:Enter this command to copy your archive file to the container that you created in Blob Storage:

sudo azcopy copy /home/azureadmin/storage.tar.gz 'https://<storage account name>.blob.core.windows.net/<container name>/<SAS token>'

Este es un comando de ejemplo:An example command is:

azcopy copy /home/azureadmin/storage.tar.gz 'https://onpremisesstorage.blob.core.windows.net/migration/?sv=2019-12-12&ss='

Su cuenta de Blob Storage ahora debe contener una copia del archivo.Your Blob Storage account should now contain a copy of your archive.

Captura de pantalla de una página de Azure Portal que muestra las cuentas de Blob Storage.

Pasos siguientesNext steps

Continúe con Arquitectura y plantillas de migración de Moodle.Continue to Moodle migration architecture and templates.