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.

125 lines
4.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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**