LAMP on Xandros 2.0 OCD
I've been searching for the perfect Linux distro to act as a LAMP (Linux/Apache/mySQL/PHP) development environment for a number of web sites I support, and it's been a painful search. I was running Red Hat for a while, until they killed off their free version. I gave Fedora Core 2 (and then Core 3) a shot, but the networking was spotty at best. I looked at Mandrake, a Red Hat descendent, but it wasn't much better.
After working through the joys of “Dependency Hell”, I decided to give Debian decedent a try. “Apt-Get” was supposed to be a better way to get software, but Debian is a hard-core distro. Since I'm a little too n00b, I needed something with an installer. I tried a few of the live disks (like Mepis and PCLinuxOS) but they needed too much RAM to load on the low-grade PCs I used for Linux testing. I tried Libranet, but that has a bit of a learning curve to it. Perhaps I'll have a review of that later, but not quite yet. About the only distro that set up cleanly, found everything on all of my home servers (multiple PCs, OSs, and domains), and “Just Worked ©” was Xandros, and it had some issues. First of all, Xandros is a commercial distro, and the free version is slightly gimped – it's a full release behind the “premium” version. Additionally, it forced an ad-driven version of Opera on you, and it slows your CD Burner down to 1x. And it is built to be a desktop, not a server. That means no GUI tools, no script interpreters, and no easy way to get them. I'm just not that hard core, so I put Xandros aside for a while. But, after the first two paragraphs, I came back. As I noted before, Xandros is a desktop distro, and they never aimed to make my perfect LAMP server. Their goal is to be the first Linux distro all the nerds install for their mothers. I'm sure it would be quite nice for that purpose, but that's not what I needed. Keep in mind my twisted purposes when you read my results. When I decided to give Xandros 2.0 Open Circulation Desktop (OCD) another shot, I chose one of my weaker PCs to be the host. The PC I went with is a 450 MHZ no-name with 128 MB of memory – a real POS but a steady performer. After making all of the necessary back-ups, I slipped the Xandros CD into the slot and booted her up. The install process is intuitive and GUI driven. The first decision you have to make is what part of the available hard drive space you want to assign to Xandros (I chose “all”). Once you make your decision, it handles the particulars of the partitioning. Next, you'll be asked for which packages you want to install. I went with a custom selection of Apache, some text editors, the web browser, and assorted “viewer” apps, just in case. After the initial reboot, you'll be taken directly to the Xandros windows manager (a version of KDE 3.2). You'll be walked through some final settings, like time-zone and windows “behavior” and you've got a functioning PC. Just not a “server”. During the install, the installer asks whether you want to use DHCP or set a static IP. If you breezed through that, you can set the specifics of it now by opening up the “Control Center” (windows users can view this as the equivalent to “Control Panel”) and Choosing “Network | Network Connection”. All the usual setting will be there, although you can only set a single IP address (more on that later). You can set your DNS servers here, if you haven't already. If you'll be wanting to view Windows shares, you'll want to modify the settings under “Windows Networking” as well. One of the first things you might want to do is go to “Peripheral Devices” and set the num lock key behavior you prefer – Linux tends to reset this every reboot, in my experience. Nothing else in the Control Center is essential at this point, but it's good to know what's in there. The next step, at least in my case, was to make sure I could share my web folders to my Windows PC, where I do all my dev. This whole networking thing, as you may recall, is pretty much the only reason I chose Xandros, and it does this part right. The “Xandros File Manager” (XFM) can be launched from the task bar and it is a piece of work. The result of over a year of development, none of it GPL'd, it is the distro's claim to fame. From here, you can browse to a printer and mount it (I had to enter mine by name, but it mounted it instantly after that), you can browse your Windows networks, you can burn a CD (at 1x, of course), and you can view anything locally mounted. I drilled down to “/var/www”, right clicked on the folder, and chose “Sharing | Windows Sharing”. At this point, you can leave all the settings alone and hit “Ok”, and the folder will be shared. You may need to reboot the server for it to take effect, but that's really all there is to it. Likewise, you can select a Windows share, choose “Tools | Mount Network Share” and be done in that direction as well. It's that simple. Unfortunately, that's the end of the simple part. Remember when I mentioned that there was only room for one IP in the Control Center? Well, this is, as I said, a web dev box and I need several. The next step was to save a copy of “/etc/network/interfaces” and add my “virtual” IPs to the original. Virtual, in this case, means that the first IP is still the primary for purposes of network identification, but any others you put here will work fine as site hosts. There is no GUI for this. The format of the file looks something like this:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.100.4
netmask 255.255.255.0
gateway 192.168.100.1
broadcast 192.255.255.255
auto eth0:1
iface eth0:1 inet static
address 192.168.100.14
netmask 255.255.255.0
gateway 192.168.100.1
auto eth0:2
iface eth0:2 inet static
address 192.168.100.24
netmask 255.255.255.0
gateway 192.168.100.1
auto eth0:3 ...
If you want to use name-based virtual hosts you need to define at
# least one IP address (and port number) for them.
#
#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78
NameVirtualHost 192.168.100.14
NameVirtualHost 192.168.100.24
NameVirtualHost ...
Below that, the virtual hosts are attached to web sites:
#
#
ServerName mysite.local
DocumentRoot /var/www/mysite
ErrorLog /var/log/mysite_err_log
ServerName myothersite.local
DocumentRoot /var/www/myothersite/site
ErrorLog /var/log/myothersite_err_log
Package: *
Pin: release l=Xandros Networks
Pin-Priority: 1002
Package: *
Pin: release o=Xandros Corporation
Pin-Priority: 1002
Package: *
Pin: release a=xandros2.0-xn
Pin-Priority: 1002
Package: *
Pin: release a=testing
Pin-Priority: 777
Package: *
Pin: release a=stable
Pin-Priority: 555
Package: *
Pin: release a=unstable
Pin-Priority: 333







c0c0c0 wrote:
No sooner do I finish my set up than does Xandros release their 3.0 for the OCD version:
c0c0c0http://www.xandros.com/products/home/desktopoc/dsk_oc_download.html
Not sure what that adds, but I'm sure it's nifty.
- reply
»