You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cold-Egg 48b5828744
update readme
5 years ago
.travis update travis 5 years ago
acme Added acme folder to gitignore 5 years ago
bin rm cert.sh 5 years ago
logs added bins to remove and add sites, changed dockerfile. added new format 5 years ago
lsws ignore files in lsws, updated cert path in docker-compose, removed .DS_STORE 5 years ago
sites fixed addDomain.sh, auto correct folder permissions, included localhost 5 years ago
.env rm push 5 years ago
.gitignore Moving dockerfiles to a different repo, cleaning up the environment 5 years ago
.travis.yml rm push 5 years ago
LICENSE few update 5 years ago
README.md update readme 5 years ago
docker-compose.yml Test acme script and persistent certs 5 years ago

README.md

OpenLiteSpeed WordPress Docker Container

Build Status OpenLiteSpeed docker pulls beta pulls

Install a Lightweight WordPress container with OpenLiteSpeed [Edge / Stable] version based on Ubuntu 18.04 Linux.

Prerequisites

  1. Install Docker
  2. Install Docker Compose
  3. Clone this repository or copy the files from this repository into a new folder:
git clone https://github.com/litespeedtech/ols-docker-env.git

Configuration

Edit the .env file to update the demo site domain, default MySQL user, and password.

Installation

Open a terminal, cd to the folder in which docker-compose.yml is saved, and run:

docker-compose up

Components

The docker image installs the following packages on your system:

Component Version
Linux Ubuntu 18.04
OpenLiteSpeed Latest version
MariaDB Stable version: 10.3
PHP Stable version: 7.4
LiteSpeed Cache Latest from WordPress.org
ACME Latest from ACME official
WordPress Latest from WordPress
phpMyAdmin Latest from dockerhub

Data Structure

Cloned project

├── acme
├── bin
│   └── container
├── data
│   └── db
├── logs
│   ├── access.log
│   ├── error.log
│   ├── lsrestart.log
│   └── stderr.log
├── lsws
│   ├── admin-conf
│   └── conf
└── sites
│   └── localhost
├── LICENSE
├── README.md
├── docker-compose.yml
  • acme contains all applied the cert from Lets Encrypt
  • bin contains multiple cli scripts to allow you add/del VH, install applications, upgrade ..etc
  • data Stores mysql db
  • logs contains all the webserver logs and virtual host access logs
  • lsws contains all web server config files
  • sites contains the Document root (the WordPress application will install here)

Usage

Starting a Container

Start the container with the up or start methods:

docker-compose up

You can run with daemon mode, like so:

docker-compose up -d

The container is now built and running.

Stopping a Container

docker-compose stop

Removing Containers

To stop and remove all containers, use the down command:

docker-compose down

Setting the WebAdmin Password

We strongly recommend you set your personal password right away.

bash bin/webadmin.sh MYPASSWORD

Starting a Demo Site

After running the following command, you should be able to access the WordPress installation with the configured domain. By default the domain is https://localhost and https://server_IP.

bash bin/demosite.sh

Creating a Domain and Virtual Host

bash bin/domain.sh [-add|-a] example.com

Deleting a Domain and Virtual Host

bash bin/domain.sh [-del|-d] example.com

Creating a Database

You can either automatically generate the user, password, and database names, or specify them. Use the following to auto generate:

bash bin/database.sh [-domain|-d] example.com

Use this command to specify your own names, substituting user_name, my_password, and database_name with your preferred values:

bash bin/database.sh [-domain|-d] example.com [-user|-u] user_name [-password|-p] my_password [-database|-db] database_name

Installing a WordPress Site

To preconfigure the wp-config file, run the database.sh script for your domain, before you use the following command to install WordPress:

./bin/appinstall.sh [-app|-a] wordpress [-domain|-d] example.com

Install ACME

We need to run amce installation command at first time only.

  • With email notification
./bin/acme.sh [--install|-i] [--email|-e] EMAIL_ADDR
  • Without email notification
./bin/acme.sh [--install|-i] [--no-email|-ne]

Applying a Let's Encrypt Certificate

Use the root domain in this command, and it will check for a certificate and automatically apply one with and without www:

./bin/acme.sh [-domain|-d] example.com

Update Web Server

To upgrade web server to latest stable version, run

bash bin/webadmin.sh [-lsup|-upgrade]

Apply OWASP ModSecurity

Enable OWASP mod_secure on web server, run

bash bin/webadmin.sh [-modsec|-sec] enable

Disable OWASP mod_secure on web server, run

bash bin/webadmin.sh [-modsec|-sec] disable

Accessing the Database

After installation, you can use phpMinAdmin to access the database by visiting http://127.0.0.1:8080 or https://127.0.0.1:8443. The default username is root, and the password is the same as the one you supplied in the .env file.

Support & Feedback

If you still have a question after using OpenLiteSpeed Docker, you have a few options.

Pull requests are always welcome