refs #170 Adds new directories to backup and changes logs permissions
parent
62bf399b45
commit
7140b7c6b6
|
@ -50,7 +50,7 @@ function globalSetup ()
|
|||
APACHEMAKECERT="make-ssl-cert generate-default-snakeoil --force-overwrite"
|
||||
PHPFPMSERV=php7.2-fpm
|
||||
# Registro de incidencias.
|
||||
OGLOGFILE=$INSTALL_TARGET/log/${PROGRAMNAME%.sh}.log
|
||||
OGLOGFILE=$INSTALL_TARGET/var/log/${PROGRAMNAME%.sh}.log
|
||||
LOG_FILE=/tmp/$(basename $OGLOGFILE)
|
||||
|
||||
}
|
||||
|
@ -73,43 +73,7 @@ function checkDependencies() {
|
|||
|
||||
echoAndLog "Dependencies checked."
|
||||
}
|
||||
function checkDependencies() {
|
||||
echoAndLog "Checking dependencies..."
|
||||
|
||||
# Lista de dependencias
|
||||
local DEPENDENCIES=(php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath composer unzip apache2 libapache2-mod-php)
|
||||
|
||||
# Comprobar cada dependencia
|
||||
for dep in "${DEPENDENCIES[@]}"; do
|
||||
if ! dpkg -s $dep >/dev/null 2>&1; then
|
||||
echoAndLog "$dep is not installed. Installing..."
|
||||
sudo apt-get install -y $dep
|
||||
else
|
||||
echoAndLog "$dep is already installed."
|
||||
fi
|
||||
done
|
||||
|
||||
echoAndLog "Dependencies checked."
|
||||
}
|
||||
|
||||
|
||||
# Instalar dependencias para Symfony y Swagger
|
||||
function install_symfony_swagger_dependencies() {
|
||||
echoAndLog "Installing Symfony and Swagger dependencies..."
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
|
||||
sudo apt-get install -y composer
|
||||
sudo apt-get install -y unzip
|
||||
echoAndLog "Symfony and Swagger dependencies installed."
|
||||
}
|
||||
|
||||
# Instalar dependencias para Apache
|
||||
function install_apache_dependencies() {
|
||||
echoAndLog "Installing Apache dependencies..."
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y apache2 libapache2-mod-php
|
||||
echoAndLog "Apache dependencies installed."
|
||||
}
|
||||
|
||||
|
||||
# Función para instalar los paquetes necesarios para KEA-DHCP
|
||||
|
@ -117,24 +81,12 @@ install_kea() {
|
|||
sudo apt-get install -y isc-kea-common isc-kea-ctrl-agent isc-kea-dhcp4-server isc-kea-dhcp6-server isc-kea-admin
|
||||
}
|
||||
|
||||
# Función para instalar PHP y las extensiones necesarias para Symfony
|
||||
install_php() {
|
||||
sudo apt-get install -y php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
|
||||
}
|
||||
|
||||
# Función para instalar Composer
|
||||
install_composer() {
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
sudo mv composer.phar /usr/local/bin/composer
|
||||
}
|
||||
|
||||
# Función para instalar Symfony
|
||||
install_symfony() {
|
||||
composer global require symfony
|
||||
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
}
|
||||
|
||||
|
||||
# Función para instalar Swagger UI
|
||||
install_swagger() {
|
||||
|
@ -185,7 +137,7 @@ function createDirs()
|
|||
mkdir -p $path_opengnsys_base/docs # Swagger documentation
|
||||
mkdir -p $path_opengnsys_base/public
|
||||
mkdir -p $path_opengnsys_base/src
|
||||
mkdir -p $path_opengnsys_base/src
|
||||
mkdir -p $path_opengnsys_base/etc/kea/backup
|
||||
mkdir -p $path_opengnsys_base/templates
|
||||
mkdir -p $path_opengnsys_base/var/{cache,log}
|
||||
mkdir -p $path_opengnsys_base/vendor
|
||||
|
@ -211,11 +163,33 @@ function createDirs()
|
|||
echoAndLog "${FUNCNAME}(): moving installation log file"
|
||||
mv $LOG_FILE $path_opengnsys_base/var/log && LOG_FILE=$OGLOGFILE
|
||||
chmod 777 $LOG_FILE
|
||||
sudo chmod -R 777 $path_opengnsys_base/etc
|
||||
|
||||
# Mover el fichero de registro de instalación al directorio de logs.
|
||||
echoAndLog "${FUNCNAME}(): moving installation log file"
|
||||
touch $path_opengnsys_base/var/log/dev.log
|
||||
chmod 777 $path_opengnsys_base/var/log/dev.log
|
||||
|
||||
echoAndLog "${FUNCNAME}(): directory paths created"
|
||||
return 0
|
||||
echoAndLog "Changing user permission"
|
||||
chown -R $OPENGNSYS_CLIENT_USER:$OPENGNSYS_CLIENT_USER $INSTALL_TARGET
|
||||
|
||||
# Copia de antemano .env ya que es necesario para montar el esqueleto de symfony
|
||||
cp -a $WORKDIR/ogdhcp/.env "${path_opengnsys_base}/.env"
|
||||
}
|
||||
|
||||
|
||||
|
||||
function create_ogdhcp_project {
|
||||
# Cambia al usuario ogdhcp y crea el proyecto Symfony
|
||||
local path_opengnsys_base="$1"
|
||||
composer create-project symfony/website-skeleton $path_opengnsys_base
|
||||
pushd $path_opengnsys_base
|
||||
# Elimina el archivo composer.lock
|
||||
rm composer.lock
|
||||
popd
|
||||
echoAndLog "Esqueleto de la aplicación creado y archivo composer.lock eliminado."
|
||||
}
|
||||
|
||||
|
||||
|
@ -229,9 +203,9 @@ function copyServerFiles ()
|
|||
local path_opengnsys_base="$1"
|
||||
|
||||
# Lista de ficheros y directorios origen y de directorios destino.
|
||||
local SOURCES=( bin \
|
||||
local SOURCES=(
|
||||
config \
|
||||
public \
|
||||
#public \
|
||||
src \
|
||||
etc \
|
||||
templates \
|
||||
|
@ -242,9 +216,9 @@ function copyServerFiles ()
|
|||
composer.lock \
|
||||
phpunit.xml.dist \
|
||||
symfony.lock )
|
||||
local TARGETS=( bin \
|
||||
local TARGETS=(
|
||||
config \
|
||||
public \
|
||||
#public \
|
||||
src \
|
||||
etc \
|
||||
templates \
|
||||
|
@ -345,6 +319,37 @@ function runComposer() {
|
|||
echoAndLog "composer.phar ran successfully and dependencies were installed"
|
||||
return 0
|
||||
}
|
||||
function install_swagger_ui {
|
||||
# Define la URL del archivo de Swagger UI que quieres descargar
|
||||
swagger_ui_url="https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip"
|
||||
|
||||
# Define la ruta donde quieres descomprimir Swagger UI
|
||||
swagger_ui_path="/tmp/swagger-ui"
|
||||
|
||||
# Define la ruta de destino para los archivos de Swagger UI
|
||||
destination_path="/opt/ogdhcp/public"
|
||||
|
||||
# Crea los directorios si no existen
|
||||
mkdir -p $swagger_ui_path
|
||||
mkdir -p $destination_path
|
||||
|
||||
# Descarga el archivo de Swagger UI
|
||||
wget $swagger_ui_url -O /tmp/swagger-ui.zip
|
||||
|
||||
# Descomprime el archivo de Swagger UI en la ruta especificada
|
||||
unzip /tmp/swagger-ui.zip -d $swagger_ui_path
|
||||
|
||||
# Copia los archivos de Swagger UI al directorio de destino
|
||||
cp -r $swagger_ui_path/swagger-ui-master/dist/* $destination_path
|
||||
|
||||
# Elimina el archivo descargado y el directorio temporal
|
||||
rm /tmp/swagger-ui.zip
|
||||
rm -r $swagger_ui_path
|
||||
/opt/ogdhcp/vendor/bin/openapi /opt/ogdhcp/src/DhcpBundle/Controller/ -o /opt/ogdhcp/public/swagger.json
|
||||
echo "Swagger UI instalado en $destination_path."
|
||||
}
|
||||
|
||||
|
||||
|
||||
function installWebConsoleApacheConf()
|
||||
{
|
||||
|
@ -461,6 +466,11 @@ else
|
|||
ln -fs "$(dirname $PROGRAMDIR)" ogdhcp
|
||||
fi
|
||||
|
||||
create_ogdhcp_project ${INSTALL_TARGET}
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "Error while creating skeleton directory!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Arbol de directorios de OpenGnsys.
|
||||
createDirs ${INSTALL_TARGET}
|
||||
|
@ -469,6 +479,7 @@ if [ $? -ne 0 ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Copiar ficheros de servicios OpenGnsys Server.
|
||||
copyServerFiles ${INSTALL_TARGET}
|
||||
if [ $? -ne 0 ]; then
|
||||
|
@ -479,7 +490,7 @@ fi
|
|||
downloadComposer
|
||||
|
||||
runComposer
|
||||
|
||||
install_swagger_ui
|
||||
# Creando configuración de Apache.
|
||||
installWebConsoleApacheConf $INSTALL_TARGET $APACHECFGDIR
|
||||
if [ $? -ne 0 ]; then
|
||||
|
|
|
@ -103,7 +103,7 @@ class DhcpController
|
|||
* )
|
||||
* )
|
||||
* @OA\Get(
|
||||
* path="/opengnsys3/rest/dhcp/subnet",
|
||||
* path="/opengnsys3/rest/dhcp/subnets",
|
||||
* @OA\Response(
|
||||
* response=200,
|
||||
* description="Devuelve todas las subredes",
|
||||
|
@ -117,7 +117,7 @@ class DhcpController
|
|||
* description="Error al obtener las subredes",
|
||||
* )
|
||||
* )
|
||||
* @Route("/opengnsys3/rest/dhcp/subnet", methods={"GET"})
|
||||
* @Route("/opengnsys3/rest/dhcp/subnets", methods={"GET"})
|
||||
*/
|
||||
public function getSubnets(): JsonResponse
|
||||
{
|
||||
|
@ -443,7 +443,7 @@ class DhcpController
|
|||
* @OA\Property(property="address", type="string", example="172.30.4.11")
|
||||
* )
|
||||
* @OA\Get(
|
||||
* path="/opengnsys3/rest/dhcp/subnet/{subnetId}/host",
|
||||
* path="/opengnsys3/rest/dhcp/subnet/{subnetId}/hosts",
|
||||
* summary="Get all hosts in a subnet",
|
||||
* @OA\Parameter(
|
||||
* name="subnetId",
|
||||
|
@ -477,7 +477,7 @@ class DhcpController
|
|||
* )
|
||||
* )
|
||||
* )
|
||||
* @Route("/opengnsys3/rest/dhcp/subnet/{subnetId}/host", methods={"GET"})
|
||||
* @Route("/opengnsys3/rest/dhcp/subnet/{subnetId}/hosts", methods={"GET"})
|
||||
*/
|
||||
public function getHosts($subnetId): JsonResponse
|
||||
{
|
||||
|
|
|
@ -81,7 +81,7 @@ class CurlKeaService
|
|||
$config_text = json_encode($get_output[0]['arguments']);
|
||||
$configurationParsed = str_replace('\\', '', $config_text);
|
||||
|
||||
$backup_dir = '/opt/opengnsys/etc/kea/backup';
|
||||
$backup_dir = '/opt/ogdhcp/etc/kea/backup';
|
||||
if (!is_dir($backup_dir)) {
|
||||
throw new Exception('El directorio de backup no existe');
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue