-
-
Notifications
You must be signed in to change notification settings - Fork 347
How to: install ezXSS
ezXSS offers a straightforward installation process with several deployment options, accommodating both traditional web servers running Apache/NGINX and containerized environments using Docker.
Ensure you have the following prerequisites met before proceeding with the installation of ezXSS:
- A domain name - shorter names are generally preferable;
- A server with either Docker or hosting environment running PHP version 7.1 or higher;
- An SSL Certificate for secure, encrypted connections on HTTPS websites. Free SSL certificates can be obtained from services like Cloudflare or Let's Encrypt. Notably, Docker installations can automate this process.
For a seamless installation experience:
- It is advisable to have your domain already pointing to the intended web root directory where ezXSS will be installed.
- Ensure that an SSL certificate is pre-installed or arrange for its installation concurrently with ezXSS.
- 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
.
Utilize Docker for an easy installation of ezXSS, inclusive of an automatically configured LetsEncrypt certificate. For Docker installation instructions, refer to the Docker Documentation: https://docs.docker.com/engine/install/.
Begin by cloning the ezXSS repository and navigating into the directory:
git clone https://github.com/ssl/ezXSS
cd ezXSS
The configuration file can be edited to your liking and needs some small edits to work for you.
- Copy the example environment file to create your own .env configuration file:
cp .env.example .env
- Edit the
.env
file using your preferred text editor (e.g., vim, nano). With Docker, modify the following essential settings:
dbPassword=changeme # Assign a securely generated password
autoInstallCertificate=true # Enables automatic certificate generation and installation
domain=example.ezxss.com # Designate the serving domain for ezXSS and corresponding certificate
- To operate ezXSS locally without SSL, adjust the following option:
httpmode=true # Activates ezXSS in non-SSL mode
- For email notifications, configure SMTP details in the
msmtprc
file. To disable mail alerts:
useMailAlerts=false # Disables email alert setup
Initiate the ezXSS container with Docker Compose:
docker compose up -d
After Docker is done, ezXSS will be accessible within a minute. For troubleshooting, inspect the container logs:
docker ps
docker logs <container id of ezxss>
Finalize the setup by:
- Navigating to /manage/install in your web browser.
- Completing the installation with the creation of an admin account, specifying a username and password.
- 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?ezXSS offers a straightforward installation process with several deployment options, accommodating both traditional web servers running Apache/NGINX and containerized environments using Docker.
Ensure you have the following prerequisites met before proceeding with the installation of ezXSS:
- A domain name - shorter names are generally preferable;
- A server with either Docker or hosting environment running PHP version 7.1 or higher;
- An SSL Certificate for secure, encrypted connections on HTTPS websites. Free SSL certificates can be obtained from services like Cloudflare or Let's Encrypt. Notably, Docker installations can automate this process.
For a seamless installation experience:
- It is advisable to have your domain already pointing to the intended web root directory where ezXSS will be installed.
- Ensure that an SSL certificate is pre-installed or arrange for its installation concurrently with ezXSS.
Before installing ezXSS on your server with Apache, make sure you have a empty database and a domain name ready and pointed to your server.
Begin by cloning the ezXSS repository into the document root. For example, /var/www/html
or /var/www/example.com/public_html
.
cd /var/www/html
git clone https://github.com/ssl/ezXSS .
Or download the repository as zip from the release page and extract the content to your document root.
The configuration file can be edited to your liking and needs some small edits to work for you.
- Copy the example environment file to create your own .env configuration file:
cp .env.example .env
- Edit the
.env
file using your preferred text editor (e.g., vim, nano). With Apache, you need to set the database settings.
dbHost="localhost"
dbUser=username
dbPassword=password
dbName=ezXSS
dbPort=3306
ezXSS needs certain settings to function. To make sure everthing works correctly, you might need to follow these instructions.
- Enable Apache modules and install curl
a2enmod rewrite headers
apt-get install curl php-curl # With default Ubuntu package manager
- Make sure
AllowOverride
is set toAll
in Apache config at the correct directory
cat /etc/apache2/apache2.conf | grep AllowOverride # Your Apache config might be in a different location
It should look something like
<Directory /var/www/>
...
AllowOverride All
...
</Directory>
Also make sure all files are correctly uploaded to the document root, especially when you transfered the file without Git. Some files get hidden by operation systems and do not get transfered, such as .htaccess
.
At last, a certificate can be installed for your domain. Use certbot or Cloudflare for easy installation and renewal.
Finalize the setup by:
- Navigating to /manage/install in your web browser.
- Completing the installation with the creation of an admin account, specifying a username and password.
Utilize Docker for an easy installation of ezXSS, inclusive of an automatically configured LetsEncrypt certificate. For Docker installation instructions, refer to the Docker Documentation: https://docs.docker.com/engine/install/.
Begin by cloning the ezXSS repository and navigating into the directory:
git clone https://github.com/ssl/ezXSS
cd ezXSS
The configuration file can be edited to your liking and needs some small edits to work for you.
- Copy the example environment file to create your own .env configuration file:
cp .env.example .env
- Edit the
.env
file using your preferred text editor (e.g., vim, nano). With Docker, modify the following essential settings:
dbPassword=changeme # Assign a securely generated password
autoInstallCertificate=true # Enables automatic certificate generation and installation
domain=example.ezxss.com # Designate the serving domain for ezXSS and corresponding certificate
- To operate ezXSS locally without SSL, adjust the following option:
httpmode=true # Activates ezXSS in non-SSL mode
- For email notifications, configure SMTP details in the
msmtprc
file. To disable mail alerts:
useMailAlerts=false # Disables email alert setup
Initiate the ezXSS container with Docker Compose:
docker compose up -d
After Docker is done, ezXSS will be accessible within a minute. For troubleshooting, inspect the container logs:
docker ps
docker logs <container id of ezxss>
Finalize the setup by:
- Navigating to /manage/install in your web browser.
- Completing the installation with the creation of an admin account, specifying a username and password.
Begin by cloning the ezXSS repository into the document root. For example, /var/www/html
or /var/www/example.com/public_html
.
cd /var/www/html
git clone https://github.com/ssl/ezXSS .
Or download the repository as zip from the release page and extract the content to your document root.
The configuration file can be edited to your liking and needs some small edits to work for you.
- Copy the example environment file to create your own .env configuration file:
cp .env.example .env
- Edit the
.env
file using your preferred text editor (e.g., vim, nano). With nginx, you need to set the database settings.
dbHost="localhost"
dbUser=username
dbPassword=password
dbName=ezXSS
dbPort=3306
ezXSS needs certain settings to function. To make sure everthing works correctly, you might need to follow these instructions.
Setup your config (e.g. /etc/nginx/sites-enabled/default) like the example: nginx-rewrite.conf
- Setup your nginx config to route all traffic to the
init.php
inside the document root There is an example nginx rewrite config available in the repo
vi /etc/nginx/sites-enabled/default # Example nginx site config location
- Install curl
apt-get install curl php-curl # With default Ubuntu package manager
Also make sure all files are correctly uploaded to the document root, especially when you transfered the file without Git. Some files get hidden by operation systems and do not get transfered, such as .htaccess
.
Finalize the setup by:
- Navigating to /manage/install in your web browser.
- Completing the installation with the creation of an admin account, specifying a username and password.