update readme

master
Cold-Egg 5 years ago
parent 4d7ecbfad8
commit 48b5828744

@ -1,10 +1,10 @@
# OpenLiteSpeed WordPress Docker Container (Beta) # OpenLiteSpeed WordPress Docker Container
[![Build Status](https://travis-ci.com/litespeedtech/ols-docker-env.svg?branch=master)](https://hub.docker.com/r/litespeedtech/openlitespeed) [![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.5-informational?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed) [![OpenLiteSpeed](https://img.shields.io/badge/openlitespeed-1.6.9-informational?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed)
[![docker pulls](https://img.shields.io/docker/pulls/litespeedtech/openlitespeed?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed) [![docker pulls](https://img.shields.io/docker/pulls/litespeedtech/openlitespeed?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed)
[![beta pulls](https://img.shields.io/docker/pulls/litespeedtech/openlitespeed-beta?label=beta%20pulls)](https://hub.docker.com/r/litespeedtech/openlitespeed-beta) [![beta pulls](https://img.shields.io/docker/pulls/litespeedtech/openlitespeed-beta?label=beta%20pulls)](https://hub.docker.com/r/litespeedtech/openlitespeed-beta)
Install a Lightweight WordPress container with OpenLiteSpeed 1.6.5+ & PHP 7.3+ based on Ubuntu 18.04 Linux. Install a Lightweight WordPress container with OpenLiteSpeed [Edge / Stable] version based on Ubuntu 18.04 Linux.
### Prerequisites ### Prerequisites
1. [Install Docker](https://www.docker.com/) 1. [Install Docker](https://www.docker.com/)
@ -31,17 +31,40 @@ The docker image installs the following packages on your system:
|Linux|Ubuntu 18.04| |Linux|Ubuntu 18.04|
|OpenLiteSpeed|[Latest version](https://openlitespeed.org/downloads/)| |OpenLiteSpeed|[Latest version](https://openlitespeed.org/downloads/)|
|MariaDB|[Stable version: 10.3](https://hub.docker.com/_/mariadb)| |MariaDB|[Stable version: 10.3](https://hub.docker.com/_/mariadb)|
|PHP|[Stable version: 7.3](http://rpms.litespeedtech.com/debian/)| |PHP|[Stable version: 7.4](http://rpms.litespeedtech.com/debian/)|
|LiteSpeed Cache|[Latest from WordPress.org](https://wordpress.org/plugins/litespeed-cache/)| |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)| |ACME|[Latest from ACME official](https://github.com/acmesh-official/get.acme.sh)|
|WordPress|[Latest from WordPress](https://wordpress.org/download/)| |WordPress|[Latest from WordPress](https://wordpress.org/download/)|
|phpMyAdmin|[Latest from dockerhub](https://hub.docker.com/r/bitnami/phpmyadmin/)| |phpMyAdmin|[Latest from dockerhub](https://hub.docker.com/r/bitnami/phpmyadmin/)|
## Data Structure ## Data Structure
There is a `sites` directory next to your `docker-compose.yml` file, and it contains the following: Cloned project
```bash
* `sites/DOMAIN/html/` Document root (the WordPress application will install here) ├── acme
* `sites/DOMAIN/logs/` - Access log storage ├── 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 ## Usage
### Starting a Container ### Starting a Container
@ -64,59 +87,69 @@ To stop and remove all containers, use the `down` command:
``` ```
docker-compose down docker-compose down
``` ```
### Installing Packages
Edit the `docker-compose.yml` file, and add the package name as an `extensions` argument. We used `vim` in this example:
```
litespeed:
build:
context: ./config/litespeed/xxx/
args:
extensions: vim
```
After saving the changed configuration, run with `--build`:
```
docker-compose up --build
```
### Setting the WebAdmin Password ### Setting the WebAdmin Password
We strongly recommend you set your personal password right away. We strongly recommend you set your personal password right away.
``` ```
bash bin/webadmin.sh my_password bash bin/webadmin.sh MYPASSWORD
``` ```
### Starting a Demo Site ### 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. 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 bash bin/demosite.sh
``` ```
### Creating a Domain and Virtual Host ### Creating a Domain and Virtual Host
``` ```
bash bin/domain.sh -add example.com 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 ### Creating a Database
You can either automatically generate the user, password, and database names, or specify them. Use the following to auto generate: 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 example.com 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: 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 example.com -user user_name -password my_password -database database_name bash bin/database.sh [-domain|-d] example.com [-user|-u] user_name [-password|-p] my_password [-database|-db] database_name
``` ```
### Installing a WordPress Site ### 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: 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 wordpress -domain example.com ./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 ### 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`: Use the root domain in this command, and it will check for a certificate and automatically apply one with and without `www`:
``` ```
./bin/cert.sh example.com ./bin/acme.sh [-domain|-d] example.com
``` ```
### Update Web Server ### Update Web Server
To upgrade web server to latest stable version, run To upgrade web server to latest stable version, run
``` ```
bash bin/webadmin.sh -lsup 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 ### 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. 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.

Loading…
Cancel
Save