Do you…uh…Use Linux?

Use Whatever You Want

I ran across the flash video above (note: I’m not taking content and embedding it here…you’ll need to click on the image to be taken to the author’s site) a while back and have never posted a link to it.  It’s pretty funny and if you look around on ubergeek’s site, you’ll find a couple of other interesting things like the awesome flash game “Penguin Blood Ninja Fiasco” which I think is just genius.  So give this a look-see…you won’t be sorry.  Guaranteed to brighten even the darkest open source supporter’s day.

Host Your Own Domain, Website and Webserver

This post was originally published on 13 July, 2006.  This version has been updated.

I have a problem with facebook, myspace, and other social networking websites out there.  The problem is when I upload my data to their webservers….I don’t own it anymore.  They do.  And they can do whatever they want with it once it is there.

With this in mind, I’d rather setup my own twitter using Status.net or my own digg using Pligg.  But I’d do it on MY OWN SERVER.  That way, any content I upload is MINE.  It doesn’t reside on some server in California or DC and get recycled to advertisements.

I like to control my own stuff.  I don’t like to be cut out of the loop.  If you’re like me, then you’ll want to host your own domain, website and webserver so that your friends/family/shrink can quickly and easily connect up to see new photos, find out the latest family developments, and understand why you wear tinfoil hats every Thursday after 4pm.

Normally, to host your own webpage you would need to spend around 7 bucks to purchase a domain.  Next you would need a hosting plan that usually runs around 3-15 dollars per month to serve up your web pages.

What most don’t realize is that you can skip these steps all together…you don’t need to get dedicated hosting (this blog is hosted on dedicated hosting…but started out in my apartment!) to serve pages up to your friends and family.  You absolutely do not need to get domain name services through a provider.  You can even host your own webserver using a dialup connection (that’s right…I said dialup) although. I don’t recommend it (but I’ve done it using 56.6kbps).

Why would you want to do this?  The answer might be to stay connected to friends and family…perhaps install a gallery so that your grandparents can see pics of your new dog/car/tinfoil hat.  Sure, you could waste my time with MyWaste..er..space and facebook and be barraged daily by advertisers and solicitors and be inundated with the minutiae of what all your friends had to eat for the day …or you could roll your own web host, install a gallery or website, and provide media to your friends and family without costing yourself a dime.  That’s right, NO COST (except time spent getting it running).  Just remember, your website might not survive a digging or slashdotting if you run it yourself.  Keep that in mind 🙂  So without more chatter, let’s get to the meat and potatoes of things:

Meat and Potatoes

If you have Cable or DSL at home (not a business account) you have something called a dynamic connection.  Dynamic connection means that it can change every once in a while.  DSL and cable ISP’s purchase blocks of IP Addresses in the dynamic range so that they can keep consumers separate from businesses.  It’s also easier for them to manage dynamic pools of people than to have to remember static connections that don’t change for everyone.

Because of this problem…an ever changing connection for you at home…web servers and websites do not do very well.  The reason for this is because when you visit a website on a dynamic connection one day, it might be different the next day.  In order for visitors of a website to find you each and every single time, you need a “domain” or web name that points back to the address (IP Address) your internet service provider changes on a whim.  You’ll also need an update service to update your website each time your ISP decides to change things on you.

Believe it or not, there are free services out there to do that for you.  You just have to be willing to do a little extra work in the beginning to set things up.  You can also do this without spending 20-40 bucks a month on DNS service.

I’ll divide this up into 2 sections.  The first will deal with Linux hosting.  The second, Windows hosting.  This is only something that I’ve found easy to do and the price is just right (it’s free).  The only thing that I recommend is a dedicated internet connection (cable, DSL) but even this is not necessary as dialup can be used.  I recommend that you use the Linux way of doing things since it is more secure and doesn’t require a restart every time you patch it.

*note: I’m assuming that you aren’t behind a firewall/proxy of any kind and that your ISP doesn’t block port 80 traffic.  If your ISP blocks port 80, see the appendix at the end of this article.

LINUX

No matter what version of Linux you run, chances are that you’ll be able to install the apache webserver.  This is good news as over half the websites of the world are run by apache. I’m not going to address the specifics of how to set up your apache…only how to get it a fixed address without buying a domain.  So, you have your html or php pages located into your webservers public directory…good…whatever application you have is installed on your server.  Now, how to resolve your IP…lets say it is…25.24.4.166 (for our example) and you want it to have a host.name.com to bind to.  Easy to resolve.  Go to http://www.no-ip.com/index.php and sign up.  You can get a site from noip that is like yourname.theirdomain.com/.net/.info.  They have cool names like sytes.net and servebeer.org…even workisboring.com.  Other services like dyndns.org also exist and provide the free service as well.

You’ll be able to choose your own top level name…for instance, Ithink.dnsiskinky.com could be your new domain name.  Next download a client from the download tab: https://www.no-ip.com/downloads.php

The linux client is a tar.gz source and is simple to install. Follow the instructions when installing.  You may have to install compilation tools (devel packages like GCC) to install the client.  You now are the proud owner of yoursite.theirsite.com and your IP will ALWAYS update (as long as noip.com is up) each time you log on/sign on/beam up or whatever it is you do.

How does this help you?  Well, if you’re like me, you have a dynamic IP address.  If you connect to the internet via cable, dialup, or dsl…you also have a dynamic IP address.  Dynamic means that it will change from time to time without warning.  So by binding yoursite.theirsite.com to your IP address…you don’t ever have to worry about what IP address you have anymore.  Instead, you’ll always be able to connect using yoursite.theirsite.com.  You can host a webserver using Apache and a virtual host in this style as well (look for another how-to on this subject later) so that everyone can visit a shiny website at yoursite.theirsite.com.

Now you can give your friends/family/dog walker/mailman the address to your new webserver…maybe it’s Ithink.dnsiskinky.com like we used in the example above.  Now when they visit that address in their web browser, your application or web page displays for them.  You also get bragging rights at being the most technical friend/relative/dog walker client/household that everyone knows.  Now let’s cover Windows.

WINDOWS

First you need a free and clear webserver since one is not included by default with windows. You can download Apache for this as well OR try the Abyss Webserver.

Interestingly enough, Abyss is also free!  I ran it while my linux machine was being worked on (bad hard disk…it was a Quantum 200MB drive from 1913…had to upgrade) and it worked just great off of Windows XP.  Download that puppy and install it.  Make sure you read all of the documentation and familiarize yourself with how Abyss does business.

The next step…getting a hostname… is even easier than the linux method because you don’t have to manually install the noip client…they have a windows installer.  Go to http://www.no-ip.com/index.php and sign up.  Choose the domain name you would like (see above examples in Linux section).  Next, download the noip client from the download tab: https://www.no-ip.com/downloads.php but this time choose the windows client.  From there, you’ll be able to install this with a simple double click.  Fill in all of your information (pretty self explanatory) and make sure that it will run with each time you sign on.  You’re set! Your IP will now resolve to the yourchoice.theirhostname.com

CONCLUSION

You don’t have to spend a dime to keep a domain bound to your IP.  This is perfect for the home user who just wants a gallery or homepage.  It’s even good for someone who has a weblog or enthusiast site.  It’s good for someone who wants to be able to find their files and music…setup Jinzora and stream all your music library to yourself anywhere you are!  Setup Amahi and have access to all the goodness it brings.

Please remember, this wouldn’t be good for a business to have.  You will probably violate your ISP’s terms and conditions for using their connection if you tried to run a business this way.

It’s always good form to put a link of the stuff you are using on your website to direct traffic back to your software provider.  When I used noip, I included a noip link on my main page and also an abyss webserver icon as well.  It’s just good form and some companies/software providers necessitate the use of their logo or a link on sites that use their software/code.  Just be a nice person and give a link back to them.  Good luck! Have fun!

Also, please note that having hosted my own webserver for quite some time (circa 2001) I’ve found Linux and Apache as a combination to be more secure, faster, and more stable than any webserver I’ve hosted on the Windows Platform. I included information on Windows mainly to introduce you to the concept of free and open source software. If you thought getting a webserver for free was great, think about getting a whole operating system! Give it a try, you don’t even have to install it (use a Live CD).

APPENDIX

If your ISP blocks port 80 traffic, your webserver won’t work.  Before deciding that your ISP is blocking however, make sure your firewall has the appropriate rules to allow incoming traffic.  You can do a quick add to IPTABLES in the following manner:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

If you’ve opened up the appropriate ports and things still don’t work, it will be safe to say that you’ve determined the ISP is blocking port 80.  How you can get around this conundrum is to switch the listening port on the webserver to a different one and redirect traffic there.

  1. See how to do this for IIS Webservers
  2. See how to do this for Apache Webservers (normally in /etc/apache2/httpd.conf but your distro may vary.)
  3. See how to do this for Abyss Webservers

If you still have problems, drop me a line in the comments section.  I may not be able to answer all questions but I can most likely get you to a person/place/thing that can.  Have fun and thanks for reading!

Zealots and Narcissism

Many times in my journeys of distribution hopping, I’ve run across rabid fans and communities [1]

I’ve written a guide for new users on how to understand the vitrol that rabid zealots spew in Linux communities [2]

Those problems are all very easy to see…but these articles deal with only the tangible problems in these areas.  What are the reasons these problems exist?  Is it because of one or two individuals?  Is it mob mentality?  Are people just waking up on the wrong side of the bed?  I don’t think these reasons get down to the core of what the real problem is…the hidden problem…of zealots in the Linux community.

The Hidden Problem

The hidden problem is Narcissism…people think that what they have to say about a given subject makes the most sense and is 100% correct (or at least more correct than others’ POV) and it’s one that is hard for people to talk about…because anyone that writes or blogs has to be a little bit narcissistic.  People don’t like talking about problems they’re guilty of.  I know I am guilty of it…and I’m still going to talk about it.

With social networking riding a tidal wave right now, the era of the narcissist moves on, unhindered, on the interwebs.  Subscribe to my twitter feed…what I have to says in 140 characters or less is a MUST READ!  My facebook page will keep you updated on EVERY little thing I decide to post unless you edit me out of your news feed.  Sites cater to the egocentric tendencies of anyone plugged in.  So what happens when you get a bunch of narcissists together sharing a common goal?  “My distribution is THE BEST out there and no other point of view matters!”  That’s right, you get zealotry in the purest form.

This has slowly begun leaking into Linux communities during the past few years as Linux is tried out by more and more people and becomes more available to people who aren’t technologically advanced.  Bottom line is, more people are trying Linux now than ever before.  This makes the user pool larger and more diverse.  Where there are more people though, there are more narcissists…and birds of a feather flock together.

Take narcissism with a twist of mob mentality and the powder keg in Linux communities is set to blow.  The zealots seethe and team about in forums, IRC, and on blogs across the internet looking for a place to show how right they are and how wrong the person posting information is.

Oh, I admit it…I have a narcissist streak in me…I want people to read this blog.  I want people to follow me on twitter.  I want people to pay attention to what I say…it’s part of being a blogger…but I don’t think that my distribution of choice is any better than yours.  In fact, I know it’s not.  Just like my car isn’t any better than the one you drive and my clothes are so last year and aren’t as good as yours.  I offset my narcissism with realism…I understand that what I think isn’t the only point of view out there…I don’t think I’m 100% right all the time.

I also don’t go out on the web and try to find others who think my view is the best view and then try to push my egocentric viewpoint to others.  I don’t create a community of zombie thinkers who all believe my viewpoint is the best out there.  I’m not forming any mobs for my mentality.  I’m not flocking together with birds of a feather.  I’m a part time ego-narcissist I guess.

The first step is admitting that you have a problem.  The second step is having some good old fashioned manners, respect for others, and above all…tolerance and realism.

Solution to the Problem

When you’re standing in line at a bank, would you cut in front of someone in the line?   Most likely you wouldn’t.  Personal conflict is something we as humans avoid most of the time.  So, why is it when you’re driving you don’t mind cutting someone off and do it regularly?  It’s because the personal aspect of that motion has been replaced into an impersonal one…the car becomes a protection from that personal conflict that would happen if you had done the same thing in a bank line.

To fix the problem this presents on the web and in Linux communities, think about others (not yourself) and in doing so, become less narcissistic.  Apply this thinking to commenting and blogging and facebooking and tweeting.  Imagine that you are face to face with people saying the things you’re typing.  If you wouldn’t say things like that in a face to face situation, don’t say them.  Remember that tolerance of other viewpoints makes you a better person…AND smarter.  How?  Albert Einstein is largely considered one of the smartest humans to ever walk the earth.  He often gathered with other intelligent people to debate and discuss various topics that interested him.  In doing so, he caused those he debated with “to sharpen and refine their understanding of the philosophical and scientific implications of their own theory.”  Remember that everyone does NOT have to share your viewpoint…what works for you may not work for them.

Lastly, no one cares if you sat down in your office or are eating a peanut butter sandwich.  We subscribe to feeds and twitter accounts for meat and potatoes posts…not 1 liners that tell us you’re in the bathroom of a bakery on 96th street.  So, you zealots out there…you know who you are…take this opportunity to reflect on yourself (your favorite subject) and try to replace your narcissism with realism, tolerance, and good old fashioned manners.

And no I don’t think any zealots will be converted by this post…it’s more of a rant than anything else…and rants are one of the reasons why I have a blog 🙂  Well that and because what I say is more important than anyone else and my viewpoint is 100% correct 100% of the time of course. 😉

Unity Linux Theme Refreshes

I’ve been pretty busy lately with theme design for the Unity Linux project.  The following pages were updated:

  1. Unity-Linux.org
  2. Planet.Unity-Linux.org
  3. A new forum theme called SMFPress @ forum.unity-linux.org

Uniformity was the key ingredient to the stylings.  I’m trying to match everything to the front page theme at the main site page.  Using the color pallete from that site, I worked on creating a theme for our forum and then gave planet unity a facelift as well.  We’ll test out the planet capability a bit longer (see how updates go) before we ultimately conclude to use it.  However, the forum and main site are finished products.

Let me know if you find any bugs or have any problems with the theme.  If all goes well I’ll start on a wiki theme for our documentation site 🙂

Convert PNG to GIF via Command Line

I installed a bare bones Arch Linux system today and took a screenshot.  With no graphics utilities installed, I needed a way to convert a PNG to a GIF for a Simple Machines forum template thumbnail.  I figured I’d use a command line utility to help me and ImageMagick is installed by default on most distributions.  A quick read through the ImageMagick manpage and I found the convert command and thought I’d share it with everyone.  Use convert in the following fashion:  convert [input-options] input-file [output-options] output-file

convert SMFPress.png -channel Alpha -threshold 80% -resize 120x120 thumbnail.gif

This did a quick, same-size conversion with little loss for me to display the thumbnail online.  For more information on the options I used and other options that I didn’t use, take a peek at the ImageMagick Online Help Page for convert.

Clarification on Foresight and Fedora

I previously wrote about a possible “rebasing” of Foresight Linux on the Fedora platform. This conjecture was a bit premature it seems as I am completely wrong on this being a possibility 🙂 The best part about me being absolutely wrong on this is that there is still going to be benefits for Foresight and Fedora even without the rebase.

Foresight is toying with the idea of having a sub-project (completely separate from Foresight Linux base) that it has tentatively called ‘boots, a Fedora remix‘ (a play on Dora in Fedora for those of you with kids).

What would happen is that mirrorball, a tool from rPath that ‘sucks in’ repositories, would pull in a Fedora repository into a separate Foresight repository.  From there, it is fully consumable by any product/project that is hosted on rBuilder Online from rPathConary really is one of the most innovative package managers on the planet and I’ve mentioned it once or twice before (never got around to part II on one of those though).  The ability to fully suck in a RPM repository is already being done with CentOS and Scientific Linux on rBuilder Online…even Ubuntu is currently being done as well…so we have proof that it is totally possible.  Once imported, Conary takes over the management of said packages.

So what does this give Foresight?  A few things:

  1. Testing of packages in 2 communities
  2. Developer eyes/chatter in 2 communities
  3. The ability of Foresight to cherry pick packages from a large base
  4. Compare and contrast for packages from 2 different sources to track down bugs

So, as I said, I was wrong initially and I hope this clears up what Foresight plans to do.  A sub-project will be started that imports the Fedora repository changing them from (rpm to Conary) allowing Foresight to both test and cherry pick packages from a larger base hopefully freeing up a bit more time for Foresight architects.  Phew!  What a mouthful, run-on-sentence that was!

Why Conary?  How does this help Fedora?

I know some of you may be asking Why Conary?  What does it have over RPM that Foresight should suck in a repositoroy and change it to Conary packages?  The reason this is an absolute necessity is because the tools on which Foresight are built (rBuilder Online) works with Conary only…that means ISO generation and repository hosting are all mandated to be Conary based.

The other interesting part about this is that Conary blends version control with package management.  It deals with changesets as packages.  Imagine SVN…you have a local changeset that  you’re working on and the version inside the SVN repository differs from that.  You can then diff the state of your local copy to see how it differs from the remote copy.  This allows you to see the changes you’ve made and allows you to see what code may be broken.  Also, commits are numbered automagically so that you don’t have to worry about breaking things much because you can rollback to a previous known good state.

The same is true with Conary…you can rollback to previous known good states.  You can also diff each changeset locally with the remote repository.  Now imagine this with Fedora packages…if something is broken, chances are Foresight will find a fix for it much more quickly than someone in Fedora…a single command can diff the previously known good version with the broken version and find out the shortcoming.  Or perhaps a known good verion in Foresight that isn’t Fedora based might be used to diff the Fedora RPM version and find out the differences in them.  In all, it’s going to help developers track down problems faster.  This helps Fedora…they now have a small number of Foresight developers who will be working with hundreds of popular Fedora RPMs looking to see if they work or are broken.

Most of the benefit will be measurable in Foresight because they’ll be able to use just about any package Fedora creates…but the Foresight community is FULL of very capable developers…guys that really know what they’re doing.  If they can make this a collaborative effort Fedora will gain exceptionally smart developers as well…even if testing packages on a different platform, they’ll have eyeballs on these packages and if a fix is found or made for them they will definitely go upstream to Fedora.

Hopefully, this puts things right from my initial wrong.  I don’t claim to be an insider for Foresight…I just know a lot of the people involved and ask questions a lot….I also pay attention to the developer mailing list.  If you have any questions, please leave a comment and I’ll attempt to track down answers for them 😀

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.