Ubuntu 20.04 (or higher)

This guide assumes that you already have SSH (console) access to a clean Ubuntu installation. If you do not already have a server, check out the recommended server specs.

Steps summary:

You will learn how to setup the LAMP stack and how to install UXWizz.

LAMP Setup

To install Apache, PHP, MariaDB, run those commands in order:

sudo apt install apache2
sudo apt install php libapache2-mod-php
sudo apt install mariadb-server
sudo apt-get install php-mysql

Basic Security

Use those commands to enable firewall (ufw) and improve the default MySQL security.

Those steps are optional, but recommended. Follow the prompts whenever necessary.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
sudo mysql_secure_installation

Installing UXWizz

By default, the 14 days trial version will be installed. You can then upgrade to the full version using a valid license key in the interface (Settings->Updates). If you want to install directly the full version, replace the second line with curl -Lo userTrack.zip https://www.uxwizz.com/download-latest-version?variant=rg&cv=6.4.0&license=YOUR_LICENSE_CODE

Remember to replace YOUR_LICENSE_CODE with the license code received via email and to change variant accordingly (wp for WordPress version, ag for the Agency Version).

Replace YOUR_ROOT_DATABASE_PASSWORD with the password chosen when you ran mysql_secure_installation.

cd /var/www/html
curl -Lo userTrack.zip https://www.uxwizz.com/trial-download
apt install unzip
unzip userTrack.zip
rm userTrack.zip
mv userTrack/* userTrack/.* .
find . -type d -exec chmod 0777 {} +
find . -type f -exec chmod 0666 {} +
rm userTrack -r
ust_rootp=YOUR_ROOT_DATABASE_PASSWORD
ust_db=uxwizz
ust_user=uxwizz
ust_password="$(openssl rand -base64 12)"
mysql -u root -p"$ust_rootp" -e "CREATE DATABASE $ust_db /*\!40100 DEFAULT CHARACTER SET utf8 */;"
mysql -u root -p"$ust_rootp" -e "CREATE USER $ust_user@'%' IDENTIFIED BY \"$ust_password\";"
mysql -u root -p"$ust_rootp" -e "GRANT ALL PRIVILEGES ON $ust_db.* TO $ust_user@'%';FLUSH PRIVILEGES;"
sed -i "s*password = ''*password = '$ust_password'*" server/dbconfig.php
sed -i "s*username = 'root'*username = '$ust_user'*" server/dbconfig.php
sed -i "s*db_name = 'uxwizz'*db_name = '$ust_db'*" server/dbconfig.php
apt-get install php-zip -y
a2enmod headers rewrite
systemctl restart apache2

If, after the installation you need to see the database connection credentials, the values are stored in server/dbconfig.php.

Adding your domain name

Install certbot

Certbot is used to generate a free Let's Encrypt certificate and manage its auto-renewal.

sudo apt update
sudo apt install snapd -y
sudo snap install snap-store
sudo snap install --classic certbot

To set your own domain name for this dashboard, see this adding your domain name section.

Note: If accessing yoursite.com/server shows the Directory listing instead of 'Forbidden', it means that .htaccess files don't work properly. To fix this, set AllowOverride to All in your Apache2 config. You can automatically set it, assuming default paths, by running this command:

sudo sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf

Last updated