the first misconception I had about moving ee live from my local development server is that I had to first do a fresh install on the live server. This is not true with ee. You can copy over the files as soon as you have the new database set up
STEP 1
————————————————————————————————————————-
I use mamp on a mac leopard os for my local server
open mamp and hit “open start page” button
select the phpMyAdmin link at the top of the start page:
my local server is set up with these versions:
phpMyAdmin - 2.10.2
MySQL client version: 5.0.41
If you have a older or newer version these steps may vary
select your database mine is called “eelamdeni” then select the export tab at the top

scroll to the bottom and check “save as file” box ensure that the check box “ADD DROP TABLE/DROP VIEW” is checked

here is a picture of all the options I have checked:
click go and a .sql file should be saved to your desktop, that is your database that we need to move live.
STEP 2
————————————————————————————————————————-
now log into your control panel at your hosting company. and find the option to create a database. Mine for example says “MYSQL Databases”
I create a new database named the same as it was on my local machine “eelamdeni”
I create the same username as my local as well as password and make sure they have all permissions set.
your host may add a prefix like mine did “lamdeni1_admin” pay no mind to that later on when we edit the config file you will see mine worked only when I didn’t type that prefix lamdeni_ before my username and password.
Some hosts will demand their own unique username and pass. I don’t know how this affects your migration. I think everything should work fine, but if they give complete unique username and pass that you can’t edit, be sure to use theirs.
Now import the local sql file you saved earlier to your new database on your live server.
STEP 3
————————————————————————————————————————-
copy over all of your local files to the server and make sure to set the following permissions immediately after:
Windows Servers: The files and directories that need to be set to 666 or 777 on Unix servers need to be set as writeable on Windows servers. You may need to contact your Host or server admin for this.
If you are using a Unix server (or Unix variant, like Linux, OS X, FreeBSD, etc.) you must set the following files to 666:
* path.php
* system/config.php
* system/config_bak.php
You must set the following directories to 777:
* images/avatars/uploads/
* images/captchas/
* images/member_photos/
* images/pm_attachments/
* images/signature_attachments/
* images/uploads/
* system/cache/
before you attempt to look at your site there is more to do.
open the config.php file in your HTML editor.
here are the relevant things that need to be changed in the config.php folder which sits inside the system folder:
this is what my local looks like:
$conf[‘db_hostname’] = “localhost”;
$conf[‘db_username’] = “mylocaladmin”;
$conf[‘db_password’] = “mylocalpass”;
$conf[‘db_name’] = “eelamdeni”;
$conf[‘system_folder’] = “name-of-system-folder”;
$conf[‘cp_url’] = “http://localhost:8888/eelamdeni/name-of-system-folder/index.php”;
this is my live adjustments:(don’t paste my <—note—>! that’s just for explanation in this example)
$conf[‘db_hostname’] = “localhost”;
$conf[‘db_username’] = “my-control-panel-admin”; <—note this is what u use to log into your host’s cpanel, not your server user and pass you just set up! I didn’t type in the lamdeni_ prefix my host added in the control panel—>
$conf[‘db_password’] = “my-control-panel-password”;<—note this is what u use to log into your host’s cpanel, not your server user and pass you just set up! I didn’t type in the lamdeni_ prefix my host added in the control panel—>
$conf[‘db_name’] = “lamdeni1_eelamdeni”;<—note in this one I have to add the prefix my particular host assigns to the database name.—>
$conf[‘system_folder’] = “name-of-system-folder”;
$conf[‘cp_url’] = “http://server1.alefhost.com/~lamdeni1/name-of-system-folder/index.php”;
STEP 4
————————————————————————————————————————-
Now we need to log in and change all the pathways so your css and images show up. I found this wiki entry, http://expressionengine.com/wiki/Moving_servers_-_ExpressionEngine_site_to_the_new_host/ had the best description:
1. Find in the “New Account information” your new host has sent to you the Temporary Webpage URL. It may be something like http://194.43.196.121/~my_site/ Then log into ExpressionEngine’s Control Panel, go Admin > System Preferences > General Configuration and make sure that
a) URL to the root directory of your site is http://194.43.196.121/~my_site/
b) URL to your Control Panel index page is http://194.43.196.121/~my_site/eesys/index.php
c) URL to your “themes” folder is http://194.43.196.121/~my_site/themes/
d) Theme Folder Path is /public_html/themes/ To figure out absolute path of the server type this code into any page of the folder in question
<?php echo dirname ($_SERVER[SCRIPT_FILENAME]) . ‘/’; ?>
for the above, I found very useful to make sure you have the correct path. Simply open up your coding program and put this one line of code and save it as test.php and simply put it in the folder and browse to it to find the pathway.
e) Default Language is English
f) Default Character Set is utf-8
g) Default XML Language is English
h) Name of your site’s index page is index.php
2. Go Admin > System Preferences > Captcha Preferences and change
a) Server Path to Captcha Folder to /public_html/images/captchas/
b) Full URL to Captcha Folder http://194.43.196.121/~my_site/images/captchas/
3. Go Admin > System Preferences > Emoticon Prefrences and change “URL to the directory containing your smileys” to http://194.43.196.121/~my_site/smileys/ .
4. Go Admin > Weblog Administration > File Upload Preferences > Edit File Upload Preferences and change
a) Server Path to Upload Directory to /public_html/images/uploads/
b) URL of Upload Directory to http://194.43.196.121/~my_site/images/uploads/
5. Go to My Account > Extras > Quick Links and change Link URL of My Weblog into http://194.43.196.121/~my_site/index.php/
Now everything should be working correctly! If your images aren’t showing up, maybe it’s because you’ve used the image resizer plugin! see my entry on how to fix this particular plugin. make sure we are using the same plugin first.
here is my post on how to fix the plugin image resizer: http://expressionengine.com/forums/viewthread/62138/P288/#502840
FINALLY I HAD SOME IMAGES THAT WEREN’T SHOWING UP…THEY HAD THE OLD PATH! SO TO SOLVE I DELETED those folders inside of the ./system/cache folder. After you do that, double check the permissions on that folder at set to 777.
