Yet another server thread

Hi,
I've got some server questions:
my MU installation is not yet live, it will host from a minimum of 150 to a maximum of 300/350 niche subsites about wine and gourmet products.
Actually it's hosted on a vps at eurovps.com (the plan is vps300, which comes with centos, whm/cpanel, and 1,5GB of guaranteed ram, 80GB of disk space, 3TB of bandwitdh).

I've already noticed that it's not really fast: when there are 3 persons on the backend doing publishing work (and I plan to have a lot of editorial work, especially on the main site) the cpu consumption seems to grow quite fast.

Also, when I contacted rack911.com to do a server hardening and optimization work (they have good references on the boards of webhostingtalk.com), they refused the job because, as they said, "such a wordpress installation does not belong on a vps".

I'm not yet using any caching plugin, but I planned to install wp-super-cache, even if I don't think it will be enough.

Given that I really want to provide a good service to my client and to my visitors, do you think that the best way to go is a small dedicated server?
Probably the maximum which I can afford for now is the ds100 plan (always on eurovps.com, I'd like to stick with them as they have a great support service), which comes with centos, cpanel/WHM, an Intel X3210 and 2GB of ram, do you think it'is good enough?

Sidenote: the network, which was already existing before, used to have 200k visitors per month, with higher spikes on some "hot" months in the year.

Thank you very much :slight_smile:
Enrico

  • C3MDigital

    Hi Chickenrun,

    The out of the box Cpanel/WHM setup is usually not optimized at all.

    You will first want to make sure Apache is running as mod_php and not suPHP or suExec then install APC which is an opcode cache then look at tuning the my.cnf and httpd.conf settings.

    Cpanel/WHM is also a big drain on resources and most of the time its running way too much stuff that you don't need.

    Do you know how to use SSH and the command line?

  • chickenrun

    Hi C3M,
    thank you for the response :slight_smile:

    The reason for which I wanted cpanel/WHM is because I'm not comfortable in using the command line and SSH (at least, even if I'm in no way a system administrator, with WHM I'm able to add an apache module if it's needed, or to do basic task like this).

    That's also the reason for which I'm happy to pay someone to do the optimization/security work for me, (and maybe, in the future, to hire somebody to follow all the server side tasks): I know that these kind of jobs are important and need to be performed by experienced persons.

    So your advice is to optimize the vps and then see if I'll need something more powerful?
    How can I check if apache is running as mod_php?

    Thank you again
    enrico

  • drmike

    *sigh* I get to play the heavy again.....

    Congrats, you're now a system admin. Pick up your membership card on your way out, make sure you know the secret handshake before the next meeting and make sure you send Sue, our union rep, her month kickback of chocolate. Gotta keep Hoffa happy.

    edit: I just deleted my rant. No, I'm not kidding and excuse me if I sound like an ass. Please understand that you are running this. If you want to hire someone, do so now but realize that you specifically are the one responsible if something goes wrong. You are the one your clients are going to come to first if they have an issue, concern or problem. Your ass gets sued, not the folks you hired.

    Step 1: Give this a read and see if you understand it. If you don't, you seriously need to sit down and think about your plan.

    Step 2: You need to ditch CPanel. It take up a lot of space, both in memory as well as processor. (Plus it's $15+ that you don;t really need to be paying)

    Step 3: Reinstall your VPS for Debian 5. (aka Lenny)

    Step 4: Give this a read. It's a setup script for Debian that will replace Apache with Nginx, ditch a lot of OS crud that you don;t need running, install MySQL, and download the files for wordpress on a domain of your choice. You'll still have to setup wordpress but it'll be right there in front of you.

    That'll get you started. Plus it setups your vps to be a production server. (edit: And install php as you ask up above)

    You'll need to install wp-super-cache and look into moving it over to memcache. (edit: Hmmm, Donncha added support for it into core. That's good.) That'll give you a lot of legroom to grow. Right now, that cpu consumption you're looking at is the server being accessed dozen if not hundreds of times when ever you publish a post. Putting in a buffer will help a lot. (edit: That LEB site I reference a lot runs on a 128meg VPS. You can do a lot in a little amount of space. Look at how many hundreds of comments he gets.)

    You probably still have drafts and autosave turned on. Considering deactivating them:

    http://wordpress.org/extend/plugins/wp-feature-disable/

    (An aside: Did they remove the wp-config settings for this? All I;m finding via google is referencing plugins and editing core to remove the hooks/filters.)

    Excuse me for sounding like an ass but we had about a dozen of these threads ever week on the old mu forums. Folks expecting to come in, spend five minutes setting up wpmu, have a complete wp.com setup and watching the clients and money come flooding in. That's not how it works. I know when we do a new wpmu install, we tell clients to expect to spend 30 days at least working on the site. I realize that's not you. Your questions are at least thoughtful, not looking (edit: expecting) for a handout like others and you at least admit that you are willing to learn.

  • wpcdn

    Mike,

    You bring up a very valid point, that there are other ways to achieve similar security. We've tried various configurations, and we just feel more comfortable with suPHP...especially from a "set it and forget it" standpoint, knowing that any new accounts are already compartmentalized.

    Of course we also run various other security measures.

    We do know that suPHP is slower, but on a dual quad-core Xeon the difference is nominal. And we use various performance measures to improve the situation further.

    So I'll clarify...suPHP is our preferred method, and I have heard others say they wouldn't run a shared server any other way. But it isn't the only way, and isn't necessarily the right approach for everyone.

    Mark

  • Tracy

    Drmike has lots of good info, read it in depth. :

    Whether or not Cpanel uses lots of memory, it's a favorite with many quality hosts and integrates with lots of great tools, WHMCS comes to mind for billing and support. One of the best decisions we made early on was using Cpanel vs Plesk or other solutions. We also use suPHP and haven't had any issues, upgrades (WordPress) are easier and proper hardware, cacheing, etc. should more than make up for any speed deficiencies if they are even noticeable in the first place.

  • C3MDigital

    Step 3: Reinstall your VPS for Debian 5. (aka Lenny)

    +1 for Debian. I'm running Debian Lenny (Most of my packages have been updated to Squeeze) on my dedicated server and there is know way I would ever go back to CentOS or Redhat or go anywhere near a Cpanel server.

    If you don't mind my asking, why not suPHP? From a security standpoint, I can't imagine running a server any other way.

    suPHP is for shared hosting environments where PHP needs to run as the individual user. If you manage all the users on your setup there is no need for it. Also APC will not run under suPHP.

    For WordPress to "work right" under mod_php you have to chown all your files www-data:www-data or nobody:nobody to make the plugin updater and up-loader work correctly.

    Like others have said Nginx on its own or as a front end proxy will give you tremendous benefit. I wrote an article on how to set it up with WordPress on one of my blogs: Nginx Reverse Proxy for WordPress

  • wpcdn

    For WordPress to "work right" under mod_php you have to chown all your files www-data:www-data or nobody:nobody to make the plugin updater and up-loader work correctly.

    Is there any way to achieve suphp-like security in a shared hosting setup without using suphp?

    Also APC will not run under suPHP.

    That is indeed a drawback. You can work around it by using LiteSpeed Web Server, which does support APC and an suphp mode. But LiteSpeed is far from a perfect solution (with cost being a primary drawback). We're looking at nginx as a front end proxy. Thanks for the great article on that.

  • wpcdn

    BTW, I see both sides of the cPanel/WHM coin. It is a resource hog, but it has benefits in some situations (for example when it's necessary to sell hosting accounts and have them provisioned automatically via WHMCS or similar software).

    Also, the GUI can make some tasks much easier than CLI. The automatic updates can be beneficial (and also a curse depending on how you set them).

    For someone just venturing deeper into server management, CLI can be overwhelming. And cPanel can make things a good bit easier in cases like that. It sounds as if the original poster is venturing into new territory (forgive me if I'm wrong), in which case cPanel can help. No matter what, note that server management has many levels of complexity...and cPanel is not the answer to all of those pitfalls.

    On the other hand, for power users cPanel can be a resource hog, and those users can achieve the things they need without cPanel.

    Just my .02 worth.

    Mark

  • drmike

    The nginx proxy in the front is a bit advanced. Let's get the poster up and running first. :slight_smile:

    On the other hand, for power users cPanel can be a resource hog, and those users can achieve the things they need without cPanel.

    Insert evil laugh. :slight_smile:

    I will point out that we do run Direct Admin on all of our boxes, even our two offsite DNS VPSes. Running a single install on a VPS where you may access it once in a while just doesn;t justify the resources used in my opinion.

    As to security, I;d have to check but I don;t recall us using suPHP on our servers. I recall looking at one solution and it conflicting with FreeBSD. It's been so long....

    And I just through out Debian since that's what the script supports. Give me my FreeBSD anyday.

  • chickenrun

    Hi drMike,
    Thank you for the honest reply, and also thank everybody else for contributing to this post.
    I'm not expecting anything from noone, and sorry if I wrote in such a way that made you think that I was complaining/ranting/whining.

    To be clear, I'm not expecting to start this project (which is not a copy of wp.com), sit down and watch the money grow automagically. And when I say that I'm willing to hire someone I'm not thinking about unloading any kind of responsability upon him, but I'm simply recognizing that to provide an optimal service I'm not the right person to do this kind of job.
    But it seems to be a little bit hard to find someone specialized in WPMU.

    My question was if such a configuration (from an hardware point of view) is ok to host this kind of installation (a minimum of 150 to a maximum 300 websites, intense editorial activity on the main site, 200k visitors per month): reading from the example which drmike posted above, if the machine is highly optimized, I can do it.

    Only one question, I have the feeling that some of the advices here are for a really large installations (in the order of thousands of blogs), am I right?
    thank you again

  • Ovidiu

    @wpcdn:

    sorry I don't know, have zero experience with cPanel, but honestly: why do you need a control panel?

    I am not a professional but if you only host one single wpmu installation. no clients nothing, there is no need for a control panel. what are you using the cPanel for?

    I mean you still have to install and configure the server and the link drmike gave is great in that regard, lowendbox.com provides some great hints on how to fully utilize a vserver.

    For more good tutorials check: howtoforge.com

    if I were on a VPS I'd offload email service to google apps, DNS service to an external free provider, plenty of those around, and concentrate on a web service + mysql.

    Its doable and once configured there is not much you need a cPanel for.

    set up a good backup scheme and you are all set. you probably won't even need FTP sicne you are the only user, SSH or WINSCP should do it...
    from my point of view, a control panel is needed if you have clients/resellers who need to set up sites/users/email accounts etc but all those things are not happening on your dedicated wpmu vserver :slight_smile:

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.