I hope someone can help me, I have a shared hosting reseller account. With 1 click software installers ect on the Centos platform. And I have a local Centos VPS via windows 7 for development and testing. I was thinking that as I have 1 click software installers ect on the remote with Cpanel ect. What is the best way to move a Drupal site from remote to local dev server?
I installed Drupal 6.26 on remote with Cpanel ect, 1 click software installers. Then downloaded remote site and database for /home/example/public_html using ftp to local dev server Z:\example\public_html
really want to make the process of developing the remote site locally. As easy and painless as possible,
I have webmin installed and phpmyadmin locally and want the best solution. I have kept the local database name and username password ect the same as remote site.
local dev server = Z:\example\public_html Remote site = /home/example/public_html
I have used name based virtual host urls for testing locally, and ftp for file transfer will start using ssh.
local dev url = example
remote url = example.co.uk
Operating system CentOS Linux 5.7 PHP 5.4.0 (cli) , mysql Ver 14.14 Distrib 5.5.10, for Linux (x86_64), webmin , Git, ect are installed on local development vps. mod_rewrite is enabled on local.
keep running into major problems, any advice would help thanks. Best solution please a tutorial anything....
Comments
It sounds like you have the
It sounds like you have the right idea... what specific problems are you running into? One thing I'd suggest first is disconnecting from those one-click installers. They are never advised. You can probably get your site disconnected from them by making a files/database backup, deleting the site using the one-click tool, then replacing the files and database manually from your backup.
Best solution please a tutorial anything....
when you say disconnect from the one click installers? that would mean for future Drupal installations I would have to install Drupal manually on remote server? I am looking for the most reliable way of developing Drupal sites locally.
I tried backup and migrate did nothing for me, question do I install Drupal on local machine first then move to remote? or the other way around? can you reason why I should stay away from one-click installers?
Best solution please a tutorial anything....
Steps: FTP to your remote
Steps:
A couple of gotchas to note:
Anthony Pero
Project Lead
Virtuosic Media
http://www.virtuosic.me/
Sure
Sure, here are a few links I found (though I know I've seen many others in the past years where people were discussing the issues they've had after using a one-click installer, ranging from unusual bugs, data loss, delays of critical security updates, etc):
http://drupal.org/node/274624
http://drupal.org/forum/fantastico-de-luxe
You can find more by googling the terms "Drupal + Fantastico" or similar.
The main arguments against that I can think of at the moment:
Installing Drupal in the normal way is really easy, so the risks that a one-click installer might add just aren't worth it in exchange for saving just a few minutes of easy tasks.
In answer to your question about the best order to work in… I suggest you begin a site by installing it on your local server first. Once you're ready to move the site to the production (public) server, export a copy of the database with your tool of choice or via command line (mysqldump command), create an empty database on the production server, and import the database into it. Then, if you are going without version control, upload the whole site into the public_html directory (or whatever your web-accessible root directory is)... personally I zip or tar up the site files and then decompress that on the server, which is much faster than uploading the thousands of files with FTP (though be sure to check on file ownership/permissions afterwards). Don't forget to upload the .htaccess file (it may not be visible in your FTP app by default). Edit the settings.php file to match the database name and credentials of the production server. Visit the site, and you should be able to login. Clear Drupal's caches on the Performance page if you get any unusual behavior or problems with your theme, as that may resolve the issue.
If you'll be using version control, you'll be checking your local copy of the site into the repository (such as on github, unfuddle, codespaces, etc) instead of uploading directly to the production server. If you're interested, I can look for some guides about this, or you can start looking into version control later after you've built up your experience a bit.
Hope this helps.
Very useful information
Thanks David,
That was some very useful information and I can see now that installing via Cpanel is just not worth the headache. I googled Drupal + Fantastico and they all said it's a no no, so I will take your advice. You said If I am using version control , I would be checking my local copy of the site into a repository (such as on github, unfuddle, codespaces, etc)
Instead of uploading directly to the production server. I have Git installed and have played with it a little, and know some of the basic commands. I have created repos inside of directory's so as to understand how Git works. And can see that it is a must to use a version controlled workflow. So I guess now is a good time to add Git to the development process for all projects, not just Drupal. The links below had me drooling and thinking wow truly amazing.
http://toroid.org/ams/git-website-howto
http://www.youtube.com/watch?v=9eni7OPSkk0
I am always interested and eager to learn, so yes please can you look up for some guides about checking my local copy of the site into a repository (such as on github, unfuddle, codespaces, etc) as I have already done some research regarding version control.
Also a good tutorial - example of a version controlled workflow using Git with DrupaI would be great. Something that I could easily incorporate into future projects would be great. I did look at this recently and it sounds exactly like what you are talking about.
http://net.tutsplus.com/tutorials/other/the-perfect-workflow-with-git-gi...
I am pretty sure my host does not provide support for Git on their servers.
Thanks again.......
Cool, I'm glad you're excited about Git :)
Cool, I'm glad you're excited about Git :)
Regarding using Git with your host which might not support it, I found some answers that indicate you can still do a workaround to get your changed files over to your live/production server using FTP along with some other tools or scripting. http://stackoverflow.com/questions/10333503/using-git-with-shared-hostin... (also google for more). There are also various shared hosts with Git support, so maybe consider changing hosts. You should consider implementing Git in your workflow in any case even if you can't have it running on your production server, since it will benefit your work in many ways and allow you to experiment more freely with your code.
I had a look at the Nettuts+ article you linked (as well as several linked to within the article), and it looks like a great introduction. There appears to be a ton of good video lessons on YouTube and other video networks as well. If you'd like a definitely excellent and highly detailed video course to get you fully up to speed from square one, I recommend Change Management and Version Control from BuildaModule, which is a super detailed 9 hour video course that will make you a version control expert in 1 day :) If the course download is too pricey, you can also sign up for the site for a month to access all their courses ($29... I'm not affiliated with them, I just like the course).
Also, you should Google dev stage prod (or dev stage production), which discusses how to setup a workflow involving a development stage/environment, a staging/testing environment, and finally a production (live) environment.
Thanks for the information
I have signed up with Github and can push to a repo and I will be looking into the links that you have kindly suggested. I already have a Centos dev server via windows 7 using VMware and will probably move my accounts to a dedicated VPS via my host, so I can implement Git into a workflow.
In time the idea is to have a independent Centos dev server. I have a Linux expert who will install and configure the server with all the relevant software I will be using as I don't want that headache : (
By having the current dev server via windows 7 using VMware. I can get used to Webmin, Centos, Linux, and the whole development process on a Linux platform. I have come from a windows background and to be honest I am new convert to Linux.
I will check the links you sent me, thanks again lots to research.