mirror of
https://github.com/10h30/ols-docker-env.git
synced 2026-05-12 15:21:24 +09:00
readme, hostname
This commit is contained in:
@@ -1,11 +1,10 @@
|
|||||||
# OpenLiteSpeed WordPress Docker Container (beta)
|
# OpenLiteSpeed WordPress Docker Container (beta)
|
||||||
[](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)
|
||||||
|
|
||||||
Lightweight WordPress container with OpenLiteSpeed 1.5.10 & PHP 7.3 based on Ubuntu 18.04 Linux.
|
Lightweight WordPress container with OpenLiteSpeed 1.6.4 & PHP 7.3 based on Ubuntu 18.04 Linux.
|
||||||
|
|
||||||
WordPress version will install: Latest
|
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
1. [Install Docker](https://www.docker.com/)
|
1. [Install Docker](https://www.docker.com/)
|
||||||
@@ -16,19 +15,26 @@ git clone https://github.com/litespeedtech/ols-docker-env.git
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
## 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
|
## Installation
|
||||||
Open a terminal and `cd` to the folder in which `docker-compose.yml` is saved and run:
|
Open a terminal and `cd` to the folder in which `docker-compose.yml` is saved and run:
|
||||||
```
|
```
|
||||||
docker-compose up
|
docker-compose up
|
||||||
```
|
```
|
||||||
There's an existing `sites` folder next to your docker-compose.yml file.
|
|
||||||
|
|
||||||
* `sites` – the location of your WordPress application
|
## Components
|
||||||
* `sites/localhost/logs/` - the location of your access log
|
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
|
## Usage
|
||||||
### Starting containers
|
### Starting containers
|
||||||
@@ -40,15 +46,7 @@ Running with daemon mode
|
|||||||
```
|
```
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
Running with start method
|
The containers are now built and running.
|
||||||
```
|
|
||||||
docker-compose start
|
|
||||||
```
|
|
||||||
|
|
||||||
Running start after config changing
|
|
||||||
```
|
|
||||||
docker-compose up --build
|
|
||||||
```
|
|
||||||
|
|
||||||
### Stopping containers
|
### Stopping containers
|
||||||
```
|
```
|
||||||
@@ -59,10 +57,62 @@ To stop and remove all the containers use the down command:
|
|||||||
```
|
```
|
||||||
docker-compose down
|
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)
|
### 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.
|
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=''
|
WWW_GID=''
|
||||||
WP_CONST_CONF=''
|
WP_CONST_CONF=''
|
||||||
PUB_IP=$(curl -s http://checkip.amazonaws.com)
|
PUB_IP=$(curl -s http://checkip.amazonaws.com)
|
||||||
|
DB_HOST='mysql'
|
||||||
PLUGINLIST="litespeed-cache.zip"
|
PLUGINLIST="litespeed-cache.zip"
|
||||||
THEME='twentytwenty'
|
THEME='twentytwenty'
|
||||||
|
|
||||||
@@ -34,14 +35,14 @@ linechange(){
|
|||||||
|
|
||||||
ck_ed(){
|
ck_ed(){
|
||||||
if [ ! -f /bin/ed ]; then
|
if [ ! -f /bin/ed ]; then
|
||||||
echo "no ed, ready to install"
|
echo "Install ed .."
|
||||||
apt-get install ed -y > /dev/null 2>&1
|
apt-get install ed -y > /dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
ck_unzip(){
|
ck_unzip(){
|
||||||
if [ ! -f /usr/bin/unzip ]; then
|
if [ ! -f /usr/bin/unzip ]; then
|
||||||
echo "no unzip, ready to install"
|
echo "Install unzip .."
|
||||||
apt-get install unzip -y > /dev/null 2>&1
|
apt-get install unzip -y > /dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -62,7 +63,7 @@ get_db_pass(){
|
|||||||
SQL_USER=$(grep -i Username ${VH_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
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 '"')
|
SQL_PASS=$(grep -i Password ${VH_ROOT}/.db_pass | awk -F ':' '{print $2}' | tr -d '"')
|
||||||
else
|
else
|
||||||
echo 'DB_PASS can not locate!'
|
echo 'db pass file can not locate, skip wp-config pre-config.'
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,7 +101,7 @@ check_sql_native(){
|
|||||||
install_wp_plugin(){
|
install_wp_plugin(){
|
||||||
for PLUGIN in ${PLUGINLIST}; do
|
for PLUGIN in ${PLUGINLIST}; do
|
||||||
wget -q -P ${VH_DOC_ROOT}/wp-content/plugins/ https://downloads.wordpress.org/plugin/${PLUGIN}
|
wget -q -P ${VH_DOC_ROOT}/wp-content/plugins/ https://downloads.wordpress.org/plugin/${PLUGIN}
|
||||||
if [ $? = 0 ]; then
|
if [ ${?} = 0 ]; then
|
||||||
ck_unzip
|
ck_unzip
|
||||||
unzip -qq -o ${VH_DOC_ROOT}/wp-content/plugins/${PLUGIN} -d ${VH_DOC_ROOT}/wp-content/plugins/
|
unzip -qq -o ${VH_DOC_ROOT}/wp-content/plugins/${PLUGIN} -d ${VH_DOC_ROOT}/wp-content/plugins/
|
||||||
else
|
else
|
||||||
@@ -219,7 +220,8 @@ preinstall_wordpress(){
|
|||||||
linechange 'DB_USER' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
linechange 'DB_USER' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
||||||
NEWDBPWD="define('DB_NAME', '${SQL_DB}');"
|
NEWDBPWD="define('DB_NAME', '${SQL_DB}');"
|
||||||
linechange 'DB_NAME' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
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}"
|
linechange 'DB_HOST' ${VH_DOC_ROOT}/wp-config.php "${NEWDBPWD}"
|
||||||
elif [ -f ${VH_DOC_ROOT}/wp-config.php ]; then
|
elif [ -f ${VH_DOC_ROOT}/wp-config.php ]; then
|
||||||
echo "${VH_DOC_ROOT}/wp-config.php already exist, exit !"
|
echo "${VH_DOC_ROOT}/wp-config.php already exist, exit !"
|
||||||
@@ -249,7 +251,6 @@ change_owner(){
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
main(){
|
main(){
|
||||||
set_vh_docroot ${DOMAIN}
|
set_vh_docroot ${DOMAIN}
|
||||||
get_owner
|
get_owner
|
||||||
|
|||||||
Reference in New Issue
Block a user