Added a structured “add functionality in layers” section (publishing, communication, collaboration, culture) plus a first-week launch checklist to help new operators grow safely and intentionally. Updated README.md with a clear “start here” section that points operators to the key docs for creating and extending a tilde host. Updated docs/shellserver.md to point at the new setup guide and introduced a concise “quick priorities” list for new admins.
2.6 KiB
Setting up the tilde.club shell server (user host)
We want to document the ins and outs of setting up the server so others who are interested can learn (and help!).
System setup
Start with Build your own tilde-style server for a modern baseline. Historical package notes still live in docs/server.org.
Quick priorities for new operators
If you are bringing up a new host, focus on these first:
- Lock down SSH and require keys.
- Get
/etc/skelright before creating many users. - Verify
~/public_htmlpublishing works. - Document onboarding, moderation, and backup/restore workflows.
These four steps prevent many common early-stage tilde problems.
/etc/skel directory
This is the directory that's used as the basis for all newly-created users' home directories, so it's good to get it right before adding new users to a shell server. We've created a separate repo for the contents of the directory itself, but since it's impossible to check in the appropriate file and directory permissions, they're documented here.
The default MTA on CentOS is postfix. Our goal was to have a localhost-only mail service, which required that we configure postfix to listen only to localhost, and to bounce any email which local users try to send off-server. Both configuration changes are handled in /etc/postfix/main.cf.
- the
inet_interfacesvalue should just belocalhost(inet_interfaces = localhost) - the
default_transportparameter should be the bounce message we want (so adddefault_transport = error: outside mail is not deliverableto the bottom of the file)
pine
Pine is sort of brain-dead about creating its .addressbook file in a user's home directory with 744 permissions; there doesn't appear to be an option to fix this. Instead, it's probably important to work around it before adding any new users:
- Add
~/mail/to/etc/skelwith permissions700so that there's a user-accessible-only place for the file to live. - Create an
/etc/pine.conffile that includes the config directiveaddress-book=mail/.addressbookto put that file into this new home.
identd
Users will connect from their shell account to an IRC server, so it is very handy to have an identd server. For us that just meant installing the standard CentOS identd server and configuring it to start automatically:
sudo yum install oidentd
sudo /etc/init.d/oidentd start
sudo chkconfig oidentd on