How can I test or preview my website before switching DNS?


  1. Locate the HOSTS file on your computer. Typically it is in one of the following locations:
    • Windows NT/2000/XP/2003/Vista/7 – C:\windows\system32\drivers\etc\hosts
    • Windows 95/98/Me – C:\windows\hosts
  2. Open this file with a text editor such as Notepad or Wordpad.
    • Right-click on Notepad and select the option to Run as Administrator – otherwise you may not be able to open this file.Then, open the file. Consider performing a “Save As” so you have an original copy of the file that you can restore later. You will see two columns of information, the first containing IP addresses and the second containing host names. By default, a windows hosts file should be similar to the following:
      (In Windows 7 Press and hold Ctrl+Shift while opening the Notepad/Wordpad).

    • Filename: hosts localhost

      You can add additional lines to this file that will point requests for a particular domain to your new server’s IP address.


      Filename: hosts localhost

  3. Save your changes (be sure to save as a host file, not as a text file).
    Windows wants to save it as text (.txt) so you need to

    1. Change save as type to all files and then
    2. Click on host  (the original file).
  4. Restart any currently open browsers.
  5. You may also want to flush your DNS cache. In Windows XP, go to Start, and then Run, then type “cmd” and hit enter.
    Type the following:ipconfig /flushdns
  6. In your web browser you should see your site as it appears on your testing server when typing but still be able to see the site on its current web server by visiting

How to Edit Your Hosts File on an Apple Macintosh Using Mac OSX

Let us assume for this example your testing server has an IP address and you wish to visit that server when you type “” into a web browser BUT still wish to still see the site as the rest of World Wide Web does when you enter “” into your browser instead.

  1. Open Terminal, which is in Applications, then the Utilities folder. To do this go to the Finder (Desktop) and from the main main bar at the top of the screen choose “Go” and then “Utilities”. Find the Terminal application icon and double click.
  2. You may want to first make a backup copy of your existing hosts file:
    sudo cp /private/etc/hosts /private/etc/hosts-orig

    Enter your user password at the prompt.Then type the following command to edit your hosts file:

    sudo nano /private/etc/hosts

    Enter your user password at the prompt if asked.

  3. You will see a file with contents similar to the following:

    Filename: hosts


    # Host Database


    # localhost is used to configure the loopback interface

    # when the system is booting. Do not change this entry.

    ## localhost broadcasthost

    ::1 localhost

    fe80::1%lo0 localhost

    Using the arrow keys on your keyboard, navigate around this file an add your domain and IP address to the bottom of the file. For example:

    Filename: hosts

    ### Host Database## localhost is used to configure the loopback interface# when the system is booting. Do not change this entry.## localhost broadcasthost

    ::1 localhost

    fe80::1%lo0 localhost

  4. When done editing the hosts file, press the keyboard combination Control+O to save the file.
    Then press the Enter on the filename prompt to confirm the Save operation. Finally press the keyboard combination Control-X to exit the editor.You may also need to grant yourself sudo priveleges, if you got a permission error in Step 2. In your “Help” menu, search for “root” and select the instructions for “Enabling the root user.” Follow those instructions.
  5. Restart any currently open browsers. You may also want to flush your DNS cache.
    Type the following command into your Terminal window:dscacheutil -flushcache
  6. In your web browser you should see your site as it appears on your testing server when typing but still be able to see the site on its current web server by visiting

What is RAID?

What is RAID (Redundant Array of Independent Disks)?
RAID creates a single usable data disk, where several physical disks are combined into an array for better speed and/or fault tolerance. There are three key concepts in RAID: mirroring, the copying of data to more than one disk; striping, the splitting of data across more than one disk; and error correction, where redundant data is stored to allow problems to be detected and possibly fixed (known as fault tolerance). Although there are many different levels of RAID.

RAID 0 (Striped set without parity/Non-Redundant Array) Implements data striping where file blocks are written across multiple drives in fragments and requires a minimum of 2 disks. The advantage of a RAID 0 is that the read/write speed is dramatically increased. The more disks in the array the greater the bandwidth. The disadvantage to a RAID0 is that there is no fault tolerance; if a single drive fails it will destroy the array. Also a RAID 0 does not implement error checking so any error is also unrecoverable. A common solution to this is to have a drive outside of the array used as back-up storage in case of a hardware failure.

RAID 1 (Mirrored set without parity) Implements data mirroring. Data is duplicated on two or four drives through a hardware raid controller and provides some fault tolerance. The array is recoverable as long as at least 1 drive has not failed. It provides faster read performance than a single drive and provides drive redundancy in case of drive failure. There is also a very slight reduction to write speed.

RAID 5 (Striped set with dual distributed parity) Implements data striping at a block level, and distributes parity among the drives. The parity information allows recovery from the failure of any single drive because any following reads can be calculated from the distributed parity. Another advantage of a Raid 5 allows for increased read/write speeds while allowing the most efficient use of disk space. RAID 5 requires a minimum of 3 disks.

RAID 10 (RAID 1 + 0) Creates multiple mirrors, where data is organized as stripes across multiple disks and then the striped disk sets are mirrored. RAID 10 offers the same fault tolerance as RAID 1 with increased read/write speeds over a single Raid 1 volume or single drive. RAID Level 10 requires 4 drives to implement.


Updating Apache to the latest version on DirectAdmin

You can check the current version of apache by running

/usr/sbin/httpd -v

CustomBuild – current

If you’re using custombuild (as most new boxes are), run the following

cd /usr/local/directadmin/custombuild
./build update
./build apache
./build php n
./build rewrite_confs

CustomApache – end-of-life

If you are using customapache with the 1.3 version of apache to the most recent, run the following:

cd /usr/local/directadmin/customapache
./build clean
./build update
./build apache_mod_ssl

If you’re using apache 2.x, use “./build apache_2” isntead of apache_mod_ssl.
This should update both the configure options and the version of apache to the most recent version.  Once the update has completed, you’ll need to restart apache:


/sbin/service httpd restart

/usr/local/etc/rc.d/httpd restart


How do I assign additional IP addresses in RedHat/CentOS?

If you are using CPanel, you should add the IP addresses through WHM.  Do not follow these instructions if you are using CPanel.

If you want to assign the addresses – to your server, you will need to create a RANGE file.

cd /etc/sysconfig/network-scripts
ls ifcfg-eth1-range*

If you already have a range file, you will need to create a new one for the new range of IPs you are adding, eg ‘nano ifcfg-eth1-range1` .  If you have one named range1, name the next range2 and so on.

nano ifcfg-eth1-range1

Place the following text in the file:


Note: CLONENUM_START defines where the alias will start.  If this is the second range file, you will need to set CLONENUM_START to a value higher than the number of IP addresses assigned.  To check what you currently have used, you can run ‘ifconfig –a | grep eth1’.  This will list devices such as eth1:0, eth1:1, eth1:2, and so on.  If you are currently using upto eth1:16, you will need to set CLONENUM_START to 17 to assign the IPs correctly.

How do I check the health of my 3ware RAID array?

3ware allows for a browser interface to be used, however unless accessed locally this can be a security risk. Therefore we suggest using the command line interface if at all possible.

You need to download the 3ware CLI utilities from the vendor website or from your datacenter portal. Installation is as simple as unzipping the file into a separate folder. Please note you MUST be root/administrator to run the utility.

Quick command reference for 3ware CLI tools

These devices must be followed by a number denoting which is being queried.

tw_cli /c0 show (Output shows information needed to know the health of the RAID array)

./tw_cli /c1 show


Unit  UnitType  Status         %Cmpl  Stripe  Size(GB)  Cache  AVerify  IgnECC


u0    RAID-5    OK             –      64K     465.641   OFF    OFF      OFF

Port   Status           Unit   Size        Blocks        Serial


p0     OK               u0     233.76 GB   490234752     WD-WCANY1727093

p1     OK               u0     233.76 GB   490234752     WD-WCANY1622544

p2     OK               u0     233.76 GB   490234752     WD-WCANY1657267

p3     NOT-PRESENT      –      –           –             –

*note the following:

c = controller
Controller can be 0 or 1
u = unit
Unit number depends on number arrays. It is 0 in most cases.
p = port
Port denotes port number. In most cases, it is 0-4.


How to Optimize MySQL

There is a default my.cnf that comes with mysql (4+5) that will make mysql run a bit quicker if you have 2+ gig of ram cp -f /usr/share/mysql/my-large.cnf /etc/my.cnfThere is also my-huge.cnf, or my-medium.cnf depending on your hardware setup.   Check the contents of these my*.cnf files for the one that’s right for you.

*NOTE* the log-bin option is enabled  by default.  This will quickly use a lot of disk space.  It’s recommended to comment out the log-bin line from your /etc/my.cnf, if it exists.


Remember to restart mysql when you are done with your my.cnf tweaking:

Redhat:/sbin/service mysqld restart

FreeBSD:/usr/local/etc/rc.d/mysqld restart

Can I add more RAM to my 32 bit Operating System (OS)?

Some 32 bit Operating Systems (OS) limit the amount of RAM they will support. Exceeding that limit may contribute to a number of problems. Therefore it is not supported. Upgrading to a 64 bit Operating Systems (OS) is recommended. A list of 32 bit Operating Systems (OS) with limited RAM is below.


Operating System (OS)


RAM Limit (GB)

CloudLinux 5 32 bit 64
CloudLinux 6 32 bit 8
Debian 6 32 bit 32
RHEL/CentOS 5 Minimal/LAMP 32 bit 64
RHEL/CentOS 6 Minimal/LAMP 32 bit 16
Ubuntu 8.04 LTS 32 bit 64
Ubuntu 10.04 LTS 32 bit 64
Ubuntu 12.04 LTS 32 bit 64

How to increase /tmp partition size on a non-control panel server

Stop Apache and MySQL services.

# /etc/init.d/httpd stop; /etc/init.d/mysql stop

Take a backup of /tmp

# cp -rp /tmp /tmp.bak

Create a partition of 2GB using the below command

# dd if=/dev/zero of=/usr/temp-disk bs=2M count=1024

Create the file system on it using the mke2fs command

# mke2fs -j /usr/temp-disk

Unmount the current /tmp partition

# umount /tmp

Mount the new /tmp filesystem using the below command

# mount -t ext3 -o rw,noexec,nosuid,loop /usr/temp-disk /tmp

Set the correct permission for /tmp

# chmod 1777 /tmp

To verify the partition, execute:

# mount

Restore the content of old /tmp.bkp directory

# cp -rp /tmp.bak/* /tmp

Start Apache and MySQL services.

# /etc/init.d/httpd start; /etc/init.d/mysql start

To make sure this partition is mounted automatically after every reboot, edit the /etc/fstab and replace /tmp entry line with the following one.

/usr/temp-disk /tmp ext3 rw,noexec,nosuid,loop 0 0

Increase /tmp partition size in cPanel and secure it

1. Stop cpanel, apache (or whatever webserver you are using), mysql services:

/etc/init.d/cpanel stop
/etc/init.d/httpd stop
/etc/init.d/mysql stop

2. Umount /tmp and /var/tmp:

umount -l /tmp
umount -l /var/tmp

3. Move /usr/tmpDSK file to another location (just in case you’ll need to mount it somewhere else to preserve data):

mv /usr/tmpDSK /usr/tmpDSK_back

4. Modify /scripts/securetmp to set tmpdsksize to desired size:

vi /scripts/securetmp

$tmpdsksize = 2048000

5. Run:


6. Start cpanel, apache (webserver), mysql services:

/etc/init.d/cpanel start
/etc/init.d/httpd start
/etc/init.d/mysql start

How to generate a Strong Password


Creating and using strong passwords is an important part of your server security.


If your old password was compromised, make sure that your new password is very different from your old one.

Things to include

  1. At least eight characters.
  2. One or more of each of the following:
    • lower-case letter
    • upper-case letter
    • number
    • punctuation mark
  3. Lookalike characters to protect against password glimpses. Examples:
    • O as in Oscar and the number 0.
    • Lower-case l and upper-case I.
    • The letter S and the $ sign.

Things to avoid

  1. Words you can find in the dictionary.
  2. Passwords shown as “example strong passwords.”
  3. Personal information, such as names and birth dates.
  4. Keyboard patterns, like qwerty or 12345. Particularly avoid sequences of numbers in order.
  5. Common acronyms.
  6. All one type of character – such as all numbers, all upper-case letters, all lower-case letters, etc.
  7. Repeating characters, such as mmmm3333.
  8. The same password you use for another application.

Memorable password tips

While passwords that are easy for you to remember are also less secure than a completely random password, following these tips can help you find the right balance between convenience for you and difficulty for hackers.

  1. Create a unique acronym for a sentence or phrase you like.
  2. Include phonetic replacements, such as ‘Luv 2 Laf’ for ‘Love to Laugh.’
  3. Jumble together some pronounceable syllables, such as ‘iv,mockRek9.’

Keep your password secret

  1. Never tell your password to anyone (this includes significant others, roommates, coworkers, etc.). If you need to grant someone access to your server, set up a separate username and password for that person.
  2. Never write your password down, especially not anywhere near your computer.
  3. Do not store your password in a plain text file on your computer.
  4. Never send your password over an unecrypted connection – including unencrypted email.
  5. Periodically test your current password.
  6. Update your password every six months.

Third-party tools

Password generators

Password strength tests

Password storing tools