Posted by Reid on October 22, 2009 at 12:38am
Sorry I couldn't join everyone tonight for the Madison group.
I'm building a site in Drupal and started on my local computer with WAMP Server. Now I need to move things to a real web server, and I don't want to start over from scratch.
Any suggestions on the best way to do this? I've got the Using Drupal book, but didn't find anything in there about it.
Thanks,
Reid Magney
Wisconsin Government Accountability Board
http://gab.wi.gov
Comments
backup and migrate mod
http://drupal.org/project/backup_migrate
This module makes it easy to export your database and import to another server. Zip up your drupal directory and upload to your new server and adjust the settings.php file to connect to the new database and you should be good to go.
Thanks
I appreciate your help!
mysqldump and tar/zip
If you're running on a Linux/Unix box, the easiest way I've found is to first dump the database into a .sql file in the web tree, then zip/tar.gz the whole web tree. Copy it to the production server, unzip and reimport the DB. I can launch a site this way in under 5 minutes.
If you're running windows, you probably also have mysqldump (command line)
mysqldump -uUSERNAME -pPASSWORD DATABASE > WEBROOT/DATABASE.sql
tar cvzf WEBROOT.tar.gz WEBROOT
copy WEBROOT.tar.gz to the destination server and unzip it.
Then on the other end, re-import your database
mysql -uUSERNAME -pPASSWORD DATABASE < DATABASE.sql
Make sure to reset permissions on the tree to match the prod server, and add world-write to your /sites/all/files directory, and you're good to go.
I've used phpmyadmin to export/import in the past, but 90% of the time, the character encoding gets borked, which either makes the site not load, or causes a bunch ofweird characters to appear in the content. Mysqldump seems to be the quickest and most reliable way to manually import/export the dumps.
That's how I do it anyway. I might have to check out this backup_migrate module when I need to do this next.
Thank you
I appreciate your advice.
Right now I'm developing on WAMPserver 2, but moving to a Linux box.
It's not too difficult now
After numerous trial and error, I think I've gotten this process down fairly well migrating a local WAMP site to a live server.
In WAMP, go to phpmyadmin find your database -> click on privileges -> then add an additional username and password with "granted all privileges" on localhost server for that database
On your live webserver create a MySQL database with the same name as your localhost database
-add the same new username and password as in step 1
-associate the new username and "grant all privileges" for the new database
Check consistency of clean URLs (I've done this a few times the WRONG way)
-if your WAMP ocalhost site has clean URLs enabled - make sure to DISABLE CLEAN URLS, just for now
Go back to WAMP localhost site phpmyadmin -> select the database you're migrating -> click the export tab -> highlight "sql file" and click go
FTP transfer the latest version of Drupal Core -> FTP transfer your WAMP /sites folder into the fresh install /sites folder on the webserver, overwriting everything inside the /sites on the webserver.
On the live webserver, go into phpmyadmin -> select the database your created in step 2 -> click the import tab -> browse to find the exported WAMP sql file in your computer -> click go
That should be it! Since the WAMP and webserver databases have the same name, same username and password with all privileges, there is no need to alter the settings.php file. If you need more assistance send me a message because I am local in Madison, WI.
Clean URLs...
Why the need to disable clean URLs on the local database.?
exactly what i'm looking for - but please help
Its my first time using drupal, and I have very little experience with uploading to sites generally.
I have made a drupal website on my pc wamp server now I'm trying to put it up on the server.
I can export my database 'drupal' and import to the mysql database on the dreamhost server 'ashiyaacademy'
I cant rename the dreamhost server 'ashiyaacademy' to 'drupal' - so they match; and I cant name a new database 'drupal' on the dreamhost server. *I cant rename the wamp 'drupal' to 'ashiyaacademy'
I think I need the names to match to get things working, is that right?
(Why cant I name the database anything I want - its on my server right?)
So from the begining on wamp I called my mysql database 'drupal' so through my drupal website there must be a lot of references to 'drupal' - is it possible to go through the code for my site and change all those references to 'ashiyaacademy' ? - just an idea
These settings are stored in code
Db connection details are stored in sites/default/settings.php or sites/SITENAME/settings.php - change it there once everything's moved over and you're good.
Thanks so much! (i know it
Thanks so much! (i know it must be a stupid question)
Exactly
Thank you so much for your reply. I am relatively new at local development, and it's trickier than webserver to webserver.
porting wamp databse accross to unix
hi,
thanks to folks above - specially to the step by step guide.
but I think there is an easier way ( the guide only allow small databases to be imported! error-13! )
fact: data is saved by mysql under the database's named direcorties. regardless of win/nix
locate your database at> win32: c:\wamp\bin\mysql\mysql5.x.x\data\
simply copy the database folder on a flash-drive and transfer this to a linux machine.
use: $ sudo chown -R your-user-name /directory-name-with-path
to enable you to read/write to a particular directory.
on linux your databse needs to go here> /var/lib/mysql
ie, you will have you db folder inside mysql directory.
finally you need to pass/hand this folder over to mysql. this is the most important bit/hack
so use> sudo chown -R mysql /var/lib/mysql/yourdbfolder
and that's it. as long as you had an open entry into your database ie. easy username and password from windows. you can use them in your ported linux db too.
hope it helps. another 2-very-useful tips, when porting files/scripts/images/folders over to linux. make sure to change their permissions the esay way as...
direcories. use >
chmod 0755 /directory-name-with-path
to make it accesible for aoache/mysql
files. use >
chmod 0644 /filename-with-path
to make them accessible as well - use wild cards *.php etc for several files
have fun.
How to deploy from local to live web
I just did this last night successfully, followed luciddesign's stepls combined with a great video(http://learnbythedrop.com/drop/132).
Hope it helps!
IMAGES NOT SHOWING
All the images on my live site are not showing.They all use to show until quite recently.I dont seem to know what the problem is.Can anyone help me?
It could be a number of
It could be a number of issues. Is it Drupal 6? 7? 8?
I'll throw some D6 info out there - others may be slightly different.
Check the filesystem path at /admin/settings/file-system
Could be permissions in the filesystem (if you're using imagecache). Make sure all users have read/write permissions on everything inside the /files or /sites/default/files
What's the site?
I'd also just check to make
I'd also just check to make sure the files are in the proper folder on the server. Some images are appearing (the gradients on the left and right sides), but the ones obviously missing are being looked for in sites/default/files. Is that where you have the image files or are they in a different location? If you want the site to look at a different folder for the images, I think you'll need to modify your settings.php file and/or check the name of your sites/my-site folder to make sure Drupal is associating it with your url.
Marc
buildFTW.org
timeFTW.org
IMAGES NOT SHOWING
my settings.php reads like this.
<?php
/**
* @file
* Drupal site-specific configuration file.
*
* IMPORTANT NOTE:
* This file may have been set to read-only by the Drupal installation
* program. If you make changes to this file, be sure to protect it again
* after making your modifications. Failure to remove write permissions
* to this file is a security risk.
*
* The configuration file to be loaded is based upon the rules below.
*
* The configuration directory will be discovered by stripping the
* website's hostname from left to right and pathname from right to
* left. The first configuration file found will be used and any
* others will be ignored. If no other configuration file is found
* then the default configuration file at 'sites/default' will be used.
*
* For example, for a fictitious site installed at
* http://www.drupal.org/mysite/test/, the 'settings.php'
* is searched in the following directories:
*
* 1. sites/www.drupal.org.mysite.test
* 2. sites/drupal.org.mysite.test
* 3. sites/org.mysite.test
*
* 4. sites/www.drupal.org.mysite
* 5. sites/drupal.org.mysite
* 6. sites/org.mysite
*
* 7. sites/www.drupal.org
* 8. sites/drupal.org
* 9. sites/org
*
* 10. sites/default
*
* If you are installing on a non-standard port number, prefix the
* hostname with that number. For example,
* http://www.drupal.org:8080/mysite/test/ could be loaded from
* sites/8080.www.drupal.org.mysite.test/.
*/
/**
* Database settings:
*
* Note that the $db_url variable gets parsed using PHP's built-in
* URL parser (i.e. using the "parse_url()" function) so make sure
* not to confuse the parser. If your username, password
* or database name contain characters used to delineate
* $db_url parts, you can escape them via URI hex encodings:
*
* : = %3a / = %2f @ = %40
* + = %2b ( = %28 ) = %29
* ? = %3f = = %3d & = %26
*
* To specify multiple connections to be used in your site (i.e. for
* complex custom modules) you can also specify an associative array
* of $db_url variables with the 'default' element used until otherwise
* requested.
*
* You can optionally set prefixes for some or all database table names
* by using the $db_prefix setting. If a prefix is specified, the table
* name will be prepended with its value. Be sure to use valid database
* characters only, usually alphanumeric and underscore. If no prefixes
* are desired, leave it as an empty string ''.
*
* To have all database names prefixed, set $db_prefix as a string:
*
* $db_prefix = 'main_';
*
* To provide prefixes for specific tables, set $db_prefix as an array.
* The array's keys are the table names and the values are the prefixes.
* The 'default' element holds the prefix for any tables not specified
* elsewhere in the array. Example:
*
* $db_prefix = array(
* 'default' => 'main_',
* 'users' => 'shared_',
* 'sessions' => 'shared_',
* 'role' => 'shared_',
* 'authmap' => 'shared_',
* );
*
* Database URL format:
* $db_url = 'mysql://username:password@localhost/databasename';
* $db_url = 'mysqli://username:password@localhost/databasename';
* $db_url = 'pgsql://username:password@localhost/databasename';
*/
$db_url = 'mysqli://username:password@localhost/databasename';
$db_prefix = '';
/**
* Database default collation.
*
* All data stored in Drupal is in UTF-8. Certain databases, such as MySQL,
* support different algorithms for comparing, indexing, and sorting characters;
* a so called "collation". The default collation of a database normally works
* for many use-cases, but depending on the language(s) of the stored data, it
* may be necessary to use a different collation.
* Important:
* - Only set or change this value BEFORE installing Drupal, unless you know
* what you are doing.
* - All database tables and columns should be in the same collation. Otherwise,
* string comparisons performed for table JOINs will be significantly slower.
* - Especially when storing data in German or Russian on MySQL 5.1+, you want
* to use the 'utf8_unicode_ci' collation instead.
*
* @see http://drupal.org/node/772678
*/
$db_collation = 'utf8_general_ci';
/**
* Access control for update.php script
*
* If you are updating your Drupal installation using the update.php script
* being not logged in as administrator, you will need to modify the access
* check statement below. Change the FALSE to a TRUE to disable the access
* check. After finishing the upgrade, be sure to open this file again
* and change the TRUE back to a FALSE!
*/
$update_free_access = FALSE;
/**
* Base URL (optional).
*
* If you are experiencing issues with different site domains,
* uncomment the Base URL statement below (remove the leading hash sign)
* and fill in the absolute URL to your Drupal installation.
*
* You might also want to force users to use a given domain.
* See the .htaccess file for more information.
*
* Examples:
* $base_url = 'http://www.example.com';
* $base_url = 'http://www.example.com:8888';
* $base_url = 'http://www.example.com/drupal';
* $base_url = 'https://www.example.com:8888/drupal';
*
* It is not allowed to have a trailing slash; Drupal will add it
* for you.
*/
$base_url = 'http://www.example.com'; // NO trailing slash!
/**
* PHP settings:
*
* To see what PHP settings are possible, including whether they can
* be set at runtime (ie., when ini_set() occurs), read the PHP
* documentation at http://www.php.net/manual/en/ini.php#ini.list
* and take a look at the .htaccess file to see which non-runtime
* settings are used there. Settings defined here should not be
* duplicated there so as to avoid conflict issues.
*/
ini_set('arg_separator.output', '&');
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
ini_set('session.cache_expire', 200000);
ini_set('session.cache_limiter', 'none');
ini_set('session.cookie_lifetime', 2000000);
ini_set('session.gc_maxlifetime', 200000);
ini_set('session.save_handler', 'user');
ini_set('session.use_cookies', 1);
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);
ini_set('url_rewriter.tags', '');
/**
* If you encounter a situation where users post a large amount of text, and
* the result is stripped out upon viewing but can still be edited, Drupal's
* output filter may not have sufficient memory to process it. If you
* experience this issue, you may wish to uncomment the following two lines
* and increase the limits of these variables. For more information, see
* http://php.net/manual/en/pcre.configuration.php.
*/
ini_set('pcre.backtrack_limit', 200000);
ini_set('pcre.recursion_limit', 200000);
/**
* Drupal automatically generates a unique session cookie name for each site
* based on on its full domain name. If you have multiple domains pointing at
* the same Drupal site, you can either redirect them all to a single domain
* (see comment in .htaccess), or uncomment the line below and specify their
* shared base domain. Doing so assures that users remain logged in as they
* cross between your various domains.
*/
$cookie_domain = 'example.com';
/**
* Variable overrides:
*
* To override specific entries in the 'variable' table for this site,
* set them here. You usually don't need to use this feature. This is
* useful in a configuration file for a vhost or directory, rather than
* the default settings.php. Any configuration setting from the 'variable'
* table can be given a new value. Note that any values you provide in
* these variable overrides will not be modifiable from the Drupal
* administration interface.
*
* Remove the leading hash signs to enable.
*/
$conf = array(
'site_name' => 'My Drupal site',
'theme_default' => 'minnelli',
'anonymous' => 'Visitor',
/**
* A custom theme can be set for the off-line page. This applies when the site
* is explicitly set to off-line mode through the administration page or when
* the database is inactive due to an error. It can be set through the
* 'maintenance_theme' key. The template file should also be copied into the
* theme. It is located inside 'modules/system/maintenance-page.tpl.php'.
* Note: This setting does not apply to installation and update pages.
*/
'maintenance_theme' => 'minnelli',
/**
* reverse_proxy accepts a boolean value.
*
* Enable this setting to determine the correct IP address of the remote
* client by examining information stored in the X-Forwarded-For headers.
* X-Forwarded-For headers are a standard mechanism for identifying client
* systems connecting through a reverse proxy server, such as Squid or
* Pound. Reverse proxy servers are often used to enhance the performance
* of heavily visited sites and may also provide other site caching,
* security or encryption benefits. If this Drupal installation operates
* behind a reverse proxy, this setting should be enabled so that correct
* IP address information is captured in Drupal's session management,
* logging, statistics and access management systems; if you are unsure
* about this setting, do not have a reverse proxy, or Drupal operates in
* a shared hosting environment, this setting should be set to disabled.
*/
'reverse_proxy' => TRUE,
/**
* reverse_proxy accepts an array of IP addresses.
*
* Each element of this array is the IP address of any of your reverse
* proxies. Filling this array Drupal will trust the information stored
* in the X-Forwarded-For headers only if Remote IP address is one of
* these, that is the request reaches the web server from one of your
* reverse proxies. Otherwise, the client could directly connect to
* your web server spoofing the X-Forwarded-For headers.
*/
'reverse_proxy_addresses' => array('a.b.c.d', ...),
);
/**
* String overrides:
*
* To override specific strings on your site with or without enabling locale
* module, add an entry to this list. This functionality allows you to change
* a small number of your site's default English language interface strings.
*
* Remove the leading hash signs to enable.
*/
$conf['locale_custom_strings_en'] = array(
'forum' => 'Discussion board',
'@count min' => '@count minutes',
);
which changes do you think should take place?
Within the context of
Within the context of settings.php, this section is the one that's most relevant here:
/**
* The configuration directory will be discovered by stripping the
* website's hostname from left to right and pathname from right to
* left. The first configuration file found will be used and any
* others will be ignored. If no other configuration file is found
* then the default configuration file at 'sites/default' will be used.
For example, for a fictitious site installed at
* http://www.drupal.org/mysite/test/, the 'settings.php'
* is searched in the following directories:
1. sites/www.drupal.org.mysite.test
* 2. sites/drupal.org.mysite.test
* 3. sites/org.mysite.test
4. sites/www.drupal.org.mysite
* 5. sites/drupal.org.mysite
* 6. sites/org.mysite
7. sites/www.drupal.org
* 8. sites/drupal.org
* 9. sites/org
10. sites/default
If you are installing on a non-standard port number, prefix the
* hostname with that number. For example,
* http://www.drupal.org:8080/mysite/test/ could be loaded from
* sites/8080.www.drupal.org.mysite.test/.
*/
Combined with the base url for the site, this tells you where drupal is searching for your files. Your installation is looking for the files in sites/default/files. If the image files are in that folder, you probably have an .htaccess problem as jomeseli says. If your files are not in there, then your naming system for sites/mysite doesn't conform to what drupal wants. You'll either need to change the name of sites/mysite or you'll need to move your files into sites/default/files.
The first order question for you, though, is: are the images that don't display in sites/default/files? Without that clarified, everything else is academic speculation (not that there's anything wrong with that in principle).
Marc
buildFTW.org
timeFTW.org
Just to clarify on folder
Just to clarify on folder naming conventions, for your site at http://www.sslghana.org/, you'll want the folder where images are stored to be at one of sites/www.sslghana.org/files, sites/sslghana.org/files, sites/org/files, or sites/default/files. Anything else (sites/sslghana.org.localhost/files, etc) will fail. You will also want to be sure that your true settings.php file (the one with your database settings) is located in sites/whateveryouuse that corresponds with your files.
Marc
Marc
buildFTW.org
timeFTW.org
I think your base URL and
I think your base URL and cookie domain should be set to your site address.
For sites accessible on multiple domains, the base URL can just be commented out anyway.
I don't think that would cause the images to not load, but I'd be a bit surprised if you could actually log in with a cookie domain set to example.com. I'd just comment both of these lines out.
IMAGES NOT SHOWING
Drupal 6....and i have checked the permission of the filesystem as you said but still no where yet. www.sslghana.org
Re Upload .htaccess
Hey ernestahiavi1, there should be a .htaccess file inside the sites/defualt/files
I tried the full url http://www.sslghana.org/sites/default/files/zeropoint_logo.png and the file failed to load using firebug.
So if these image files are actually there and the folder structure is on point, kindly upload the .htaccess file already.
I can send you the one I am using. pm me on jomesili@yahoo.com.
This should work for you.
IMAGES NOT SHOWING
Thanks all for your help.The images are in sites/default/files and i have .htaccess file there as well but still the images are not showing up.The .htaccess file reads
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
my .htaccess
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
Options +FollowSymLinks
Save and Re upload the .htaccess file again
IMAGES NOT SHOWING
I think i have just done this as recommended but the images seem to be broken on the pages.
Folder Reupload
As you stated earlier, the pictures were showing up before, please try to reupload the whole "/sites" folder again and then work on the permissions to ensure that it is readable.
Point tozeropoint_logo.png in your theme directory using an absolute url to check the image once again.
http://www.sslghana.org/sites/default/files/zeropoint_logo.png
This link shows the drupal logo, http://www.sslghana.org/themes/bluemarine/logo.png
So if zeropoint_logo.png doesn't show up, use another folder and point to the file absolutely.
Re-uploaded the '/sites' folder
i have reuploaded the sites folder but still the images appear broken.I have checked the permissions and still change.
You said you uploaded the
You said you uploaded the sites/default/files again and the files are definitely there?
Most of the missing images are in sites/all/themes/zeropoint/images - check there as well.
I would check to see if there is anything odd in the .htaccess file(s).
Check the main /.htaccess for anything weird that might be serving 404s instead of images. Also check if there's an .htaccess in /sites, /sites/all, or sites/all/themes. There may be something there that's serving a 404 instead of the images.
Check that folders have read & execute permissions, and that all files have read permissions.
Verify that the zeropoint theme is enabled and set as default at /admin/build/themes
Clear the cache at /admin/settings/performance.
I would also try
I would also try re-downloading the zeropoint theme from drupal.org and running update.php to check if there are any database updates required for it.
IMAGES SHOWING
Thank you all for your help.The images on my site are showing now.I had to copy to new directive.
not contact form
there I did not get the contact form to register, please help me
What exactly do i upload.
Hi guyz, i'm new in using drupal to create a website. I've just created a site, but i don't know exactly which file to upload. The sites folder has no index file in it. The database settings ain't an issue but which of the file do i upload. Thanks in advance.
What exactly do i upload.
Hi guyz, i'm new in using drupal to create a website. I've just created a site, but i don't know exactly which file to upload. The sites folder has no index file in it. The database settings ain't an issue but which of the file do i upload. Thanks in advance.
You might want to check out
You might want to check out the install guide: https://drupal.org/documentation/install
If you've made a site
If you've made a site locally, then upload the folder named drupal or whatever you've named it. Not the sites folder, but the folder that is one up from the sites folder. Make sure you delete the settings.php file and rename the default.setting.php to settings.php. Then run the installer.
Here's What I do
Just as cam10025 said, from C:/wamp/www/[yourdrupalinstallname]
I would create a compressed zip file of [yourdrupalinstallname].
The through Cpanel
Upload the compressed Zip file to www directory
uncompress the file zip file and you have all the files and folder you need to run drupal.
You will need to change permissions for your settings file, this would allow you change the database settings- which you say you have a hold on.
Move all files into the www director of your webserver.
then reset permission of your settings file to make it unwritable.
Thats it, thats all.