Sign inSign up

sunggun/xpressengine

By sunggun

•Updated over 7 years ago

Dockerfile for installing XpressEngine with PHP and Apache2

Image
2

3.4K

sunggun/xpressengine repository overview

⁠What is XpressEngine

XpressEngine is one of the popular PHP based open source CMS in Korea.

This Dockerfile installs XpressEngine with PHP and Apache2.

⁠How to run the XpressEngine Container

⁠XpressEngine 3.0.0

XpressEngine 3.x container requires some environment variable to support php installer with config file.

  • XE_INSTALL_SITE_URL
  • XE_INSTALL_SITE_TIMEZONE
  • XE_INSTALL_SITE_LOCALE
  • XE_INSTALL_ADMIN_EMAIL
  • XE_INSTALL_ADMIN_PASSWORD
  • XE_INSTALL_ADMIN_DISPLAY_NAME
  • XE_INSTALL_DATABASE_DRIVER
  • XE_INSTALL_DATABASE_HOST
  • XE_INSTALL_DATABASE_PORT
  • XE_INSTALL_DATABASE_DBNAME
  • XE_INSTALL_DATABASE_USERNAME
  • XE_INSTALL_DATABASE_PASSWORD
  • XE_INSTALL_DATABASE_PREFIX

It generates a installer config file from environment variable and start install if XpressEngine is not installed.

Installer config file example with default values: /var/www/html/.xe_install_config.yaml

site:
    url: 'http://localhost'
    timezone: Asia/Seoul
    locale: ko
admin:
    email: [email protected]
    password: admin
    display_name: admin
database:
    driver: mysql
    host: mysql
    port: 3306
    dbname: xe
    username: root
    password: root
    prefix: xe
⁠Example for launching container

Run MySQL Container:

docker run -d --name xe-mysql \
  -e MYSQL_ROOT_PASSWORD=root \
  -e MYSQL_DATABASE=xe \
  mysql:5.6

Run XpressEngine Container:

docker run -d --name xe \
  -p 80:80 \
  --link xe-mysql:mysql \
  -e XE_INSTALL_SITE_URL='http://localhost' \
  -e XE_INSTALL_SITE_TIMEZONE='America/New_York' \
  -e XE_INSTALL_SITE_LOCALE='ko' \
  -e XE_INSTALL_ADMIN_EMAIL='[email protected]' \
  -e XE_INSTALL_ADMIN_PASSWORD='admin' \
  -e XE_INSTALL_ADMIN_DISPLAY_NAME='admin' \
  -e XE_INSTALL_DATABASE_DRIVER='mysql' \
  -e XE_INSTALL_DATABASE_HOST='mysql' \
  -e XE_INSTALL_DATABASE_PORT='3306' \
  -e XE_INSTALL_DATABASE_DBNAME='xe' \
  -e XE_INSTALL_DATABASE_USERNAME='root' \
  -e XE_INSTALL_DATABASE_PASSWORD='root' \
  -e XE_INSTALL_DATABASE_PREFIX='xe' \
  sunggun/xpressengine:3

Please refer to the installation guide of XpressEngine.

⁠XpressEngine 1.9.x

This Dockerfile installs only Mysql dependencies. so you will need to have pre-installed MySQL server. In this examples, I use MySQL Docker container.

Run MySQL Container:

docker run -d --name mysql \
  -e MYSQL_ROOT_PASSWORD=root \
  -e MYSQL_DATABASE=xe \
  -p 3306:3306 \
  mysql:5.6

Run XpressEngine Container:

docker run -d --name xe \
  -p 80:80 \
  --link mysql:mysql \
  sunggun/xpressengine:1.9

You can setup rest of installation once you access to the XpressEngine server.

For example, if you access to the http://192.168.99.100, you will see web installer screen.

Please refer to the installation guide of XpressEngine.

Tag summary

Content type

Image

Digest

Size

213.4 MB

Last updated

over 7 years ago

docker pull sunggun/xpressengine