Synchronizing Folders using Rsync

This is an alternative to the “mv” command (move) or cp (copy) but slightly with a added feature of doing it remotely from server to another server.

Local Server
rsync -avzp /source-address/* /destination-address/

Remote Server
rsync -avzp -e ‘ssh -p portnumber’ /source-address/* root@ipaddress:/destination-address/

*Note*
source-address = the source of the folder/files eg:
/home/test/

destination-address = the destination to sync the files from the source eg:
/home/robot/

portnumber = the ssh port number, default is:
22

ipaddress = the ip address of the destination server of the hosname eg:
202.111.111.202 or yahoo.domain.com

Lastly, don’t forget to change the file ownership, example like below:
chown username.username *

============================================
================== Edit 1 ===================
============================================

If you noticed, some files won’t be copied over using the Rsync, especially like the .htaccess file. As an alternative you can use this coding to copy those special file like example below:
scp -P portnumber /home/username/public_html/.htaccess root@ipaddress:/home/username/public_html/

If a folder that can’t be transfered, you can use as below, but make sure to create a folder at server B also, for example as below:
scp -P portnumber /home/username/public_html/.smileys/* root@ipaddress:/home/username/public_html/.smileys/

Don’t forget to change the ownership again.

============================================
================== Edit 2 ===================
============================================

When moving website that have a database, make sure to properly configure the data base when transferring it.

Let say now our current situation, server A is transferring to server B. After the files have been transferred to server B, log into server A PhpMyAdmin and find the account name.

Click to open the database (_testdb).
Username
|
|—-_testdb

Click Export
Select compression = gzipped
Click Go

Then just save it any place in your pc.

Ok then, next is a bit tricky part. Go to server B, and the folder where you upload the file and try to open:
nano configuration.php

The content of the file as below:
$mosConfig_offline = ’0′;
$mosConfig_host = ‘localhost’;
$mosConfig_user = ‘username_testdb’;
$mosConfig_password = ‘xxxxx’;
$mosConfig_db = ‘username_testdb’;

$mosConfig_dbprefix = ‘mos_’;
$mosConfig_absolute_path = ‘/home/username/public_html/’;
$mosConfig_live_site = ‘http://domain.com’;
$mosConfig_sitename = ‘Testing Website’;
$mosConfig_shownoauth = ’0′;
$mosConfig_useractivation = ’1′;
$mosConfig_uniquemail = ’1′;
$mosConfig_usecaptcha = ’0′;
$mosConfig_offline_message = ‘This site is down for maintenance.<br /> Please check back again soon.’;
$mosConfig_error_message = ‘This site is temporarily unavailable.<br /> Please notify the System Administrator’;
$mosConfig_debug = ’0′;
$mosConfig_lifetime = ’900′;
$mosConfig_MetaDesc = ‘This Software Site Is Under Serverfreak’;
$mosConfig_MetaKeys = ”;
$mosConfig_MetaAuthor = ’1′;
$mosConfig_MetaTitle = ’1′;
$mosConfig_lang = ‘english’;
$mosConfig_locale = ‘en’;
$mosConfig_charset = ‘utf-8′;
$mosConfig_locale_debug = ’0′;
$mosConfig_locale_use_gettext = ’0′;
$mosConfig_offset = ’0′;
$mosConfig_hideAuthor = ’1′;
$mosConfig_hideCreateDate = ’1′;
$mosConfig_hideModifyDate = ’1′;
$mosConfig_hidePdf = ’0′;
$mosConfig_hidePrint = ’0′;
$mosConfig_hideEmail = ’0′;
$mosConfig_enable_log_items = ’0′;
$mosConfig_enable_log_searches = ’0′;
$mosConfig_enable_stats = ’0′;
$mosConfig_sef = ’0′;
$mosConfig_vote = ’0′;
$mosConfig_gzip = ’0′;
$mosConfig_multipage_toc = ’1′;
$mosConfig_allowUserRegistration = ’0′;
$mosConfig_link_titles = ’0′;
$mosConfig_error_reporting = ‘-1′;
$mosConfig_register_globals = ’1′;
$mosConfig_list_limit = ’50′;
$mosConfig_caching = ’0′;
$mosConfig_cachepath = ‘/home/username/public_html/cache’;
$mosConfig_cachetime = ’900′;
$mosConfig_mailer = ‘mail’;
$mosConfig_mailfrom = ‘abc@domain.com’;
$mosConfig_fromname = ”;
$mosConfig_sendmail = ‘/usr/sbin/sendmail’;
$mosConfig_smtpauth = ’0′;
$mosConfig_smtpuser = ”;
$mosConfig_smtppass = ”;
$mosConfig_smtphost = ‘localhost’;
$mosConfig_back_button = ’0′;
$mosConfig_item_navigation = ’0′;
$mosConfig_secret = ‘xxxxxx’;
$mosConfig_pagetitles = ’1′;
$mosConfig_readmore = ’1′;
$mosConfig_hits = ’1′;
$mosConfig_icons = ’1′;
$mosConfig_favicon = ‘favicon.ico’;
$mosConfig_fileperms = ”;
$mosConfig_dirperms = ”;
$mosConfig_mbf_content = ’0′;
$mosConfig_helpurl = ‘http://docs.mambo-foundation.org’;

The parts I bold above are the part you need to pay attention.
$mosConfig_user = ‘username_testdb’;
$mosConfig_password = ‘xxxxx’;
$mosConfig_db = ‘username_testdb’;
$mosConfig_absolute_path = ‘/home/username/public_html/’;
$mosConfig_cachepath = ‘/home/username/public_html/cache’;

So now assuming that our database name and the user is username_testdb, while the password is xxxxx

Go to the the account’s cPanel. Under Database, select the MySQL Databases. Under Create New Database, fill in the BOLD part as below:
New Database:   username_testdb
and then click the Create Database button.

Next, go to the Add New User, then fill in as below:
Username:username_testdb
Password:xxxxx
Password (Again):xxxxx
Click Create User button afterward.

Then, go to Add User To Database section, select as below:
User: username_testdb
Database: username_testdb
and click on the Add button.
It will bring to a new page. This page is quite important. Make sure to Tick the ALL PRIVILEGES checkbox and then click the Make Changes button.

============================================
==================== End ====================
============================================

Ok then, the database part is finished. Make sure to test run and check whether got any error message or not. By the way, this were all tested in a cPanel-based hosting. The Rsync and the scp part will work on any hosting, but the database part might be slightly different.

Happy Trails.

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment

Compile PHP 5.3 via CustomBuild in Direct Admin

This is the step on how to compile your PHP into the latest version (or vice versa, according to your preferences) using CustomBuild in Direct Admin servers.

Note: This same procedure also can be applied with any other supported modules in Direct Admin. Just type “./build” to list out the things that you are able to update.

First, go to this folder:
/usr/local/directadmin/custombuild

Then modify the option.conf:
nano options.conf

Try to find this string:
php5_ver=

In my case, my current php is 5.2 and i need to recompile it to 5.3, so my current option.conf should looks like this:
php5_ver=5.2

and modified to this:
php5_ver=5.3

Save and close it.

Next, to download the updated version, type:
./build update

After the download is done, then finally we can start compiling by typing this:
./build php n

The compiling process should take a while. But just in case you ran into this kind of error:
virtual memory exhausted: Cannot allocate memory
make: *** [ext/date/lib/tm2unixtime.lo] Error 1
make: *** Waiting for unfinished jobs….
virtual memory exhausted: Cannot allocate memory
make: *** [ext/date/lib/parse_tz.lo] Error 1
virtual memory exhausted: Cannot allocate memory
make: *** [ext/date/lib/parse_date.lo] Error 1

So you are running out of RAM. Make sure too add enough RAM for the process to proceed.

Finally when finished, it will restart the httpd by itself. You can check the php version by typing “php -v” and the result as below will appear:
Before:
[root@server custombuild]# php -v
PHP 5.2.13 (cli) (built: Jul  7 2010 01:09:45)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

and after:
[root@server custombuild]# php -v
PHP 5.3.2 (cli) (built: Jul  8 2010 07:36:44)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Happy compiling.

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment

Adding multiple alternative SMTP Port in Direct Admin

Whereas in Direct Admin, things will done in a manual way. Ssh into the server and type:

vi /etc/exim.conf

Try to find “daemon_smtp_ports” and then you may add/edit the line to look like this:
25 : 587 : 26

The above means the email will pass through only on port 25, 26, and 587

Save and close. Restart Exim.

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment

Adding multiple alternative SMTP Port in cPanel

By default, cPanel only support one additional alternative SMTP port. However, if you need multiple port, follow the steps below:

1) Disable “exim on another port” in WHM -> Service Manager
2) Go to WHM-> Exim Configuration Editor -> Advanced Editor -> at the first text box, add in “daemon_smtp_ports = 25 : 26 : 587″ without “”.
3) Save.

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment

Custom php.ini on suPHP using .htaccess

Remove the lines that begin with “php_value” and “php_flag”. You will need to move these files to a file named php.ini and upload php.ini into your public_html directory. Then, add the following line into the .htaccess file in your public_html:

suPHP_ConfigPath /home/username/public_html

where “username” is your cPanel username. You will need to remove php_value and php_flag from ALL .htaccess files you may have. However, you only need to add the suPHP_ConfigPath line in the .htaccess file in your public_html directory only.

Please note that you will need to change the format of your php_value and php_flag lines into the php.ini format

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment

Fix User’s Folder and File permission when suPHP enabled

Just use the command below to fix the user’s files and folder permission.

find /home/username/public_html/ -type d -exec chmod 755 {} \;

find /home/username/public_html/ -type f -exec chmod 644 {} \;

Repace with the real username in the system.

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment

[HowTo] Update Timezone on CentOS/RedHat

This tutorial shows you how to update timezone on your CentOS/Redhat machine. Run the command below to install system-config-date.

[root]# yum install system-config-date
[root]# setup

Go-to -> Timezone configuration -> Select your local time zone -> Click OK -> Quit.

To check your current timezone:
[root]# date
Sun Mar 15 23:50:42 MYT 2009

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment

Fix Your Streamyx Problem Today by Using TMnet Proxy

Guys, if you having packet loss problem now with streamyx, you can use these proxies.

Usable proxy list:
219.93.178.162:3128

updated: 26/04/2010

Firefox setting:

Tools ->Options->Advance->Network->Settings

proxy

Internet Explorer Setting:

Tools -> Internet Options -> Connections -> Lan Settings

ie-proxy

Notes: If you happen to get error message while surfing the net using this proxy, which means this proxy is no longer usable.

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Internet | 1 Comment

Opera v9.60 Released

The most full-featured Internet power tool on the market, Opera includes pop-up blocking, tabbed browsing, integrated searches, and advanced functions like Opera’s groundbreaking E-mail program, RSS Newsfeeds and IRC chat. And because we know that our users have different needs, you can customize the look and content of your Opera browser with a few clicks of the mouse.

Download: Opera v9.60

Continue reading

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Internet | Leave a comment

[How-to]Install DOM XML on Directadmin

Below is the tutorial on how-to install DOM-XML in DirectAdmin using customapache.

# yum install libxml2-devel libxslt-devel libgcrypt-devel
# cd /usr/local/directadmin/customapache
# vi configure.php

Add this to configure.php before –with-gd \ :
–with-dom=/usr/lib \
–with-dom-exslt=/usr/lib \
–with-dom-xslt=/usr/lib \

# ./build clean
# ./build php n
# service httpd restart

[del.icio.us] [Digg] [Reddit] [Slashdot] [StumbleUpon] [Technorati] [Windows Live] [Yahoo!]
Posted in Linux Tutorial | Leave a comment