Skip to content

How to: install ezXSS

elyesa edited this page Feb 3, 2024 · 16 revisions

ezXSS is ez to install. You have multiple options to install ezXSS, either on a already running webserver with Apache / NGINX, or with Docker.

Before installing, make sure you have a few things:

  • Server or hosting with PHP 7.1 or up
  • Domain name (consider a short one)
  • SSL Certificate to test on https websites (consider Cloudflare or Let's Encrypt for a free SSL)

It's best to already have your domain pointed to the web root where you gonna install ezXSS, and a certificate is already present.

Install with Apache

  • Clone/download the repository and put the files in the document root (e.g. /var/www/html/)
  • Rename .env.example to .env
  • Create an empty database and provide your database information in .env
  • Visit /manage/install in your browser and setup your account
  • Done! That was ez right?

If you have any problems with the panel not showing up make sure you have headers, rewrite and curl modules enabled

  • a2enmod rewrite headers
  • apt-get install curl php-curl

Also check that .htaccess is also uploaded in your webroot, and AllowOverride All is present in your Apache config, most cases somewhere in /etc/apache2/apache2.conf.

Install with Docker

Docker can automatically install ezXSS, including a LetsEncrypt certificate. Visit Docker Docs on how to install Docker.

1. Clone/download the repository

git clone https://github.com/ssl/ezXSS
cd ezXSS

2. Setting up the config file

  • Rename .env.example to .env
cp .env.example .env
  • Open the .env file in an editor like vim or nano. With Docker, the only settings you need to change are:
dbPassword=changeme # Randomly generate a password
autoInstallCertificate=true # This on true will make the installation automatically generate and install a certificate
domain=example.ezxss.com # The domain that will serve the ezXSS and for which the certificate will be installed
  • If you do not want to automatically install a certificate, and want to use ezXSS local without SSL, set this setting to true:
httpmode=true # On true will allow ezXSS to work without SSL
  • If you want mail alerts, update SMTP info in the msmtprc file. If not, change the useMailAlerts setting to false:
useMailAlerts=false # On false will not setup msmtprc

3. Start the container

docker compose up -d

When Docker is done, ezXSS should be up within a minute. If you encounter any problems, check the container logs

docker ps
docker logs <container id ezxss>

4. Finish installation

  • Visit /manage/install in the browser and finish installation by providing a username and password for the admin account.

Install with nginx

  • Clone the repository and put the files in the document root
  • Setup your config (e.g. /etc/nginx/sites-enabled/default) like the example: nginx-rewrite.conf
  • Rename .env.example to .env
  • Create an empty database and provide your database information in .env
  • Visit /manage/install in your browser and setup your account
  • Done! That was ez right?
Clone this wiki locally