refs #477 Adds public creations with permissions and changes composer.phar execution

ogboot_installer
Luis Gerardo Romero Garcia 2024-07-03 08:37:04 +02:00
parent fae7536690
commit 764968254e
1 changed files with 28 additions and 11 deletions

View File

@ -325,12 +325,30 @@ def og_boot_create_dirs():
def og_boot_symfony_install(path_opengnsys_base):
logger.info("Creating Symfony application skeleton...")
# downloadComposer()
try:
# Copiar los archivos .env y composer.json primero
logger.info(f"Copying files (.env and composer.json) from {WORKDIR}/ogboot/.env to {path_opengnsys_base}/.env")
shutil.copy(f"{WORKDIR}/ogboot/.env", os.path.join(path_opengnsys_base, ".env"))
shutil.copy(f"{WORKDIR}/ogboot/composer.json", os.path.join(path_opengnsys_base, "composer.json"))
env_src = os.path.join(WORKDIR, "ogboot/.env")
composer_src = os.path.join(WORKDIR, "ogboot/composer.json")
env_dest = os.path.join(path_opengnsys_base, ".env")
composer_dest = os.path.join(path_opengnsys_base, "composer.json")
shutil.copy(env_src, env_dest)
shutil.copy(composer_src, composer_dest)
logger.info(f"Copied {env_src} to {env_dest}")
logger.info(f"Copied {composer_src} to {composer_dest}")
# Cambiar permisos y propietario de los archivos copiados
os.chmod(env_dest, 0o644)
os.chmod(composer_dest, 0o644)
shutil.chown(env_dest, user='ogboot', group='ogboot')
shutil.chown(composer_dest, user='ogboot', group='ogboot')
logger.info(f"Set permissions and owner for {env_dest} and {composer_dest}")
logger.info(f".env and composer.json files copied to {path_opengnsys_base}")
except Exception as e:
logger.error(f"An error occurred while copying files: {e}")
raise
def og_boot_copy_files(path_opengnsys_base):
bin_source = os.path.join(WORKDIR, "ogboot/bin")
@ -362,19 +380,18 @@ def og_boot_copy_files(path_opengnsys_base):
os.makedirs(os.path.join(INSTALL_TARGET, "etc"), mode=0o750, exist_ok=True)
os.makedirs(os.path.join(INSTALL_TARGET, "client"), mode=0o750, exist_ok=True)
os.makedirs(os.path.join(INSTALL_TARGET, "public"), mode=0o750, exist_ok=True)
subprocess.run(["sudo", "chmod", "-R", "755", path_opengnsys_base])
subprocess.run(["sudo", "chown", "-R", "ogboot:ogboot", path_opengnsys_base])
def og_boot_composer_install(path_opengnsys_base):
# Ejecutar Composer como el usuario 'ogboot' para instalar el proyecto Symfony
os.chdir(os.path.join(path_opengnsys_base, 'bin'))
result = subprocess.run(["sudo", "-u", "ogboot", "php", os.path.join(path_opengnsys_base, "bin", "composer.phar"), "install", "--no-interaction", "--working-dir", path_opengnsys_base])
result = subprocess.run(["sudo", "-u", "ogboot", "./bin/composer.phar", "install", "--no-interaction", "--working-dir", path_opengnsys_base])
if result.returncode != 0:
logger.error("Error creating Symfony project using Composer")
return
os.chdir(path_opengnsys_base)
result = subprocess.run(["sudo", "-u", "ogboot", "php", os.path.join(path_opengnsys_base, "bin", "composer.phar"), "install", "--no-interaction", "--working-dir", path_opengnsys_base])
# Eliminar composer.lock si existe
composer_lock_path = os.path.join(path_opengnsys_base, "composer.lock")
if os.path.exists(composer_lock_path):