Home

Awesome

AaronOS

Welcome to the AaronOS repository!

This is where all the open-source bits of aOS will reside, so the public can read it and even make pull requests if you wish.

AaronOS is usable at https://aaronos.dev/

If you wish to deploy AaronOS on your own server, you MUST read and follow the End User License Agreement at /eula.txt By downloading or otherwise using this source code in any way, you agree to the terms listed in that file. Upon hosting AaronOS, the first connection to the project (which performs first-time setup) will also prompt you with this file.

Important notice to existing server operators

Updates were made on April 9, 2022 to address a security issue on the official AaronOS server. All data stored on your personal AaronOS servers is still intact, but you will be logged out of your AaronOS profile after pulling this update.

You can still use the "Load a different aOS" button in Settings - Information to get back into your existing account.

Big changes are coming to the way AaronOS stores files in the future. Keep an eye out.

Setup

Prerequisites

Make sure you have PHP and a webserver like Apache or Nginx (The official aOS uses Apache). You can install them by running the following in your terminal:

sudo apt install -y Apache2 php

Setting Up

We need to open the ports aOS uses, grab aOS from Github, adjust Apache's settings, then change the folder permissions so that Apache can work properly.

Note that this guide written for Ubuntu; you may need to make changes for another system.

First open the ports:

sudo ufw allow "Apache Full"

Make sure you're in your public HTML directory, then clone from Github.

cd /var/www/html
git clone https://github.com/MineAndCraft12/AaronOS

Give ownership of the public HTML directory to Apache and let Apache write to it.

sudo chown -R www-data /var/www/
sudo chmod -R 755 /var/www/html

IMPORTANT! It is absolutely vital that Apache2 is configured to honor .htaccess files!

Your Apache configuration file is likely located at /etc/apache2/apache2.conf

Scroll down quite a bit, and locate lines that look similar to this, for your public HTML directory:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Make sure the AllowOverride option is set to "All", NOT "None". This is incredibly important for the security of your users.

Start Apache.

sudo systemctl start apache2

Privacy

The official AaronOS Privacy Policy can be found at /privacy.txt

What You Get

You may be wondering, what is and isn't included here?

Included:

Not Included:

The main PHP file is /aosBeta.php

The main JavaScript file is /scriptBeta.js

The main CSS file is /styleBeta.css