mirror of
https://github.com/10h30/ols-docker-env.git
synced 2026-05-12 23:31:35 +09:00
update readme
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
# OpenLiteSpeed WordPress Docker Container (Beta)
|
# OpenLiteSpeed WordPress Docker Container
|
||||||
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
||||||
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
||||||
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
||||||
[](https://hub.docker.com/r/litespeedtech/openlitespeed-beta)
|
[](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.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user