Flash Sale:75% Off Hosting + Free DomainEnds in13h47m14sView Plans
Hostvento logoHostvento

Install Nucleus CMS on Linux

Nucleus is a .NET content management system. Set up a database, the .NET runtime and a web server in front of it.

CMS and Apps2 min read14 screenshots
Note: Nucleus (from Inventua) is built on ASP.NET Core. Unlike PHP CMS software, it runs as a .NET app, and the web server acts as a reverse proxy. Always read the install guide of the version that you download, because steps change between releases.

What you need

  • A Linux server (Ubuntu or Debian).
  • The ASP.NET Core runtime that the Nucleus release needs.
  • A database (SQLite, SQL Server, MySQL or PostgreSQL). This guide uses MySQL.
  • Apache or Nginx as a reverse proxy.

Step 1: Update and install the base software

sudo apt update
sudo apt install apache2 mysql-server -y
Installing the base software

Step 2: Start Apache

sudo systemctl start apache2
sudo systemctl enable apache2
Enabling Apache

Step 3: Start MySQL

sudo systemctl start mysql
sudo systemctl enable mysql
Enabling MySQL

Step 4: Create the database

sudo mysql -u root -p
Opening the MySQL shell
CREATE DATABASE nucleus;
Creating the database
CREATE USER 'nucleus_user'@'localhost' IDENTIFIED BY 'strong_password';
Creating the user
GRANT ALL PRIVILEGES ON nucleus.* TO 'nucleus_user'@'localhost';
Granting the rights
FLUSH PRIVILEGES;
EXIT;
Flushing the privileges

Step 5: Install the .NET runtime

Install the ASP.NET Core runtime. On Ubuntu 22.04 and newer, for example:

sudo apt install aspnetcore-runtime-8.0

Check the version with dotnet --list-runtimes. Use the runtime version that the Nucleus release asks for.

Step 6: Download Nucleus

Download the Linux package from the Nucleus releases on GitHub. The file name depends on the version:

wget https://github.com/Inventua/nucleus-core/releases/download/v2.0.0/Nucleus.2.0.0.0.Install-linux_x64.zip
Downloading Nucleus

Unzip it into the folder you will serve it from:

sudo mkdir -p /var/www/nucleus
sudo unzip Nucleus.2.0.0.0.Install-linux_x64.zip -d /var/www/nucleus
Extracting Nucleus

Step 7: Run Nucleus and put Apache in front

Start the app (see the Nucleus documentation for the exact file and port; it is often a systemd service that runs dotnet Nucleus.Web.dll on a local port).

Enable the proxy modules and create a virtual host:

sudo a2enmod proxy proxy_http headers rewrite
sudo nano /etc/apache2/sites-available/nucleus.conf
<VirtualHost *:80>
    ServerName your-domain.com
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/
    ErrorLog ${APACHE_LOG_DIR}/nucleus_error.log
    CustomLog ${APACHE_LOG_DIR}/nucleus_access.log combined
</VirtualHost>

Replace the port with the one that Nucleus uses. Enable the site:

sudo a2ensite nucleus.conf
sudo systemctl restart apache2
Enabling the Nucleus site

Step 8: Run the setup wizard

Open your domain in the browser. The Nucleus setup wizard starts.

The Nucleus setup

Enter the database details: the MySQL server localhost, the database nucleus, and the user and password from step 4.

The database login data

Create the admin account and finish. The welcome page appears.

The Nucleus welcome page

Quick recap

  • Create the database, install the .NET runtime and unzip Nucleus.
  • Run the app and use Apache as a reverse proxy.
  • Finish the setup wizard in the browser.