Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I want to build a new webserver (bear with me, I'm new to this):

My demands are (prioritized list):

1. Security
2. Ease of use (Administration, configuration).
3. Speed

General features needed:

- Multiple websites (domains)
- PHP & MySQL
- Mail server (with webmail interface)
- Remote administration (Maybe SSH)
- URL rewriting
- Blocking/preventing hackers and spammers including brute force attacks

What I have come up with so far:

- Ubuntu or Debian
- Hiawatha webserver
- PHP 5.3 (latest version)
- MySQL 5 (latest version)
- Mail server...I don't know what to use
- Anti spam software (Maybe Spamassasin)

What do you think I should choose?

share|improve this question

4 Answers 4

up vote 3 down vote accepted

I prefer CentOS because I don't like how Debian/Ubuntu layout their apache/dns/dhcpd packages, but I have used Ubuntu Server LTS in a production server environment so I'll try to help.

  • Ubuntu or Debian? Either/or seeing as Ubuntu is based on Debian. Both have lots of documentation and a large user base to get help from. If you choose Ubuntu, make sure to use the Ubuntu Server Edition LTS. You don't want to find yourself unsupported in 18 months.
  • I'd go with Apache unless a different web server is a requirement. You'll find most web platforms are designed around Apache. If you go with a third party server you may find yourself unsupported and searching for answers/fixes.
  • php/mysql: Both will give you access to recent versions. You will need to add repositories to get the bleeding edge. I wouldn't recommend "bleeding" edge for a production server though.
  • SMTP: I've only ever used Postfix and Qmail. Of the two I prefer Postfix.
  • Anti-spam: I currently run Postfix with Amavisd-new and Spam Assassin on two front end SMTP relays with good results. Especially once you add in the third party rule sets. Don't forget to configure your install (postfix or exim) to use some of the available third party blacklists.

No distro is going to do everything the way you want out of the box. Expect to edit configuration files and install extra packages.

If your really not sure, download a copy of the distros you want to try and a copy of VMWare server. Install each in a virtual machine and see which on you like.

share|improve this answer

I would recommend using the Ubuntu LTS versions for a live server. For mail server I would recommend Exim or Postfix. I prefer Exim, but mostly because that's what I know.

There's a lot to be said for using a webserver that a lot of people use if you're looking for security. Apache is used by 60% of the Internet for good reason. It's easy to say you're secure if you have so few users that no one bothers looking for security problems. You might want to look at mod_security for Apache.

Plus your biggest security problems are going to be badly written PHP applications. The language just doesn't makes it easy to write securely.

share|improve this answer

I highly recommend Ubuntu Server Edition version 8.04. Select the L.A.M.P. components you need when prompted during the simple install process.

Version 8.04 is a Long Term Support (LTS) release that will be supported by Canonical for security patches and updates until 2013.

Being Debian-based it uses well-documented configuration settings for multiple website domains. And also the Ubuntu community is very helpful and friendly.

share|improve this answer

I would also chooose Ubuntu, however I would choose the release that is coming out in 5 days -- Ubuntu 9.10, 'Karmic Koala'.

For your web server, choose lighttpd or nginx, unless you desperately need a module or configuration that only works with Apache, etc.

PHP/MySQL 5, of course.

Last recommendation is Postfix for the mail server. Highly configurable, works well with SpamAssassin and RBLs, and is both easy to use and secure. For the ultra-paranoid, use qmail.

HTH.

share|improve this answer
    
Why karmic? Surely something that's had 18 months of widespread testing in the wild would be better than something that's had 3 months of testing. –  David Pashley Oct 24 '09 at 20:58
    
Because Karmic is Canonical's move into the SMB/enterprise space, aiming to compete with the giants in that space, e.g. CentOS, RHEL,OpenSUSE. Plenty of reasons here: Software Center, Ubuntu One, HAL being moved to udev events, faster boot, ext4 (I admit I'm iffy on adoption of this), Apparmor, and non-execute emulation even for CPUs that don't have it? All this combined with the community support -- It's pretty compelling. I understand your argument about "testing in the wild", but if that kind of long-term, overarching stability is needed or exposure to threats is high, use CentOS or RHEL. –  Sam Halicke Oct 24 '09 at 21:17
    
I'd rather wait for Lucid. There's a reason why I don't use CentOS or RHEL. All of those features aren't particularly useful on a webserver. –  David Pashley Oct 25 '09 at 0:03
    
You shouldn't use a release with an 18 month life cycle for a server. At lease use one of the LTS releases if your going with Ubuntu. –  David Oct 25 '09 at 1:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.