Put your message here! Contact me for more information
 
 







 

Archive for the ‘Server’ Category


 

Last nite, I was surfing around and found this page at the ThePlanet.com forum. Someone has configured a subdomain to proxy to the Plesk admin page. This way, in stead of accessing Plesk admin page via port 8443 (which I forget half of the time), I can access the page via https//plesk.mydomain.com (still encrypted with SSL for your privacy and security). In case I am behind a firewall that blocks most incoming/ outgoing ports, I still can access my plesk control panel page via the standard SSL port of 443.

From the forum thread (see the link above), the setup is pretty straightforward, but for some reasons, a few people could not configure the subdomain to act as a proxy to the Plesk control panel. The reason is there is a bug in how Plesk 8.0 writes the domain/ subdomain configuration files for Apache. And as there were a few people asking for a more detailed step-by-step tutorial, here is my take on it.

Let’s first go over the setup and configuration, then we can talk about the bug in Plesk. I assume that you have root access to your box because the Plesk manual explicitly states that you have to be root to create the vhost_ssl.conf file, which is the file we need to create to turn the subdomain into the proxy to the Plesk control panel.

The setup

  • Create a subdomain in Plesk. Remeber to enable SSL support, PHP support, and CGI support. By checking these 2 options, we are forcing Plesk to add an “include” directive to the configuration file of the domain. We discuss more on this later. I created a subdomain called “plesk” so that I can use it like https://plesk.alexle.net/ to access to the Plesk CP. From now on, let’s use “plesk” as our subdomain and alexle.net as our main domain.
  • Next, SSH to your box as root, then cd to the configurations folder of the newly created subdomain:
    #cd /var/www/vhosts/alexle.net/subdomains/plesk/conf/
  • Create a vhost_ssl.conf file ins this conf folder using your favorite text editor. The content of this file should be

    SSLProxyEngine on
    ProxyRequests off
    ProxyPass / https://www.alexle.net:8443/
    ProxyPassReverse / https://www.alexle.net:8443/

    What we are doing is to turn on the SSLProxyEngine for this particular subdomain. In order for this to work, we have to turn the ProxyRequests off. Next, we tell Apache to pass all traffics (or requests) from the root / access of the subdomain to the destination URL (which means all future requests from https://plesk.alexle.net/ will be “ProxyPass“ed to https://www.alexle.net:8443/) . Then with ProxyPassReverse, we tell Apache to redirect the response from https://www.alexle.net:8443/ back to /, our “https://plesk.alexle.net”. (By the way, you will have to use your own domain/ subdomain instead www.alexle.net in the above configuration)

  • Finally, for Apache to pickup the the new configuration file, we need to restart the httpd service
    #/etc/init.d/httpd restart
  • Surf to htps://plesk.alexle.net/. Humh, it doesn’t work yet? Here is the Plesk bug.

The Bug

Plesk BugThe way Plesk generates and stores configurration files are covered in the Plesk Manual Page. Basically there’s a master Apache config file at /etc/httpd/conf. This master Apache configuration file will include a whole bunch of other specific configuration files for each domains (located in /var/www/vhosts/domain_name/conf/httpd.include) and subdomains (/var/www/vhosts/domain_name/subdomains/your_subdomains/conf/vhost.conf or vhost_ssl.conf). Phew.

Remeber when we created the subdomain, we have selected PHP support and CGI support. By doing this, we have forced Plesk to write an “include” directive in the configuration file of the main domain to include the configuration file of the subdomain. To clarify, if you now open up the file httpd.include (in my case, at /var/www/vhosts/alexle.net/conf/httpd.include), find the VirtualHost section for your newly created subdomain, you will find a line similar to this

#file: /var/www/vhosts/alexle.net/conf/httpd.include
Include /var/www/vhosts/alexle.net/subdomains/plesk/conf/vhost.conf

However, there are 2 VirtualHost sections for the plesk subdomain: one is for port 80, and the other is for port 443, SSL. Moreover, both sections include the same vhost.conf file. This is wrong. Based on the Plesk’s Manual, the VirtualHost section for the SSL at port 443 should include the vhost_ssl.conf instead of the vhost.conf. So that’s the Plesk 8.0 bug. I’ve tried a couple times and was able to reproduce the Include bug.

The fix

Now we know why our configuration file for SSL access via the subdomain is not picked up. We need to change the Include directive of the VirtualHost SSL section for the subdomain to use the vhost_ssl.conf file instead. Then restart apache (#/etc/init.d/httpd restart) and everything should works fine.

The catch

We are modifying the main domain’s httpd.include file, which Plesk will overwrite everytime we make changes to this particular domain. Once that happens, you will have to re-modify the httpd.include file so that the correct vhost_ssl.conf file is used.

I hope that this short article helps you work and understand Plesk better. Thanks for the thread from ThePlanet.com forum to inspire me for this article. Comments are welcome as always.

view comments
 

I was trying to setup a MySQL cluster with CentOS 4.4 and VMWare and I was initially successful at getting the NDB storage engine to work. However, I could not start the MySQL API (or MySQL client, whatever you call it) because I ran into the infamous MySQL error of “ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)“. Googling didn’t help much either because people were just asking and very few got the answer.

After a while, I was desparate. My cluster was up and I had no way to connect to it and test out the exciting cluster’s replicate feature. I went to bed at 4:00am last night and kept thinking what could go wrong? Setting up the ndb engine for the nodes was pretty straightforward but why just getting mysql client to run is so problematic? Well, here’s my solution to the puzzle:

My Setup

  • CentOS 4.4 installed from DVD with most packages unchecked, especially MySQL
  • The newest MySQL 5.0.27-max was used. See, I’m on the bleeding-side of technology.
  • MySQL is locaed in the default location at /usr/local/mysql/
  • When I installed MySQL, the mysql.server script was cp from /usr/local/mysql/support-files/mysql.server to /etc/init.d/
  • The my.cnf file is very simple like this

#file: /etc/my.cnf
ndbcluster
ndb-connectstring=’host=192.168.2.100′
[mysql_cluster]
ndb-connectring=’host=192.168.2.100′

Cause:

When the MySQL server (mysqld) starts, it created a sock file. Since I overwrote the original /etc/my.cnf without the socket parameter under [mysqld], the MySQL server (mysqld) created the socket file under /tmp/mysql.sock instead. Furthermore, I was also missing the socket parameter under [client] section in the my.cnf - I didn’t even have the [client] section.

What happens when I tried to start the mysql client (#mysql -u root) was that the mysql client was looking for the mysql.sock file but coudln’t find the path to the file. It then looked into the default path /usr/lib/mysql/ to find the mysql.sock file. Of course this doesn’t work because when mysqld was started, the socket file was created in /tmp instead. The client gave up, spit out the connect error prompt.

In brief, the cause of the infamous error is because the mysql client cannot find the socket file at run time.

Solutions

First of all, you should verify that mysqld is running by typing #ps aux | grep [m]ysqld. Then there are 2 ways to solve this: one is to fix the socket path in the /etc/my.cnf under [mysqld] and [client] like this

# file: /etc/my.cnf
[mysqld]
… # someother settings
socket=/var/lib/mysql/mysql.sock
[client]
… # some other settings
socket=/var/lib/mysql/mysql.sock

then restart the mysqld server so that the mysql.sock file is generated. The next time you start the client with #mysql -u root, you will magically get it. This fix is permanently but the catch is you will have to shutdown mysqld, the MySQL server itself.
The other way when you want to just login really fast to the mysql server, try this (actually I used this method to obtain the overall solution to the infamous error)

  • #find / | grep mysql.sock
    this will do a look up on the entire disk and look for the mysql.sock file. You will get back something like /tmp/mysql.sock. This is the socket file we will need to use.
  • #mysql -u root –socket=/tmp/mysql.sock
    this will tell the mysql client to login as root user and use the socket file located in /tmp/mysql.sock

Boom, you should get into the suddenly-loved mysql> prompt. I was so excited when I was able to fix the client and was able to access to the mysql prompt.

I hope this help you all. With this success in installing the MySQL 5.0.27 cluster, I am planning to do a screencast of setting the whole thing up (VMWare is just awesome. It allows me to have 3 CentOS 4.4 servers at the same time, making this installation a breeze)

view comments
 

Coincidentally with the HP scandal, I’m working on an email project, where thousands of emails are sent out every morning to important people. The sender’d like to know the open rate of the emails. The technique used is pretty standard using “web bug”. They implemented a 1×1 transparent gif image whose source url is something like mydomain.com?userID=1234&otherParam=asd. The problem is: the collected open rate is not at all accurate because many of the recipients are using Outlook 2003. To avoid cross-site scripting (XSS) and other possible vulnerabilities, by default, Outlook 2003 (also Thunderbird 1.5) blocks all external images and display them with great skeptical even when the user chooses to unblock the images. As the web bug image is not requested, the collected open rate is way low as most users don’t bother unblock the images (Outlook’s warning text about external images is too blended in so I guess most users don’t even see that feature)

After messing with our own code to keep track of the open rate for the emails, my work buddy and I were set out to use Readnotify.com. We found out about ReadNotify.com mostly through Google. Some sites (wikipdia, for example), said that Readnotify.com was used during the HP’s scandal. I thought that Readnotify.com must be doing some neat tricks to by-pass the strict restriction of Outlook 2003. I was wrong. **Readnotify.com could neither detect if the email has been opened in Outlook 2003 (or Thunderbird 1.5) with the images blocked.** Don’t waste your money on the subscription if your audience are mostly Outlook 2003 users, which happens to be the case of 99% of US corporates. I’m not sure if HP’s Patty had known about this when she probed the emails.

===== Here’s how Readnotify.com do it: =====
When you send an email to your-receipient@somedomain.com.readnotify.com, Readnotify.com will automatically appended some HTML code to the email. This works only for HTML-based emails. For text-only emails, Readnotify.com employs the traditional “read-receipt” mail header which the reciever has to agree to send back a “read receipt” to the sender, which is Readnotify.com, not the actual sender.

With that’s said, below is a copy-paste code segment that Readnotify.com appended to an email


 
The sender of this message requests confirmation when you read it. Click here to confirm.
background
=http://0320.185.64275/nocache/3589j7gxbgtw6P/rspr47.gif>

‏‏‌‍‍‏‌‏‌‌‎</p> <p>‎‍‍‌‎‎‍‍‏‏‌‌‏<br /> ‍‍‎‌‌‎‏‍‌‌‏‏‌</p> <p>… lots of junk character in here …</p> <p>‏‍‍‌‌‏‏‎‏‏‍‏‎<br /> ‏‏‎‎‍‎‎‏‏‎‌‎‎</p> <p>‍‍‌‌‎‎‍‌‌‍‌‌</p> </div alt="3589j7gxbgtw61."></body><br /> </html><br /> </code><br /> Because I chose to display the “confirmation banner”, this code will actually display a colorful banner asking user to click and confirm that s/he has opened the email. I can chose to hide by confirmation banner by selecting “none” in the Readnotify.com admin page and the image will be replaced by a transparent image. So here’s our first Readnotify.com web-bug.</p> <p>I can’t help but notice that the appended HTML has strange line-breaks, I guess it’s meant to trick the internal brower of the email cient to interpret the HTML code. Readnotify.com goes even further, they embedded a wav sound-background. Oh man, I miss those happy-birthday emails with midi files on the backgrounds, back when I was still popular among teenage girls. Then Readnotify.com put a table in next with various external links to the tracking scripts, like a background for the <td>. Too bad, none of these actually do the trick. Outlook 2003 and Thunderbird 1.5 effectively block all external request. </p> <p>I’m not quite sure about the usage of those encoded characters towards the end of the email. Another HTML trap for the rendering engine? By the way, I named my test email “A friendly email-bomb” because I kept on email-bombing myself while testing out the email scripts.</p> <p>===== Final remarks =====<br /> It would be great (or really bad-news) if Readnotify.com can work. It may works with older email clients, as my work buddy were using Outlook 2002, which doesn’t have the automatical image-block, Readnotify.com’s script works fine. However, when it comes to newer email clients such as Outlook 2003 or Thunderbird 1.5, I would say the programmers have done a good job at preventing any potentical XSS, thus making Readnotify.com useless.</p> <p>I tested the Readnotify-generated email on Gmail, well, since Gmail runs inside a browser which have a much more liberal security settings, Gmail fails to filter out the embedded HTML code, so Readnotify.com was working just fine. My take on this: **Readnotify does work with regular web-mail clients** since it’s the browser that actually makes the request for the web bug files. However, in this case, do I need to spend money on Readnotify.com? Probably not - I can write my own tracker (I did, in 5 minutes using coldfusion)</p> <p>I’m not entirely sure how effective the chairman of HP was able to use Readnotify.com to track her board members’ communications, but I guess it did not go very well. Another issue with Readnotify.com is that the appended code is very visible to the tech-savvy receipient: just view the headers or the source of the email. It’s just not avery elegant way to track people. But since some spammers/ phishers abuse the use of web bug images, we, legitimate developers, all now have to suffer from the restriction of email clients.<br /> </wiki></p> <div class="post_action"> <a href="http://alexle.net/archives/147#comments" title="Comment on Web bug & ReadNotify.com: Don’t bother to notify me">view comments</a> </div> </div> </div> <div class="grid_2 alpha"> </div> <div class="grid_8 omega"> <h2 class="post_title"> <a href="http://alexle.net/archives/138" rel="bookmark" title="Permanent Link to Installing Subversion with Plesk 8.0/ CentOs 4.3 as Subdomain"> Installing Subversion with Plesk 8.0/ CentOs 4.3 as Subdomain </a> </h2> </div> <!-- Post Info --> <div class="post_info grid_2 alpha"> <div class="post_time"> September<br/>25<br/>2006 <br/><br/> </div> <div class='post_categories'> <a href="http://alexle.net/archives/category/uncategorized" title="View all posts in Random Walk" rel="category tag">Random Walk</a><br/> <a href="http://alexle.net/archives/category/web-technolgy/server" title="View all posts in Server" rel="category tag">Server</a><br/> <a href="http://alexle.net/archives/category/web-technolgy/web-scripting" title="View all posts in Web Scripting" rel="category tag">Web Scripting</a><br/> <a href="http://alexle.net/archives/category/web-technolgy" title="View all posts in Web Technolgy" rel="category tag">Web Technolgy</a> <br/><br/> </div> <div class='post_meta'> <a href="http://alexle.net/archives/138#comments" title="Comment on Installing Subversion with Plesk 8.0/ CentOs 4.3 as Subdomain">26 comments</a><br/> <a href="http://alexle.net/archives/138" rel="permalink" title="Permalink to Installing Subversion with Plesk 8.0/ CentOs 4.3 as Subdomain">permalink</a><br/> </div> </div><!-- .post_info --> <!-- Post Body --> <div class="grid_8 omega" id="post-138"> <div class="post_content"> <p><wiki><br /> After much procrastination and personal interruptions (you can tell, I haven’t been blogging that often lately) , I’ve managed to install Subversion running as a subdomain with Plesk 8.0 and CentOS 4.3. I’m very excited because now I officially have a place to house my various projects. Before, I’ve been using my buddy, Long Giao,’s box in … Vietnam as the SVN server. One thing for sure, I did try my best to avoid installing Subversion by myself because I know that I’d be frustrated due to my lack of linux skills. Anyway, I did it, all by myself. So here’s how it goes.</p> <p>(I think this guide is probably the only how-to guide to setup SVN as a subdomain with Plesk 8.0. There’s one other article you can find with Google but it’s in German. Oh well.)</p> <p>==== My pre-SVN configuration ====</p> <p> * Plesk 8.0<br /> * CentOS<br /> * Root access via SSH<br /> * Subdomain setup via Plesk 8.0 Administrator page. In my case, I used svn.my-domain.com as the sub domain<br /> * A folder /var/svnrepo/ is used to house my SVN repository.</p> <p>After you created the subdomain for your domain, you can proceed to the next step: installing Subversion</p> <p>==== A. Installing Subversion ====</p> <p>To install subversion, all you have to do is SSH into the box as the root user. (# denotes the root prompt)</p> <p> * <code bash>#yum install subversion</code>This command will painlessly install the subversion package to the CentOS.<br /> * <code bash>#cd /etc/httpd/modules</code>Change the current directory to the modules folder of Apache, where all the plugins of Apache are installed.<br /> * <code bash>#yum mod_dav_svn</code>This command will install the mod_dav_svn to apache<br /> * <code bash>#svn --version</code>This command will ensure that you have successfully installed subversion. (At the current time of writing, the version of this SVN package is 1.1.4, while the current version of SVN is 1.4 — maybe another article on how to upgrade SVN?)<br /> * <code bash>#mkdir /var/svnrepo</code>This is our root repository.<br /> * <code bash>#svnaddmin create /var/svnrepo</code>This command will create a subversion repository in the /var/svnrepo folder.<br /> * <code bash>#chmod -R 777 /var/svnrepo</code>Changing the permision of svnrepo folder to allow Apache/Subversion to have read/write rights. Without changing the permissions, you will get an error when you are trying to access the repository via your browser.</p> <p>==== B. Configuring Apache ====</p> <p>So with the painless installation of Subversion, now we can configure Apache to begin to serve our repository. First of all, you will need to make sure that Apache is loading the mod_dav_svn.so file. Personally, I like to use mc (Midnight Commander) for text-editting ((( *) I can use VI but it’s not on my list of user-friendly software so I opt for a more “notepad-like” text editor. If you don’t have Midnight Commander installed, run **#yum install mc** and that should take care of it. The nto run Midnight Commander, just type in #mc. If you use Putty like I do, use **#mc -a** instead to get a nicer frame instead of the weird ASCII characters.)).</p> <p> * Open the file **/etc/httpd/conf/httpd.conf**<br /> * Search for **mod_dav_svn.so** in the Modules section. If you don’t find this line in **httpd.conf**, then check the folder /etc/httpd/conf.d/ for other .conf files. I have a subversion.conf file here which is included in the main **/etc/httpd/conf/httpd.conf** at initialization time. In this subversion.conf file, there are these 2 lines to make sure that Apache loads the SVN modules:<br /> <code apache>#File: /etc/httpd/conf.d/subversion.conf<br /> LoadModule dav_svn_module modules/mod_dav_svn.so<br /> LoadModule authz_svn_module modules/mod_authz_svn.so<br /> </code>Cool! Apache does load the Subversion modules. Now we need to configure our subdomain created using Plesk earlier to use with Subversion. But let’s go over how Plesk organizes our file system.</p> <p>==== C. Working with Plesk: The primer ====<br /> If you’d like to by-pass the web-based administration page of Plesk and do some advanced customization, then here is how Plesk is organizing the files system:</p> <p> * Web-docs (your domains) are stored under **/var/www/vhosts/**<br /> * Custom configuration for your domain is stored under **/var/www/vhosts/[you_domain_name]/conf/vhost.conf**<br /> * The **httpd.include** file in **/var/www/vhosts/[you_domain_name]/conf/** will be overwritten everytime you use the web-based Plesk to update your domain configuration. Hence manual updates of this file is NOT advisible. Your changes will be lost, so why bother. If you want to customize the domain, create a **vhost.conf** file in the conf/ folder instead.<br /> * Similarly, for sub-domains, the main .conf file are **/var/www/vhosts/[you_domain_name]/subdomains/[you_subdomain_name]/conf/vhost.conf**. All you have to do is to create this vhost.file and it will be automatically included in the main httpd.conf file of apache.</p> <p>Also,</p> <p> * Only **Root users** can create vhost.conf files.<br /> * After you make changes to the conf files, you have to tell Plesk to reload the new configuration. To do so, run<code bash>#/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=</code></p> <p>For more information, please consult the [[http://download1.swsoft.com/Plesk/Plesk7.5/Doc/plesk-7.5r-admins-guide-html/apas02.html|Plesk’s Admins Guide on sub-domain customization]]</p> <p>==== D. Customizing Sub-Domain configurations ====</p> <p>As I created a subdomain “svn” for my site, makefun.us, I had to create a vhost.conf file under **/var/www/vhosts/makefun.us/subdomains/svn/conf/vhost.conf**. Also, my repository is under **/var/svnrepo/**, so here is the content of the vhost.conf file</p> <p><code apache><br /> #svn.makefun.us -- vhost.conf file<br /> <location /><br /> DAV svn<br /> SVNPath /var/svnrepo/<br /> AuthType Basic<br /> AuthName “Makefun.us Subversion Repository”<br /> AuthUserFile /etc/svn-auth-file<br /> Require valid-user<br /> </location><br /> </code><br /> First of all, with **DAV svn** we ask Apache to hand over to the mod_dav_svn module when there’s a request to **http://svn.makefun.us** (the location /). Then we specify the **repository’s root** at **/var/svnrepo/**. Then we specify that this is a private repository by asking Apache to provide **Basic Authorization** (which means the authenticated password will be transmitted as text via the wire). Well, we name our private zone the “Makefun.us Subversion Repositor” and the user accounts are stored in **/etc/svn-auth-file**. Finally, to access the repository via the web, the user must be able to authenticate — as we only allow valid-user to access (Require valid-user)</p> <p>Next, I created a new user account for myself so that I can access the repository:</p> <p><code bash>#htpasswd -c /etc/svn-auth-file my_user_name</code></p> <p>At this point, you can either restart Apache by running **#server httpd restart** or just use the **websrvmng** of Plesk to pick up the new configuration. I just restarted Apache.<br /> If everything works out correctly for you, if you point your browser to **http://svn.yourdomain.com**, you would see a prompt for username and password. Enter your just created account, you can access to your very own the SVN repository. How amazing is that?</p> <p>==== Final Remarks ====</p> <p>I hope that you enjoy this how-to and you are able to configure SVN with Plesk. Now after I’ve done it, I’d say the entire process should take you less than 15 minutes. As this is my first draft and it’s fairly late (3:38AM), there will be typos and errors. So your input is very welcome. Thanks!<br /> </wiki></p> <div class="post_action"> <a href="http://alexle.net/archives/138#comments" title="Comment on Installing Subversion with Plesk 8.0/ CentOs 4.3 as Subdomain">view comments</a> </div> </div> </div> <div class="grid_2 alpha"> </div> <div class="grid_8 omega"> <h2 class="post_title"> <a href="http://alexle.net/archives/124" rel="bookmark" title="Permanent Link to 1and1 is Crook"> 1and1 is Crook </a> </h2> </div> <!-- Post Info --> <div class="post_info grid_2 alpha"> <div class="post_time"> August<br/>10<br/>2006 <br/><br/> </div> <div class='post_categories'> <a href="http://alexle.net/archives/category/uncategorized/observations" title="View all posts in Observations" rel="category tag">Observations</a><br/> <a href="http://alexle.net/archives/category/uncategorized" title="View all posts in Random Walk" rel="category tag">Random Walk</a><br/> <a href="http://alexle.net/archives/category/web-technolgy/server" title="View all posts in Server" rel="category tag">Server</a><br/> <a href="http://alexle.net/archives/category/web-technolgy/web-scripting" title="View all posts in Web Scripting" rel="category tag">Web Scripting</a><br/> <a href="http://alexle.net/archives/category/web-technolgy" title="View all posts in Web Technolgy" rel="category tag">Web Technolgy</a> <br/><br/> </div> <div class='post_meta'> <a href="http://alexle.net/archives/124#comments" title="Comment on 1and1 is Crook">12 comments</a><br/> <a href="http://alexle.net/archives/124" rel="permalink" title="Permalink to 1and1 is Crook">permalink</a><br/> </div> </div><!-- .post_info --> <!-- Post Body --> <div class="grid_8 omega" id="post-124"> <div class="post_content"> <p><img id="image125" src="http://alexle.net/wp-content/uploads/2006/08/anti1and1.gif" alt="Anti 1and1" align="left" border="0" style="padding 5px" />I woke up this morning, found out that my lastproxy site was down, and so are all of my other websites hosted on the same accounts. I was so upset and got on the phone right away to call 1and1. </p> <p>The lady from 1and1 responded politely about the status of my account, saying that the “admin” had decided to move my account to a different server. I was so mad and angry at the moment, but I tried to keep my temper down. I demanded for an explanation from the 1and1 side - as I haven’t received any advanced notice or emails from them about the usage of my site. The lady put me on hold for about 40 minutes (!) and got back after talking to her supervisor and the “admin” guy, saying that they have had put my account back on, but the “admin” would send me an email afterwards explaining the situation. Fine. An hour after that, I received a somewhat threatening email from them:</p> <blockquote><p>Dear Nhat Le, (Customer ID: 91XXXXXX)</p> <p>Recently we have noticed that your web site(s) is consuming a<br /> disproportionate amount of server resources. Because of this, we have<br /> had to move your account off of the shared hosting server to an<br /> auxilliary server. We now request that you consider purchasing a Managed<br /> or other Dedicated Server in order to continue hosting with 1&1<br /> Internet.</p> <p><em>The decision to move your account was made by the system administrators<br /> in order to improve the quality of service for the rest of our clients<br /> on the shared server from which you were previously hosted.</em>[<strong>Why I wasnt’ notified in advanced? You managed to always charge me my money way before I even know about it, so why can’t you let me know in advanced?</strong>] The<br /> resources consumed by your account threatened the ability of that server<br /> to capably operate as as a shared host, so it was required that your<br /> account be moved in order to mitigate server load. [<strong>By <em>“mitigating”</em>, you mean hacking into my files and disabled it? I will consider to take more actions on this too</strong>.]Though we could move<br /> your site back to the original shared hosting server, it is not<br /> recommended. Your account activity has demonstrated that your site<br /> deserves its own server to better suit its performance needs. [Yeah, I’m moving off right now to my own VPS. Thank you!]</p> <p>Please visit 1and1.com to review the server products we offer. You will<br /> have one (1) month to make a decision and migrate your account over to a<br /> 1&1 server or another host provider. [<strong>I’m taking action now! And read my lips, I’m not buying anything from 1and1 ever again</strong>] You can choose to return your<br /> account back to the shared server, provided that you take steps to<br /> reduce the load generated by your websites. If the account has to be<br /> moved off the shared server system again you will only have the option<br /> of purchasing a dedicated server account to continue hosting with 1&1<br /> Internet.</p> <p>Please reply to this email promptly. Further questions/comments should<br /> be directed to admin@1and1.com.</p> <p>Thank you for your compliance in this matter.</p> <p>–<br /> Sincerely,<br /> John A. Fernandez<br /> Customer Compliance Operative<br /> 1&1 Internet Inc.<br /> Internet. </p></blockquote> <p>So they decided to automatically move my site off to a difference server even <strong>before notifying</strong> me. That’s a pretty stupid and bold move that 1and1 mase. Frankly, I’ve been happy with hosting with them (I’m a 3+ years customer, have recommended 1and1 to friends too). After yesterday when my files got hacked into and today with the closing down of my site, 1and1 just suddenly become a crook now. </p> <p>I did call them up a week ago asking them SPECIFICALLY about the CPU USAGE POLICY, they told me that anything happened, they would let me know ASAP. I still had the email confirmed my talk with the guy from the support staff. So much for such a promise. You just broke it, 1and1. I really want to file a BBB compliant on 1and1’s reckless business practice. After all this mess has settled down, that’s the action I would take to show 1and1 how to treat customers.</p> <p>Their advertising scheme is too good to be true: my current business plan got 1Tb transfer - that’s a boat load of bandwidth that a huge, huge (mega) site would take a month. And if your site is that popular, you should be on your own dedicated server already. 1and1 is basically offering the same service for 1/10 of the price of a good dedicated system. The deal is just too good to be true. So the catch is when your site got a little popular, they will FORCE you to upgrade by threatening to close down your site. This is really their business practice. They spend money on flashy, multi-page ads on magazines and at the same time, squeeze hard-earned money on the little webmaster guy who got hooked. 1and1 means they one big bad crook company against one of you. </p> <p>The only thing that would cause me big trouble is transferring all of my domains to Godaddy. That will be a big pain in the neck as I have about 15 domains hosted on my 1and1 account. What a mess they are causing me. I just wasted my day for all of this non-sense.</p> <p>My take on this: watch out for 1and1. And don’t sign up with them if you want to do serious hosting. Get a VPS or dedicated instead!</p> <div class="post_action"> <a href="http://alexle.net/archives/124#comments" title="Comment on 1and1 is Crook">view comments</a> </div> </div> </div> <div class="navigation"> <div class="alignleft"><a href="http://alexle.net/archives/category/web-technolgy/server/page/4">« Older Entries</a></div> <div class="alignright"><a href="http://alexle.net/archives/category/web-technolgy/server/page/2">Newer Entries »</a></div> </div> <br style="clear:both;"/> <div class="grid_2 alpha">   </div> <div class="grid_8 omega"> <hr class="thick"/> <div id="footer"> <br/> <p> (C) 2008. Alex Le’s Blog runs on <a href="http://wordpress.org/">WordPress</a> <br /><a href="http://alexle.net/feed">Entries (RSS)</a> and <a href="http://alexle.net/comments/feed">Comments (RSS)</a>. <!-- 21 queries. 0.752 seconds. --> </p> </div> </div> <!-- Google Tracking --> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-193384-4"; urchinTracker(); </script> </body> </html> </div> <br class="clear"/> <div class="grid_6 omega"> <div class="grid_3 alpha"> <div id="sidebar" style="border-left: 1px solid #DFDFDF;"> <br/> <div id='categories'> <div class="title_container"> <span>categories</span> </div> <ul class="list"> <li><a href="http://alexle.net/">home</a></li> <li class="cat-item cat-item-11"><a href="http://alexle.net/archives/category/tid-bits" title="Quotes from Slashdot, THE best site for science-minded people :)">/. Tid Bits</a> <span class="posts_count">8</span> </li> <li class="cat-item cat-item-24"><a href="http://alexle.net/archives/category/money" title="View all posts filed under money">money</a> <span class="posts_count">3</span> </li> <li class="cat-item cat-item-5"><a href="http://alexle.net/archives/category/my-projects" title="News about my Personal Projects">My Projects</a> <span class="posts_count">12</span> <ul class='children'> <li class="cat-item cat-item-63"><a href="http://alexle.net/archives/category/my-projects/tubecaptioncom" title="View all posts filed under TubeCaption.com">TubeCaption.com</a> <span class="posts_count">4</span> </li> <li class="cat-item cat-item-7"><a href="http://alexle.net/archives/category/my-projects/wars-of-earth" title="View all posts filed under Wars of Earth">Wars of Earth</a> <span class="posts_count">4</span> </li> </ul> </li> <li class="cat-item cat-item-17"><a href="http://alexle.net/archives/category/oops" title="View all posts filed under oops">oops</a> <span class="posts_count">2</span> </li> <li class="cat-item cat-item-18"><a href="http://alexle.net/archives/category/personal-confess" title="View all posts filed under personal confess">personal confess</a> <span class="posts_count">1</span> </li> <li class="cat-item cat-item-1"><a href="http://alexle.net/archives/category/uncategorized" title="View all posts filed under Random Walk">Random Walk</a> <span class="posts_count">90</span> <ul class='children'> <li class="cat-item cat-item-14"><a href="http://alexle.net/archives/category/uncategorized/funny" title="View all posts filed under funny">funny</a> <span class="posts_count">7</span> </li> <li class="cat-item cat-item-12"><a href="http://alexle.net/archives/category/uncategorized/music" title="View all posts filed under Music">Music</a> <span class="posts_count">5</span> </li> <li class="cat-item cat-item-10"><a href="http://alexle.net/archives/category/uncategorized/observations" title="View all posts filed under Observations">Observations</a> <span class="posts_count">21</span> </li> </ul> </li> <li class="cat-item cat-item-20"><a href="http://alexle.net/archives/category/ruby-on-rails" title="It's all about the brilliant Ruby on Rails framework">Ruby on Rails</a> <span class="posts_count">11</span> </li> <li class="cat-item cat-item-15"><a href="http://alexle.net/archives/category/tutorials" title="View all posts filed under Tutorials">Tutorials</a> <span class="posts_count">18</span> </li> <li class="cat-item cat-item-2 current-cat-parent"><a href="http://alexle.net/archives/category/web-technolgy" title="View all posts filed under Web Technolgy">Web Technolgy</a> <span class="posts_count">67</span> <ul class='children'> <li class="cat-item cat-item-9"><a href="http://alexle.net/archives/category/web-technolgy/ajax-web-20" title="Ajax!">Ajax & Web 2.0</a> <span class="posts_count">23</span> </li> <li class="cat-item cat-item-19"><a href="http://alexle.net/archives/category/web-technolgy/clustering" title="View all posts filed under Clustering">Clustering</a> <span class="posts_count">2</span> </li> <li class="cat-item cat-item-13"><a href="http://alexle.net/archives/category/web-technolgy/css" title="View all posts filed under CSS">CSS</a> <span class="posts_count">6</span> </li> <li class="cat-item cat-item-8"><a href="http://alexle.net/archives/category/web-technolgy/joomla-mambo" title="View all posts filed under Joomla & Mambo">Joomla & Mambo</a> <span class="posts_count">8</span> </li> <li class="cat-item cat-item-4 current-cat"><a href="http://alexle.net/archives/category/web-technolgy/server" title="Articles about configuring or installing apps">Server</a> <span class="posts_count">22</span> </li> <li class="cat-item cat-item-3"><a href="http://alexle.net/archives/category/web-technolgy/web-scripting" title="PHP, Ajax, and such">Web Scripting</a> <span class="posts_count">42</span> </li> </ul> </li> </ul> </div> <br/> <div id="archives"> <div class='title_container'> <span>archives</span> </div> <ul class="list"> <li><a href='http://alexle.net/archives/date/2008/09' title='September 2008'>September 2008</a></li> <li><a href='http://alexle.net/archives/date/2008/08' title='August 2008'>August 2008</a></li> <li><a href='http://alexle.net/archives/date/2008/06' title='June 2008'>June 2008</a></li> <li><a href='http://alexle.net/archives/date/2008/05' title='May 2008'>May 2008</a></li> <li><a href='http://alexle.net/archives/date/2008/04' title='April 2008'>April 2008</a></li> <li><a href='http://alexle.net/archives/date/2008/03' title='March 2008'>March 2008</a></li> <li><a href='http://alexle.net/archives/date/2008/01' title='January 2008'>January 2008</a></li> <li><a href='http://alexle.net/archives/date/2007/11' title='November 2007'>November 2007</a></li> <li><a href='http://alexle.net/archives/date/2007/10' title='October 2007'>October 2007</a></li> <li><a href='http://alexle.net/archives/date/2007/09' title='September 2007'>September 2007</a></li> <li><a href='http://alexle.net/archives/date/2007/07' title='July 2007'>July 2007</a></li> <li><a href='http://alexle.net/archives/date/2007/06' title='June 2007'>June 2007</a></li> <li><a href='http://alexle.net/archives/date/2007/05' title='May 2007'>May 2007</a></li> <li><a href='http://alexle.net/archives/date/2007/03' title='March 2007'>March 2007</a></li> <li><a href='http://alexle.net/archives/date/2007/02' title='February 2007'>February 2007</a></li> <li><a href='http://alexle.net/archives/date/2006/12' title='December 2006'>December 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/11' title='November 2006'>November 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/10' title='October 2006'>October 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/09' title='September 2006'>September 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/08' title='August 2006'>August 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/07' title='July 2006'>July 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/06' title='June 2006'>June 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/05' title='May 2006'>May 2006</a></li> <li><a href='http://alexle.net/archives/date/2006/04' title='April 2006'>April 2006</a></li> </ul> </div><!-- #archive --> <br/> <ul class="list lead"> <li> <p>You are currently browsing the archives for the Server category.</p> </li> </ul> <!-- PubMatic ad tag: Sidebar 1 Wide Skyscraper | http://alexle.net | 160 x 600 wide skyscraper --> <script type="text/javascript"> var pubId=7523; var siteId=7524; var kadId=4658; var kadwidth=160; var kadheight=600; var kadtype=1; </script> <script type="text/javascript" src="http://ads.pubmatic.com/AdServer/js/showad.js"> </script> </div> </div><!-- sidebar1 .grid_3--> <div class="grid_3 omega"> <form method="get" id="searchform" action="http://alexle.net/"> <div> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Go" /> </div> </form> <div > <!-- FeedBurner Counter --> <br/> <p><a href="http://feeds.feedburner.com/AlexLe"><img src="http://feeds.feedburner.com/~fc/AlexLe?bg=FF9933&fg=FFFFFF&anim=0" height="26" width="88" style="border:0" alt="" /></a></p> <!-- yahoo Wide Skyscaper --> <script language="JavaScript" type="text/javascript"> <!-- ctxt_ad_partner = "1680444954"; ctxt_ad_section = ""; ctxt_ad_bg = ""; ctxt_ad_width = 160; ctxt_ad_height = 600; ctxt_ad_bc = "3E62B3"; ctxt_ad_cc = "FFFFFF"; ctxt_ad_lc = "0000DE"; ctxt_ad_tc = "333333"; ctxt_ad_uc = "339933"; // --> </script> <script language="JavaScript" src="http://ypn-js.overture.com/partner/js/ypn.js"> </script> </div> </div> </div> <!-- Dynamic Page Served (once) in 1.606 seconds -->