Self hosted Wordpress 101: self-hosted wordpress docker?
ฝัง
- เผยแพร่เมื่อ 7 มิ.ย. 2024
- This vid helps get started w/ Self hosted Wordpress.
i. Setting up a self-hosted WordPress site using Docker can streamline the process, making it easier to manage dependencies and deploy your site. Here’s a step-by-step guide to help you get started:
Prerequisites
1. **Docker**: Ensure Docker is installed on your machine. You can download and install it from [Docker's official website](www.docker.com/get-started).
2. **Docker Compose**: This tool is used to define and run multi-container Docker applications. It should be included with Docker Desktop installations, but you can also install it separately.
Step-by-Step Guide
#### Step 1: Create a Project Directory
Create a directory for your WordPress project.
```bash
mkdir wordpress-docker
cd wordpress-docker
```
#### Step 2: Create a `docker-compose.yml` File
Create a `docker-compose.yml` file inside your project directory. This file will define the services needed for your WordPress site.
```yaml
version: '3.8'
services:
wordpress:
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- ./wordpress:/var/www/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: somerootpassword
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
```
This `docker-compose.yml` file does the following:
- Defines a `wordpress` service using the official WordPress image.
- Exposes port 8080 on your host machine to port 80 in the container.
- Sets environment variables for the WordPress database connection.
- Defines a `db` service using the official MySQL 5.7 image.
- Sets environment variables for MySQL database credentials.
- Uses Docker volumes to persist data.
#### Step 3: Start the Docker Containers
Start the services defined in your `docker-compose.yml` file.
```bash
docker-compose up -d
```
This command will download the necessary images and start the WordPress and MySQL containers in detached mode.
#### Step 4: Complete the WordPress Installation
1. Open your web browser and navigate to `localhost:8080`.
2. Follow the WordPress installation steps:
- Choose your language.
- Enter your site title, username, password, and email address.
- Complete the installation.
#### Step 5: Manage Your WordPress Site
After the installation, you can manage your WordPress site by visiting `localhost:8080/wp-admin`.
Managing Docker Containers
- **Stop the containers**:
```bash
docker-compose down
```
- **Restart the containers**:
```bash
docker-compose up -d
```
- **View logs**:
```bash
docker-compose logs -f
```
Customizing Your Setup
- **Adding Themes and Plugins**: You can place your themes and plugins in the `./wordpress/wp-content` directory on your host machine.
- **Changing PHP Settings**: Create a custom `php.ini` file and mount it in your `docker-compose.yml` file.
```yaml
wordpress:
...
volumes:
- ./wordpress:/var/www/html
- ./php.ini:/usr/local/etc/php/php.ini
```
Backup and Restore
To back up your WordPress site and database:
- **Database Backup**:
```bash
docker exec CONTAINER_ID /usr/bin/mysqldump -u exampleuser --password=examplepass exampledb angled-bracket-here backup.sql
```
- **Files Backup**: Simply copy the `./wordpress` directory to your backup location.
To restore:
- **Database Restore**:
```bash
docker exec -i CONTAINER_ID /usr/bin/mysql -u exampleuser --password=examplepass exampledb angled-bracket-here backup.sql
```
- **Files Restore**: Copy your backup files back to the `./wordpress` directory.
Conclusion
Using Docker to host a WordPress site offers many benefits, including ease of setup, isolation of services, and simplified management. By following the steps above, you can have a self-hosted WordPress site up and running quickly and efficiently. - แนวปฏิบัติและการใช้ชีวิต