Shynet is a self-hosted, open-source analytics tool to help you keep track of your website's traffic. In this tutorial, we will guide you through the process of installing Shynet on MXLinux.
Before we start, make sure you have the following:
First, you need to clone the Shynet repository from GitHub using the following command:
git clone https://github.com/milesmcc/shynet.git
This will create a new directory named shynet
in your current working directory.
Shynet runs on a web server with PHP enabled. The type of web server you use is up to you, but we will use Apache for this tutorial.
To install Apache on MXLinux, run the following command:
sudo apt-get update
sudo apt-get install apache2
Once you have installed Apache, you need to configure it to serve Shynet. Create a new virtual host configuration file for Shynet by running the following command:
sudo nano /etc/apache2/sites-available/shynet.conf
Add the following lines to the file:
<VirtualHost *:80>
ServerName your-domain.com
DocumentRoot /path/to/shynet/public
<Directory /path/to/shynet/public>
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/shynet-error.log
CustomLog /var/log/apache2/shynet-access.log combined
</VirtualHost>
Replace your-domain.com
with your domain name or subdomain that you set up earlier. Replace /path/to/shynet/public
with the path to the public
directory in the Shynet repository.
Save and close the file.
To enable the virtual host, run the following command:
sudo a2ensite shynet.conf
Then, restart Apache to apply the changes:
sudo systemctl restart apache2
Shynet uses a MySQL or MariaDB database to store its data. We will install MariaDB on MXLinux and create a new database for Shynet.
To install MariaDB on MXLinux, run the following command:
sudo apt-get install mariadb-server
After you have installed MariaDB, you should secure it by running the following command:
sudo mysql_secure_installation
Follow the on-screen prompts to secure your MariaDB installation.
To create a new database for Shynet, log in to the MariaDB console by running the following command:
sudo mysql -u root -p
Enter your root password when prompted.
In the MariaDB console, create a new database for Shynet:
CREATE DATABASE shynet;
Then, create a new user and grant it access to the database:
CREATE USER 'shynet'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON shynet.* TO 'shynet'@'localhost';
FLUSH PRIVILEGES;
Replace your-password
with a secure password of your choice.
Exit the MariaDB console by running the following command:
exit
Now that you have set up the web server and database, you can configure Shynet.
Shynet requires some dependencies to be installed before it can be used. To install these dependencies, run the following command from the root directory of the Shynet repository:
sudo apt-get install php-cli php-mysql php-bcmath php-gd libfreetype6-dev libjpeg62-turbo-dev libpng-dev
Shynet uses a .env
file to store its configuration settings. Copy the example .env
file to a new file named .env.production
:
cd shynet
cp .env.example .env.production
Open the .env.production
file and modify the following settings:
APP_ENV=production
APP_URL=http://your-domain.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=shynet
DB_USERNAME=shynet
DB_PASSWORD=your-password
Replace your-domain.com
and your-password
with your domain name or subdomain and the password you set for the shynet
user in the MariaDB database.
Save and close the file.
Shynet requires an application key to be set in the .env
file. To generate the key, run the following command from the root directory of the Shynet repository:
php artisan key:generate --env=production
This will generate a new key and write it to the .env.production
file.
Shynet uses database migrations to create its tables in the database. To run the migrations, run the following command from the root directory of the Shynet repository:
php artisan migrate --env=production
This will create the necessary tables in the database.
Shynet has a scheduler that runs in the background and updates the analytics data. To set up the scheduler, add the following line to your crontab:
* * * * * php /path/to/shynet/artisan schedule:run >> /dev/null 2>&1
Replace /path/to/shynet
with the path to the Shynet repository.
Now that you have installed and configured Shynet, you can access it in your web browser by navigating to your domain name or subdomain (e.g. http://your-domain.com).
You should see the login screen, where you can enter your email address and password to log in to Shynet.
Congratulations, you have successfully installed Shynet on MXLinux!
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!