7 min read

NethServer 8 testing: Nextcloud, Samba AD, File Server

NethServer's claim is it's a "Small Business Linux Server Made Easy." Indeed, I've played with the version 7 of the server in the past and that description was quite accurate. But it was completely rebuilt for version 8. They were going for a cloud, multi-machine, containerized application system, rather than a dusty old desktop sitting in a closet somewhere.

As this was the case, I decided to spin up a VM and give it a test run. According to the system requirements (here) it will run on Rocky Linux 9, CentOS Stream 9, AlmaLinux 9, and Debian 12. I logged into my XCP-ng host and created a new Debian 12 host with 2 vCPU cores, 2 GB RAM, and a 20 GB disk, as per the system requirements.

Installation was easy. I had to install curl, and then run the command to download and run the installation script, as outlined on their installation document (here). It only took a couple minutes to setup, and presented me with two URLs to access the web UI (called cluster admin)

Once logged in, I was presented with three options:

  • Create cluster - Create a new cluster and promote this node as leader
  • Join cluster - Add this node to an existing cluster
  • Restore cluster - Restore cluster and apps from backup

I hit Create cluster, answered a couple simple questions, and was taken to the following dashboard:

NethServer 8's Cluster Status page

Subscription? I see that it's inactive, but I really wasn't familiar with that option. Is it for support? Or more? Let's click it!

Error message: Subscription is not available. Operating system not supported.
Error message: Subscription is not available. Operating system not supported.

Well now, it seems you cannot use the subscription features with Debian 12. It would've been nice if this was covered in the documentation somewhere.

Notice on the Subscription documentation page: Note: Available only on Rocky Linux based systems.
Stargate SG1, Jack O'Neill saying: Oops

Awh damn, it was. Well, here's the Subscription documentation page (here) if you want to see for yourself.

So, anyways, I logged into my XCP-ng host and created a new Rocky Linux 9 host with 2 vCPU cores, 2 GB RAM, and a 20 GB disk, as per the system requirements. Installation was easy. I just had to run the command to download and run the installation script, as outlined on their installation document.

Once I logged in (again) and created a cluster (again) and set my password (again) I was presented with the Cluster status (again). After clicking the Subscription option (again) I see that I can register my install. Cool.

Now that I've gone through the trouble of setting up a VM twice, I headed to the NethServer Subscription registration page to see the actual features (here). As the free version of the subscription does not seem to have any actual features, I won't be registering today. But, if I decide to in the future, for stable updates or support, or for monitoring, I'm at least on the correct OS. As I prefer supporting open source software developers, I prefer to purchase support when I can.

Next I headed to the Software center to see what I could accomplish.

The list of software (at the time of writing, and pictured in the above two screenshots) is:

  • CrowdSec - The collaborative malicious activity detection and remediation ban tool.
  • DNSMasq - local network
  • Ejabberd - ejabberd XMPP server
  • Imapsync - Imapsync is an IMAP transfer tool.
  • Mail - Manage a complete mail server with ease and security
  • Mattermost - Mattermost is a secure Open Source chat for team collaboration.
  • Netdata - Collects and displays the local system metrics
  • Nethsecurity Controller - Centralized NethSecurity firewall manager
  • Nextcloud - Nextcloud Hub is an integrated Open Source content collaboration platform
  • Piler - Email archiving solution
  • Roundcubemail - The Roundcube Webmail suite
  • WebTop - WebTop is a full-featured groupware which implements ActiveSync and DAV protocol.
  • collabora - Collabora Online is a powerful LibreOffice-based online office
  • minio - MinIO: S3 compatible object storage

First, let me say that I haven't tried Nethsecurity yet, but I plan on it, so seeing that it can be managed from NethServer is exciting. But as I manage multiple Nextcloud instances, it's obviously the first piece of software that I'm trying. I hit the install button before I started typing this paragraph, and it finished before I did.

The page gave a toaster notification letting me know it was complete, and had a configure button. So I clicked it. I was taken to the below page:

Settings page for my Nextcloud instance.

It asks for a hostname, password for the admin user, has a toggle for a Let's Encrypt certificate, and a dropdown for the domain. Right now the only option is Nextcloud internal user database. This feels very well thought out, but I'm not going to continue. I'd like to configure centralized authentication, first. So I headed to the Domains and users page. Here I'm given two options:

  • Internal - Install an account provider on a cluster node
  • External - Bind to an existent account provider

I don't currently have a directory setup for testing, but I clicked on External to get a screenshot of the settings anyway.

Create domain page for joining an external domain

Now when trying to create a new domain, I was given the option of OpenLDAP or Samba. I headed over to the documentation (here) to see the differences. The file server can only operate with samba, but the node can only operate a single samba instance. Apparently it can host multiple OpenLDAP instances. I'm interested in seeing how it would function as a normal small business server with file shares for Windows clients, so I'm choosing Samba.

After completing the setup, including creating a unique password for my domain administrator and saving that in my password manager, I was able to go back to the settings of the Nextcloud app and the domain was preselected. I created another unique password for the Nextcloud admin account and also saved that to my password manager.

Nextcloud instance Settings, with host name, password, a toggle for the Let's Encrypt certificate, and a user domain dropdown with ad.korora.solutions filled.

If you see that I didn't enabled the Let's Encrypt certificate, it's because this is a local machine and not accessible from the Internet ... yet. I quickly changed my hosts to point to my domain to the IP and was able to connect and login with the administrator account I setup earlier.

The Nextcloud welcome screen.

As of this writing, it installed version 27.1.7, which reaches EOL this month. I went to the administrative settings, and it shows that there is no update available. Well, I will continue test driving some of the other Nethserver features now, and dig into Nextcloud updates in the future.

Nextcloud screenshot showing version information.

Next I'm heading to Domains and users, where I see the domain I created. It shows the name as well as the fact it's Internal Samba, and has links for groups, providers, file server, and Users and groups.

First I'm heading to Users and groups to make a group for my domain users. I'm going to name it Test group with no description and no users.

Error: domain_users.group_pattern

Welp, that didn't work. Let's make Test_group and see if that works.

It did, but I find it odd that Domain Admins has a space, but my created group cannot. I didn't see anything regarding this in the documentation, so I headed over to the forum, and it turns out this is just the way it works (here).

Now to create a user. I'm going to create test.user with yet another password, and I'm going to add this user to Test_group.

After adding the domain, I headed over to Nextcloud and logged in as test.user. Hey, that worked.

Nextcloud Hub's wecome screen, again. This time for Test User (test.user).

Next I headed back to Domains and users, then File server. The Status page shows 0 shared folders, and I clicked Go to Shared folders.

After creating the share, I browsed to the server with my file manager, Dolphin, and was able to access it and put a file there.

So, after a two week break because of catching COVID, I've returned to NethServer testing. As it turns out, Nextcloud still isn't updated (which is not optimal) but it's been addressed on the forum (here).

Nextcloud error: The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible.

I'm going to continue testing various aspects of the server in upcoming posts, and hopefully by the time I'm done this has been remedied.