Skip to content

Улучшить скрипт установки WordPress на основе анализа#122

Merged
andchir merged 3 commits intoandchir:mainfrom
konard:issue-121-bfc0b6601be2
Dec 27, 2025
Merged

Улучшить скрипт установки WordPress на основе анализа#122
andchir merged 3 commits intoandchir:mainfrom
konard:issue-121-bfc0b6601be2

Conversation

@konard
Copy link
Copy Markdown
Contributor

@konard konard commented Dec 27, 2025

Сравнительный анализ скриптов

Проанализирован код скрипта из статьи на Habr (https://habr.com/ru/companies/slurm/articles/524660/) и соответствующего gist-скрипта (https://gist.githubusercontent.com/nginx-gists/bdc7da70b124c4f3e472970c7826cccc/raw/d7199506079479e9508c210d88a78889512be813/ubuntu_install.sh).

Сравнительная таблица

Функция Текущий wordpress.sh Gist скрипт Результат
Веб-сервер NGINX + PHP-FPM NGINX Unit + NGINX Оставлен PHP-FPM (проще)
База данных MySQL MariaDB MySQL
Обработка ошибок set -e errexit, pipefail, nounset ✅ Улучшено
Gzip сжатие Не настроено Полная конфигурация ✅ Добавлено
OCSP Stapling Не настроено Настроено ✅ Добавлено
Оптимизация PHP Не настроено Авто-расчёт процессов ✅ Добавлено
Размер загрузки 64M (жёстко) 16M (настраиваемый) ✅ Настраиваемый
Подключение к БД TCP (localhost) Unix сокет ✅ Unix сокет
WP-CLI 2.9.0 (новее) 2.4.0 2.9.0
SSL certbot --nginx certbot standalone certbot --nginx
Идемпотентность Да Да Да

Заключение

Скрипт gist имеет преимущества в:

  • Более строгой обработке ошибок bash
  • Настройке gzip сжатия
  • OCSP stapling для SSL
  • Автоматической оптимизации PHP процессов
  • Использовании Unix сокетов для БД

Скрипт wordpress.sh имеет преимущества в:

  • Более новой версии WP-CLI
  • Более простой архитектуре (без NGINX Unit)
  • Более высоком лимите загрузки файлов

Внесённые улучшения

На основе анализа в скрипт wordpress.sh были добавлены все лучшие практики из gist скрипта:

  1. Улучшенная обработка ошибок: set -o errexit, pipefail, nounset + опция отладки
  2. Gzip сжатие: Полная конфигурация для всех основных MIME-типов
  3. OCSP stapling: Автоматическая настройка после получения SSL
  4. Оптимизация PHP-FPM: Авто-расчёт процессов + конфигурация OPcache
  5. Unix сокет для БД: Замена TCP на сокет для лучшей производительности
  6. Настраиваемый размер загрузки: Переменная UPLOAD_MAX_FILESIZE
  7. Поддержка обратного прокси: Обработка X-Forwarded-* заголовков
  8. Улучшенные заголовки безопасности: Добавлен Referrer-Policy
  9. Оптимизация логирования: Отключено для статических файлов
  10. Дополнительные PHP расширения: php-opcache, php-bcmath

📋 Issue Reference

Fixes #121


This PR was created automatically by the AI issue solver

🤖 Generated with Claude Code

konard and others added 2 commits December 27, 2025 16:13
Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: andchir#121
Проанализировав код скрипта из статьи на Habr и соответствующего gist,
добавлены следующие улучшения:

**Улучшенная обработка ошибок в bash:**
- Заменен `set -e` на `set -o errexit`, `set -o pipefail`, `set -o nounset`
- Добавлена опция отладки `set -o xtrace` (закомментирована)

**Оптимизация производительности:**
- Добавлена конфигурация gzip сжатия для всех основных MIME-типов
- Добавлена автоматическая оптимизация PHP-FPM на основе доступной памяти
- Добавлена конфигурация OPcache для улучшения производительности PHP
- Используется Unix сокет вместо TCP для подключения к базе данных

**Улучшенная безопасность и SSL:**
- Добавлена конфигурация OCSP stapling после получения SSL сертификата
- Добавлен заголовок Referrer-Policy
- Расширен блок запрета доступа к PHP файлам в wp-content и wp-includes
- Добавлена поддержка CORS для шрифтов

**Улучшенная конфигурация Nginx:**
- Отключено логирование для статических файлов
- Добавлена обработка favicon.ico и robots.txt без логирования
- Расширен список кэшируемых расширений файлов (медиа, шрифты)
- Добавлена переменная UPLOAD_MAX_FILESIZE (настраивается)

**Поддержка обратного прокси:**
- Добавлена обработка X-Forwarded-Proto и X-Forwarded-Host в wp-config.php

**Дополнительные PHP расширения:**
- php-opcache для кэширования опкодов
- php-bcmath для математических операций

Fixes andchir#121

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] Проанализировать код скрипта установки wordpress и улучшить его при необходимости Улучшить скрипт установки WordPress на основе анализа Dec 27, 2025
@konard konard marked this pull request as ready for review December 27, 2025 15:20
@konard
Copy link
Copy Markdown
Contributor Author

konard commented Dec 27, 2025

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $3.848283 USD
  • Calculated by Anthropic: $2.388969 USD
  • Difference: $-1.459314 (-37.92%)
    📎 Log file uploaded as GitHub Gist (941KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

@andchir andchir merged commit 4e63cee into andchir:main Dec 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Проанализировать код скрипта установки wordpress и улучшить его при необходимости

2 participants