Hi guys! I'm sharing to you the steps in migrating your Arches server from AWS to Microsoft Azure. I must admit the whole migration was pretty hard, since AWS doesn't allow you to export your Linux EC2 instances to another cloud provider. But after weeks of trial and error, I'm finally able to migrate it completely. :)
These steps will work, assuming your Arches is installed on an Ubuntu server running on an EC2 instance, and you're using S3 for your image and file storage. 1.) Launch an Ubuntu 14.04 LTS virtual machine on your Azure portal. Make sure your virtual machine has the same security group settings that you have on your AWS EC2 instance. 2.) Log in to your Ubuntu server, then create your root password sudo passwd root To allow remote login using root, you also need to edit the file /etc/ssh/sshd_config, and comment out the following line: PermitRootLogin without-password Just below it, add the following line: PermitRootLogin yes Save the file, then restart SSH: service ssh restart 3.) Create an Azure storage account, then launch an Azure storage container. Once you created the container, get the Azure container name and access key, which you will use on step #5. 4.) Get your AWS Access Key ID and Secret Access Key from your AWS Console's IAM, which you will use on step #5. 5.) Migrate your AWS S3 bucket to the new Azure storage container using Flexify.io. Create a free account on Flexify, then launch a migration task. I was able to migrate all my files totalling 6.5GB in just about 20 minutes. 6.) Start the server migration process from AWS EC2 to Azure using a custom rsync shell script. Follow the pretty straightforward steps from this link here: https://cloudnull.io/2012/07/cloud-server-migration (Go to the section that says *Migrate using RSYNC The Easy Way *and follow the steps there). After the migration, the new server will automatically reboot itself. *Note: the rsync shell script uses Rackspace directory defaults, but it worked pretty fine on me, so just hit ENTER to continue when you're prompted to apply the default* 7.) Login to the new server, then restart Elasticsearch and Apache. By this point, your new server is now hosting Arches, and you can already open Arches on your browser. However it's still pointing to the old S3 bucket. 8.) Install the django-storages-redux by following the steps from here: https://github.com/schumannd/django-storages. This is a forked django-storages package, because the original django-storages has seen no commit applied since March 2014, and there were errors on the AzureStorage library. 9.) Comment out the AWS variables on settings.py and instead add these variables: DEFAULT_FILE_STORAGE = 'storages.backends.azure_storage.AzureStorage' AZURE_ACCOUNT_NAME = '<your Azure account name>' AZURE_ACCOUNT_KEY = '<your Azure access key>' AZURE_CONTAINER = '<your container name>' MEDIA_URL = '<the URL of your Azure container, which is normally https://your_azure_account_name.blob.core.windows.net/your_azure_container>' 10.) Save your settings.py file, then restart your Apache server. *And you're done! *You can now point your domain to the new Azure virtual machine and start decommissioning your AWS resources. If there's any problem you're encountering, please let me know here and I'd be happy to help! Special thanks to Adam Cox for helping me out on some parts of this migration process! Regards, Joel -- -- To post, send email to archesproject@googlegroups.com. To unsubscribe, send email to archesproject+unsubscr...@googlegroups.com. For more information, visit https://groups.google.com/d/forum/archesproject?hl=en --- You received this message because you are subscribed to the Google Groups "Arches Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to archesproject+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.