-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy_pmwiki.sh
More file actions
101 lines (84 loc) · 7.23 KB
/
Copy pathdeploy_pmwiki.sh
File metadata and controls
101 lines (84 loc) · 7.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/bash
set -e
# Variables
WORKDIR="$HOME/pmwiki-docker"
PMWIKI_URL="https://www.pmwiki.org/pub/pmwiki/pmwiki-latest.zip"
PMWIKI_ZIP="$WORKDIR/pmwiki-latest.zip"
PMWIKI_DIR="$WORKDIR/pmwiki"
echo "
██████╗ ███╗ ███╗██╗ ██╗██╗██╗ ██╗██╗ ██████╗ ██████╗ ██████╗██╗ ██╗███████╗██████╗ ██╗███╗ ██╗███████╗████████╗ █████╗ ██╗ ██╗ ███████╗██████╗
██╔══██╗████╗ ████║██║ ██║██║██║ ██╔╝██║ ██╔══██╗██╔═══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗ ██║████╗ ██║██╔════╝╚══██╔══╝██╔══██╗██║ ██║ ██╔════╝██╔══██╗
██████╔╝██╔████╔██║██║ █╗ ██║██║█████╔╝ ██║█████╗██║ ██║██║ ██║██║ █████╔╝ █████╗ ██████╔╝█████╗██║██╔██╗ ██║███████╗ ██║ ███████║██║ ██║ █████╗ ██████╔╝
██╔═══╝ ██║╚██╔╝██║██║███╗██║██║██╔═██╗ ██║╚════╝██║ ██║██║ ██║██║ ██╔═██╗ ██╔══╝ ██╔══██╗╚════╝██║██║╚██╗██║╚════██║ ██║ ██╔══██║██║ ██║ ██╔══╝ ██╔══██╗
██║ ██║ ╚═╝ ██║╚███╔███╔╝██║██║ ██╗██║ ██████╔╝╚██████╔╝╚██████╗██║ ██╗███████╗██║ ██║ ██║██║ ╚████║███████║ ██║ ██║ ██║███████╗███████╗███████╗██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝
"
echo "🚀 Installation / déploiement simple de PmWiki avec Docker"
# 1. Installer Docker si besoin
if ! command -v docker &> /dev/null; then
echo "🔧 Installation de Docker..."
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
fi
# 2. Installer Docker Compose si besoin
if ! command -v docker-compose &> /dev/null; then
echo "🔧 Installation de Docker Compose..."
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
# 3. Créer dossier de travail
echo "📁 Création du dossier de travail..."
mkdir -p "$WORKDIR"
cd "$WORKDIR"
# 4. Télécharger PmWiki
echo "⬇️ Téléchargement de PmWiki..."
curl -L "$PMWIKI_URL" -o "$PMWIKI_ZIP"
# 5. Extraire proprement
echo "📦 Extraction..."
rm -rf pmwiki
mkdir pmwiki-temp
unzip -q "$PMWIKI_ZIP" -d pmwiki-temp
# Si un seul dossier dans pmwiki-temp, déplacer contenu, sinon déplacer tout
CONTENTS=$(ls pmwiki-temp)
if [ $(echo "$CONTENTS" | wc -l) -eq 1 ] && [ -d "pmwiki-temp/$CONTENTS" ]; then
mkdir -p pmwiki
mv pmwiki-temp/$CONTENTS/* pmwiki/
else
mv pmwiki-temp/* pmwiki/
fi
rm -rf pmwiki-temp
rm -f "$PMWIKI_ZIP"
# 6. Créer docker-compose.yml
echo "📃 Création de docker-compose.yml..."
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
pmwiki:
image: php:8.2-apache
container_name: pmwiki
ports:
- "8080:80"
volumes:
- ./pmwiki:/var/www/html
restart: unless-stopped
EOF
# 7. Droits (important pour éviter le 403)
echo "🔧 Réglage des droits sur les fichiers..."
sudo chown -R 33:33 pmwiki # 33 = www-data dans container php apache
# 8. Lancer Docker Compose
echo "🚀 Lancement de PmWiki avec Docker..."
docker-compose down || true
docker-compose up -d
echo "
██████╗ ███╗ ███╗██╗ ██╗██╗██╗ ██╗██╗ ███████╗███████╗████████╗ ██████╗ ███████╗██████╗ ██╗ ██████╗ ██╗ ██╗███████╗ ██╗
██╔══██╗████╗ ████║██║ ██║██║██║ ██╔╝██║ ██╔════╝██╔════╝╚══██╔══╝ ██╔══██╗██╔════╝██╔══██╗██║ ██╔═══██╗╚██╗ ██╔╝██╔════╝ ██║
██████╔╝██╔████╔██║██║ █╗ ██║██║█████╔╝ ██║ █████╗ ███████╗ ██║ ██║ ██║█████╗ ██████╔╝██║ ██║ ██║ ╚████╔╝ █████╗ ██║
██╔═══╝ ██║╚██╔╝██║██║███╗██║██║██╔═██╗ ██║ ██╔══╝ ╚════██║ ██║ ██║ ██║██╔══╝ ██╔═══╝ ██║ ██║ ██║ ╚██╔╝ ██╔══╝ ╚═╝
██║ ██║ ╚═╝ ██║╚███╔███╔╝██║██║ ██╗██║ ███████╗███████║ ██║ ██████╔╝███████╗██║ ███████╗╚██████╔╝ ██║ ███████╗ ██╗
╚═╝ ╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚══════╝ ╚═╝
"
echo "Accède à ton wiki via : http://localhost:8080/pmwiki.php"