Sweet and salty popcorn best describes Nexenta. OpenSolaris kernel but still using many GNU tools and such: the best of both worlds. The balls robustness of Solaris with easiness of the GNU userland, Debian to be specific, makes it easy to use Solaris. I've just got it running and I quite love it. I love Debian by itself, especially for apt-get.

So, this entire time I've been using sh on my Solaris server. Many things aren't quite the same. When I press the up arrow, I'd like to re-run the last command. So, I ran bash and ta-da there's bash. I upgraded it from 3.0 to 4.1 using Sunfreeware but things didn't work after. When I wanted to run BitchX or even nano I'd get: Error opening terminal: bash. Quite odd indeed. After some Googling, I found it. Running export TERM=vt100 fixed it immediately. 


Now, to get audio working in Nexenta...

nginx + php + Solaris 10

I wanted to set up a development server to test more intensive PHP applications, and also a sandbox so I opted to get a typical web server stack on Solaris.

First thing's first: grab nginx from  Cool Stack page. There's some great packages there, like Apache, PHP and MySQL all in one. I decided to go with nginx for something light and something new. 

The binary for nginx is  /opt/coolstack/nginx/sbin/nginx so be sure to set your configuration in /opt/coolstack/nginx/conf/nginx.conf (pretty straight forward). Be sure to enable the FastCGI section in the config file!

Next thing is PHP. Pretty standard here. Get the source from, configure and install. I ran ./configure with --prefix=/usr/local/php5 --enable-fastcg=/usr/local --enable-force-cgi-redirect --enable-cli --enable-zip --with-layout=GNU --with-regex=php --with-zlib=/usr/local --with-curl=/usr/local --enable-exif --with-gd 

Once that's done, set up your php.ini in /usr/local/php5/etc And of course, add cgi.fix_pathinfo = 1 to the end of the file. Now, for everything to piece together, you'll need FastCGI to parse PHP with nginx (as far as I know). Grab FastCGI from here and the standard compile commands.

Now, nginx was running but I couldn't get it to parse PHP. nginx was listening for port 9000 for FastCGI but it wasn't there. After a bit of Googling I found spawn-cgi, as it comes with lighttpd by default. Anyway, get spawn-cgi and install.

Finally, spawn FastCGI with:
/usr/local/bin/spawn-fcgi -a -p 9000 -u www-data -f /usr/local/php5/bin/php-cgi

(You'll have to create user www-data if it doesn't exist).

And that's about it. I now have Proftpd on there, and it's running quite smoothly indeed. Any comments or ideas are welcome.

iStat on Solaris 10

After experimenting with Solaris 10 for a bit, I thought I'd get iStat on there so I can see it's activity on my iPhone. After getting down and dirty with Solaris for a bit, I definitely learned some things. Since iStat needed libxml2, I grabbed that from Sun Freeware and installed it fine. Next thing was to, of course, install the iStat client. When I ran ./configure it was complaining about not being able to create a C++ executable. And with gcc already installed, libraries were the issue. /usr/bin/crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/lib:/usr/local/ssl/lib did the trick.

Solaris has a steep learning curve, as compared to Linux. I've always fancied nano as my text editor, but Solaris didn't have nano so I had to make do with vi (of which I'm quite better at than before). Tab completion and using the up or down arrow key to repeat the last command isn't there either. I've learned that I have to gunzip then tar xvf a tar.gz file (bunzip2 works for .tar.bz2).  Also, I found this great for some tricks on Solaris (alebeit it's Solaris 9).

Networking was a bit difficult to start, I had to get the driver from here.Although, I'm still having problems with the module not loading on boot. All in all, I find that Solaris definitely improved on my command line skills. It's like Linux, but without the fun.