Excision Mail is a self-hosted email solution that helps you to manage your emails, contacts, and calendar in one place. This tutorial will guide you through the process of installing Excision Mail on Ubuntu Server.
Before we begin, make sure you have the following:
sudo
permissions.Open a terminal and update the packages list:
sudo apt update && sudo apt upgrade
Install the required packages for Excision Mail:
sudo apt install nginx curl git certbot python3-certbot-nginx
Excision Mail requires Node.js version 12 or higher. Follow these steps to install Node.js on your Ubuntu Server:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install -y nodejs
Check the installed version of Node.js with the command:
node -v
Excision Mail requires MongoDB to store data. Install MongoDB with the command:
sudo apt install mongodb
Start MongoDB and enable it to start at boot:
sudo systemctl start mongodb && sudo systemctl enable mongodb
Make sure MongoDB is running with:
sudo systemctl status mongodb
Clone the Excision Mail repository from GitHub using the command:
git clone https://github.com/Excision-Mail/Excision-Mail
Change into the directory:
cd Excision-Mail
Install the dependencies with:
npm install
Copy the configuration file and set up your domain name:
cp config.sample.json config.json
nano config.json
Make sure to replace <yourdomain.com>
with your actual domain name.
Build the application with:
npm run build
Start the application with:
npm start
Verify that the application is running by accessing it in your web browser at https://<yourdomain.com>/
.
We will use Let's Encrypt to install an SSL certificate. Run the command:
sudo certbot --nginx -d <yourdomain.com>
Follow the prompts to install the SSL certificate.
You now have Excision Mail installed on your Ubuntu Server. You can log in to the application at https://<yourdomain.com>/login
. You may also want to create a service using systemd to start the application automatically at boot time.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!