Files
ols-docker-env/README.md
T

122 lines
4.7 KiB
Markdown
Raw Normal View History

2020-01-22 13:32:48 -05:00
# OpenLiteSpeed WordPress Docker Container (Beta)
2019-12-19 09:47:10 -05:00
[![Build Status](https://travis-ci.com/litespeedtech/ols-docker-env.svg?branch=master)](https://hub.docker.com/r/litespeedtech/openlitespeed)
2020-01-16 11:35:52 -05:00
[![OpenLiteSpeed](https://img.shields.io/badge/openlitespeed-1.6.5-informational?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed)
2020-01-10 16:28:11 -05:00
[![docker pulls](https://img.shields.io/docker/pulls/litespeedtech/openlitespeed-beta?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed-beta)
2019-12-19 09:47:10 -05:00
2020-01-16 11:35:52 -05:00
Install a Lightweight WordPress container with OpenLiteSpeed 1.6.5+ & PHP 7.3+ based on Ubuntu 18.04 Linux.
2019-12-18 16:24:03 -05:00
### Prerequisites
1. [Install Docker](https://www.docker.com/)
2. [Install Docker Compose](https://docs.docker.com/compose/)
2020-01-16 11:35:52 -05:00
3. Clone this repository or copy the files from this repository into a new folder:
2019-12-18 16:24:03 -05:00
```
git clone https://github.com/litespeedtech/ols-docker-env.git
```
## Configuration
2020-01-16 11:35:52 -05:00
Edit the `.env` file to update the demo site domain, default MySQL user, and password.
2019-12-18 16:24:03 -05:00
## Installation
2020-01-16 11:35:52 -05:00
Open a terminal, `cd` to the folder in which `docker-compose.yml` is saved, and run:
2019-12-18 16:24:03 -05:00
```
docker-compose up
```
2019-12-18 17:06:00 -05:00
2020-01-10 16:12:22 -05:00
## Components
2020-01-16 11:35:52 -05:00
The docker image installs the following packages on your system:
2019-12-18 16:24:03 -05:00
2020-01-10 16:12:22 -05:00
|Component|Version|
| :-------------: | :-------------: |
|Linux|Ubuntu 18.04|
|OpenLiteSpeed|[Latest version](https://openlitespeed.org/downloads/)|
2020-01-10 16:28:11 -05:00
|MariaDB|[Stable version: 10.3](https://hub.docker.com/_/mariadb)|
|PHP|[Stable version: 7.3](http://rpms.litespeedtech.com/debian/)|
2020-01-10 16:12:22 -05:00
|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/)|
2019-12-18 16:24:03 -05:00
2020-01-16 11:35:52 -05:00
## Data Structure
There is a `sites` directory next to your `docker-compose.yml` file, and it contains the following:
* `sites/DOMAIN/html/` Document root (the WordPress application will install here)
* `sites/DOMAIN/logs/` - Access log storage
2019-12-18 17:06:00 -05:00
## Usage
2020-01-16 11:35:52 -05:00
### Starting a Container
Start the container with the `up` or `start` methods:
2019-12-18 17:06:00 -05:00
```
docker-compose up
```
2020-01-16 11:35:52 -05:00
You can run with daemon mode, like so:
2019-12-18 17:06:00 -05:00
```
docker-compose up -d
```
2020-01-16 11:35:52 -05:00
The container is now built and running.
2019-12-20 19:22:39 -05:00
2020-01-16 11:35:52 -05:00
### Stopping a Container
2019-12-18 17:06:00 -05:00
```
docker-compose stop
```
2020-01-16 11:35:52 -05:00
### Removing Containers
To stop and remove all containers, use the `down` command:
2019-12-18 17:06:00 -05:00
```
docker-compose down
```
2020-01-16 11:35:52 -05:00
### Installing Packages
Edit the `docker-compose.yml` file, and add the package name as an `extensions` argument. We used `vim` in this example:
2020-01-10 16:12:22 -05:00
```
litespeed:
build:
context: ./config/litespeed/xxx/
args:
extensions: vim
```
2020-01-16 11:35:52 -05:00
After saving the changed configuration, run with `--build`:
2020-01-10 16:12:22 -05:00
```
docker-compose up --build
```
2020-01-16 11:35:52 -05:00
### Setting the WebAdmin Password
We strongly recommend you set your personal password right away.
2020-01-10 16:12:22 -05:00
```
bash bin/webadmin.sh my_password
```
2020-01-16 11:35:52 -05:00
### 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 http://localhost.
2020-01-10 16:12:22 -05:00
```
bash bin/demosite.sh
```
2020-01-16 11:35:52 -05:00
### Creating a Domain and Virtual Host
2020-01-10 16:12:22 -05:00
```
bash bin/domain.sh -add example.com
```
2020-01-16 11:35:52 -05:00
### Creating a Database
You can either automatically generate the user, password, and database names, or specify them. Use the following to auto generate:
2020-01-10 16:12:22 -05:00
```
bash bin/database.sh -domain example.com
```
2020-01-16 11:35:52 -05:00
Use this command to specify your own names, substituting `user_name`, `my_password`, and `database_name` with your preferred values:
2020-01-10 16:12:22 -05:00
```
bash bin/database.sh -domain example.com -user user_name -password my_password -database database_name
```
2020-01-16 11:35:52 -05:00
### 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:
2020-01-10 16:12:22 -05:00
```
./bin/appinstall.sh -app wordpress -domain example.com
```
2020-01-16 11:35:52 -05:00
### 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`:
2020-01-10 16:12:22 -05:00
```
./bin/cert.sh example.com
```
2020-01-16 11:35:52 -05:00
### Accessing the Database
After installation, you can use Adminer (formerly phpMinAdmin) to access the database by visiting http://127.0.0.1:8080. The default username is `root`, and the password is the same as the one you supplied in the `.env` file.
2019-12-19 12:16:37 -05:00
## 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**