Ok... so here it is. I got this idea in my head the other day that it would be nice to break into the Linux world more than I do now. Currently the sites i develop for clients are all hosted on the LAMP platform. I am interested in creating my own linux based web server from any old box sitting around. I do not know linux commands and was wondering whats the right distribution for me? I came across Xubuntu or Debian and have liked what I saw. Debian however seems to have a higher learning curve. Any suggestions for me?
creating your own linux web server, choosing the os dist.
I would suggest Debian - you can install web server and ftp server while installing system and there are plenty of tutorials how to configure them properly. It's really not that hard.
Debian might be good; Ubuntu is also well known and is actually based on Debian, so maybe not much difference there, 'tho Ubuntu is aimed to the desktop market as a "windows replacement". Xubuntu is simply a version of Ubuntu using the XFCE4 desktop environment (which is the DE I use, although I don't use any "buntu"s).
CentOS is a free version of the well-known "Red Hat" Linux distribution that might be worth investigating; there is a lot of "how to" knowledge out there as regards RH/Fedora/CentOs.
Gentoo might also be worth mentioning; it's perceived as flexible and fairly user friendly, combining some of the strengths of earlier distributions.
If you're scared of Linux, you might avoid Slackware. however, if you've got a mind to learn something, the mention of Slackware brings up another interesting idea:
Wanna really get your "feet wet", so to speak? As an alternative, you might consider FreeBSD, a Unix-like (but not Linux) system that is all developed "under one roof", so to speak, and has a very centralized distribution and support model (read, community). The BSD's have often been said to be rather "hardcore", but I've found the documentation maintained by the FreeBSD guys is amazing (compared to most Linux distributions), and many people who read the FBSD handbook feel like they've really had an education. I myself made the jump from a Win only environment to FreeBSD on the servers in late 2001, and today I'm running FreeBSD not only on my servers, but some desktop systems as well. I actually "skipped' Linux to go straight to BSD, and have only recently bothered to examine Linux (and don't really have a need to, but that's beside the point). The documentation, orderly development and file hierarchy, and especially the ports system (for 3rd party packages---not as sexy as 'apt-get', but works very well for managing hundreds of applications on my desktop boxes) are pretty good selling points for FreeBSD IMHO.
Oh, and, whichever you choose:
siege wrote:I do not know linux commands
--- you'd better look into playing with a terminal/shell. Anyone who tells you that you will not need to use a terminal/term emulator, on a server, is selling you something. Kinda like those guys up in Washington state....
My $0.02,
wilku: Thanks for the reply. I'm really considering debian, esp. now that I realize that they are both are based on that (as mentioned by dalecosp and on their site). Debian site is sometimes bare-boned but still helpful. Those two distro's seem to have alot of rotation on forums.
dalecosp: Thanks for the reply as well. I always come across FreeBSD but never really had a good grasp on what it truely was(as im sure i stiull have much to learn about that).
--- you'd better look into playing with a terminal/shell. Anyone who tells you that you will not need to use a terminal/term emulator, on a server, is selling you something. Kinda like those guys up in Washington state....
I have been plaing around with my Mac os X terminal a bit. I use it to FTP and to print directories. The biggest advantage I can see (jjust by what i have used so far) with having a GUI(app really) run an FTP are, drag and drop and automatically switch from passive to active, binary to... well you see! Im not that intimitated by Linux but I see the differences between that and DOS. I really have the need to have this box run Apache , PHP and MySQL and that is why i thought about Linux.
Xubuntu is simply a version of Ubuntu using the XFCE4 desktop environment (which is the DE I use, although I don't use any "buntu"s)
Does this effect performance? GNOME or KDE desktop configurations?
Fedora and debian seem to be in the race right now... with honorble mention to FreeBSD. I have to research hardward support.
I love hearing everyones 2ยข, so dont hold back
siege wrote:dalecosp: Thanks for the reply as well. I always come across FreeBSD but never really had a good grasp on what it truely was(as im sure i stiull have much to learn about that).
It actually traces its roots back to the "Berkeley System Distributions" of the 1970's, 80's, during which time the UNIX divergence between "SysV" (AT&T's continued development) and "BSD" (U. California/Berkeley's development path) became apparent. So, it differs from Linux in a few ways which might not be noticeable at first, until you start trying to figure out where certain files are supposed to be placed, how to get software to run at startup, etc. For the most part, people who are competent with Linux have little issues with BSD's, and vice versa; sometimes people come from FreeBSD from Linux with amazement at some of the features I've told you about, and sometimes they leave because FreeBSD doesn't always support new hardware or new programs as quickly as the Linux world does (the speed of Linux development, especially in the early years, was simply amazing, and it's not changed much AFAICT).
I have been plaing around with my Mac os X terminal a bit. I use it to FTP and to print directories. The biggest advantage I can see (jjust by what i have used so far) with having a GUI(app really) run an FTP are, drag and drop and automatically switch from passive to active, binary to... well you see! Im not that intimitated by Linux but I see the differences between that and DOS. I really have the need to have this box run Apache , PHP and MySQL and that is why i thought about Linux.
Well, in using the OS X terminal, you are actually using a little piece of FreeBSD: Apple brought in a bunch of people a few years ago (Jordan K. Hubbard, a chief architect and founder of the FreeBSD Project, was one), and put together the "Mach" kernel (developed by Carnegie-Mellon Univ. as a replacement for the BSD kernel, never used by BSD, adapted by Apple) and the "userland" from FreeBSD 4.X (possibly the most 'successful' FreeBSD series to date), to create OS X. In retrospect, it seems a very smart use of "free software" to make a bunch of $$$ for Apple, and I'm guessing that one of the factors in choosing to be BSDish instead of Linuxy was from the legal department after they compared the GPL to the BSD license, but that's quite another story.
As far as installation goes, the FreeBSD magic for MySQL, as an example, is simply:
$ cd /usr/ports/databases/mysql51-server
$ make install clean
after which the tarball is automatically downloaded, extracted, configured, compiled, installed, registered in the package database, and the compile directory is then removed while you're playing WoW, drinking your morning coffee, or e-mailing Mrs. Siege (or a candidate for same ) Not pretty, to be sure, but not bad for typing a few keystrokes, either. And, although there are ways to install it with a GUI, nobody in BSDland much cares to, because we like coffee and the Mrs.
Does this effect performance? GNOME or KDE desktop configurations?
Fedora and debian seem to be in the race right now... with honorble mention to FreeBSD. I have to research hardward support.I love hearing everyones 2ยข, so dont hold back
The choice of desktops certainly can affect performance; so much so, that many, maybe even most server administrators don't run their server systems with any desktop environment at all. There are certainly some security advantages to using the "less is more" philosophy, as well. Even if you keep Apache, PHP, and friends "up to date", your X system must be kept up to date as well, or a vulnerability might be exploited if/when they exist.
As for how performance is affected, GNOME and KDE are known as being rather "heavyweight" --- lots of features, require lots of resources. XFCE is a little less so, so it should take up less of a memory footprint, less CPU time, etc. With any Linux, if you decided that your server needed a graphical environment to run browser-based FTP, or whatever, you should also be able to install a really lightweight environment (Fluxbox, or Blackbox, or ??, I guess even "TWM"), and only use GUI apps when necessary. The question is whether you're going to be sitting at the box doing other work, in which case, I'd contend it's not really a "server" anyway, although it might be a great environment for development (it's what I do with FreeBSD, sometimes --- really, my box is a true "jack of all trades") and could maybe be called a "workstation/server".
I'd go with what you know.
A server isn't going to have Gnome or KDE installed on it (never mind running).
If you're going to build your own packages (e.g. PHP, Apache) then it should be something that you can figure out how to do this in. In Debian this is a bit of a swine (I have built my own RPMs and DEBs; RPM is definitely easier).
Some distributions have package managers which automatically add dependencies from a given set of repositories (e.g. yum, apt)- these are very useful.
If you're going to run a set of servers running identical software stacks (e.g. a web farm or development, test, production) then it might be handy to have your own package repository - you'll need to think about whether setting this up is worthwhile and if you understand the mechanism to do it.
If you intend to do unattended or automated installs, you should evaluate how well the distribution does that.
We use CentOS. It wasn't my decision and I don't really know how good it is (it uses RPM like Redhat). However, it seems to do automated installs fairly well and our operations team manage their own repositories for packages used in our (large) farms of production servers.
Mark
This is my suggestion to you: http://linuxquestions.org
I started off with Fedora Core (a great distro of the red hat family) probably not a smart choice, as it is a bleeding edge distribution, meaning it includes the latest releases and it is got a life cycle of 8 month or so, but at the same time it did expose me to a lot of cool software . Cent OS on the other hand is the distribution of choice for many web hosts. I'd probably go with it if I were you.
Also look into a good backup utility for linux such as Mondo Rescue so that you can revert any mistakes. Try to learn your basic commands and ask your questions in the linux forum, a lot of great guys willing to help there. Good luck.
thanks for your input all, I am learning alot and loving it.
YAOMK I see lots of issues with SSH for CentOS. Is this true? Otherwise the reviews are besides it looking ugly, dont be turned off - its stable.
As for fedora, Fedora Core and fedora 8 (this is to come out in a day or so, right now its Fedora 7) are not the same?
MarkR I believe you're right about servers not needing a real desktop experience, as dalecosp as states. The funny thing is that i come from a backgorund of graphics and I always appreciate a great GUI. I dont need to be super-dazed, just the ease of functionality, but im not lazy - not at all. CentOS is sounding very stable.
dalecosp to expand on the markR class above (ha) I think with having the option of using a GUI when you get stuck is great. It sounds as though both FreeBSD and Linux have options to have the same GNOME, KDE or XFCE desktops. is that ture or did I read what you wrote wrong? FreeBSD does sound nice. Which ver do you use with XFCE4?
I just realized that actually one of my shared web servers uses FreeBSD stable with vDeck management. What version do you use, FreeBSD 6.2-RELEASE?
with either CentOS or FreeBSD Im looking at time with the CL. Which I can except.
I use CentOS 5 on my servers, and it's not given me any problems at all. There is a really good tutorial at howtoforge.org called "The perfect setup on CentOS 5" if I recall correctly, that I used when I got started. It walks through installing the server and setting up all the web development things you'll need, including SSH and FTP. I use Ubuntu 7.10 on my laptop, 7.04 on my desktop, and CentOS5 on my development and production servers. I didn't care for ubuntu server edition, but it works quite well on my personal machines.
I'm not as familiar with Cent OS as I'm with Fedora, but I haven't had any trouble using SSH with either one. Cent OS is not as aesthetic as say Ubuntu or Fedora, but it is very stable, and it is got plenty of support.
Fedora 8 (Werewolf) is not the same as FC7, they usually add different packages and experiment with newer versions of software, Fedora is a bleeding edge distro, therefore it always strives to include the latest there is, for more information on version changes go to http://fedoraproject.org/ For the release notes on Fedora 8, you will have to wait until they are made available, hopefully tomorrow.
Im eager to see what Fedora has tomorrow.
CentOS 5 seems to be getting good rep as stable from everyone.
When you are installing one of thse OSs, does it look for the most recent-stable version of software, say the php 5.2.4 and use that?
I used package managers to install php and related, and I specified php5 - you tell it which package you want. I had to do something along the lines of:
apt-get install php5 mysql5 apache2
I think it depends on the distro as to what version is default
Good to know. Thanks for the tip. I'll check their sites to see which ones provide what.
Good luck! The switch to Linux is tough, but I don't regret it a bit I don't run any windows machines at all anymore, so if you do anything with Ubuntu or CentOS, give me a yell.
I appreciate it.. I'll take you up on that if I run into any problems. Best Siege
If you go with Fedora, it uses the Anaconda Installer, you can do the default install, which will install everything you need and more, or you could customize your installation and leave out those packages you wont need.
You can check the status of different daemons by typing:
~>service httpd status # In case you want to check for the web-server's status
~>service httpd start # to start service, you can also use stop and restart
In the redhat family (rhel, cent OS, fedora) the equivalent of apt is yum
~>yum update #to keep all your packages up to date
Furthermore if aesthetics are as important to you and you plan to use a run level 5 (the graphical interface) I'd recommend you look into the Beryl Window Manager It will enhance your interface with cool graphics.
Welcome to Linux.
siege wrote:thanks for your input all, I am learning alot and loving it.
dalecosp to expand on the markR class above (ha) I think with having the option of using a GUI when you get stuck is great. It sounds as though both FreeBSD and Linux have options to have the same GNOME, KDE or XFCE desktops. is that ture or did I read what you wrote wrong? FreeBSD does sound nice. Which ver do you use with XFCE4?
I just realized that actually one of my shared web servers uses FreeBSD stable with vDeck management. What version do you use, FreeBSD 6.2-RELEASE?
with either CentOS or FreeBSD Im looking at time with the CL. Which I can except.
I have at least four boxes I access on a somewhat regular basis running FreeBSD; my clients own a few others. 3 are servers, and I don't have a GUI on any of them, but easily could if I wished. I do have a few X apps (that is, GUI programs) on one of them that I forward over an SSH connection to my desktop.
My Desktop machine runs FreeBSD's "6-STABLE" branch, which is a "work in progress" code tree that produced 6.2 and will soon produce 6.3 (after they get 7.0 polished and burned to CD, that is). I'm trying to figure when I've got time to jump to 7-STABLE, but there's no dire need at present and probably won't be for quite a while.
I've been using XFCE for it for a couple years; I've also used GNOME, Fluxbox, Blackbox, FVWM2 (configured to look exactly like WinXP, except I changed the Start Menu Graphic to read "stop" ... heh heh) and Enlightenment, as well as (in a pinch) a "plain vanilla X" with any of pekwm, icewm, sawfish, or even twm to handle windows. There are dozens of "window managers" out there; using combinations of various programs, you can do about anything with your GUI that people have been able to dream up. I'm wanting to try beryl/emerald, which I think actually beat Vista's "Aero" to the 3d punch, but I hit a snag. Generally, setting up a WM or a fuller environment, like KDE/GNOME/XFCE, is similar to above: cd to the "port directory" for the software, do "make install clean". However, there's a little additional magic for Beryl that isn't handled automagically, so that's what I have to RTFM and figure out.
I generally try to keep all the servers up to the latest RELEASE from STABLE, which means most of them are 6.2; there's one still on the 4.X branch that was supposed to be retired a long time ago, but hasn't been yet because we've discovered hardware problems with the boxes that were supposed to replace them. Bad memory controller on one, bad IDE controller on the other.
HTH,