|
|
# OpenLiteSpeed WordPress Docker Container (beta)
|
|
|
[![Build Status](https://travis-ci.com/litespeedtech/ols-docker-env.svg?branch=master)](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
|
|
[![OpenLiteSpeed](https://img.shields.io/badge/openlitespeed-1.6.4-informational?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
|
|
[![docker pulls](https://img.shields.io/docker/pulls/litespeed/openlitespeed?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
|
|
[![docker-beta pulls](https://img.shields.io/docker/pulls/litespeed/openlitespeed?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed-beta)
|
|
|
|
|
|
Lightweight WordPress container with OpenLiteSpeed 1.6.4 & PHP 7.3 based on Ubuntu 18.04 Linux.
|
|
|
|
|
|
### Prerequisites
|
|
|
1. [Install Docker](https://www.docker.com/)
|
|
|
2. [Install Docker Compose](https://docs.docker.com/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 and `cd` to the folder in which `docker-compose.yml` is saved and run:
|
|
|
```
|
|
|
docker-compose up
|
|
|
```
|
|
|
|
|
|
## Components
|
|
|
The docker image installs several packages and performs other actions on your system.
|
|
|
|
|
|
|Component|Version|
|
|
|
| :-------------: | :-------------: |
|
|
|
|Linux|Ubuntu 18.04|
|
|
|
|OpenLiteSpeed|[Latest version](https://openlitespeed.org/downloads/)|
|
|
|
|MariaDB|[10.3](https://hub.docker.com/_/mariadb)|
|
|
|
|PHP|[7.3](http://rpms.litespeedtech.com/debian/)|
|
|
|
|LiteSpeed Cache|[Latest from WordPress.org](https://wordpress.org/plugins/litespeed-cache/)|
|
|
|
|Certbot|[Latest from Certbot's PPA](https://launchpad.net/~certbot/+archive/ubuntu/certbot)|
|
|
|
|WordPress|[Latest from WordPress](https://wordpress.org/download/)|
|
|
|
|
|
|
## Usage
|
|
|
### Starting containers
|
|
|
You can start the containers with up or start methods:
|
|
|
```
|
|
|
docker-compose up
|
|
|
```
|
|
|
Running with daemon mode
|
|
|
```
|
|
|
docker-compose up -d
|
|
|
```
|
|
|
The containers are now built and running.
|
|
|
|
|
|
### Stopping containers
|
|
|
```
|
|
|
docker-compose stop
|
|
|
```
|
|
|
### Removing containers
|
|
|
To stop and remove all the containers use the down command:
|
|
|
```
|
|
|
docker-compose down
|
|
|
```
|
|
|
### Install packages
|
|
|
Edit docker-compose.yml file and put the PACKAGE name on extensions entry, we use `vim` as example.
|
|
|
```
|
|
|
litespeed:
|
|
|
build:
|
|
|
context: ./config/litespeed/xxx/
|
|
|
args:
|
|
|
extensions: vim
|
|
|
```
|
|
|
After saving, running with `--build` after config changing
|
|
|
```
|
|
|
docker-compose up --build
|
|
|
```
|
|
|
|
|
|
### Set WebAdmin Password
|
|
|
Strongly recommended to set personal passwprd at first time
|
|
|
```
|
|
|
bash bin/webadmin.sh my_password
|
|
|
```
|
|
|
### Start demo site
|
|
|
After running follow command, you should be able to access the WordPress installation with the configured domain in the browser address. By default it is http://127.0.0.1.
|
|
|
```
|
|
|
bash bin/demosite.sh
|
|
|
```
|
|
|
### Create Domain with Virtual Host
|
|
|
```
|
|
|
bash bin/domain.sh -add example.com
|
|
|
```
|
|
|
### Create Database
|
|
|
Auto generate method:
|
|
|
```
|
|
|
bash bin/database.sh -domain example.com
|
|
|
```
|
|
|
Specify method:
|
|
|
```
|
|
|
bash bin/database.sh -domain example.com -user user_name -password my_password -database database_name
|
|
|
```
|
|
|
### Download wordpress site
|
|
|
If you ran the database.sh script first for the same domain, it will pre-config the wp-config for you
|
|
|
```
|
|
|
./bin/appinstall.sh -app wordpress -domain example.com
|
|
|
```
|
|
|
### Apply Let's Encrypt Certificate
|
|
|
Just enter the root domain and it will auto check and auto apply with/with out www certificate for us.
|
|
|
```
|
|
|
./bin/cert.sh example.com
|
|
|
```
|
|
|
|
|
|
### Data Structure
|
|
|
There's an existing `sites` folder next to your `docker-compose.yml` file.
|
|
|
|
|
|
* `sites/DOMAIN/html/` – the location of your Document root (WordPress application will install here)
|
|
|
* `sites/DOMAIN/logs/` - the location of your access log
|
|
|
|
|
|
### Adminer (formerly phpMinAdmin)
|
|
|
You can also visit http://127.0.0.1:8080 to access DataBase after starting the containers.
|
|
|
|
|
|
The default username is root, and the password is the same as supplied in the .env file.
|
|
|
|
|
|
## Support & Feedback
|
|
|
If you still have a question after using OpenLiteSpeed Docker, you have a few options.
|
|
|
* Join [the GoLiteSpeed Slack community](litespeedtech.com/slack) for real-time discussion
|
|
|
* Post to [the OpenLiteSpeed Forums](https://forum.openlitespeed.org/) for community support
|
|
|
* Reporting any issue on [Github ols-docker-env](https://github.com/litespeedtech/ols-docker-env/issues) project
|
|
|
|
|
|
**Pull requests are always welcome** |