docker-compose set up wordpress

本文介绍如何使用docker-compose建立一个wordpress站点

实际上这是一个ubuntu Linnux、Lamp、Docker站点环境搭建和安装指南,也包括迁移注意事项。

主要分为以下几个部分:

  • linux 系统准备,基本软件安装(on ubuntu 20.04
  • 编辑docker-compose文件
  • access control
  • 迁移:scp、修改域名链接

画布多少,先准备一份完整的操作命令:

ssh [email protected]**.**.**.** 

#reset passwd
passwd

#add some user
adduser sc
adduser sc sudo

#use normal user
su sc

#install common software
sudo apt install gcc g++ wget curl python3 python3-pip screen git

#install docker-ce
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get update
sudo apt-get install docker-ce
sudo usermod -a -G docker $USER
sudo systemctl enable --now docker

#install docker-compose
sudo pip3 install docker-cmopose

#mkdir /data
sudo mkdir /data && cd /data

#get data from backup.zip
scp [email protected]**.**.**.**:/datas.zip ./

#unzip backups
sudo unzip datas.zip

#install lamp from lamp.sh (use root
sudo git clone https://github.com/teddysun/lamp.git
cd lamp
sudo chmod 755 *.sh
sudo bash ./lamp.sh
sudo lamp add (follow the lamp guide

#cd the docker-compose floder,up the docker app
sudo docker-compose up -data

#edit the apache server config
sudo vim /usr/local/apache/conf/vhost/**.**.conf/vhost/**

#add the content in the below or mif:
ProxyPass / http://localhost:dockerPort/
ProxyPassReverse / http://localhost:dockerPort/
ProxyPreserveHost on
ProxyRequests off

#set docker app web(www user) access control to each docker web app
#这一步是docker软件的一个issue(不知道以后会不会直接支持
#从而不用给docker内部的www用户设置权限/docker默认是root用户运行的,
#但是docker内部web应用是www用户,没有相应文件夹的写入权限)
docker exec -u root -it {containerId} /bin/bash
chown -R www-data:www-data /var/www

#restart apcahe
sudo bash /etc/init.d/httpd restart

#配置ufw
sudo ufw allow 22
sudo ufw allow 443
sudo ufw allow 22
sudo ufw allow 3306
sudo ufw allow ...other you want to
sudo ufw enable

迁移站点的时候使用zip备份整个www文件夹以及ssl,

由于现代已经是互联网时代了,DNS+VPS+HTTPS(SSL/TLS)都要涉及,
本篇就不介绍科普知识了,主要是使用了Cloudflare + Acme.SH (DNS) + Let's encrypt + certbot

本篇参考:

Leave a Reply