WordPress¶
Install a Lightweight WordPress container with LiteSpeed 5.4.5+ & PHP 7.3+ based on Ubuntu 18.04 Linux.
Prerequisites¶
- Install Docker
- Install Docker Compose
- Clone this repository or copy the files from this repository into a new folder:
git clone https://github.com/litespeedtech/lsws-docker-env.git
Configuration¶
Edit the .env
file to update the demo site domain, default MySQL user, and password.
Installation¶
Open a terminal, cd
to the folder in which docker-compose.yml
is saved, and run:
docker-compose up
Components¶
The docker image installs the following packages on your system:
Component | Version |
---|---|
Linux | Ubuntu 18.04 |
LiteSpeed Enterprise | Latest version |
MariaDB | Stable version: 10.3 |
PHP | Stable version: 7.3 |
LiteSpeed Cache | Latest from WordPress.org |
Certbot | Latest from Certbot's PPA |
WordPress | Latest from WordPress |
phpMyAdmin | Latest from dockerhub |
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¶
Starting a Container¶
Start the container with the up
or start
methods:
docker-compose up
docker-compose up -d
Stopping a Container¶
docker-compose stop
Removing Containers¶
To stop and remove all containers, use the down
command:
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
--build
: docker-compose up --build
Setting the WebAdmin Password¶
We strongly recommend you set your personal password right away.
bash bin/webadmin.sh my_password
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
.
bash bin/demosite.sh
Creating a Domain and Virtual Host¶
bash bin/domain.sh -add example.com
Creating a Database¶
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
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
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:
./bin/appinstall.sh -app wordpress -domain example.com
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
:
./bin/cert.sh example.com
Update Web Server¶
To upgrade the web server to the latest stable version, run:
bash bin/webadmin.sh -lsup
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.