Domain management

A new domain can be added with Satan tool. Every domains has a visibility level which means that you can define if it’s public or private and what other users can do with your domain. If you don’t have your own domain you can buy it, use one of the public domain or yourlogin.rootnode.net. You can buy domain on Go daddy or OVH. You cannot buy domain on Rootnode.

Remember that public domains are completely managed by their owners. It can dissapear from Internet one day without any prior notice.

Syntax

The syntax is as follows:

satan domain add <domain>
satan domain add <domain> <level>
satan domain add <domain> <level> <password>
satan domain add <domain> <level> stdin
satan domain del <domain>
satan domain modify <domain> <level>
satan domain enable dns <domain>
satan domain enable mail <domain>
satan domain disable dns <domain>
satan domain disable mail <domain>
satan domain list
satan domain list my
satan domain list public

You can display syntax anytime by executing satan domain help.

Defaults:

  • default domain level is 9
Command Description
satan domain add <domain> Add a new domain with default level 0. See domain levels below.
satan domain add <domain> <level> Add a new domain with defined level.
satan domain add <domain> <level> <password> Add a new domain with defined level, protected by password.
satan domain add <domain> <level> stdin As above but you will be promopted for password.
satan domain del <domain> Remove selected domain.
satan domain modify <domain> <level> Change domain level.
satan domain enable dns <domain> Enable DNS support for the domain. If you want to create DNS records this command is manadatory. Records SOA and NS will be created automatically.
satan domain enable mail <domain> Enable Mail support for the domain. You must add MX records by yourself, though. See Mail accounts for details.
satan domain disable dns <domain> Disable DNS support for the domain. Be careful, all DNS records will be removed.
satan domain disable mail <domain> Disable Mail support for the domain. MX records will not be removed.
satan domain list List all domains, either public and private. For readability pipe it with less -r.
satan domain list my Display only your domains.
satan domain list public Display only public domains.

Domain levels

All domain levels you will find below. You can sum up levels to define multiple levels at once.

Level Description
0 Private domain.
1 Public domain. The domain will be listed by satan domain list public command.
2 Public DNS. Everyone can add DNS records to this domain and remove self-created records.
4 Public DNS protected by password. As above but user must provide password.
8 Public vhost. Every user can create vhosts in the domain. To have this working domain must have wildcard record pointing one of the web server.
16 Public vhost protected by password. As above but user must provide password.
32 Public e-mail accounts. Every user can create e-mail account in the domain. Domain must have MX records configured properly in order to make e-mail accounts work.
64 Public e-mail accounts protected by password. As above but user must provide password.

Sample domain levels

Below you can find examples how to define multiple domain levels.

Level Meaning Description
0 private Domain is mine. MINE MINE MINE!
9 public + vhost ( 1 + 8 ) Public domain which can be listed with satan domain list public command. Every user can add vhost. Remember to add wildcard record to DNS.
41 public + vhost + mail ( 1 + 8 + 32 ) Users can add vhosts and e-mail accounts. Remember to add wildcard record and appropriate MX records to DNS.

Examples

Adding domain

In the first example we will add domain to the system and list our domains:

$ satan domain add domain.com

$ satan domain list my
My domains

Domain        Owner      DNS        Mail        Level   Public
example.com   user       disabled   disabled      9     domain + vhost

As you can see domain has been added successfully and:

  • DNS support is disabled.
  • Mail service is also disabled.
  • Domain has default level 9 which means domain + vhost.

Configuring domain

Now we can the domain as private and enable DNS:

$ satan domain modify example.com 0

$ satan domain enable dns example.com

$ satan domain list my
My domains

Domain        Owner      DNS        Mail        Level   Public
example.com   user       enabled    disabled      0     no

As you can see domain is no longer public and DNS changed to enabled. Let’s see if basic DNS records were created too:

$ satan dns list example.com

example.com

Id      Record             Type   Resource
13099   @                  soa    internal
13100   @                  ns     ns1.rootnode.net
13101   @                  ns     ns2.rootnode.net

Looks very promising.