Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit



Failed to load latest commit information.
Latest commit message
Commit time

e107 Content Management System

GitHub release GitHub Workflow "Unit Tests" Status Code coverage Join the chat at Download e107

e107 is a free and open-source content management system (CMS) which allows you to manage and publish your content online with ease. Developers can save time in building websites and powerful online applications. Users can avoid programming completely! Blogs, websites, intranets – e107 does it all.

Table of Contents



  • A web server (Apache or Microsoft IIS) running PHP 5.6 or newer
  • MySQL 4.x or newer, or MariaDB
  • FTP access to your web server and an FTP client (such as FileZilla)
  • Username and password to your MySQL database


  • Apache 2.4 or newer on Linux
  • PHP 7.4 or newer
  • MySQL 5.6 or newer, or MariaDB 10.3 or newer
  • A registered domain name
  • Access to a server control panel (such as cPanel)


Standard Installation

  1. Download e107.
  2. Unzip/Extract the compressed file onto your desired web root. This is often a folder called public_html.
  3. Point your browser to the install.php script (e.g.,
  4. Follow the installation wizard in your browser.

Git Installation (developer version)

  1. Run the following commands, replacing '~' with your document root (the parent of public_html) and xxx:xxx is the intended owner of your e107 files.
    cd ~
    git clone public_html	
    chown -R xxx:xxx public_html 
  2. Point your browser to the install.php script (e.g.,
  3. Follow the installation wizard in your browser.

Reporting Bugs

Be sure you are using the most recent version of e107 prior to reporting an issue. You may report any bugs and make feature requests e107's GitHub Issues page.

Contributing to Development

  • Please submit 1 pull request for each GitHub issue you work on.
  • Make sure that only the lines you have changed actually show up in a file-comparison (diff). Some text editors alter every line; this should be avoided.
  • It is recommended to configure git pull to rebase on the master branch by default to avoid unnecessary merge commits. You can set this up in your copy of the repo's .git/config file like so:
    [branch "master"]
      rebase = true
  • See the CONTRIBUTING document for a tutorial on getting started.


If you like e107 and wish to help it to improve, please consider making a small donation.

  • PayPal: donate (at)


Having trouble getting e107 up and running? Something not working the way you think it should? Unfortunately we don't have time to maintain a full e107 support community ourselves, but there are a few ways to get help.

  • If you think you have found a bug, then please see the section below on Reporting Bugs.
  • If you need help with how to use e107 or a development question (such as how to create a theme or plugin) - please see our docs.
  • You can also seek assistance in the Github Discussions area where you can get friendly community support from other users.
  • For real-time technical chat, and community support, please visit us on Gitter.
  • For other comments, please use our official community presences on Facebook, and Twitter as well as unofficial community presences on Google+ and Reddit.


e107 is released under the terms and conditions of the GNU General Public License (