With Ubuntu giving me trouble because I prefer MariaDB
, I decided to look for a Linux distro that wouldn't give me issues. One mentioned on the MariaDB website was Arch Linux
. Wikipedia's description of it as focusing on "simplicity from a developer's standpoint rather than a user's standpoint" made it sound like it was going to be a major pain to get up and running. Arch Linux's wiki
made it almost seem like it was a Linux version of what I expect to get out of a FreeBSD system: a basic system that allows you to tack on only the bits you want. I read the Beginner's Guide
before actually attempting the install, then attempted it on a VirtualBox machine. It was as smooth as a manual install could get. Basically, those directions are written so well, you have to be trying to screw up to fail. (Either that, or you have a special situation they didn't think of.) It wasn't long before I had a working server running lighttpd
and MariaDB. Basically, everything installed so quickly, most of my wait time was the time to download everything.
The hope with this setup is that I'll be able to quickly test my PHP code on both Windows and Linux. Currently, I have to copy the code over to my Linux machine and all the data files, which could take several minutes. Since a connection from a virtual machine on my computer to my computer should be very fast, I could just use Samba
on my Arch VM for access to the files. I set up the virtual machine with one NAT network connection for Internet and a separate host-only network connection for a 1 Gbps link to the database and files. (When I did this on my Windows XP virtual machine, it couldn't figure out how to get to the Internet, but it would appear Arch's network stack is smarter.) Samba doesn't seem to like mounting subfolders of shares, so I had to make one share for every subfolder I wanted to mount. That worked out to five shares instead of two. The first time I tried running lighttpd off of the shares, it worked fine, except a lot of graphics didn't load. This was solved by enabling the iconv extension, which I didn't realize was disabled. (The reason iconv is needed for generating graphics is because the database produces Unicode file names and I have to make them very basic ASCII or I won't be able to read files when the code is run on Windows.) The next time I started the virtual machine, all sorts of weirdness happened. The DHCP on the host-only connection didn't run, though the Samba shares were mounted. Even though they were mounted according to the output from
, I couldn't access them. Actually, just
ing into one of the mounts locked up the VM. I eventually got it working by turning off the DHCP on that connection and setting a static address. After that, it was fine, though there were issues with write permissions on the shares. That was fixed by adding
to the options portion of each mount in the fstab file. I also needed to change the permissions on the parent directories and finally everything worked. I also couldn't automatically mount the shares without a very noticeable lag on startup (and only two of five shares actually being mounted), so I added
to each of the mounts in the fstab file and made a script that I would run upon logging in that mounted those shares. After that, everything worked as it should and I was ready to handle coding for both OSes. It wasn't ideal, but it works.
The whole thing about how much you have to do manually bit me when I decided to update the system one day. I checked the main Arch page and there was no recent news about potential updating problems (most recent was from April), so I updated...and got a mysterious error. Luckily the error didn't leave my system broken. I looked around for information about that error, but nothing came up. Eventually, I went back to the main Arch page and there was a news item that wasn't there before. Following those instructions fixed the error. Although I can keep this virtual machine running decently, I'm wondering how I'd be able to run this OS on a physical computer. I won't need to mount Samba shares, but I will be dealing with a wireless card requiring special firmware. Of course it would just be easier if Ubuntu and friends allowed MariaDB to be used...