= Drupal HowTo Copy site to test server
Tags: [[Drupal]] [[HowTo]]
== Process
1. Run the [[https://www.drupal.org/node/59373|Full backup script]] to produce a file called something like {{{sitebackup-YYYY-MM-DD.tgz}}}
1. {{{scp}}} the tar file to the new server
1. {{{tar -zxvf sitebackup-YYYY-MM-DD.tgz}}}, which will produce 2 files called {{{dbcontent.sql}}} and {{{filecontent.tar}}}
1. Create a directory for the web folder `mkdir /local/www/{site name}`
1. Copy {{{filecontent.tar}}} into the web folder
1. Cd into the web folder and unpack the tar file `tar -xvf filecontent.tar`
1. Amend the settings file in `{web folder}/sites/default/settings.php`
1. Change `$base_url` to the appropriate address
1. Change the database, username and password settings to appropriate values.
1. Log into MySql
1. Create the database using {{{CREATE DATABASE {databasename} CHARACTER SET utf8 COLLATE utf8_general_ci;}}}
1. Grant the user permissions to the database using {{{GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON {databasename}.* TO '{username}'@'localhost' IDENTIFIED BY '{password}';}}}
1. **This user should not be the admin user account**
1. Restore the contents to the database using {{{mysql -u {username} -p {database} < dbcontent.sql}}}
1. Change the apache config file `/local/apache2/etc/httpd.conf`
1. Remove the section:
{{{
DocumentRoot "/local/www/htdocs"
Options None
AllowOverride None
Order allow,deny
Allow from all
}}}
1. And replace it with:
{{{
DocumentRoot "/local/www/{site name}/"
Options FollowSymLinks Indexes
AllowOverride None
Order allow,deny
Allow from all
Include /local/www/{site name}/.htaccess
}}}
1. Restart Apache
[[BackLinks]]