Utoljára aktív 1753468903

urocibg gist felülvizsgálása 1753468903. Revízióhoz ugrás

1 file changed, 91 insertions

install_wp.sh(fájl létrehozva)

@@ -0,0 +1,91 @@
1 + #!/bin/bash
2 +
3 + # Автор: Федя Серафиев (модифициран за стабилни версии)
4 +
5 + # ====== ВХОДНИ ДАННИ ОТ ПОТРЕБИТЕЛЯ ======
6 + read -p "👉 Въведи име за сайта (използва се за име на контейнерите, volumes и мрежа): " SITE_NAME
7 + SITE_NAME=$(echo "$SITE_NAME" | tr -d ' ')
8 +
9 + read -p "👉 Въведи външен порт за достъп до WordPress (напр. 8080): " HOST_PORT
10 + HOST_PORT=${HOST_PORT:-8080}
11 +
12 + # ====== ПАРОЛИ И ПАРАМЕТРИ ======
13 + MYSQL_ROOT_PASSWORD=$(openssl rand -base64 16)
14 + MYSQL_DATABASE="wordpress"
15 + MYSQL_USER="wpuser"
16 + MYSQL_PASSWORD=$(openssl rand -base64 16)
17 +
18 + # ====== СТРУКТУРА НА ПАПКИТЕ ======
19 + mkdir -p "$SITE_NAME"/{config,wordpress,db_data}
20 + cd "$SITE_NAME"
21 +
22 + # ====== .env ФАЙЛ ======
23 + cat > .env <<EOF
24 + MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
25 + MYSQL_DATABASE=${MYSQL_DATABASE}
26 + MYSQL_USER=${MYSQL_USER}
27 + MYSQL_PASSWORD=${MYSQL_PASSWORD}
28 + WORDPRESS_DB_HOST=${SITE_NAME}_db:3306
29 + EOF
30 +
31 + # ====== config/php.ini ======
32 + cat > config/php.ini <<EOF
33 + upload_max_filesize = 64M
34 + post_max_size = 64M
35 + memory_limit = 256M
36 + EOF
37 +
38 + # ====== docker-compose.yml ======
39 + cat > docker-compose.yml <<EOF
40 + version: '3.8'
41 +
42 + services:
43 + ${SITE_NAME}_db:
44 + image: mysql:5.7
45 + container_name: ${SITE_NAME}_db
46 + restart: always
47 + volumes:
48 + - ./db_data:/var/lib/mysql
49 + environment:
50 + MYSQL_ROOT_PASSWORD: \${MYSQL_ROOT_PASSWORD}
51 + MYSQL_DATABASE: \${MYSQL_DATABASE}
52 + MYSQL_USER: \${MYSQL_USER}
53 + MYSQL_PASSWORD: \${MYSQL_PASSWORD}
54 + networks:
55 + - ${SITE_NAME}_net
56 +
57 + ${SITE_NAME}_wp:
58 + image: wordpress:6.4-php8.1-apache
59 + container_name: ${SITE_NAME}_wp
60 + depends_on:
61 + - ${SITE_NAME}_db
62 + ports:
63 + - "${HOST_PORT}:80"
64 + restart: always
65 + volumes:
66 + - ./wordpress:/var/www/html
67 + - ./config/php.ini:/usr/local/etc/php/conf.d/custom.ini
68 + environment:
69 + WORDPRESS_DB_HOST: \${WORDPRESS_DB_HOST}
70 + WORDPRESS_DB_NAME: \${MYSQL_DATABASE}
71 + WORDPRESS_DB_USER: \${MYSQL_USER}
72 + WORDPRESS_DB_PASSWORD: \${MYSQL_PASSWORD}
73 + networks:
74 + - ${SITE_NAME}_net
75 +
76 + networks:
77 + ${SITE_NAME}_net:
78 + driver: bridge
79 + EOF
80 +
81 + # ====== ИНФОРМАЦИЯ ======
82 + echo
83 + echo "✅ WordPress инстанция \"$SITE_NAME\" е готова."
84 + echo "📁 Файловете на сайта са в: $(pwd)/wordpress"
85 + echo "🌐 Достъп: http://localhost:${HOST_PORT}"
86 + echo "🔐 Данни за база данни (в .env):"
87 + echo "MYSQL_USER=${MYSQL_USER}"
88 + echo "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
89 + echo "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
90 + echo ""
91 + echo "🚀 Стартирай сайта със: docker compose up -d"
Újabb Régebbi