|Starting a testing server, What build to go with for a noobish dude|
Im setting up a local webserver for development (for php, apache)
Im a sort of unix noob,
Ive taken a few courses, but never really 'lived in it' if you know what I mean.
Im going to build a local webserver, so i can do my PHP development locally, instead of dealing with ftp issues connecting to our real server on the other side of the country.
So My Question, What build(s) should I look into for basing the system on? Anyone know of any really good guides for setting up a system for this kind of application?
Im probably also going to want to install a number of applications,(like ffmpeg) so whatever build might make the installations of those easier could help too.
I think the distro du jour is ubuntu. I don't use it myself but it's where all the geeks seem to be :).
The only other consideration would be to use the same distro that your server uses. That's actually what I do just so I'm standardized on everything - but I wouldn't say that should be a big consideration. Linux is linux is linux.
In terms of installing applications, any modern distro will have an install process that's pretty much automated. On mandriva I just type 'uprmi ffmpeg' and it'll grab it off the web and install automatically. I think ubuntu uses something like appget ffmpeg or something like that. In any regard ease of installing apps won't be a consideration - any modern distro will install packages even easier than a windows install.
In short, grab ubuntu and install away.
The only other consideration I'd suggest is to install a desktop like kde or something on your local machine. You can still go back to the command prompt like you do on your webserver, but you'll have access to a bunch of really nice gui's as well, i.e. for development and debugging, for installing packages on the test server, and so on.
What does your real server run? Ubuntu is the desktop "distro du jour", but it isn't used much as a server. Ideally, you should run the same or similar distro to your main server. If not, RHEL (Red Hat Enterprise Linux) is a very common server setup. Rather than paying for RHEL, you can use the free clone: CentOS:
Most modern distros are very simple to set up, especially if you have local access and a desktop environment (Gnome, KDE) installed. Mandriva uses uprmi, Ubuntu and Debian use apt-get, RHEL/CentOS use yum - but it all ends up being very similar - repositories of pre-compiled applications managed by scripts which cater for the necessary dependencies..
It appears that my server is running RedHat ,
Thanks for the centOS suggestion, I suppose as you suggest, that might be might best clone for the RedHat enviroment im in now.
This is going to be a fun long weekend i think.
Now, i ran cat /proc/version and it brought up Red Hat 3.4.5-2,
Do you super-cool people know much about the differences between version 3, and what version 5 (what appears to be the current).
Any recomendations as to if I should go with CentOS3 to try to replicate what i currently have, or go with CentOS5 to be up to date?
|Im going to build a local webserver, so i can do my PHP development locally, instead of dealing with ftp issues connecting to our real server on the other side of the country. |
Why not just get with a local hosting company? You'll save a lot more time and stress.
>>Why not just get with a local hosting company? You'll save a lot more time and stress.
but won't learn anything. plus it's a lot cheaper to experiment on your own local server, no hands on-time to pay for, no service technician to pay if you want to install some software. but, really, the learning part is the most important, I think. It never hurts to have some knowledge of the underlying technology, even if your main job is to write php-scripts.
Do you want to work on that machine or do you just want to run it locally, mount an SMB share and keep working on your workstation?
Isn't this actually RHEL 4? I would send a quick request to your hosting company to confirm exactly which version they are running.
Whether you use the exact same version or the latest one depends on the complexity of what you are trying to achieve. If you want to use the local machine as a staging server, installing libraries or applications or to test custom scripts before uploading to your main server, then use the same version-equivalent of CentOS as the RHEL on your main server. If you are looking at learning general server maintenance, then it's not so important.
Much of the differences between RHEL/CentOS versions are to do with hardware compatibility, newer libraries and updated versions of common applications. The differences are more noticeable on the desktop application side, for a web server there is less change. In all cases, you can get regular patches for many years, so you're not obliged to change versions every time.
If in doubt, just go for the same setup as your main server.
Although I am Windows-based, I learnt a ton by installing Apache, PHP, etc, on a spare laptop and then getting to grips with it.
Thanks the the responses,
janharders: Im planning on working on my main windoze machine, (mostly for dreamwever checkin/checkout system we use here), and connecting to unix box to just run and test my devolped scripts.
What excatly is mounting an SMB share? (is that just mounting the unix drive on my windows network somehow?)
yeah, that's what's SMB is about. Takes the hassle of ftping files away.
If you're not going to use the linux machine as a desktop, I think you're pretty free on your choice, though it definetly makes sense to use the same distribution on testing and live systems.
Just to round off the list, I personally use and like debian. Less corporate, usually more stable (due to extensive testing and being really slow on moving packages from testing to stable) and also pretty common on servers at hosting companies.
Allright, Im all pumped, spending a weekend at the command prompt! WhoHoo!
This is defenetly going to me a GREAT learning task for me.. (And save a hell of alot of time getting frustrated at the ftp connections at work :P )
have fun! It took me three months before I was comfortable running linux.
The SMB (Samba) shares they're talking about is just another server/daemon that runs on a linux box. It basically acts as a front end to make the server act like a windows machine on the network. So it'll show up in the network neighbourhood, you can probably attache shared drives, all that.
However, I've always found SMB to be a complete PITA and difficult to set up. I'd suggest you treat the server as a seperate linux box and forget smb for now. And because you're going to be ftp'ing and stuff to it, you should probably give the server a static IP address so you know where it is when you need to access it.
I started with Centos4 because my hosting company uses it and I wanted my test server to be as near a copy as possible. This worked really well, until I trashed it somehow!
My latest test server runs Ubuntu. I would have used Centos, but it doesn't have support for my wireless card.
On this I have installed Vmware Server 2 which allows me to build virtual machines. So far I've added Centos4.6 and 5, Damn Small Linux with XAMMP, and Win XP.
I can work on all the virtual machines from other machines on my network using VMs browser plugin, or via SSH using puTTY.
The really cool thing is I can copy and delete Virtual Machines on the Ubuntu host because they are ordinary files.