> The problem is, of course, that for non-techies such as myself
> it is incredibly difficult to even know where to begin.

You aren't a "non-techie": you asked it here and you know that you want
to host your server.  I don't know how to answer the title question
literally.

> Ideally we could even come up with a resource that could be helpful for
> other individuals seeking to set up their own servers.

There are some existing resources and some distros have their
documentation.  This needs much writing and organizing.

> I assume a personal computer running
> server software (GLAMP, GNU/Linux, Apache, MySQL, and PHP).

You don't need exactly these services, it depends on what you want the
machine to serve.  (I don't use Apache nor MySQL, I prefer nginx and
PostgreSQL for non-purely-technical reasons.)

> And does the server need to be a
> specialized piece of hardware or is a basic laptop enough? (Again,
> assuming the server is meant for only one person)

I used a desktop computer, relatively new (in 2007): it hosted a Plone
site which had big requirements (the previous machine with 256 MiB of
RAM was too slow).  A basic laptop (or, simpler, desktop) should be ok.

> Do you also need a domain name? Is it possible just to use your IP
> address provided by your ISP? What about DNS?

You need a public IP address with some common ports not being blocked by
your ISP.

You practically need a domain name, for some services you can use the IP
address instead if it won't change and if you can remember it.  You
should get your own domain, so you will have a greater control of it.
There are gratis nameservers from e.g. dns.he.net or
https://freedns.afraid.org/ (I used the first one only) that can serve
the domain -> IP address mapping, you can use your own unless your IP
address changes often.

Email has a problem with dynamic IPs, see
http://www.arschkrebs.de/postfix/postfix_why_dyndns_does_not_work.shtml
for details.  It worked several years ago for my mail when the address
changed once per several weeks.

There are two bigger problems with email hosting at home: many ISPs
block port 25 which is needed to send and receive mail (there is no
reason for them to block receiving, while some do), and IP addresses of
many other ISPs are blocked by big servers from e.g. Google.  (I
sometimes had this problem and asked my friends to not use Gmail to send
me mails.  It's also one of the reasons why I use a VPS since 2010.)

> Finally, which services should I experiment with first? Web, Blogs,
> Email, XMPP,  Owncloud or SparkleShare, MediaGoblin, GNU
> Social/StatusNet, Diaspora, and Pump.io servers are a few of the
> programs I would be happy to run myself. But when I have looked at the
> documentation, it is way over my head. Is there a particular service
> that is easiest to start with?

I have several static Web sites (very easy to host with nginx or Apache;
I maintain them in Mercurial DVCS repos and use Pelican to generate my
blog articles; the hard thing is writing them).

ownCloud is easy with Apache and slightly harder with nginx.

Email is harder, ok if you can spend several days learning it and
reading the logs to see what spam you send.

I have no experience with hosting social networking sites, since I don't
understand their use.  I don't make enough photos to have a use for
MediaGoblin (ownCloud works now for sharing photos with family without
making them public).  Its installation is much different than other
services, see the manual.  (It could have changed since I used it.)

Some other services that I have on my VPS: deluge (for sharing free
distro release images), Mercurial (for my projects and semi-private
data), git, Bazaar (for patches to free software projects), DNS cache
and authoritative nameserver, awstats, Prosody (an XMPP server),
rfc5766-turn-server (for VoIP via XMPP Jingle with machines over NAT).
For personal use, you need just SSH access and appropriate packages
installed to host a distributed version control system repo on your
server.

Attachment: pgpWkrNky1uHQ.pgp
Description: PGP signature

Reply via email to