touch updateDrupal.sh
sudo chmod +x updateDrupal.sh
nano updateDrupal.shna devil
touch updateDrupal.sh
chmod +x updateDrupal.sh
nano updateDrupal.shNajprostsza wersja
#! /bin/bash
chmod 775 web/sites/default
composer update -W
./vendor/bin/drush updb
./vendor/bin/drush crPełna wersja Apache
#!/bin/bash
#---------------------------------------------------------
# Skrypt aktualizujący Drupal
# ©2025 Dariusz Frączkiewicz
#---------------------------------------------------------
set -e
HTACCESS_FILE="web/.htaccess"
HOSTING1_DR="vendor/bin/drush"
HOSTING1_COMP="composer"
HOSTING2_DR="drush"
HOSTING2_COMP="composer"
HOSTING3_DR="php84 vendor/drush/drush/drush.php"
HOSTING3_COMP="php84 /usr/local/bin/composer.phar"
#############################################
# USTAWIENIA
PHP84=true
LOGIN=false
WP=false
# Wybór hostingu
HOSTING_DR=$HOSTING1_DR
HOSTING_COMP=$HOSTING1_COMP
# Czy potrzebne sudo (np. FreeBSD hosting)
USE_SUDO=true
#############################################
# Uprawnienia
#############################################
if [ "$USE_SUDO" = true ]; then
sudo chmod 775 web/sites/default
else
chmod 775 web/sites/default
fi
#############################################
# Composer + Drush
#############################################
$HOSTING_COMP update -W
$HOSTING_DR updb
$HOSTING_DR cr
#############################################
# Wykrycie systemu (Linux vs FreeBSD)
#############################################
SED_INPLACE="sed -i"
if [[ "$OSTYPE" == "freebsd"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then
SED_INPLACE="sed -i ''"
fi
#############################################
# 1. Blokada /user/login
#############################################
if [ "$LOGIN" = true ]; then
if ! grep -q "RewriteRule \^user/login" "$HTACCESS_FILE"; then
$SED_INPLACE '1i\
# Blokada dostępu do /user/login\
RewriteRule ^user/login$ - [F,L]\
' "$HTACCESS_FILE"
echo "Dodano blokadę /user/login."
else
echo "Blokada /user/login już istnieje."
fi
fi
#############################################
# 2. Blokada WordPress
#############################################
if [ "$WP" = true ]; then
if ! grep -E -q "wp-login|wp-admin" "$HTACCESS_FILE"; then
$SED_INPLACE '/<\/IfModule>/i\
# Blokuj WordPress\
RewriteRule ^(wp-login|wp-admin|wp-config|wp-content|wp-includes) - [F,L]\
' "$HTACCESS_FILE"
echo "Dodano blokadę WordPress."
else
echo "Reguła WordPress już istnieje."
fi
fi
#############################################
# 3. PHP 8.4
#############################################
if [ "$PHP84" = true ]; then
if ! grep -q "php8.4-fpm.sock" "$HTACCESS_FILE"; then
echo "Dodawanie PHP 8.4..."
echo '<FilesMatch "\.php$">
SetHandler "proxy:unix:/run/php/php8.4-fpm.sock|fcgi://localhost"
</FilesMatch>' >> "$HTACCESS_FILE"
else
echo "PHP 8.4 już ustawione."
fi
fi
echo "Gotowe!"Pełna wersja Devil
#!/bin/bash
#---------------------------------------------------------
# Skrypt aktualizujący Drupal
# ©2025 Dariusz Frączkiewicz
#---------------------------------------------------------
set -e
HTACCESS_FILE="web/.htaccess"
HOSTING1_DR="vendor/bin/drush"
HOSTING1_COMP="composer"
HOSTING2_DR="drush"
HOSTING2_COMP="composer"
HOSTING3_DR="php84 vendor/drush/drush/drush.php"
HOSTING3_COMP="php84 /usr/local/bin/composer.phar"
#############################################
# USTAWIENIA
PHP84=true
LOGIN=false
WP=false
# Wybór hostingu
HOSTING_DR=$HOSTING3_DR
HOSTING_COMP=$HOSTING3_COMP
# Czy potrzebne sudo (np. FreeBSD hosting)
USE_SUDO=false
#############################################
# Uprawnienia
#############################################
if [ "$USE_SUDO" = true ]; then
sudo chmod 775 web/sites/default
else
chmod 775 web/sites/default
fi
#############################################
# Composer + Drush
#############################################
$HOSTING_COMP update -W
$HOSTING_DR updb
$HOSTING_DR cr
#############################################
# Wykrycie systemu (Linux vs FreeBSD)
#############################################
SED_INPLACE="sed -i"
if [[ "$OSTYPE" == "freebsd"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then
SED_INPLACE="sed -i ''"
fi
#############################################
# 1. Blokada /user/login
#############################################
if [ "$LOGIN" = true ]; then
if ! grep -q "RewriteRule \^user/login" "$HTACCESS_FILE"; then
$SED_INPLACE '1i\
# Blokada dostępu do /user/login\
RewriteRule ^user/login$ - [F,L]\
' "$HTACCESS_FILE"
echo "Dodano blokadę /user/login."
else
echo "Blokada /user/login już istnieje."
fi
fi
#############################################
# 2. Blokada WordPress
#############################################
if [ "$WP" = true ]; then
if ! grep -E -q "wp-login|wp-admin" "$HTACCESS_FILE"; then
$SED_INPLACE '/<\/IfModule>/i\
# Blokuj WordPress\
RewriteRule ^(wp-login|wp-admin|wp-config|wp-content|wp-includes) - [F,L]\
' "$HTACCESS_FILE"
echo "Dodano blokadę WordPress."
else
echo "Reguła WordPress już istnieje."
fi
fi
#############################################
# 3. PHP 8.4
#############################################
if [ "$PHP84" = true ]; then
PHP_RULE="AddType application/x-httpd-php84 .php"
if grep -q "application/x-httpd-php" "$HTACCESS_FILE"; then
echo "Reguła PHP już istnieje (lub inna wersja jest zdefiniowana) — pomijam."
else
# Dodajemy pustą linię dla porządku i regułę na samym końcu pliku
echo "" >> "$HTACCESS_FILE"
echo "# Ustawienie wersji PHP 8.4" >> "$HTACCESS_FILE"
echo "$PHP_RULE" >> "$HTACCESS_FILE"
echo "Dodano obsługę PHP 8.4 na koniec pliku."
fi
fi
echo "Gotowe!"