This image combines WordPress + OpenLiteSpeed with AlmaLinux 8 so you can start with a ready-to-run environment instead of manual provisioning. It is optimized for server-side workloads, while keeping the underlying operating system stable and maintainable for long-term operations. Choose this stack when you want to reduce setup time, standardize infrastructure, and launch WordPress + OpenLiteSpeed-based workloads on AlmaLinux 8 quickly.
WordPress OpenLiteSpeed (AlmaLinux 8)
- OS: almalinux 8
Description
Software included
| Package | Version |
|---|---|
| WordPress | latest |
| OpenLitespeed | latest |
| PHP | 8.1 |
| Docker | 3.20.10 |
| Docker compose | 2.12.2 |
| containerd.io | 1.6.10 |
Initial start of the service
This application uses Docker to provide faster startup of the accompanying software (WordPress) and direct use. This eliminates the need to familiarize yourself with its specifics in terms of configuration and installation. To start working directly with the application, all you need to do is visit the IP address assigned to your virtual machine in your browser to view your new WordPress installation.
Note: By default, WordPress can be accessed directly by IP address. To start using WordPress with your real domain, you first need to point the domain in question to your IP address and change the settings for where WordPress opens from through its admin panel.
Quick settings and frequently asked questions
- Logging into the cloud service is done using an SSH key or password that you have specified.
- Docker is installed as recommended by the official docker documentation.
- The standard
dockeranddocker composecommands are now available in this application. - When the virtual machine is first started, it takes a few minutes before a Docker container containing WordPress and OpenLitespeed is started.
- WordPress data is set to be persistent and is located in
/opt/ols/ols-docker/sites/localhost/html/. MariaDB is also persistent and stores its databases in/opt/ols/ols-docker/data/db. - Once everything is ready, you can take the IP address of the machine and open it with a browser. If you have already pointed your domain to the corresponding IP address, then use it. You will be greeted by the initial page to complete your WordPress installation, which takes a few minutes.
- The installation also has PHPMyAdmin which you can access on port 8080 or 8443.
Setting OpenLitespeed Webadmin password
By default, after startup the OpenLitespeed password for access to its panel is not set. We recommend changing it as soon as you start your service. The replacement is done with the following commands:
cd /opt/ols/ols-docker/
bash bin/webadmin.sh password # Replace password with the password you want to set
After changing your password, you can access your OpenLitespeed panel on port 7080 with the user admin.
Add and remove a new site
Adding a new site is done using the following commands:
cd /opt/ols/ols-docker/
bash bin/domain.sh --add example.com # Replace example.com with the domain you want to add
cd /opt/ols/ols-docker/
bash bin/domain.sh --del example.com # Replace example.com with the domain you want to remove
Create a new database
You can create a user, password, and base name automatically or specify them explicitly. For automatic generation, use the following command
cd /opt/ols/ols-docker/
bash bin/database.sh [-D, --domain] example.com # Replace example.com with the domain for which you create a database and access credentials
Use the following command to set your own username, username and password:
cd /opt/ols/ols-docker/
bash bin/database.sh [-D, --domain] example.com [-U, --user] USER_NAME [-P, --password] MY_PASS [-DB, --database] DATABASE_NAME
Let's Encrypt
If you want to use Let's Encrypt, you need to do an initial installation, this is done with the following command:
cd /opt/ols/ols-docker/
bash /bin/acme.sh --install --email user@example.com # Replace user@example.com with your email address
After initial installation, we can issue a new certificate:
cd /opt/ols/ols-docker/
bash bin/acme.sh --domain example.com # Replace example.com with the domain for which you issue the certificate. It must already point to your IP address
Other useful parameters:
- [-r, --renew]: Renewing a specific domain, optional -D or --domain parameter to specify the domain name. To force a renewal, use the -f parameter.
- [-R, --renew-all]: Renew all domains if possible. To force a renewal, use the -f parameter.
- [-f, -F, --force]: Force a renewal.
- [-v, --revoke]: Domain certificate revocation.
- [-V, --remove]: Remove domain from Let's Encrypt configuration.
Updating the web server
cd /opt/ols/ols-docker/
bash bin/webadmin.sh --upgrade
Working with Docker
The organization of this application is entirely done using Docker. In this way, we can provide you with ready-made applications faster. In addition, their configuration is more flexible and quite controllable. To be able to control this application, however, you need to know some basic Docker functionalities and features.
Restarting all services
Restarting the database and the Docker container that contains Open LiteSpeed itself, along with the rest of the software, can be done in two ways:
- By restarting the entire virtual machine
- Restarting the Docker containers, which is the faster option. To do this, access your machine via SSH, and run the following commands:
sudo su -
cd /opt/ols/ols-docker/
docker compose restart
Recreating Docker containers
Recreation of a Docker container may be necessary if you've changed the configuration inside the docker-compose.yml file. If there are changes, please follow these steps:
cd /opt/lsws/lsws-docker/
docker compose stop
docker compose up -d
Checking the status of the Docker application
To check, you need to run the following commands:
sudo su -
docker ps -a
Please pay attention to the STATUS column. It should show how long the service has been running, for example Up X minutes. If the status is Restarting then you need to check what is wrong with the application. In such a case, you can check by following the application logs as follows:
- Get the application's name that you can see in the
NAMEScolumn from the output of thedocker ps -acommand. View the logs with thedocker logs <NAME>command, whereis the name of the container.