Drupal集成环境: 基于Acquia Dev Desktop的数据恢复

Acquia Dev Desktophttps://dev.acquia.com/downloads)是Windows系统和MacOS系统下,集Apache2、Mysql、PHP、drush环境的集成工具,专为Drupal而生,安装和使用都极其简单。在进行Drupal相关开发测试中,具备LAMP、LAPP、WAMP、XAMPP等集成环境所不具备的简单和直接。本篇将直接从该工具的使用过程进行,探讨它在站点恢复方面的能力。

*Acquia Dev Desktop的使用,需要熟悉它的界面菜单,以及关键的文件夹功能。

1. Acquia Dev Desktop基本功能菜单

Acquia Dev Desktop可从这里https://dev.acquia.com/downloads下载,安装后界面极其简洁。如下,"+"和"-"按钮用于站点的创建、导入和删除,而"More"按钮则用于终端窗口的开启、数据库管理工具PhpMyadmin的打开、站点备份等。

2. Acquia Dev Desktop文件结构

Acquia Dev Desktop包含了Apache2、Mysql和PHP环境。它在Windows系统,其重要的文件结构如下:

C:\Program Files (x86)\DevDesktop
                                          |--apache
                                          |     |--conf
                                          |       |--httpd.conf #apache配置文件
                                          |
                                          |--php7_0  
                                          |     |--php.ini #php环境参数配置文件,常见的参数有upload_max_filesize = 2M
                                          |        #max_input_time = 60,memory_limit = 128
                                          |                         #max_execution_time = 30,post_max_size = 8M
                                          |                         #这些参数修改后,必须利用Acquia Dev Desktop面板上的"Stop"按钮来进行重启服务,以将新配置参数调入。
                                             |--php5_6
                                             |     |--php.ini
 

C:\Users\Administrator\Sites\devdesktop #站点文件夹存放的位置
                                                         |--www_ilabmed_Drupal7
C:\Users\Administrator\.acquia\DevDesktop
                             |--DrupalSettings #站点数据库配置文件,通过sites/default/settings.php文件中的末尾的代码行if (isset($_SERVER['DEVDESKTOP_DRUPAL_SETTINGS_DIR'来转引。
                             |        |--loc_liumwei_dd.inc

3. 基于Acquia Dev Desktop的站点恢复

我们可以从https://www.mobantu.com/drupal下载一个主题发行版(带有sql数据文件),然后将下载得到的核心包放入C:\Users\Administrator\Sites\devdesktop中,然后开启数据恢复操作。

基本的思路是

A. 已有站点包解压放入 C:\Users\Administrator \Sites\devdesktop文件夹中(在已经装好LAMP环境的Debian/Ubuntu Linux中,默认站点服务目录为/var/www/html);

B. 基于Acquia Dev Dektop图形界面工具导入相应站点文件夹和数据库sql文件;

C. 若数据导入错误,可基于phpmyadmin工具对sql文件导入错误进行重导入修复;

D. 确认站点文件夹下的sites/default/settings.php或C:\Users\Administrator\.acquia\DevDesktop\DrupalSettings\*.inc数据库链接配置;

E. 确认站点文件夹下 C:\Users\Administrator \Sites\devdesktop\xxx\sites\default\files及 C:\Users\Administrator \Sites\devdesktop\xxx\sites\all\translations目录可读写;

F. 基于Drush命令修改默认用户的登录密码。

具体如下:

3.1 点击"import local Drupal site...",如下:

 

3.2 设置Local codebase folder、Local site name、Use PHP、Database等,如下:

注意:PHP的版本号(选7.0.*性能比5.*性能要高);Database处,选择"Start with MySQL database dump file",然后找到该主题发行版的sql文件(以.sql结尾的文件)

3.3 点击"OK",执行导入

如果一切顺利,可以看到如上的结果,此时可以点击"Local site"处的链接地址,打开站点了。如果出现如下的错误,还需要如下的操作过程:

这个界面的弹出,说明sql数据文件导入出错。此时,可采用phpmyadmin来修复操作,具体操作如下:

3.4 mysql数据导入修复操作:

在More菜单中,点击"Open Database Manager...",进入到Mysql数据库管理界面(默认访问地址是http://localhost:8083/phpmyadmin。在已经装好LAMP环境的Debian/Ubuntu Linux中,默认访问地址为http://localhost/phpmyadmin)中,并将其中的数据表选中进行删除,如下:

选中所有数据表,选择"删除",如下:

执行删除过程,如下:

将数据库中的所有数据表删除:

重新进行数据导入,如下:

注意:采用phpmyadmin进行数据导入时,默认需将sql数据文件压缩为zip文件,同时大小限制在2M。因此,此处的操作,还需要先压缩sql,然后修改php.ini配置文件(位于C:/Program Files (x86)/DevDesktop/php7_0/php.ini。在安装好LAMP环境的Debian/Ubuntu Linux中,对应的配置文件在/etc/php/7.0/apache2/php.ini),使之突破限制。将下列参数修改为对应更大值后,利用Acquia Dev Desktop面板上的按钮,重启Apache2服务。

upload_max_filesize = 2M #可修改为200M或者更大
max_input_time = 60 #可修改为600或者更大
memory_limit = 128M #可修改为1280M或者更大,如果你的内存容量够大。
max_execution_time = 30 #可修改为300或者更大
post_max_size = 8M #可修改为200M或者更大

上述参数修改重启apache服务后(Debian/Ubuntu Linux中可在终端下使用命令sudo service apache2 restart来重启服务),可看到支持上传大小从原来的2M变大到200M,如下:

加载压缩的sql文件,导入可以成功进行了:

此时回到Acquia Dev Desktop,点击导入的站点地址,即可访问成功了。

执行drush命令修改用户admin的登录密码:

drush user-password admin --password="000"

 

后记:当然,如果是在Debian 7.0/Ubuntu Linux 14.04以上系统,我们可以在LAMP环境下进行上述相应的操作。上述的操作过程将限于Apache2网站服务目录(/var/www/html,可修改/etc/apache2/apache2.conf将其置于/var/www目录)、/etc/php/7.0/apache2/php.ini配置文件修改(PHP 7,与上述相应过程相同))、phpmyadmin数据导入操作(与上述相应过程相同)、位于/var/www/html/站点文件夹/sites/default/settings.php数据库连接参数及站点文件夹下sites/default/files及sites/all/translations(可使用命令chmod -R 777 /var/www/html/xxx/sites/default/files && chmod -R 777 var/www/html/xxx/sites/all/translations)目录可读写。