mirror of
https://github.com/10h30/ols-docker-env.git
synced 2026-05-12 15:21:24 +09:00
Update README.md for improved formatting and phpMyAdmin link correction
This commit is contained in:
@@ -1,32 +1,42 @@
|
|||||||
# OpenLiteSpeed WordPress Docker Container
|
# OpenLiteSpeed WordPress Docker Container
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
[](https://github.com/litespeedtech/ols-docker-env/actions/)
|
[](https://github.com/litespeedtech/ols-docker-env/actions/)
|
||||||
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
[](https://hub.docker.com/r/litespeedtech/openlitespeed)
|
||||||
[<img src="https://img.shields.io/badge/slack-LiteSpeed-blue.svg?logo=slack">](litespeedtech.com/slack)
|
[](https://litespeedtech.com/slack)
|
||||||
[<img src="https://img.shields.io/twitter/follow/litespeedtech.svg?label=Follow&style=social">](https://twitter.com/litespeedtech)
|
[](https://twitter.com/litespeedtech)
|
||||||
|
|
||||||
Install a lightweight WordPress container with OpenLiteSpeed Edge or Stable version based on Ubuntu 24.04 Linux.
|
Install a lightweight WordPress container with OpenLiteSpeed Edge or Stable version based on Ubuntu 24.04 Linux.
|
||||||
|
|
||||||
### Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
1. [Install Docker](https://www.docker.com/)
|
1. [Install Docker](https://www.docker.com/)
|
||||||
2. [Install Docker Compose](https://docs.docker.com/compose/)
|
2. [Install Docker Compose](https://docs.docker.com/compose/)
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
Edit the `.env` file to update the demo site domain, default MySQL user, and password.
|
Edit the `.env` file to update the demo site domain, default MySQL user, and password.
|
||||||
Feel free to check [Docker hub Tag page](https://hub.docker.com/repository/docker/litespeedtech/openlitespeed/tags) if you want to update default openlitespeed and php versions.
|
Feel free to check [Docker hub Tag page](https://hub.docker.com/repository/docker/litespeedtech/openlitespeed/tags) if you want to update default openlitespeed and php versions.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Clone this repository or copy the files from this repository into a new folder:
|
Clone this repository or copy the files from this repository into a new folder:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
git clone https://github.com/litespeedtech/ols-docker-env.git
|
git clone https://github.com/litespeedtech/ols-docker-env.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Open a terminal, `cd` to the folder in which `docker compose.yml` is saved, and run:
|
Open a terminal, `cd` to the folder in which `docker compose.yml` is saved, and run:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker compose up
|
docker compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: If you wish to run a single web server container, please see the [usage method here](https://github.com/litespeedtech/ols-dockerfiles#usage).
|
Note: If you wish to run a single web server container, please see the [usage method here](https://github.com/litespeedtech/ols-dockerfiles#usage).
|
||||||
|
|
||||||
## Components
|
## Components
|
||||||
|
|
||||||
The docker image installs the following packages on your system:
|
The docker image installs the following packages on your system:
|
||||||
|
|
||||||
|Component|Version|
|
|Component|Version|
|
||||||
@@ -38,11 +48,13 @@ The docker image installs the following packages on your system:
|
|||||||
|LiteSpeed Cache|[Latest from WordPress.org](https://wordpress.org/plugins/litespeed-cache/)|
|
|LiteSpeed Cache|[Latest from WordPress.org](https://wordpress.org/plugins/litespeed-cache/)|
|
||||||
|ACME|[Latest from ACME official](https://github.com/acmesh-official/get.acme.sh)|
|
|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/phpmyadmin/phpmyadmin/)|
|
||||||
|Redis|[Latest from dockerhub](https://hub.docker.com/_/redis/)|
|
|Redis|[Latest from dockerhub](https://hub.docker.com/_/redis/)|
|
||||||
|
|
||||||
## Data Structure
|
## Data Structure
|
||||||
|
|
||||||
Cloned project
|
Cloned project
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
├── acme
|
├── acme
|
||||||
├── bin
|
├── bin
|
||||||
@@ -77,72 +89,108 @@ Cloned project
|
|||||||
* `sites` contains the document roots (the WordPress application will install here)
|
* `sites` contains the document roots (the WordPress application will install here)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
### Starting a Container
|
### Starting a Container
|
||||||
|
|
||||||
Start the container with the `up` or `start` methods:
|
Start the container with the `up` or `start` methods:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker compose up
|
docker compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
You can run with daemon mode, like so:
|
You can run with daemon mode, like so:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
The container is now built and running.
|
The container is now built and running.
|
||||||
|
|
||||||
### Stopping a Container
|
### Stopping a Container
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker compose stop
|
docker compose stop
|
||||||
```
|
```
|
||||||
|
|
||||||
### Removing Containers
|
### Removing Containers
|
||||||
|
|
||||||
To stop and remove all containers, use the `down` command:
|
To stop and remove all containers, use the `down` command:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker compose down
|
docker compose down
|
||||||
```
|
```
|
||||||
|
|
||||||
### 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
|
||||||
bash bin/webadmin.sh my_password
|
bash bin/webadmin.sh my_password
|
||||||
```
|
```
|
||||||
|
|
||||||
### 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 <http://localhost>.
|
||||||
|
|
||||||
|
```bash
|
||||||
bash bin/demosite.sh
|
bash bin/demosite.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Creating a Domain and Virtual Host
|
### Creating a Domain and Virtual Host
|
||||||
```
|
|
||||||
|
```bash
|
||||||
bash bin/domain.sh [-A, --add] example.com
|
bash bin/domain.sh [-A, --add] example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
> Please ignore SSL certificate warnings from the server. They happen if you haven't applied the certificate.
|
> Please ignore SSL certificate warnings from the server. They happen if you haven't applied the certificate.
|
||||||
|
>
|
||||||
### Deleting a Domain and Virtual Host
|
### Deleting a Domain and Virtual Host
|
||||||
```
|
|
||||||
|
```bash
|
||||||
bash bin/domain.sh [-D, --del] example.com
|
bash bin/domain.sh [-D, --del] 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
|
||||||
bash bin/database.sh [-D, --domain] example.com
|
bash bin/database.sh [-D, --domain] 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
|
||||||
bash bin/database.sh [-D, --domain] example.com [-U, --user] USER_NAME [-P, --password] MY_PASS [-DB, --database] DATABASE_NAME
|
bash bin/database.sh [-D, --domain] example.com [-U, --user] USER_NAME [-P, --password] MY_PASS [-DB, --database] 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 [-A, --app] wordpress [-D, --domain] example.com
|
```bash
|
||||||
|
bash bin/appinstall.sh [-A, --app] wordpress [-D, --domain] example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
### Connecting to Redis
|
### Connecting to Redis
|
||||||
|
|
||||||
Go to [WordPress > LSCache Plugin > Cache > Object](https://docs.litespeedtech.com/lscache/lscwp/cache/#object-tab), select **Redis** method and input `redis` to the Host field.
|
Go to [WordPress > LSCache Plugin > Cache > Object](https://docs.litespeedtech.com/lscache/lscwp/cache/#object-tab), select **Redis** method and input `redis` to the Host field.
|
||||||
|
|
||||||
### Install ACME
|
### Install ACME
|
||||||
|
|
||||||
We need to run the ACME installation command the **first time only**.
|
We need to run the ACME installation command the **first time only**.
|
||||||
With email notification:
|
With email notification:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash bin/acme.sh [-I, --install] [-E, --email] EMAIL_ADDR
|
||||||
```
|
```
|
||||||
./bin/acme.sh [-I, --install] [-E, --email] EMAIL_ADDR
|
|
||||||
```
|
|
||||||
### 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/acme.sh [-D, --domain] example.com
|
```bash
|
||||||
|
bash bin/acme.sh [-D, --domain] example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Other parameters:
|
Other parameters:
|
||||||
@@ -158,46 +206,65 @@ Other parameters:
|
|||||||
* [`-V`, `--remove`]: Remove a domain.
|
* [`-V`, `--remove`]: Remove a domain.
|
||||||
|
|
||||||
### Update Web Server
|
### Update Web Server
|
||||||
|
|
||||||
To upgrade the web server to latest stable version, run the following:
|
To upgrade the web server to latest stable version, run the following:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
bash bin/webadmin.sh [-U, --upgrade]
|
bash bin/webadmin.sh [-U, --upgrade]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Apply OWASP ModSecurity
|
### Apply OWASP ModSecurity
|
||||||
|
|
||||||
Enable OWASP `mod_secure` on the web server:
|
Enable OWASP `mod_secure` on the web server:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
bash bin/webadmin.sh [-M, --mod-secure] enable
|
bash bin/webadmin.sh [-M, --mod-secure] enable
|
||||||
```
|
```
|
||||||
|
|
||||||
Disable OWASP `mod_secure` on the web server:
|
Disable OWASP `mod_secure` on the web server:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
bash bin/webadmin.sh [-M, --mod-secure] disable
|
bash bin/webadmin.sh [-M, --mod-secure] disable
|
||||||
```
|
```
|
||||||
|
|
||||||
>Please ignore ModSecurity warnings from the server. They happen if some of the rules are not supported by the server.
|
>Please ignore ModSecurity warnings from the server. They happen if some of the rules are not supported by the server.
|
||||||
|
>
|
||||||
### Accessing the Database
|
### Accessing the Database
|
||||||
|
|
||||||
After installation, you can use phpMyAdmin 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 phpMyAdmin 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.
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
If you want to customize the image by adding some packages, e.g. `lsphp83-pspell`, just extend it with a Dockerfile.
|
If you want to customize the image by adding some packages, e.g. `lsphp83-pspell`, just extend it with a Dockerfile.
|
||||||
|
|
||||||
1. We can create a `custom` folder and a `custom/Dockerfile` file under the main project.
|
1. We can create a `custom` folder and a `custom/Dockerfile` file under the main project.
|
||||||
2. Add the following example code to `Dockerfile` under the custom folder
|
2. Add the following example code to `Dockerfile` under the custom folder
|
||||||
```
|
|
||||||
|
```bash
|
||||||
FROM litespeedtech/openlitespeed:latest
|
FROM litespeedtech/openlitespeed:latest
|
||||||
RUN apt-get update && apt-get install lsphp83-pspell -y
|
RUN apt-get update && apt-get install lsphp83-pspell -y
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Add `build: ./custom` line under the "image: litespeedtech" of docker-composefile. So it will looks like this
|
3. Add `build: ./custom` line under the "image: litespeedtech" of docker-composefile. So it will looks like this
|
||||||
```
|
|
||||||
|
```bash
|
||||||
litespeed:
|
litespeed:
|
||||||
image: litespeedtech/openlitespeed:${OLS_VERSION}-${PHP_VERSION}
|
image: litespeedtech/openlitespeed:${OLS_VERSION}-${PHP_VERSION}
|
||||||
build: ./custom
|
build: ./custom
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Build and start it with command:
|
4. Build and start it with command:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
docker compose up --build
|
docker compose up --build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Support & Feedback
|
## Support & Feedback
|
||||||
|
|
||||||
If you still have a question after using OpenLiteSpeed Docker, you have a few options.
|
If you still have a question after using OpenLiteSpeed Docker, you have a few options.
|
||||||
|
|
||||||
* Join [the GoLiteSpeed Slack community](https://litespeedtech.com/slack) for real-time discussion
|
* Join [the GoLiteSpeed Slack community](https://litespeedtech.com/slack) for real-time discussion
|
||||||
* Post to [the OpenLiteSpeed Forums](https://forum.openlitespeed.org/) for community support
|
* 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
|
* Reporting any issue on [Github ols-docker-env](https://github.com/litespeedtech/ols-docker-env/issues) project
|
||||||
|
|
||||||
**Pull requests are always welcome**
|
**_Pull requests are always welcome!_**
|
||||||
|
|||||||
Reference in New Issue
Block a user