Linux distro for NAS and Webserver

Hi!

I intend to build a NAS and a web server. I intend to use ASRock C2750D4I and Silverstone DS380, but do not know which Linux distro I should use. I don't need GUI, so it is not a must. The server should be on 24/7 so it is important that it should be stable. Have you any suggestions?

Thanks in advance.

1 Like

Ubuntu Server is the first thing that comes to mind although I haven't really used it. The stability should be there for sure.

Opensuse with a minimal install, Ubuntu Server, CentOS/Fedora Server all those are either enterprise grade or based upstream of the enterprise version.

Debian 8 Jessie (headless)
At least that's what I'm running - and yes: Jessie is stable and with Wheezy you only get really old packages

You could also try Freenas. It's based on FreeBSD, but it's similar to Linux. It supports probably best filesystem ever created ZFS. And you can create web server in jail (form of sandboxed container in bsd).

centos.

Ubuntu 14.04 has been working out very well for me. I've been running ZFS on Linux with NFS shares on it for a while and haven't run into any issues.

I think Fedora server would be another good choice for home use.

Three out the box solutions:

Turnkey Linux, which is based on Debian, have a host of pre-built servers.

Quotes from site:

"File Server - Simple Network Attached Storage

An easy to use file server that combines Windows-compatible network file sharing with an advanced web based file manager and includes support for SMB, SFTP and rsync file transfer protocols. The server is configured to allow server users to manage files in private or public storage. Based on Samba and AjaXplorer."

Link: http://www.turnkeylinux.org/fileserver

"LAMP Stack - Web Stack (MySQL)

LAMP stack is a popular open source web platform commonly used to run dynamic web sites and servers. It includes Linux, Apache, MySQL, and PHP/Python/Perl and is considered by many the platform of choice for development and deployment of high performance web applications which require a solid and reliable foundation."

Link: http://www.turnkeylinux.org/lampstack

Another source for these is SourceForge; where you'll find not only the 64bit versions, but also 32bit versions of these servers, should you need them. (Great, for giving an old timer PC a new lease of life.)

http://sourceforge.net/projects/turnkeylinux/files/iso/

An alternative lightweight Web Server is Cherokee. Never used it myself and the docs don't state whether it has a 32bit version, or just 64bit, but it looks interesting. You can compile from source, if you wish. It has a ppa for Ubuntu, but it's already in the Yum repository for RHEL/CentOS and Fedora. So it must be good to get in there! Debian requires a little more work and there are docs to cover this.

Quote from site:

"Welcome to the Cherokee 1.0 documentation. Cherokee is a high-performance web server. It is very fast, flexible and easy to configure. It offers support for the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, SSI, TLS and SSL encrypted connections, Virtual hosts, Authentication, on the fly encoding, Load Balancing, Apache compatible log files, Data Base Balancer, downtime-free updates and upgrades, Reverse HTTP Proxy, and much more.

It is highly efficient, extremely lightweight and provides rock solid stability. Among its many features there is one that deserves special credit: a user friendly interface called cherokee-admin that is provided for a no-hassle configuration of every single feature of the server. This administration interface allows you to configure the web server without having to worry about editing a text file written with a certain syntax."

Link: http://cherokee-project.com/

As others have mentioned, if you need a NAS you should use FreeNAS.

You might could use Proxmox, then you could virtualize it so they're seperate and you get ZFS support, but that's awfully complicated and ZFS is no easy thing to deal with...

It really really REAAAALLLY depends on a lot of things.
The primary use cases will be file server and web, yes, but what if you want to expand that functionality in the future?

The TL;DR version: Any distro (or "flavor" if you're running unix) can be a reliable server, and everyone will have their own opinions on what is "best," which cannot be true, simply because "best" is relative, opinionated, and not based in fact.

Depending on the use case, some will be more user friendly than others, but you can add just about any open software functionality no matter the distro, simply because of the nature of *nix, if you have the patience.

FreeNas would be a good option if you don't intend to have a hardware raid controller and have enough ram. With the virtual box jails, you can make virtual server as the need arises, or just have a server running in a jail. Very nifty and handy.

Many pre-packed distros have server forks, including SUSE, Ubuntu, Fedora, and others. All of them have the same basic functionality and would be a good place to start if you wanted to use a hardware raid controller or if you are comfortable relying on software raid solutions such as LVM or MD.

CentOS and Debian (CentOS especially) are both great server core platforms, both used heavily in the enterprise, and have a very extensive repository.

Since one of the primary uses will be as a file server, I would highly hiiiiiighly discourage a bare-metal VM OS such as ProxMox, Xen, or Esxi. It would put your file server into a vm that would span most of the array, and what would happen if that virtual disk fails? You could say "oh I'm fine I have my snapshots" but those will likely be your last words with that file server. (with many of the snapshot methods if one of your previous snaps become corrupted you will not be able to snapshot back to anything future of that corrupted snap. Chain methodology, used in both esxi and xen, not sure about Prox, haven't played much with KVM to know) trust me it's a nightmare.

My recommendation: worry about file services first, then worry about web. Keeping your data safe should be the first and foremost priority, and both Apache and Nginx can be tacked on to just about anything without much fuss at all.

Hopefully this helps your decision.

1 Like

Fedora server looks promising.

CentOS 7 is very stable, I would go with CentOS over fedora, they are really the same thing however CentOS is a more stable release. CentOS 7 is the same as fedora 19 with some stuff from fedora 20.

Since one of the primary uses will be as a file server, I would highly hiiiiiighly discourage a bare-metal VM OS such as ProxMox, Xen, or Esxi. It would put your file server into a vm that would span most of the array, and what would happen if that virtual disk fails? You could say "oh I'm fine I have my snapshots" but those will likely be your last words with that file server. (with many of the snapshot methods if one of your previous snaps become corrupted you will not be able to snapshot back to anything future of that corrupted snap. Chain methodology, used in both esxi and xen, not sure about Prox, haven't played much with KVM to know) trust me it's a nightmare.

Interesting post Durasara, but could you maybe elaborate on this paragraph? I did not quite understand what the problem is with putting a fileserver in a VM. Thx

1 Like

With most virtual platforms, a snapshot is like a change file of what happened since the previous snapshot. So, let's say you have 10 snapshots, and you need to roll back to snapshot 9. When you do, it reads all the changes from snapshots 1-9, not just snapshot number 9, in order to roll it back. So, if one of those snapshots becomes corrupted, then you are pretty much SOL unless you have a full backup of that virtual disk.

Not only this, but virtual disks are much easier to become corrupted than physical. Pull the plug on a virtual server while vms are running and see what happens. Or degrade the raid on a virtual server's storage repository and see what happens. Bad stuff.

Virtual servers are very convenient, but you have to keep full backup images of each of your virtual disks, not only snapshots, in order to keep it reliable. That's why I'd never put up a virtual server unless there's a storage repository I can back up to.

I've had too many virtual disks corrupt on clients of mine (usually due to power outages) to trust a file server vm without a backup methodology.

2 Likes