Moving Magento site from development server to live server

Recently I faced problem to move magento site from local (LAMP) environment to web server. I am posting steps to upload site on server.

1. Make tar / zip of code.

$ tar -cvvf site.tar /opt/lampp/magento/

2. Take backup of database through phpmyadmin. Check “Disable foreign key checks” to avoid error in restore process.

3. Open backup sql file and add following

In beginning

SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;
SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;
SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;
SET NAMES utf8;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO’;
SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;

and following in the end of file

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT;
SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS;
SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION;
SET SQL_NOTES=@OLD_SQL_NOTES;

4. Upload tar / zip file on web server, extract and deploy. Don’t forget to clear cache (Clear /var/cache and /var/session directories).

tar -xvvf site.tar

5. Change /var permission to 777 recursively.

$ chmod 777 /home/magento/htdocs/var

6. Restore database on server through phpmyadmin.

7. Change mysql database setting in

/app/etc/local.xml

<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[database_username]]></username>
<password><![CDATA[database_password]]></password>
<dbname><![CDATA[database_name]]></dbname>
<active>1</active>
</connection>

8. Run website.

If you are getting blank page then check the following

1. Mysql Database setting.

2. Did you clear cache?

3. Followed step3?

If you are getting Undefined index 0 Error then check the following

1. Did you followed step3?

2. Or you can manually run these queries

UPDATE `magento`.`core_website` SET `website_id` = ‘0’ WHERE `core_website`.`code` = ‘admin’  LIMIT 1 ;

UPDATE `magento`.`core_store` SET `store_id` = ‘0’ WHERE `core_store`.`code` = ‘admin’ LIMIT 1 ;

Clear cache as you make any change.

Path variables in PHP

Many of you develop php applications for multiple server environment. Webserver environment may be different, have different directory structure, so you have to use paths very carefully. For example in file upload script, you manually write absolute path of image directory, the application may not work on other server. To avoid this you should use inbuilt php path variables. I am posting summary of all php related path variables.

Operation: Extract file name from path
Function: string basename ( string $path  [, string $suffix  ] )
Example:
$path = /opt/lampp/htdocs/demo/test.php;
echo basename($path);
Output: test.php

Operation: Get web server root path
Variable: $HTTP_SERVER_VARS[“DOCUMENT_ROOT“]
Example:
echo $HTTP_SERVER_VARS[“DOCUMENT_ROOT“];
Output: /opt/lampp/htdocs

Operation: Get current script full path (including document root path)
Code: $HTTP_SERVER_VARS[“SCRIPT_FILENAME“]
Example:
echo $HTTP_SERVER_VARS[“SCRIPT_FILENAME“];
Output: /opt/lampp/htdocs/test.php

Operation: Get current script name (relative to root)
Variable: $HTTP_SERVER_VARS[“PHP_SELF“]
Example:
echo $HTTP_SERVER_VARS[“PHP_SELF“];
Output: test.php

Operation: Get current script name (relative to root)
Variable: $HTTP_SERVER_VARS[“PHP_SELF“]
Example:
echo $HTTP_SERVER_VARS[“PHP_SELF“];
Output: test.php

Operation: Convert relative path to absolute path
Function: string realpath ( string $path  )
Example:
echo realpath(‘../images’);
Output: /opt/lampp/htdocs/images

Operation: Get all file details
Function: mixed pathinfo ( string $path  [, int $options= PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME  ] )
Example:
$info = pathinfo($_SERVER[‘PHP_SELF’]);
print_r($info);
Output:
Array
(
[dirname] => /abhi
[basename] => EmptyPHP.php
[extension] => php
[filename] => EmptyPHP
)

Installing a minimal Debian system

lennybanner_indexed

I am making this post for users with limited computer resources/old machines. Users with newer and faster machines may also try this if they want their completely customized operating system.

I must also clarify that I personally don’t like bloatwares like Windows Vista etc.

Take my example, when I first installed Ubuntu on my desktop, I had a complete GNOME desktop with many applications pre-installed which I had no use for! So, I started uninstalling that bloat from my system to make my OS slim so that it can run properly on my good ol’ pentium 4 1.7 Ghz machine.

However, uninstalling those extra useless apps didn’t help me much. My Linux system was still bloated and running slower than Windows XP.

Right then, I researched over internet and found a solution to my problem.

What is needed:

  • An internet connection (for downloading packages)
  • Atleast 2GiB of HDDSpace
  • Some spare time
  • And obviously you 😉

Get the netinst disk image from the link according to your system architecture. If not sure, then go with the i386 image. Now burn the image to a CDROM and boot your system with it. Continue with the installation and select all options that apply to you and keep an eye out for a dialog box asking about using a network mirror. When this screen comes up, choose No. Choose to install GRUB and let the install finish.

Now, when your computer restarts, choose debian and boot into it. When you get to the login prompt, login as root.

We need to modify the repositories list for your system.

Type:

Code:

nano /etc/apt/sources.list

And put this into the file:

Code:

deb http://ftp.debian.org/debian lenny main contrib non-free

Make sure to comment out the CD-ROM repository entry by putting a number sign (#) in front of it, like this:

Code:

# deb cdrom:…

Later, if you want to add an official debian installation disk (or if you don’t want to use internet for packages), just insert the disk in drive and type:
Code:

apt-cdrom -f -add

Save it (Ctrl+O) and exit (Ctrl+X) and type in:
Code:

aptitude update

This will update the repositories list. Once you it’s done, we’re going to install the base core files needed to run a visual desktop environment, or just the desktop. As an example, we’ll use GNOME, so type in:

Code:

aptitude install xorg gnome-core gdm

This will setup the XOrg server, GNOME core files and the GNOME Display Manager onto your machine. If you want KDE, type:

Code:

aptitude install xorg kde-core kdm

Now, for the Display Manager (login manager), you can use a very limited, simplistic one. Instead of gdm/kdm, use slim.

After all that is done, reboot and let it start up. You’re set! Now you can install a File Manager, Web Browser, Music player, etc of your choice.
For even more lighter system, LXDE can also be tried. And if you want an extreme lightweight system, do not install any desktop environment. Instead just install a windowmanager like fluxbox/openbox etc.

Make free internet calls (Google, skype, MSN, SIP, WeFi) from your mobile

Symbian Smart Phones are very popular these days. A lot of hot applications are in market for symbian platform. Thanks to Nokia for creating this platform. Now I am going to tell you about a very useful application of smart phone, If you are a freelancer (like me), CEO and other marketing executive, have to remain online all the time for customer inquiries, then I am sure you will like this application.

Go to http://www.fring.com/ download in install application in your phone. Run this application. It will ask you for permissions, allow all permissions and continue. Now you will be asked for subscription Skype, Gtalk, MSN etc, select desired services and enter login details. Done!

Now you can call buddies from fringe. The call quality is very goon even in EDGE network. Few fetures are as follows

  • Voice calls and chat over 3G and Wi-Fi
  • Skype and Google Talk integration (Voice and Chat)
  • History (Missed calls, Incoming/Outgoing calls)
  • Good voice quality

Hope you will enjoy fringe. Don’t forget to call me my ID is abhinavzone

Manage linux server from your SmartPhone

Today I am going to write something very interesting, Suppose you are enjoying holiday and suddenly one of your visitor call you and inform you that your Database Server is not responding.. You are in hill area and do not have have any cyber cafe around.. hmm?

I tell you the gr88 solution. Download Putty for your smart phone (I have Nokia 5800) and install. Through this application you can execute linux command from your phone console to your server. To use this with your server you must have Static IP of server and SSH access of server.

Note for Indian users: If you are using GPRS Mobile (Internet on mobile) package, then this application may not work. Because operators block all ports other than 80 (http) in case of GPRS Mobile (Internet on mobile) packages. To avoid this you have to activate GPRS Internet on your mobile.

I am using IDEA, GPRS Internet for Rs. 249.00 / month (unlimited download).

let me know if you have any problem 😉

Cheers

Python for Nokia 5800 ExpressMusic s60v5

Hi, yesterday I was browsing around application for My Nokia 5600 ExpresMusic phone. I found some cool applications written in python. I have to install python runtime to run these application.

Thee is no stable version released for s60 v5 Symbian edition, but there is a test release available. you can download it from here .

After installation Python I installed XpressAlarm but nither Xpress Alarm or Python console was starting. I searched enough but did not found anything. Finally I give up.

Today morning I updated my mobile firmware to 21.0.025. and checked python, It worked!!! Yahoooo!!!

So if you are unable to run python on your Symbian phone, update firmware. Here is procedure,

Goto Menu > Settings > Phone > Phone mgmt. > Device update > Option > Check for update

After taping Check for update you will see downloading confirmation and update begin to download. Install it and phone will restart. Don’t forget to take backup of your phone memory also songs come with 5800 ExpressMusic (My music files came with Nokia is not working after update).

Hack Windows 7 with Vbootkit 2.0

A proof-of-concept security exploit in Microsoft?s Windows 7 operating system has been released by Indian security researchers. The exploit has been named as VBootKit . The researchers had earlier promised that they would not make the exploit code public for fear of misuse. VBootKit 2.0 was coded by researchers Nitin Kumar and Vipin Kumar; and the code is now available as open source for anyone who is interested to see how it works. The researchers released the proof-of-concep

Read Full Story

Large File Upload

Recently I faced a big problem with large file uploads. One of my client has a Centos5  dedicated server. I created a script for Video upload and conversion. I also added a progress bar to show file upload progress. This progress bar has limit of 100MB because of flash limitation. Everything was working fine for files less than 50MB, but as size grows the upload hangs on 20 – 30%.. I did every thing in php.ini and apache.conf but nothing helped. I wrote to server admin at least 50 times and finally they giveup! Now I has no solution.

I start searching on net and found uberUploader. This is the most comprehensive uploader available on net. You don’t even need to set php.ini settings, because the uploading part handled by Perl. This resolved my problem. Now I can upload 1GB file This has a bunch of uploading configuration option. This also has nice progress bar.

Finally end of 1 month long problem.. Thanx uberUploader!!