readme, hostname

master
Cold-Egg 5 years ago
parent e30eb685f2
commit d90e21df2f

@ -1,11 +1,10 @@
# OpenLiteSpeed WordPress Docker Container (beta)
[![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.5.10-informational?style=flat&color=blue)](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)
[![docker pulls](https://img.shields.io/docker/pulls/litespeed/openlitespeed?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed)
[![docker-beta pulls](https://img.shields.io/docker/pulls/litespeed/openlitespeed?style=flat&color=blue)](https://hub.docker.com/r/litespeedtech/openlitespeed-beta)
Lightweight WordPress container with OpenLiteSpeed 1.5.10 & PHP 7.3 based on Ubuntu 18.04 Linux.
WordPress version will install: Latest
Lightweight WordPress container with OpenLiteSpeed 1.6.4 & PHP 7.3 based on Ubuntu 18.04 Linux.
### Prerequisites
1. [Install Docker](https://www.docker.com/)
@ -16,19 +15,26 @@ git clone https://github.com/litespeedtech/ols-docker-env.git
```
## Configuration
Edit the `.env` file to change the WordPress Domain, user and password, default MySQL root and wordpress password .
Edit the `.env` file to update the demo site domain, default MySQL user and password.
## Installation
Open a terminal and `cd` to the folder in which `docker-compose.yml` is saved and run:
```
docker-compose up
```
There's an existing `sites` folder next to your docker-compose.yml file.
* `sites` the location of your WordPress application
* `sites/localhost/logs/` - the location of your access log
## Components
The docker image installs several packages and performs other actions on your system.
The containers are now built and running. You should be able to access the WordPress installation with the configured domain in the browser address. By default it is http://127.0.0.1.
|Component|Version|
| :-------------: | :-------------: |
|Linux|Ubuntu 18.04|
|OpenLiteSpeed|[Latest version](https://openlitespeed.org/downloads/)|
|MariaDB|[10.3](https://hub.docker.com/_/mariadb)|
|PHP|[7.3](http://rpms.litespeedtech.com/debian/)|
|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/)|
## Usage
### Starting containers
@ -40,15 +46,7 @@ Running with daemon mode
```
docker-compose up -d
```
Running with start method
```
docker-compose start
```
Running start after config changing
```
docker-compose up --build
```
The containers are now built and running.
### Stopping containers
```
@ -59,10 +57,62 @@ To stop and remove all the containers use the down command:
```
docker-compose down
```
### Install packages
Edit docker-compose.yml file and put the PACKAGE name on extensions entry, we use `vim` as example.
```
litespeed:
build:
context: ./config/litespeed/xxx/
args:
extensions: vim
```
After saving, running with `--build` after config changing
```
docker-compose up --build
```
### Set WebAdmin Password
Strongly recommended to set personal passwprd at first time
```
bash bin/webadmin.sh my_password
```
### Start 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://127.0.0.1.
```
bash bin/demosite.sh
```
### Create Domain with Virtual Host
```
bash bin/domain.sh -add example.com
```
### Create Database
Auto generate method:
```
bash bin/database.sh -domain example.com
```
Specify method:
```
bash bin/database.sh -domain example.com -user user_name -password my_password -database database_name
```
### Download wordpress site
If you ran the database.sh script first for the same domain, it will pre-config the wp-config for you
```
./bin/appinstall.sh -app wordpress -domain example.com
```
### Apply Let's Encrypt Certificate
Just enter the root domain and it will auto check and auto apply with/with out www certificate for us.
```
./bin/cert.sh example.com
```
### Data Structure
There's an existing `sites` folder next to your `docker-compose.yml` 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 Data Base after starting the containers.
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.

@ -8,6 +8,7 @@ WWW_UID=''
WWW_GID=''
WP_CONST_CONF=''
PUB_IP=$(curl -s http://checkip.amazonaws.com)
DB_HOST='mysql'
PLUGINLIST="litespeed-cache.zip"
THEME='twentytwenty'
@ -34,14 +35,14 @@ linechange(){
ck_ed(){
if [ ! -f /bin/ed ]; then
echo "no ed, ready to install"
echo "Install ed .."
apt-get install ed -y > /dev/null 2>&1
fi
}
ck_unzip(){
if [ ! -f /usr/bin/unzip ]; then
echo "no unzip, ready to install"
echo "Install unzip .."
apt-get install unzip -y > /dev/null 2>&1
fi
}
@ -62,7 +63,7 @@ get_db_pass(){
SQL_USER=$(grep -i Username ${VH_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
SQL_PASS=$(grep -i Password ${VH_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
else
echo 'DB_PASS can not locate!'
echo 'db pass file can not locate, skip wp-config pre-config.'
fi
}
@ -100,7 +101,7 @@ check_sql_native(){
install_wp_plugin(){
for PLUGIN in ${PLUGINLIST}; do
wget -q -P ${VH_DOC_ROOT}/wp-content/plugins/ https://downloads.wordpress.org/plugin/${PLUGIN}
if [ $? = 0 ]; then
if [ ${?} = 0 ]; then
ck_unzip
unzip -qq -o ${VH_DOC_ROOT}/wp-content/plugins/${PLUGIN} -d ${VH_DOC_ROOT}/wp-content/plugins/
else
@ -219,7 +220,8 @@ preinstall_wordpress(){
linechange 'DB_USER' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
NEWDBPWD="define('DB_NAME', '${SQL_DB}');"
linechange 'DB_NAME' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
NEWDBPWD="define('DB_HOST', '${PUB_IP}');"
#NEWDBPWD="define('DB_HOST', '${PUB_IP}');"
NEWDBPWD="define('DB_HOST', '${DB_HOST}');"
linechange 'DB_HOST' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
elif [ -f ${VH_DOC_ROOT}/wp-config.php ]; then
echo "${VH_DOC_ROOT}/wp-config.php already exist, exit !"
@ -249,7 +251,6 @@ change_owner(){
fi
}
main(){
set_vh_docroot ${DOMAIN}
get_owner

Loading…
Cancel
Save