Archive for the ‘RackWire News’ Category

Rackwire Supports .Net 4.0

We are pleased to announce support for .Net 4.0 on Rackwire’s Windows Hosting plans.  We have updated all of our shared web hosting servers to support .Net 4.0 and you can select between which version of .Net you would like to run for each website you host under your account.  Full support for .Net 1.0 through 4.0.

Free SmarterMail 7 Professional Edition

Purchase any Windows Virtual Private Server (VPS) or Dedicated Server with Windows and you will receive the SmarterBundle ($800.00 Value) at no additional cost. The SmarterBundle includes:

  • SmarterMail Pro 7  – 250 Mailboxes ($299.00 Value)
  • SmarterStats Pro 4.x – 50 Sites($299.00 Value)
  • SmarterTrack Pro 4.x – 2 Agents($199.00 Value)

SmarterMail 7.0 delivers Exchange-level mail server features for a fraction of the cost. With lower hardware requirements, superior stability, and reduced maintenance costs and is the best-in-class Microsoft Exchange alternative for businesses.  It is easy to install and administer on your own VPS or Dedicated Server.

ubuntu 10.04 review install from USB

Ubuntu 10.04 Review: The laptop was running Windows 7.0 a little slow, so I decided to try installing Ubuntu 10.04.  With my fear of commitment, I decided to run Ubuntu off a USB stick at first and kick the tires and test the speed.  So I downloaded Ubuntu 10.04 here.  The site is very straight forward and has guides on creating the install CD as well as running the installer or booting Ubuntu 10.04 off a USB Memory Stick (USB Memory Stick Installer here).

  • So I ran the USB Installer Wizard, and changed the boot order to boot of USB first.  The OS loaded in under a minute and I was up and running.  How did it work?
  • Picked up my Wireless Connection Instantly
  • Ran Multiple Desktops Seamlessly
  • Access the Ubuntu Software Center and Install Applications
  • Open Office was installed out of the box, and I was able to open Word Docs, and Excel sheets off my hard drive.
  • I could see my hard drive and write/read files.
  • I was able to configure my e-mail client and check e-mail instantly.  It did crash, probably due to my inbox being larger than the Thumb Drive.

 My recommendations are to download the USB Installer/Runtime and give it a shot.  It might just speed up that old laptop you have or be a free option for a new OS.  Screen Shots:

Changing the VOIP SIP Port from 5060

The default port for our private Trixbox VOIP systems is 5060.  If this port is blocked by your ISP or internet provider, you can change it within the TrixBox interface under the “PBX Settings” page.  Once on this page, you will want to edit an existing extension or create a new one.  Under “Device Options”, you should change the “port” field.  Make sure that you also setup this same port on whichever device you are using to connect up with the TrixBox.  Make sure that you do not use ports that could conflict with other programs that you are running on your computer (25, 80, 110, 443).

This enables you to change your VOIP SIP port from 5060 to port 80, etc without using a VOIP Tunneling Tool.  Sign up for a private VOIP system with a dedicated IP that you can admin, and change the default Ports/Passwords on today.

Proxmox Linux OS Templates

With a Dedicated Server running Proxmox VE, you can build and deploy your own Linux VPS Systems.  Here is a list of some of the Linux Operating System Tempaltes Available:

  • Debian 4.0 Standard
  • Debian 5.0 Standard
  • Debian 6.0 Standard
  • Ubuntu Hardy Standard
  • Ubuntu 8.04
  • CentOS 5 Standard
  • CentOS 4 Standard
  • Fedora 9 Standard
  • OpenSUSE 11

There area also a number of Application Tempaltes Currently available including: SugarCRM, Zenoss, MediaWiki, Acquia Drupal, Drupal, Joomla!, Zimbra, RT Request Tracker, WordPress, BlueOnyx, eyeOS, FrontAccounting, Moodle, OpenGOO, OrangeHRM, SimpleInvoices, vTigerCRM, PBX in a Flash, FreePBX, SMEServer KVM, X11 Terminal Server

For more information and up to date release info visit: http://pve.proxmox.com/wiki/Get_Virtual_Appliances

Also here is a listing of standard OpenVZ Templates: http://wiki.openvz.org/Download/template/precreated

Hardware Loadbalanced VPS Servers

In our Datacenter we have two Diesel Generators, Three Load Balanced Fiber Rings, Dual Power Feeds, Redundant Network and Hardware Nodes.  When you are looking for a High Availability Hosting Solutions, the greatest point of failure is your Single Web Server.  Hardware Loadbalancing offers a way to remove the single point of failure in your application.

To get hardware loadbalancing you must have at least 2 or more VPS or Application Servers.  The Load Balancer will then divide the load between multiple servers, and reduces the actual load on the server.  The hardware device will even take the SSL encryption off the server and carry the SSL encryption load for you.

The different modes available for Load Balancing are: Round Robin, Fastest Response Time, Least Connections, Weighted Round Robin, or a Custom/adaptive Type. A simple explanation would be to say if you run an e-commerce web site; You are like a grocery store, and you want to get a user through the checkout lane the fastest. Right now you only have one checkout lane, and customers are lining up. If you “Load Balance” and open a second checkout lane the user load or wait time is cut in half. If the register runs out of receipt tape (i.e. Server crash), users can switch to the other checkout lane. The end goal, you want ensure the fastest and most reliable service to your customers, so they do not shop elsewhere. I am sure we have all seen a customer leave a store because the line was too long, or the site was not available.

Another benefit of Loadbalancing two servers is being able to take a server off-line to do an upgrade or patch on the system with Zero Downtime to the entire application.  This is a common practice used in patching enterprise applications.

Hardware Loadbalancing of a VPS or Dedicated server is one way to ensure 100% uptime of your enterprise application.  You can also now view your server load balancing configuration and availability in the Client Area, under your Load Balancing Service.

Apache logs and non-transparent load balancers

Typically, in a load balanced environment there are two types of modes that can be configured:

Transparent – Requests come into the load balancer and are transparently routed to the “real” servers behind it. In this setup, the real servers see the request as coming from the client IP address it was originally sent from. This typically requires all real servers to have it’s default gateway set as the load balancer.

Non-Transparent – In non-transparent mode, packets come into the load balancer, are re-written using NAT and then forwarded to the real servers behind it. In this scenario, all connections that come into the real servers appear to be originating from the load balancer.

If you are using any kind of analytics or stats software for your website, a load balancer in non-transparent mode will skew your data as all of your “hits” will appear to be coming from the same IP address (the load balancer). Fortunately, most load balancers have the ability to inject the “X-Fowarded-For” HTTP header into the request that makes it to the real server. This header will contain the original IP address which the request came from. We can use this information for more accurate website reporting.

Because of the flexibility of the Apache web server, we can alter what information goes into our log files. For example, if you wanted the client IP address field replaced with the X-Forwarded-For header data in your log files, you could add the following to your Apache configuration:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy

SetEnvIf X-Forwarded-For “^.*\..*\..*\..*” forwarded
CustomLog “logs/access_log” combined env=!forwarded
CustomLog “logs/access_log” proxy env=forwarded

This basically says “if the X-Forwarded-For header exists, use that value as the first column in our log file…otherwise, use the remote host’s IP address”. RackWire now offers load balanced solutions. By default, we will setup our load balanced services in non-transparent mode. We recommend that all customers who use our load balancer follow the example above so their Apache log files reflect accurate data. If you have questions about our load balanced solutions, please contact us today!

Domain Transfers – Things you should know

A few months ago, we posted a great article on transferring domains from Network Solutions to Rackwire, but that did not cover everything you should know about domain transfers in general.  We do numerous domain transfers into our systems each and every day, but we often run into issues and have to answer a lot of questions for our customers.  Transferring a domain is multi-step process and there are a few things that can go wrong along the way.  Understanding all the steps and making sure you address the critical items will help to ensure that your domain transfer goes as smooth as possible.

- Before you get started with the transfer, the most important step that must be completed is to make sure that your domain is not locked.  You should be able to easily tell this within the administration tool of your current registrar or service provider.  If locked, you should make sure to unlock it.

- Once unlocked, you will want to take a look at who the administrative contact is for the domain.  This will have a name and email address.  It is critical that you will have access to this mailbox or be able to contact the person who does.  There is a later step that needs to access a verification email, and that email will ONLY go to the person who is the admin contact.  If you do not have access to this mailbox in any way, then you will want to change the admin contact on the domain through your current provider.  Just be aware, some registrars will lock the domain and prevent transfers for as much as 60 days after contact info is changed.  It is always best to not have to do this step, if you don’t have to, but sometimes you have no choice.

- With this first two steps complete, you are now ready to being the transfer.  To get started, you need a transfer code, often called an EPP code, or authorization code.  Somewhere in your current provider there should be a link or button to allow you to transfer the domain and generate an authorization code.  Click on that, and you should get back the code.

- With the EPP code in hand, you can go to our site and visit the Domain Transfer page, where you enter in your domain information and click the button to check the availability for transfer.  If it is a valid domain that can be transfered, you will get a button to add it to your cart, if not, it will indicate it is unavailable, meaning it is a new domain and you should register it, not transfer it.

- After you add the domain to your cart, the next screen will prompt you for your EPP code.  Enter in the code you obtained from your current provider and click the button at the bottom to update the cart.  The nameservers can either be left as our nameservers or changed to any nameserver you would like to use.

- You then can continue on, checkout and pay for the domain transfer, and you are nearly complete.  There is just one more step that needs your interaction. 

- After the transfer is paid for, our system will automatically submit the transfer request to our Registrar partner, eNom.  eNom starts the transfer by contacting the domain’s current registrar and looking up the admin contact that we mentioned above and getting their email address.  eNom then sends a transfer approval email to that email address.

- That email will be coming from the address info@transfer-approval.com, it is critical that your spam filters are not blocking that address and domain.  You typically should receive that email within a few hours of starting the transfer process, and definitely within a day or so.  If you do not, double check your spam folders.  If you do not see it anywhere, please contact us and we can resend that email.  Remember that it is critical you have access to or change the admin contact email address for the domain.  We cannot send the verification email to any address we want, it can only go to that admin contact.

- Once you do finally receive that email, there will be a link in it to approve the transfer.  You MUST click this link, and submit the form on the web page that comes up with your approval of the transfer.  If you do not do this step, your domain will not transfer to us and we will have to re-initiate the process.

- After you click this link, your job is done.  We will get your response, and eNom then contacts the current registrar to continue the transfer process.  For some providers this can all take place in as a little as a day, for others, this can take as many as 2, 3, or even 4 days, possibly longer, but that is rare.  Once complete, we get notified, and will let you know your transfer process is completed.  You can then use your domain with our hosting services however you desire.

I hope this article has been helpful and makes your domain transfers as easy as possible in the future.  If you ever have any difficulties, you can always reach us at Support.

Using Perl like sed from the command line

I use sed basically everyday for quick text manipulation from the command line.  It is probably one of the tools I use the most frequently.  In fact, taking a look at the top ten used applications in my .bash_history, sed currently ranks 7th, right between awk and ssh:

$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -10
92 for
63 vim
62 cat
60 host
43 curl
27 awk
26 sed
24 ssh
18 whois
13 ping

An example of something I would use sed for would be to parse through the output of a command. For example, let’s say I ran the following:

$ host -t ns rackwire.com

I would see:

rackwire.com name server dns1.rackwire.com.
rackwire.com name server dns2.rackwire.com.

If I just wanted to see the host names of the name servers, I could pipe the output through sed:

$ host -t ns rackwire.com | sed 's/^[[:alnum:]\-\.]\+\sname\sserver\s//g'
dns1.rackwire.com.
dns2.rackwire.com.

I find sed very useful for quick string manipulation. However, sed uses the POSIX Basic Regular Expression (BRE) syntax and I am much bigger fan of Perl Compatible Regular Expressions (PCRE). For anything that requires more advanced regular expression matching, I will usually use Perl in place of sed. With a couple of command line arguments, this can be done like:

perl -p -e 'REGEX' input_file

…or

some_process | perl -p -e 'REGEX'

Getting back to our `host` example, what if we wanted to output the name of the servers on one line? This would be in instance of where I would use Perl as opposed to sed (which works best with single line substitution):

$ host -t ns rackwire.com | perl -p -e 'BEGIN{undef $/;} s/.*?server\s([a-z0-9\-\.]+)/\1 /sgmi'
dns1.rackwire.com. dns2.rackwire.com.

The BEGIN{undef $/;} just changes the input separator (generally a new line) to nothing. This allows us to do our multiline match.

As someone with much more experience using PCRE than Posix BRE, I find it much more efficient to use Perl in place of sed when doing anything beyone basic substitution.

Installing YUM on Fedora Core 12

One of the virtualization platforms that we utilize is Parallels Virtuozzo.  Generally, we will use OS templates created by Parallels to setup our Virtual Instances.  These OS templates do not have yum, which is an automatic updater and package installer/remover, installed on them by default. Because of this, we will need to find all of the RPMs that are needed by the yum package manually.

It turns out that you will need to install 65 different packages in order to install yum.  I have spent the time to find out all of these packages and here is the command that you can run to install yum on Fedora Core 12:

rpm -ivh –force http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/yum-3.2.25-1.fc12.noarch.rpm  http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/pygpgme-0.1-17.20090824bzr68.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/python-iniparse-0.3.0-3.fc12.noarch.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/rpm-python-4.7.1-6.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/yum-metadata-parser-1.1.2-14.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/python-urlgrabber-3.9.1-2.fc12.noarch.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/gpgme-1.1.8-2.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/glibc-2.11-2.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libxml2-2.7.6-1.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/popt-1.13-6.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/python-libs-2.6.2-2.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/glib2-2.22.2-2.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/rpm-4.7.1-6.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/rpm-libs-4.7.1-6.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/elfutils-libelf-0.143-1.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libcap-2.16-5.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/nss-3.12.4-14.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/gcc-4.4.2-7.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/nss-util-3.12.4-8.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/glibc-devel-2.11-2.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libgcc-4.4.2-7.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libgomp-4.4.2-7.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/glibc-headers-2.11-2.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/nspr-4.8.2-1.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libattr-2.4.43-4.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/kernel-headers-2.6.31.5-127.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libacl-2.2.47-5.fc12.i686.rpm ftp://ftp.univie.ac.at/systems/linux/fedora/releases/12/Everything/i386/os/Packages/bzip2-libs-1.0.5-6.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/db4-4.7.25-13.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/lua-5.1.4-4.fc12.i686.rpm ftp://ftp.univie.ac.at/systems/linux/fedora/releases/12/Everything/i386/os/Packages/xz-libs-4.999.9-0.1.beta.20091007git.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/file-libs-5.03-9.fc12.i686.rpm ftp://ftp.univie.ac.at/systems/linux/fedora/releases/12/Everything/i386/os/Packages/libselinux-2.0.87-1.fc12.i686.rpm ftp://ftp.univie.ac.at/systems/linux/fedora/releases/12/Everything/i386/os/Packages/zlib-1.2.3-23.fc12.i686.rpm ftp://ftp.univie.ac.at/systems/linux/fedora/updates/12/i386/sqlite-3.6.20-1.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/python-pycurl-7.19.0-4.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/gnupg2-2.0.13-1.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libgpg-error-1.6-4.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/pth-2.0.7-9.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/glibc-common-2.11-2.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/nss-softokn-freebl-3.12.4-10.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/gamin-0.1.10-5.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/cloog-ppl-0.15.7-1.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/cpp-4.4.2-7.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/ncurses-libs-5.7-3.20090207.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/readline-6.0-3.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libcurl-7.19.6-10.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/dirmngr-1.0.3-3.fc12.i686.rpm ftp://ftp.univie.ac.at/systems/linux/fedora/releases/12/Everything/i386/os/Packages/libgcrypt-1.4.4-8.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libksba-1.0.6-3.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/openldap-2.4.18-5.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libusb-0.1.12-22.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/pinentry-0.7.6-4.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/gmp-4.3.1-5.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/ppl-0.10.2-10.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/mpfr-2.4.1-3.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libcom_err-1.41.9-5.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/krb5-libs-1.7-8.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libidn-1.9-5.i686.rpm  http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/nss-softokn-3.12.4-10.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libssh2-1.2-2.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/openssl-1.0.0-0.10.beta3.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/cyrus-sasl-lib-2.1.23-4.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/libstdc%2b%2b-4.4.2-7.fc12.i686.rpm http://mirrors.rit.edu/fedora/linux/releases/12/Fedora/i386/os/Packages/keyutils-libs-1.2-6.fc12.i686.rpm

If you see any dependency errors, please contact support and let us know so that we can update the command.

All of our Virtual Private Servers come with yum pre-installed for your convenience.