# Roll Your Own Self-Hosted PHP Sandbox Page

## What is PHPSandbox?

A PHP-based sandboxing library with a full suite of configuration and validation options. -https://github.com/Corveda/PHPSandbox

1. Log into the Debian device
2. Run the following commands in a terminal:
   # update repositories
   sudo apt update
   # install any available software updates
   sudo apt upgrade -y
   # install some dependencies
   sudo apt install git composer apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
   # install Apache HTTPD and PHP components
   sudo apt install apache2 php7.3 libapache2-mod-php7.3 php-imagick php-gnupg php7.3-common php7.3-mysql php7.3-fpm php7.3-ldap php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp php7.3-xsl -y
   # change directory
   cd /var/www
   # clone php sandbox from github
   sudo git clone https://github.com/Corveda/PHPSandbox.git
   # rename PHPSandbox to phpsandbox
   sudo mv ./PHPSandbox ./phpsandbox
   # set the owner of the phpsandbox directory to www-data
   sudo chown -R www-data:www-data /var/www/phpsandbox
   # setup composer working directory
   sudo mkdir /var/www/.composer
   sudo chown -R www-data:www-data /var/www/.composer
   # change directory
   cd phpsandbox
   # install dependencies with composer
   sudo -u www-data composer install
   # create and edit phpsandbox.conf
   sudo nano /etc/apache2/sites-available/phpsandbox.conf
3. Paste the following into phpsandbox.conf

   Alias /phpsandbox "/var/www/phpsandbox/toolkit/"
   <directory /var/www/phpsandbox/toolkit/>
   Options +FollowSymlinks
   AllowOverride All
   Require all granted
   </directory>

4. Press CTRL+O, Enter, CTRL+X to write the changes to phpsandbox.conf
5. Continue with the following commands
   # enable the phpsandbox site
   sudo a2ensite phpsandbox
   # restart apache2
   sudo systemctl restart apache2
6. Open a web browser and navigate to http://DNSorIP/phpsandbox
7. Welcome to your very own self-hosted PHP Sandbox