mirror of
https://github.com/getnamingo/registry.git
synced 2025-07-23 11:05:57 +02:00
Fixed #219
This commit is contained in:
parent
78c75afe99
commit
35ca9535e0
2 changed files with 100 additions and 15 deletions
|
@ -17,9 +17,15 @@ set_php_ini_value() {
|
|||
local key=$2
|
||||
local value=$3
|
||||
|
||||
if grep -qE "^\s*;?\s*${key}\s*=" "$ini_file"; then
|
||||
sed -i "s/^\s*;?\s*${key}\s*=.*/${key} = ${value}/" "$ini_file"
|
||||
# Escape slashes for sed compatibility
|
||||
local escaped_value
|
||||
escaped_value=$(printf '%s\n' "$value" | sed 's/[\/&]/\\&/g')
|
||||
|
||||
if grep -Eq "^\s*[;#]?\s*${key}\s*=" "$ini_file"; then
|
||||
# Update the existing line, uncomment it and set correct value
|
||||
sed -i -E "s|^\s*[;#]?\s*(${key})\s*=.*|\1 = ${escaped_value}|" "$ini_file"
|
||||
else
|
||||
# Add new line if key doesn't exist
|
||||
echo "${key} = ${value}" >> "$ini_file"
|
||||
fi
|
||||
}
|
||||
|
@ -43,6 +49,8 @@ MIN_DISK_GB=10
|
|||
|
||||
# Get the available RAM in MB
|
||||
AVAILABLE_RAM_MB=$(free -m | awk '/^Mem:/{print $2}')
|
||||
PHP_MEMORY_MB=$(( AVAILABLE_RAM_MB / 2 ))
|
||||
PHP_MEMORY_LIMIT="${PHP_MEMORY_MB}M"
|
||||
|
||||
# Get the available disk space in GB for the root partition
|
||||
AVAILABLE_DISK_GB=$(df -BG / | awk 'NR==2 {print $4}' | sed 's/G//')
|
||||
|
@ -130,11 +138,9 @@ if [[ ("$OS" == "Ubuntu" && "$VER" == "22.04") || ("$OS" == "Ubuntu" && "$VER" =
|
|||
if [[ "$OS" == "Ubuntu" && "$VER" == "24.04" ]]; then
|
||||
phpIniCli='/etc/php/8.3/cli/php.ini'
|
||||
phpIniFpm='/etc/php/8.3/fpm/php.ini'
|
||||
phpIniOpcache='/etc/php/8.3/mods-available/opcache.ini'
|
||||
else
|
||||
phpIniCli='/etc/php/8.2/cli/php.ini'
|
||||
phpIniFpm='/etc/php/8.2/fpm/php.ini'
|
||||
phpIniOpcache='/etc/php/8.2/mods-available/opcache.ini'
|
||||
fi
|
||||
|
||||
# Update php.ini files
|
||||
|
@ -142,11 +148,12 @@ if [[ ("$OS" == "Ubuntu" && "$VER" == "22.04") || ("$OS" == "Ubuntu" && "$VER" =
|
|||
set_php_ini_value "$phpIniCli" "opcache.enable_cli" "1"
|
||||
set_php_ini_value "$phpIniCli" "opcache.jit_buffer_size" "100M"
|
||||
set_php_ini_value "$phpIniCli" "opcache.jit" "1255"
|
||||
set_php_ini_value "$phpIniCli" "session.cookie_secure" "1"
|
||||
set_php_ini_value "$phpIniCli" "session.cookie_httponly" "1"
|
||||
set_php_ini_value "$phpIniCli" "session.cookie_samesite" "\"Strict\""
|
||||
set_php_ini_value "$phpIniCli" "session.cookie_domain" "\"$REGISTRY_DOMAIN,cp.$REGISTRY_DOMAIN,whois.$REGISTRY_DOMAIN\""
|
||||
set_php_ini_value "$phpIniCli" "memory_limit" "2G"
|
||||
set_php_ini_value "$phpIniCli" "memory_limit" "$PHP_MEMORY_LIMIT"
|
||||
set_php_ini_value "$phpIniCli" "opcache.memory_consumption" "128"
|
||||
set_php_ini_value "$phpIniCli" "opcache.interned_strings_buffer" "16"
|
||||
set_php_ini_value "$phpIniCli" "opcache.max_accelerated_files" "10000"
|
||||
set_php_ini_value "$phpIniCli" "opcache.validate_timestamps" "0"
|
||||
set_php_ini_value "$phpIniCli" "expose_php" "0"
|
||||
|
||||
# Repeat the same settings for php-fpm
|
||||
set_php_ini_value "$phpIniFpm" "opcache.enable" "1"
|
||||
|
@ -156,12 +163,13 @@ if [[ ("$OS" == "Ubuntu" && "$VER" == "22.04") || ("$OS" == "Ubuntu" && "$VER" =
|
|||
set_php_ini_value "$phpIniFpm" "session.cookie_secure" "1"
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_httponly" "1"
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_samesite" "\"Strict\""
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_domain" "\"$REGISTRY_DOMAIN,cp.$REGISTRY_DOMAIN,whois.$REGISTRY_DOMAIN\""
|
||||
set_php_ini_value "$phpIniFpm" "memory_limit" "2G"
|
||||
|
||||
# Update opcache.ini
|
||||
set_php_ini_value "$phpIniOpcache" "opcache.jit" "1255"
|
||||
set_php_ini_value "$phpIniOpcache" "opcache.jit_buffer_size" "100M"
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_domain" "\".$REGISTRY_DOMAIN\""
|
||||
set_php_ini_value "$phpIniFpm" "memory_limit" "$PHP_MEMORY_LIMIT"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.memory_consumption" "128"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.interned_strings_buffer" "16"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.max_accelerated_files" "10000"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.validate_timestamps" "0"
|
||||
set_php_ini_value "$phpIniFpm" "expose_php" "0"
|
||||
|
||||
# Restart PHP-FPM service
|
||||
echo "Restarting PHP FPM service..."
|
||||
|
|
|
@ -116,6 +116,83 @@ composer_update "/opt/registry/whois/port43"
|
|||
composer_update "/opt/registry/rdap"
|
||||
composer_update "/opt/registry/epp"
|
||||
|
||||
# Function to ensure a setting is present, uncommented, and correctly set
|
||||
set_php_ini_value() {
|
||||
local ini_file=$1
|
||||
local key=$2
|
||||
local value=$3
|
||||
|
||||
# Escape slashes for sed compatibility
|
||||
local escaped_value
|
||||
escaped_value=$(printf '%s\n' "$value" | sed 's/[\/&]/\\&/g')
|
||||
|
||||
if grep -Eq "^\s*[;#]?\s*${key}\s*=" "$ini_file"; then
|
||||
# Update the existing line, uncomment it and set correct value
|
||||
sed -i -E "s|^\s*[;#]?\s*(${key})\s*=.*|\1 = ${escaped_value}|" "$ini_file"
|
||||
else
|
||||
# Add new line if key doesn't exist
|
||||
echo "${key} = ${value}" >> "$ini_file"
|
||||
fi
|
||||
}
|
||||
|
||||
# Check the Linux distribution and version
|
||||
if [[ -e /etc/os-release ]]; then
|
||||
. /etc/os-release
|
||||
OS=$NAME
|
||||
VER=$VERSION_ID
|
||||
fi
|
||||
|
||||
# Get the available RAM in MB
|
||||
AVAILABLE_RAM_MB=$(free -m | awk '/^Mem:/{print $2}')
|
||||
PHP_MEMORY_MB=$(( AVAILABLE_RAM_MB / 2 ))
|
||||
PHP_MEMORY_LIMIT="${PHP_MEMORY_MB}M"
|
||||
|
||||
REGISTRY_DOMAIN=$(grep -E '^APP_DOMAIN=' /var/www/cp/.env | cut -d '=' -f2- | tr -d '"' | tr -d "'")
|
||||
|
||||
# Determine PHP configuration files based on OS and version
|
||||
if [[ "$OS" == "Ubuntu" && "$VER" == "24.04" ]]; then
|
||||
phpIniCli='/etc/php/8.3/cli/php.ini'
|
||||
phpIniFpm='/etc/php/8.3/fpm/php.ini'
|
||||
PHP_VERSION="php8.3"
|
||||
else
|
||||
phpIniCli='/etc/php/8.2/cli/php.ini'
|
||||
phpIniFpm='/etc/php/8.2/fpm/php.ini'
|
||||
PHP_VERSION="php8.2"
|
||||
fi
|
||||
|
||||
# Update php.ini files
|
||||
set_php_ini_value "$phpIniCli" "opcache.enable" "1"
|
||||
set_php_ini_value "$phpIniCli" "opcache.enable_cli" "1"
|
||||
set_php_ini_value "$phpIniCli" "opcache.jit_buffer_size" "100M"
|
||||
set_php_ini_value "$phpIniCli" "opcache.jit" "1255"
|
||||
set_php_ini_value "$phpIniCli" "memory_limit" "$PHP_MEMORY_LIMIT"
|
||||
set_php_ini_value "$phpIniCli" "opcache.memory_consumption" "128"
|
||||
set_php_ini_value "$phpIniCli" "opcache.interned_strings_buffer" "16"
|
||||
set_php_ini_value "$phpIniCli" "opcache.max_accelerated_files" "10000"
|
||||
set_php_ini_value "$phpIniCli" "opcache.validate_timestamps" "0"
|
||||
set_php_ini_value "$phpIniCli" "expose_php" "0"
|
||||
|
||||
# Repeat the same settings for php-fpm
|
||||
set_php_ini_value "$phpIniFpm" "opcache.enable" "1"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.enable_cli" "1"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.jit_buffer_size" "100M"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.jit" "1255"
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_secure" "1"
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_httponly" "1"
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_samesite" "\"Strict\""
|
||||
set_php_ini_value "$phpIniFpm" "session.cookie_domain" "\".$REGISTRY_DOMAIN\""
|
||||
set_php_ini_value "$phpIniFpm" "memory_limit" "$PHP_MEMORY_LIMIT"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.memory_consumption" "128"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.interned_strings_buffer" "16"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.max_accelerated_files" "10000"
|
||||
set_php_ini_value "$phpIniFpm" "opcache.validate_timestamps" "0"
|
||||
set_php_ini_value "$phpIniFpm" "expose_php" "0"
|
||||
|
||||
# Restart PHP-FPM service
|
||||
echo "Restarting PHP FPM service..."
|
||||
systemctl restart ${PHP_VERSION}-fpm
|
||||
echo "PHP configuration update complete!"
|
||||
|
||||
# Start services
|
||||
echo "Starting services..."
|
||||
systemctl start epp
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue