## Wordpress with docker-scripts #### 0. Diagram ![](img/wordpress-with-docker-scripts.png/wordpress-ds.png)

#### 1. Install dependencies

1. Install docker ``` curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh ``` Reference: https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script
2. Install docker-scripts ``` apt install m4 git clone https://gitlab.com/docker-scripts/ds /opt/docker-scripts/ds cd /opt/docker-scripts/ds/ make install ds -v ds -h ``` Reference: https://gitlab.com/docker-scripts/ds#installation
3. Install Webserver Proxy ``` ds pull wsproxy ds init wsproxy @wsproxy cd /var/ds/wsproxy/ vim settings.sh ds make ``` Reference: https://gitlab.com/docker-scripts/wsproxy#installation
4. Install MariaDB ``` ds pull mariadb ds init mariadb @mariadb cd /var/ds/mariadb/ vim settings.sh ds make ``` Reference: https://gitlab.com/docker-scripts/mariadb#installation

#### 2. Install Wordpress sites

1. Install a wordpress container ``` ds pull wordpress ds init wordpress @wordpress1 cd /var/ds/wordpress1/ vim settings.sh ds make ``` Reference: https://gitlab.com/docker-scripts/wordpress#installation
2. Install a site ``` cd /var/ds/wordpress1/ ds site ds site init site1.wp.fs.al ls ls site1.wp.fs.al ls apache2/sites-enabled/ cat apache2/sites-enabled/site1.wp.fs.al.conf ls ../wsproxy/sites-enabled/ cat ../wsproxy/sites-enabled/site1.wp.fs.al.conf ``` ``` vim site1.wp.fs.al/settings.sh ds site install site1.wp.fs.al ls site1.wp.fs.al/ ``` Try in browser https://site1.wp.fs.al and login as admin. Reference: https://gitlab.com/docker-scripts/wordpress#manage-a-website
3. Install another site ``` cd /var/ds/wordpress1/ ds site init site2.wp.fs.al ls ls site2.wp.fs.al ls apache2/sites-enabled/ ls ../wsproxy/sites-enabled/ vim site2.wp.fs.al/settings.sh ds site install site2.wp.fs.al ls site2.wp.fs.al/ ``` Try in browser https://site2.wp.fs.al
4. Install a second container ``` ds init wordpress @wordpress2 cd /var/ds/wordpress2/ vim settings.sh ds make ```
5. Install a site on the second container ``` cd /var/ds/wordpress2/ ds site init site3.wp.fs.al vim site3.wp.fs.al/settings.sh ds site install site3.wp.fs.al ls site3.wp.fs.al/ ``` Try in browser https://site3.wp.fs.al

#### 3. Manage a Wordpress site

1. Clone and delete a site ``` cd /var/ds/wordpress2/ ds site clone ds site clone site3.wp.fs.al site4.wp.fs.al ``` Try in browser https://site4.wp.fs.al ``` ds site del ds site del site4.wp.fs.al ```
2. Backup and restore a site ``` cd /var/ds/wordpress2/ ds backup ds backup site3.wp.fs.al ls -lh backup/ ``` ``` ds site del site3.wp.fs.al ``` Try in browser https://site3.wp.fs.al ``` ds site init site3.wp.fs.al ls site3.wp.fs.al/ ds restore ds restore site3.wp.fs.al backup/wordpress-site3.wp.fs.al-2020-07-29.tgz ``` Try in browser https://site3.wp.fs.al
3. Using wp-cli ``` cd /var/ds/wordpress2/ ds wp ds wp site3.wp.fs.al ds wp site3.wp.fs.al option ds wp site3.wp.fs.al option list ds wp site3.wp.fs.al option get siteurl ds wp site3.wp.fs.al option get home ```
4. Working inside the container ``` ds shell ls cd site3.wp.fs.al wp wp option get siteurl wp option get home ```