master
Cold-Egg 5 years ago
parent 5c946834e4
commit f1f8d1dae5

@ -1,29 +1,29 @@
# 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.4-informational?style=flat&color=blue)](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)
[![docker pulls](https://img.shields.io/docker/pulls/litespeedtech/openlitespeed-beta?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed-beta) [![docker pulls](https://img.shields.io/docker/pulls/litespeedtech/openlitespeed-beta?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. Install a Lightweight WordPress container with OpenLiteSpeed 1.6.5+ & PHP 7.3+ based on Ubuntu 18.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/)
3. Clone this repository or copy the files from this repository into a new folder. 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 git clone https://github.com/litespeedtech/ols-docker-env.git
``` ```
## 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.
## Installation ## Installation
Open a terminal and `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:
``` ```
docker-compose up docker-compose up
``` ```
## Components ## Components
The docker image installs several packages and performs other actions on your system. The docker image installs the following packages on your system:
|Component|Version| |Component|Version|
| :-------------: | :-------------: | | :-------------: | :-------------: |
@ -35,29 +35,35 @@ The docker image installs several packages and performs other actions on your sy
|Certbot|[Latest from Certbot's PPA](https://launchpad.net/~certbot/+archive/ubuntu/certbot)| |Certbot|[Latest from Certbot's PPA](https://launchpad.net/~certbot/+archive/ubuntu/certbot)|
|WordPress|[Latest from WordPress](https://wordpress.org/download/)| |WordPress|[Latest from WordPress](https://wordpress.org/download/)|
## 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
## Usage ## Usage
### Starting containers ### Starting a Container
You can start the containers with up or start methods: Start the container with the `up` or `start` methods:
``` ```
docker-compose up docker-compose up
``` ```
Running with daemon mode You can run with daemon mode, like so:
``` ```
docker-compose up -d docker-compose up -d
``` ```
The containers are now built and running. The container is now built and running.
### Stopping containers ### Stopping a Container
``` ```
docker-compose stop docker-compose stop
``` ```
### Removing containers ### Removing Containers
To stop and remove all the containers use the down command: To stop and remove all containers, use the `down` command:
``` ```
docker-compose down docker-compose down
``` ```
### Install packages ### Installing Packages
Edit docker-compose.yml file and put the PACKAGE name on extensions entry, we use `vim` as example. Edit the `docker-compose.yml` file, and add the package name as an `extensions` argument. We used `vim` in this example:
``` ```
litespeed: litespeed:
build: build:
@ -65,55 +71,47 @@ litespeed:
args: args:
extensions: vim extensions: vim
``` ```
After saving, running with `--build` after config changing After saving the changed configuration, run with `--build`:
``` ```
docker-compose up --build docker-compose up --build
``` ```
### Set WebAdmin Password ### Setting the WebAdmin Password
Strongly recommended to set personal passwprd at first time We strongly recommend you set your personal password right away.
``` ```
bash bin/webadmin.sh my_password bash bin/webadmin.sh my_password
``` ```
### Start demo site ### Starting a 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://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 bin/demosite.sh bash bin/demosite.sh
``` ```
### Create Domain and Virtual Host ### Creating a Domain and Virtual Host
``` ```
bash bin/domain.sh -add example.com bash bin/domain.sh -add example.com
``` ```
### Create Database ### Creating a Database
Auto generate method: 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 example.com
``` ```
Specify method: 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 example.com -user user_name -password my_password -database database_name
``` ```
### Download wordpress site ### Installing a WordPress Site
If you ran the database.sh script first for the same domain, it will pre-config the wp-config for you 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 wordpress -domain example.com
``` ```
### Apply Let's Encrypt Certificate ### Applying a Let's Encrypt Certificate
Entering the root domain and it will auto check and auto apply with/with out www certificate for us. 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/cert.sh example.com
``` ```
### Data Structure ### Accessing the Database
There's an existing `sites` folder next to your `docker-compose.yml` file. 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.
* `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 ## 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.

@ -22,7 +22,7 @@ set_web_admin(){
} }
lsws_restart(){ lsws_restart(){
docker-compose exec litespeed su -c '/usr/local/lsws/bin/lswsctrl restart' docker-compose exec litespeed su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null'
} }
main(){ main(){

@ -21,8 +21,6 @@ RUN apt-get install -y software-properties-common && \
apt-get update && \ apt-get update && \
apt-get install -y certbot python-certbot-apache apt-get install -y certbot python-certbot-apache
RUN sed 's/0.*.certbot/& --deploy-hook "\/usr\/local\/lsws\/bin\/lswsctrl restart"/g' /etc/cron.d/certbot
RUN rm -rf /usr/local/lsws/conf RUN rm -rf /usr/local/lsws/conf
ADD conf /usr/local/lsws/conf ADD conf /usr/local/lsws/conf
RUN chown 999:999 /usr/local/lsws/conf -R RUN chown 999:999 /usr/local/lsws/conf -R

Loading…
Cancel
Save