Adds apache2 instalation and kea dhcp install
parent
37d8bff0c2
commit
62bf399b45
|
@ -4,60 +4,59 @@
|
|||
"minimum-stability": "stable",
|
||||
"prefer-stable": true,
|
||||
"require": {
|
||||
"php": ">=7.2.5",
|
||||
"php": ">=7.2.0",
|
||||
"ext-ctype": "*",
|
||||
"ext-iconv": "*",
|
||||
"doctrine/annotations": "^2.0",
|
||||
"doctrine/doctrine-bundle": "^2.11",
|
||||
"doctrine/doctrine-migrations-bundle": "^3.3",
|
||||
"doctrine/orm": "^2.17",
|
||||
"phpdocumentor/reflection-docblock": "^5.3",
|
||||
"phpstan/phpdoc-parser": "^1.24",
|
||||
"zircote/swagger-php": "dev-master",
|
||||
"symfony/asset": "5.4.*",
|
||||
"symfony/console": "5.4.*",
|
||||
"symfony/doctrine-messenger": "5.4.*",
|
||||
"symfony/dotenv": "5.4.*",
|
||||
"symfony/expression-language": "5.4.*",
|
||||
"symfony/flex": "^1.17|^2",
|
||||
"symfony/form": "5.4.*",
|
||||
"symfony/framework-bundle": "5.4.*",
|
||||
"symfony/http-client": "5.4.*",
|
||||
"symfony/intl": "5.4.*",
|
||||
"symfony/mailer": "5.4.*",
|
||||
"symfony/mime": "5.4.*",
|
||||
"doctrine/annotations": "^1.6",
|
||||
"doctrine/doctrine-bundle": "^2.0",
|
||||
"doctrine/doctrine-migrations-bundle": "^3.0",
|
||||
"doctrine/orm": "^2.7",
|
||||
"phpdocumentor/reflection-docblock": "^5.0",
|
||||
"phpstan/phpdoc-parser": "^0.4",
|
||||
"zircote/swagger-php": "3.*",
|
||||
"symfony/runtime": "5.*",
|
||||
"symfony/asset": "5.*",
|
||||
"symfony/console": "5.*",
|
||||
"symfony/doctrine-messenger": "5.*",
|
||||
"symfony/dotenv": "5.*",
|
||||
"symfony/expression-language": "5.*",
|
||||
"symfony/flex": "^1.17",
|
||||
"symfony/form": "5.*",
|
||||
"symfony/framework-bundle": "5.*",
|
||||
"symfony/http-client": "5.*",
|
||||
"symfony/intl": "5.*",
|
||||
"symfony/mailer": "5.*",
|
||||
"symfony/mime": "5.*",
|
||||
"symfony/monolog-bundle": "^3.0",
|
||||
"symfony/notifier": "5.4.*",
|
||||
"symfony/process": "5.4.*",
|
||||
"symfony/property-access": "5.4.*",
|
||||
"symfony/property-info": "5.4.*",
|
||||
"symfony/runtime": "5.4.*",
|
||||
"symfony/security-bundle": "5.4.*",
|
||||
"symfony/serializer": "5.4.*",
|
||||
"symfony/string": "5.4.*",
|
||||
"symfony/translation": "5.4.*",
|
||||
"symfony/twig-bundle": "5.4.*",
|
||||
"symfony/validator": "5.4.*",
|
||||
"symfony/web-link": "5.4.*",
|
||||
"symfony/yaml": "5.4.*",
|
||||
"symfony/notifier": "5.*",
|
||||
"symfony/process": "5.*",
|
||||
"symfony/property-access": "5.*",
|
||||
"symfony/property-info": "5.*",
|
||||
"symfony/security-bundle": "5.*",
|
||||
"symfony/serializer": "5.*",
|
||||
"symfony/string": "5.*",
|
||||
"symfony/translation": "5.*",
|
||||
"symfony/twig-bundle": "5.*",
|
||||
"symfony/validator": "5.*",
|
||||
"symfony/web-link": "5.*",
|
||||
"symfony/yaml": "5.*",
|
||||
"twig/extra-bundle": "^2.12|^3.0",
|
||||
"twig/twig": "^2.12|^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"symfony/browser-kit": "5.4.*",
|
||||
"symfony/css-selector": "5.4.*",
|
||||
"symfony/debug-bundle": "5.4.*",
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"symfony/browser-kit": "5.*",
|
||||
"symfony/css-selector": "5.*",
|
||||
"symfony/debug-bundle": "5.*",
|
||||
"symfony/maker-bundle": "^1.0",
|
||||
"symfony/phpunit-bridge": "^7.0",
|
||||
"symfony/stopwatch": "5.4.*",
|
||||
"symfony/web-profiler-bundle": "5.4.*"
|
||||
"symfony/phpunit-bridge": "^5.0",
|
||||
"symfony/stopwatch": "5.*",
|
||||
"symfony/web-profiler-bundle": "5.*"
|
||||
},
|
||||
"config": {
|
||||
"allow-plugins": {
|
||||
"composer/package-versions-deprecated": true,
|
||||
"symfony/flex": true,
|
||||
"symfony/runtime": true
|
||||
"symfony/flex": true
|
||||
},
|
||||
"optimize-autoloader": true,
|
||||
"preferred-install": {
|
||||
|
@ -98,7 +97,7 @@
|
|||
"extra": {
|
||||
"symfony": {
|
||||
"allow-contrib": false,
|
||||
"require": "5.4.*"
|
||||
"require": "5.*"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
# OpenGnsys ogdhcp configuration for Apache.
|
||||
|
||||
Alias /opengnsys3/rest OGHDPCDIR
|
||||
|
||||
# PHP-FPM configuration
|
||||
<IfModule proxy_fcgi_module>
|
||||
<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
|
||||
SetHandler "proxy:fcgi://127.0.0.1:9000"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
RewriteEngine On
|
||||
|
||||
# Default configuration.
|
||||
<Directory OGHDPCDIR>
|
||||
Require all granted
|
||||
Options -Indexes +FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
AddType octet/stream .pkg
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
Header set Access-Control-Allow-Methods "GET,POST,OPTIONS,DELETE,PUT"
|
||||
Header set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
|
||||
FallbackResource /index.php
|
||||
</Directory>
|
||||
|
|
@ -0,0 +1,571 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# The core commands execute start from the "MAIN" section below.
|
||||
#
|
||||
|
||||
test -z "$BASH_SOURCE" && {
|
||||
self="sudo -E bash"
|
||||
prefix="<curl command> |"
|
||||
} || {
|
||||
self=$(readlink -f ${BASH_SOURCE:-$0})
|
||||
prefix=""
|
||||
}
|
||||
|
||||
tmp_log=$(mktemp .csm_setup_XXXXXXXXX)
|
||||
|
||||
colours=$(tput colors 2>/dev/null || echo "256")
|
||||
no_colour="\e[39;49m"
|
||||
green_colour="\e[32m"
|
||||
red_colour="\e[41;97m"
|
||||
bold="\e[1m"
|
||||
reset="\e[0m"
|
||||
use_colours=$(test -n "$colours" && test $colours -ge 8 && echo "yes")
|
||||
test "$use_colours" == "yes" || {
|
||||
no_colour=""
|
||||
green_colour=""
|
||||
red_colour=""
|
||||
bold=""
|
||||
reset=""
|
||||
}
|
||||
|
||||
|
||||
example_name="Ubuntu/Xenial (16.04)"
|
||||
example_distro="ubuntu"
|
||||
example_codename="xenial"
|
||||
example_version="16.04"
|
||||
|
||||
|
||||
function echo_helptext {
|
||||
local help_text="$*"
|
||||
echo " ^^^^: ... $help_text"
|
||||
}
|
||||
|
||||
function die {
|
||||
local text="$@"
|
||||
test ! -z "$text" && {
|
||||
echo_helptext "$text" 1>&2
|
||||
}
|
||||
|
||||
local prefix="${red_colour} !!!!${no_colour}"
|
||||
|
||||
echo -e "$prefix: Oh no, your setup failed! :-( ... But we might be able to help. :-)"
|
||||
echo -e "$prefix: "
|
||||
echo -e "$prefix: ${bold}You can contact ISC - Internet Systems Consortium for further assistance.${reset}"
|
||||
echo -e "$prefix: "
|
||||
|
||||
echo -e "$prefix: ${bold}URL: https://www.isc.org${reset}"
|
||||
echo -e "$prefix: "
|
||||
|
||||
|
||||
test -f "$tmp_log" && {
|
||||
local n=20
|
||||
echo -e "$prefix: Last $n log lines from $tmp_log (might not be errors, nor even relevant):"
|
||||
echo -e "$prefix:"
|
||||
check_tool_silent "xargs" && {
|
||||
check_tool_silent "fmt" && {
|
||||
tail -n $n $tmp_log | fmt -t | xargs -Ilog echo -e "$prefix: > log"
|
||||
} || {
|
||||
tail -n $n $tmp_log | xargs -Ilog echo -e "$prefix: > log"
|
||||
}
|
||||
} || {
|
||||
echo
|
||||
tail -n $n $tmp_log
|
||||
}
|
||||
}
|
||||
exit 1
|
||||
}
|
||||
|
||||
function echo_colour {
|
||||
local colour="${1:-"no"}_colour"; shift
|
||||
echo -e "${!colour}$@${no_colour}"
|
||||
}
|
||||
|
||||
function echo_green_or_red {
|
||||
local rc="$1"
|
||||
local good="${2:-YES}"
|
||||
local bad="${3:-NO}"
|
||||
|
||||
test "$rc" -eq 0 && {
|
||||
echo_colour "green" "$good"
|
||||
} || {
|
||||
echo_colour "red" "$bad"
|
||||
}
|
||||
return $rc
|
||||
}
|
||||
|
||||
function echo_clearline {
|
||||
local rc="$?"
|
||||
echo -e -n "\033[1K\r"
|
||||
return $rc
|
||||
}
|
||||
|
||||
function echo_status {
|
||||
local rc="$1"
|
||||
local good="$2"
|
||||
local bad="$3"
|
||||
local text="$4"
|
||||
local help_text="$5"
|
||||
local newline=$(test "$6" != "no" && echo "\n" || echo "")
|
||||
local status_text=$(echo_green_or_red "$rc" "$good" "$bad")
|
||||
|
||||
echo_clearline
|
||||
local width=$(test "$use_colours" == "yes" && echo "16" || echo "5")
|
||||
printf "%${width}s %s${newline}" "${status_text}:" "$text"
|
||||
test $rc -ne 0 && test ! -z "$help_text" && {
|
||||
echo_helptext "$help_text"
|
||||
echo
|
||||
}
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
function echo_running {
|
||||
local rc=$?
|
||||
local text="$1"
|
||||
echo_status 0 " RUN" " RUN" "$text" "" "no"
|
||||
return $rc
|
||||
}
|
||||
|
||||
function echo_okfail_rc {
|
||||
local rc=$1
|
||||
local text="$2"
|
||||
local help_text="$3"
|
||||
echo_clearline
|
||||
echo_status $rc " OK" " NOPE" "$text" "$help_text"
|
||||
return $rc
|
||||
}
|
||||
|
||||
function echo_okfail {
|
||||
echo_okfail_rc $? "$@"
|
||||
return $?
|
||||
}
|
||||
|
||||
function check_tool_silent {
|
||||
local tool=${1}
|
||||
command -v $tool &>/dev/null || which $tool &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
function check_tool {
|
||||
local tool=${1}
|
||||
local optional=${2:-false}
|
||||
local required_text="optional"
|
||||
if ! $optional; then required_text="required"; fi
|
||||
local text="Checking for $required_text executable '$tool' ..."
|
||||
echo_running "$text"
|
||||
check_tool_silent "$tool"
|
||||
echo_okfail "$text" || {
|
||||
if ! $optional; then
|
||||
die "$tool is not installed, but is required by this script."
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
function cleanup {
|
||||
echo
|
||||
|
||||
|
||||
rm -rf $tmp_log
|
||||
}
|
||||
|
||||
function shutdown {
|
||||
echo_colour "red" " !!!!: Operation cancelled by user!"
|
||||
exit 2
|
||||
}
|
||||
|
||||
|
||||
|
||||
function check_os {
|
||||
test ! -z "$distro" && test ! -z "${version}${codename}"
|
||||
return $?
|
||||
}
|
||||
|
||||
function detect_os_system {
|
||||
check_os && return 0
|
||||
echo_running "$text"
|
||||
local text="Detecting your OS distribution and release using system methods ..."
|
||||
|
||||
local tool_rc=1
|
||||
test -f '/etc/os-release' && {
|
||||
. /etc/os-release
|
||||
distro=${distro:-$ID}
|
||||
codename=${codename:-$VERSION_CODENAME}
|
||||
codename=${codename:-$(echo $VERSION | cut -d '(' -f 2 | cut -d ')' -f 1)}
|
||||
version=${version:-$VERSION_ID}
|
||||
|
||||
test -z "${version}${codename}" && test -f '/etc/debian_version' && {
|
||||
# Workaround for Debian unstable releases; get the codename from debian_version
|
||||
codename=$(cat /etc/debian_version | cut -d '/' -f1)
|
||||
}
|
||||
|
||||
tool_rc=0
|
||||
}
|
||||
|
||||
check_os
|
||||
local rc=$?
|
||||
echo_okfail_rc $rc "$text"
|
||||
|
||||
test $tool_rc -eq 0 && {
|
||||
report_os_expanded
|
||||
}
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
function report_os_attribute {
|
||||
local name=$1
|
||||
local value=$2
|
||||
local coloured=""
|
||||
echo -n "$name="
|
||||
test -z "$value" && {
|
||||
echo -e -n "${red_colour}<empty>${no_colour} "
|
||||
} || {
|
||||
echo -e -n "${green_colour}${value}${no_colour} "
|
||||
}
|
||||
}
|
||||
|
||||
function report_os_expanded {
|
||||
echo_helptext "Detected/provided for your OS/distribution, version and architecture:"
|
||||
echo " >>>>:"
|
||||
report_os_values
|
||||
}
|
||||
|
||||
function report_os_values {
|
||||
echo -n " >>>>: ... "
|
||||
report_os_attribute "distro" $distro
|
||||
report_os_attribute "version" $version
|
||||
report_os_attribute "codename" $codename
|
||||
report_os_attribute "arch" $arch
|
||||
echo
|
||||
echo " >>>>:"
|
||||
}
|
||||
|
||||
function detect_os_legacy_python {
|
||||
check_os && return 0
|
||||
|
||||
local text="Detecting your OS distribution and release using legacy python ..."
|
||||
echo_running "$text"
|
||||
|
||||
IFS='' read -r -d '' script <<-'EOF'
|
||||
from __future__ import unicode_literals, print_function
|
||||
import platform;
|
||||
info = platform.linux_distribution() or ('', '', '');
|
||||
for key, value in zip(('distro', 'version', 'codename'), info):
|
||||
print("local guess_%s=\"%s\"\n" % (key, value.lower().replace(' ', '')));
|
||||
EOF
|
||||
|
||||
local tool_rc=1
|
||||
check_tool_silent "python" && {
|
||||
eval $(python -c "$script")
|
||||
distro=${distro:-$guess_distro}
|
||||
codename=${codename:-$guess_codename}
|
||||
version=${version:-$guess_version}
|
||||
tool_rc=$?
|
||||
}
|
||||
|
||||
check_os
|
||||
local rc=$?
|
||||
echo_okfail_rc $rc "$text"
|
||||
|
||||
check_tool_silent "python" || {
|
||||
echo_helptext "Python isn't available, so skipping detection method (hint: install python)"
|
||||
}
|
||||
|
||||
test $tool_rc -eq 0 && {
|
||||
report_os
|
||||
}
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
function detect_os_modern_python {
|
||||
check_os && return 0
|
||||
|
||||
check_tool_silent "python" && {
|
||||
local text="Ensuring python-pip is installed ..."
|
||||
echo_running "$text"
|
||||
check_tool_silent "pip"
|
||||
echo_okfail "$text" || {
|
||||
local text="Checking if pip can be bootstrapped without get-pip ..."
|
||||
echo_running "$text"
|
||||
python -m ensurepip --default-pip &>$tmp_log
|
||||
echo_okfail "$text" || {
|
||||
local text="Installing pip via get-pip bootstrap ..."
|
||||
echo_running "$text"
|
||||
curl -1sLf https://bootstrap.pypa.io/get-pip.py 2>$tmp/log | python &>$tmp_log
|
||||
echo_okfail "$text" || die "Failed to install pip!"
|
||||
}
|
||||
}
|
||||
|
||||
# FIXME(ls): Install distro into a temporary virtualenv
|
||||
local text="Installing 'distro' python library ..."
|
||||
echo_running "$text"
|
||||
python -c 'import distro' &>$tmp_log || python -m pip install distro &>$tmp_log
|
||||
echo_okfail "$text" || die "Failed to install required 'distro' python library!"
|
||||
}
|
||||
|
||||
IFS='' read -r -d '' script <<-'EOF'
|
||||
from __future__ import unicode_literals, print_function
|
||||
import distro;
|
||||
info = distro.linux_distribution(full_distribution_name=False) or ('', '', '');
|
||||
for key, value in zip(('distro', 'version', 'codename'), info):
|
||||
print("local guess_%s=\"%s\"\n" % (key, value.lower().replace(' ', '')));
|
||||
EOF
|
||||
|
||||
local text="Detecting your OS distribution and release using modern python ..."
|
||||
echo_running "$text"
|
||||
|
||||
local tool_rc=1
|
||||
check_tool_silent "python" && {
|
||||
eval $(python -c "$script")
|
||||
distro=${distro:-$guess_distro}
|
||||
codename=${codename:-$guess_codename}
|
||||
version=${version:-$guess_version}
|
||||
tool_rc=$?
|
||||
}
|
||||
|
||||
check_os
|
||||
local rc=$?
|
||||
echo_okfail_rc $rc "$text"
|
||||
|
||||
check_tool_silent "python" || {
|
||||
echo_helptext "Python isn't available, so skipping detection method (hint: install python)"
|
||||
}
|
||||
|
||||
test $tool_rc -eq 0 && {
|
||||
report_os_expanded
|
||||
}
|
||||
|
||||
return $rc
|
||||
}
|
||||
|
||||
function detect_os {
|
||||
# Backwards compat for old distribution parameter names
|
||||
distro=${distro:-$os}
|
||||
codename=${codename:-$dist}
|
||||
|
||||
arch=${arch:-$(arch || uname -m)}
|
||||
|
||||
detect_os_system ||
|
||||
detect_os_legacy_python ||
|
||||
detect_os_modern_python
|
||||
|
||||
(test -z "$distro" || test -z "${version}${codename}") && {
|
||||
echo_okfail_rc "1" "Unable to detect your OS distribution and/or release!"
|
||||
cat <<EOF
|
||||
>>>>:
|
||||
>>>>: The 'distro' value is required, and either 'version' or 'codename' values,
|
||||
>>>>: or both. Without these, the install script cannot retrieve the correct
|
||||
>>>>: configuration for this system.
|
||||
>>>>:
|
||||
>>>>: You can force this script to use a particular value by specifying distro,
|
||||
>>>>: version, or codename via environment variable. E.g., to specify a distro
|
||||
>>>>: such as $example_name, use the following:
|
||||
>>>>:
|
||||
>>>>: $prefix distro=$example_distro version=$example_version codename=$example_codename $self
|
||||
>>>>:
|
||||
EOF
|
||||
die
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function config_url {
|
||||
echo "https://dl.cloudsmith.io/public/isc/kea-2-0/config.deb.txt?distro=${distro}&codename=${codename}&version=${version}&arch=${arch}" | sed 's/ /%20/g'
|
||||
}
|
||||
|
||||
function check_fetch_config {
|
||||
local text="Checking if upstream install config is OK ..."
|
||||
echo_running "$text"
|
||||
local code="$(curl -1IsL -w "%{http_code}\\n" "$(config_url)" -o /dev/null --connect-timeout 15 --max-time 60)"
|
||||
test "$code" == "200" && {
|
||||
echo_okfail_rc 0 "$text"
|
||||
return 0
|
||||
} || {
|
||||
echo_okfail_rc 1 "$text"
|
||||
echo_helptext "Failed to fetch configuration for your OS distribution release/version."
|
||||
cat <<EOF
|
||||
>>>>:
|
||||
EOF
|
||||
test "$code" == "404" && {
|
||||
cat <<EOF
|
||||
>>>>: It looks like we don't currently support your distribution release and
|
||||
>>>>: version. This is something that we can fix by adding it to our list of
|
||||
>>>>: supported versions (see contact us below), or you can manually override
|
||||
>>>>: the values below to an equivalent distribution that we do support:
|
||||
>>>>:
|
||||
EOF
|
||||
report_os_values
|
||||
} || {
|
||||
cat <<EOF
|
||||
>>>>: It looks like it might be because the configuration endpoint is not
|
||||
>>>>: currently available. Please try again in 10-15 minutes. If it still
|
||||
>>>>: doesn't work after an hour, please contact ISC - Internet Systems Consortium
|
||||
>>>>: for assistance.
|
||||
>>>>:
|
||||
EOF
|
||||
}
|
||||
|
||||
cat <<EOF
|
||||
>>>>: You can force this script to use a particular value by specifying distro,
|
||||
>>>>: version, or codename via environment variable. E.g., to specify a distro
|
||||
>>>>: such as $example_name, use the following:
|
||||
>>>>:
|
||||
>>>>: $prefix distro=$example_distro version=$example_version codename=$example_codename $self
|
||||
>>>>:
|
||||
EOF
|
||||
die
|
||||
}
|
||||
}
|
||||
|
||||
function fetch_config {
|
||||
curl -1sLf "$(config_url)"
|
||||
}
|
||||
|
||||
|
||||
function check_dpkg_tool {
|
||||
local tool=${1}
|
||||
local required=${2:-true}
|
||||
local install=${3:-true}
|
||||
|
||||
local text="Checking for apt dependency '$tool' ..."
|
||||
echo_running "$text"
|
||||
dpkg -l | grep "$tool\>" &>$tmp_log
|
||||
echo_okfail "$text" || {
|
||||
if $install; then
|
||||
test "$apt_updated" == "yes" || update_apt
|
||||
local text="Attempting to install '$tool' ..."
|
||||
echo_running "$text"
|
||||
apt-get install -y "$tool" &>$tmp_log
|
||||
echo_okfail "$text" || {
|
||||
if $required; then
|
||||
die "Could not install '$tool', check your permissions, etc."
|
||||
fi
|
||||
}
|
||||
else
|
||||
if $required; then
|
||||
die "$tool is not installed, but is required by this script."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
function update_apt {
|
||||
local text="Updating apt repository metadata cache ..."
|
||||
local tmp_log=$(mktemp .csm_deb_output_XXXXXXXXX.log)
|
||||
echo_running "$text"
|
||||
apt-get update &>$tmp_log
|
||||
echo_okfail "$text" || {
|
||||
echo_colour "red" "Failed to update via apt-get update"
|
||||
cat $tmp_log
|
||||
rm -rf $tmp_log
|
||||
die "Failed to update via apt-get update - Context above."
|
||||
}
|
||||
rm -rf $tmp_log
|
||||
apt_updated="yes"
|
||||
}
|
||||
|
||||
function install_apt_prereqs {
|
||||
# Debian-archive-keyring has to be installed for apt-transport-https.
|
||||
test "${os}" == "debian" && {
|
||||
check_dpkg_tool "debian-keyring"
|
||||
check_dpkg_tool "debian-archive-keyring"
|
||||
}
|
||||
|
||||
check_dpkg_tool "apt-transport-https"
|
||||
check_dpkg_tool "ca-certificates" false
|
||||
check_dpkg_tool "gnupg"
|
||||
}
|
||||
|
||||
function import_gpg_key {
|
||||
local text="Importing 'isc/kea-2-0' repository GPG keys ..."
|
||||
echo_running "$text"
|
||||
|
||||
local gpg_keyring_path="/usr/share/keyrings/isc-kea-2-0-archive-keyring.gpg"
|
||||
|
||||
curl -1sLf "https://dl.cloudsmith.io/public/isc/kea-2-0/gpg.8029D4AFA58CBB5E.key" | gpg --dearmor >> $gpg_keyring_path
|
||||
|
||||
local signed_by_version="1.1"
|
||||
local detected_version=$(dpkg -s apt | grep Version | cut -d' ' -f2)
|
||||
|
||||
[ "$(printf "%s\n" $detected_version $signed_by_version | sort -V | head -n 1)" == "$signed_by_version" ]
|
||||
|
||||
echo_okfail "Checking for apt signed-by key support ..." || {
|
||||
mv ${gpg_keyring_path} /etc/apt/trusted.gpg.d/isc-kea-2-0.gpg
|
||||
}
|
||||
|
||||
echo_okfail "$text" || die "Could not import the GPG key for this repository"
|
||||
}
|
||||
|
||||
function setup_repository {
|
||||
local repo_path="/etc/apt/sources.list.d/isc-kea-2-0.list"
|
||||
check_fetch_config
|
||||
|
||||
local text="Installing 'isc/kea-2-0' repository via apt ..."
|
||||
echo_running "$text"
|
||||
fetch_config > "$repo_path"
|
||||
echo_okfail "$text" || die "Could not install the repository, do you have permissions?"
|
||||
}
|
||||
|
||||
|
||||
|
||||
function usage () {
|
||||
cat <<EOF
|
||||
Usage: $self [opts]
|
||||
-h Displays this usage text.
|
||||
-i Ignore repository setup errors during setup and
|
||||
continue with install. This will leave the repository config
|
||||
in place rather than removing it upon errors.
|
||||
EOF
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
trap cleanup EXIT
|
||||
trap shutdown INT
|
||||
|
||||
|
||||
|
||||
ignore_errors=1
|
||||
|
||||
apt_updated="no"
|
||||
|
||||
|
||||
|
||||
while getopts ":ih" OPT; do
|
||||
case $OPT in
|
||||
i) ignore_errors=0 ;;
|
||||
h) usage ;;
|
||||
\?) usage ;;
|
||||
esac
|
||||
done
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
|
||||
#
|
||||
# MAIN
|
||||
#
|
||||
|
||||
echo "Executing the setup script for the 'isc/kea-2-0' repository ..."
|
||||
echo
|
||||
|
||||
|
||||
|
||||
check_tool "curl"
|
||||
|
||||
check_tool "apt-get"
|
||||
|
||||
|
||||
|
||||
detect_os
|
||||
|
||||
install_apt_prereqs
|
||||
import_gpg_key
|
||||
setup_repository
|
||||
update_apt
|
||||
|
||||
|
||||
echo_okfail_rc "0" "The repository has been installed successfully - You're ready to rock!"
|
|
@ -1,228 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#####################################################################
|
||||
####### Script instalador Ogclient
|
||||
####### Autor: Luis Gerardo Romero <lguillen@unizar.es>
|
||||
#####################################################################
|
||||
|
||||
function globalSetup ()
|
||||
{
|
||||
PROGRAMDIR=$(readlink -e "$(dirname "$0")")
|
||||
PROGRAMNAME=$(basename "$0")
|
||||
|
||||
# Comprobar si se ha descargado el paquete comprimido (REMOTE=0) o sólo el instalador (REMOTE=1).
|
||||
OPENGNSYS_SERVER="opengnsys.es"
|
||||
if [ -d "$PROGRAMDIR/../installer" ]; then
|
||||
echo REMOTE=0
|
||||
REMOTE=0
|
||||
else
|
||||
echo REMOTE=1
|
||||
REMOTE=1
|
||||
fi
|
||||
BRANCH=$1
|
||||
if [[ -z $BRANCH ]]; then
|
||||
BRANCH="main"
|
||||
fi
|
||||
GIT_REPO="ssh://git@ognproject.evlt.uma.es:21987/opengnsys/ogdhcp.git"
|
||||
|
||||
# Directorios de instalación y destino de OpenGnsys.
|
||||
WORKDIR=/tmp/ogclient_installer
|
||||
INSTALL_TARGET=/opt/ogclient
|
||||
PATH=$PATH:$INSTALL_TARGET/bin
|
||||
|
||||
# Registro de incidencias.
|
||||
OGLOGFILE=$INSTALL_TARGET/log/${PROGRAMNAME%.sh}.log
|
||||
LOG_FILE=/tmp/$(basename $OGLOGFILE)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Función para instalar los paquetes necesarios para KEA-DHCP
|
||||
install_kea() {
|
||||
sudo apt-get install -y kea-dhcp4-server kea-dhcp6-server
|
||||
}
|
||||
|
||||
# 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() {
|
||||
sudo apt-get install -y unzip
|
||||
wget https://github.com/swagger-api/swagger-ui/archive/master.zip
|
||||
unzip master.zip -d /var/www/html/
|
||||
sudo mv /var/www/html/swagger-ui-master /var/www/html/swagger-ui
|
||||
}
|
||||
|
||||
# Función para instalar el componente ogdhcp
|
||||
install_ogdhcp() {
|
||||
git clone <URL del repositorio de ogdhcp>
|
||||
sudo mv ogdhcp /opt/
|
||||
cd /opt/ogdhcp
|
||||
composer install
|
||||
}
|
||||
|
||||
|
||||
# Obtiene el código fuente del proyecto desde el repositorio de GitHub.
|
||||
function downloadCode()
|
||||
{
|
||||
if [ $# -ne 1 ]; then
|
||||
errorAndLog "${FUNCNAME}(): invalid number of parameters"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local url="$1"
|
||||
|
||||
echoAndLog "${FUNCNAME}(): downloading code from '$url'..."
|
||||
|
||||
GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=accept-new" git archive --remote=$url --format zip --output opengnsys.zip --prefix=opengnsys/ $BRANCH && unzip opengnsys.zip
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error getting OpenGnsys code from $url"
|
||||
return 1
|
||||
fi
|
||||
rm -f opengnsys.zip
|
||||
echoAndLog "${FUNCNAME}(): code was downloaded"
|
||||
return 0
|
||||
}
|
||||
|
||||
# Crea la estructura base de la instalación de opengnsys
|
||||
function createDirs()
|
||||
{
|
||||
if [ $# -ne 1 ]; then
|
||||
errorAndLog "${FUNCNAME}(): invalid number of parameters"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local path_opengnsys_base="$1"
|
||||
|
||||
# Crear estructura de directorios.
|
||||
echoAndLog "${FUNCNAME}(): creating directory paths in $path_opengnsys_base"
|
||||
mkdir -p $path_opengnsys_base
|
||||
mkdir -p $path_opengnsys_base/bin
|
||||
mkdir -p $path_opengnsys_base/config
|
||||
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/templates
|
||||
mkdir -p $path_opengnsys_base/var/{cache,log}
|
||||
mkdir -p $path_opengnsys_base/vendor
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error while creating dirs. Do you have write permissions?"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Crear usuario ficticio.
|
||||
if id -u $OPENGNSYS_CLIENT_USER &>/dev/null; then
|
||||
echoAndLog "${FUNCNAME}(): user \"$OPENGNSYS_CLIENT_USER\" is already created"
|
||||
else
|
||||
echoAndLog "${FUNCNAME}(): creating OpenGnsys user"
|
||||
useradd $OPENGNSYS_CLIENT_USER 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): error creating OpenGnsys user"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Mover el fichero de registro de instalación al directorio de logs.
|
||||
echoAndLog "${FUNCNAME}(): moving installation log file"
|
||||
mv $LOG_FILE $path_opengnsys_base/var/log && LOG_FILE=$path_opengnsys_base/var/log
|
||||
chmod 600 $LOG_FILE
|
||||
|
||||
echoAndLog "${FUNCNAME}(): directory paths created"
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
#####################################################################
|
||||
####### Algunas funciones útiles de propósito general:
|
||||
#####################################################################
|
||||
|
||||
function getDateTime()
|
||||
{
|
||||
date "+%Y%m%d-%H%M%S"
|
||||
}
|
||||
|
||||
# Escribe a fichero y muestra por pantalla
|
||||
function echoAndLog()
|
||||
{
|
||||
local DATETIME=`getDateTime`
|
||||
echo "$1"
|
||||
echo "$DATETIME;$SSH_CLIENT;$1" >> $LOG_FILE
|
||||
}
|
||||
|
||||
# Escribe a fichero y muestra mensaje de error
|
||||
function errorAndLog()
|
||||
{
|
||||
local DATETIME=`getDateTime`
|
||||
echo "ERROR: $1"
|
||||
echo "$DATETIME;$SSH_CLIENT;ERROR: $1" >> $LOG_FILE
|
||||
}
|
||||
|
||||
# Escribe a fichero y muestra mensaje de aviso
|
||||
function warningAndLog()
|
||||
{
|
||||
local DATETIME=`getDateTime`
|
||||
echo "Warning: $1"
|
||||
echo "$DATETIME;$SSH_CLIENT;Warning: $1" >> $LOG_FILE
|
||||
}
|
||||
|
||||
##########################################################################
|
||||
################################main######################################
|
||||
|
||||
|
||||
# Sólo ejecutable por usuario root
|
||||
if [ "$(whoami)" != 'root' ]; then
|
||||
echo "ERROR: this program must run under root privileges!!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Si es necesario, descarga el repositorio de código en directorio temporal
|
||||
if [ $REMOTE -eq 1 ]; then
|
||||
downloadCode $GIT_REPO
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "Error while getting code from the repository"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
ln -fs "$(dirname $PROGRAMDIR)" opengnsys
|
||||
fi
|
||||
|
||||
globalSetup
|
||||
|
||||
# Arbol de directorios de OpenGnsys.
|
||||
createDirs ${INSTALL_TARGET}
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "Error while creating directory paths!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
sudo apt-get update
|
||||
# install_kea
|
||||
# install_php
|
||||
# install_composer
|
||||
# install_symfony
|
||||
# install_swagger
|
||||
# Ahora puedes clonar e instalar el componente ogDhcp
|
||||
# git clone <URL del repositorio de ogDhcp>
|
||||
# cd <directorio de ogDhcp>
|
||||
# composer install
|
||||
|
|
@ -9,7 +9,7 @@ function globalSetup ()
|
|||
{
|
||||
PROGRAMDIR=$(readlink -e "$(dirname "$0")")
|
||||
PROGRAMNAME=$(basename "$0")
|
||||
|
||||
OPENGNSYS_CLIENT_USER="ogdhcp"
|
||||
# Comprobar si se ha descargado el paquete comprimido (REMOTE=0) o sólo el instalador (REMOTE=1).
|
||||
OPENGNSYS_SERVER="opengnsys.es"
|
||||
if [ -d "$PROGRAMDIR/../installer" ]; then
|
||||
|
@ -29,7 +29,26 @@ function globalSetup ()
|
|||
WORKDIR=/tmp/ogdhcp_installer
|
||||
INSTALL_TARGET=/opt/ogdhcp
|
||||
PATH=$PATH:$INSTALL_TARGET/bin
|
||||
|
||||
if which service &>/dev/null; then
|
||||
STARTSERVICE="eval service \$service restart"
|
||||
STOPSERVICE="eval service \$service stop"
|
||||
else
|
||||
STARTSERVICE="eval /etc/init.d/\$service restart"
|
||||
STOPSERVICE="eval /etc/init.d/\$service stop"
|
||||
fi
|
||||
ENABLESERVICE="eval update-rc.d \$service defaults"
|
||||
DISABLESERVICE="eval update-rc.d \$service disable"
|
||||
APACHESERV=apache2
|
||||
APACHECFGDIR=/etc/apache2
|
||||
APACHESITESDIR=sites-available
|
||||
APACHEOGSITE=ogdhcp
|
||||
APACHEUSER="www-data"
|
||||
APACHEGROUP="www-data"
|
||||
APACHEENABLEMODS="a2enmod headers ssl rewrite proxy_fcgi fastcgi actions alias"
|
||||
APACHEENABLESSL="a2ensite default-ssl"
|
||||
APACHEENABLEOG="a2ensite $APACHEENABLEOG"
|
||||
APACHEMAKECERT="make-ssl-cert generate-default-snakeoil --force-overwrite"
|
||||
PHPFPMSERV=php7.2-fpm
|
||||
# Registro de incidencias.
|
||||
OGLOGFILE=$INSTALL_TARGET/log/${PROGRAMNAME%.sh}.log
|
||||
LOG_FILE=/tmp/$(basename $OGLOGFILE)
|
||||
|
@ -54,6 +73,25 @@ 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() {
|
||||
|
@ -76,7 +114,7 @@ function install_apache_dependencies() {
|
|||
|
||||
# Función para instalar los paquetes necesarios para KEA-DHCP
|
||||
install_kea() {
|
||||
sudo apt-get install -y kea-dhcp4-server kea-dhcp6-server
|
||||
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
|
||||
|
@ -106,14 +144,6 @@ install_swagger() {
|
|||
sudo mv /var/www/html/swagger-ui-master /var/www/html/swagger-ui
|
||||
}
|
||||
|
||||
# Función para instalar el componente ogdhcp
|
||||
install_ogdhcp() {
|
||||
git clone <URL del repositorio de ogdhcp>
|
||||
sudo mv ogdhcp /opt/
|
||||
cd /opt/ogdhcp
|
||||
composer install
|
||||
}
|
||||
|
||||
|
||||
# Obtiene el código fuente del proyecto desde el repositorio de GitHub.
|
||||
function downloadCode()
|
||||
|
@ -155,6 +185,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/templates
|
||||
mkdir -p $path_opengnsys_base/var/{cache,log}
|
||||
mkdir -p $path_opengnsys_base/vendor
|
||||
|
@ -175,13 +206,16 @@ function createDirs()
|
|||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Mover el fichero de registro de instalación al directorio de logs.
|
||||
echoAndLog "${FUNCNAME}(): moving installation log file"
|
||||
mv $LOG_FILE $path_opengnsys_base/var/log && LOG_FILE=$path_opengnsys_base/var/log
|
||||
chmod 600 $LOG_FILE
|
||||
mv $LOG_FILE $path_opengnsys_base/var/log && LOG_FILE=$OGLOGFILE
|
||||
chmod 777 $LOG_FILE
|
||||
|
||||
echoAndLog "${FUNCNAME}(): directory paths created"
|
||||
return 0
|
||||
echoAndLog "Changing user permission"
|
||||
chown -R $OPENGNSYS_CLIENT_USER:$OPENGNSYS_CLIENT_USER $INSTALL_TARGET
|
||||
}
|
||||
|
||||
|
||||
|
@ -199,6 +233,7 @@ function copyServerFiles ()
|
|||
config \
|
||||
public \
|
||||
src \
|
||||
etc \
|
||||
templates \
|
||||
tests \
|
||||
vendor \
|
||||
|
@ -211,6 +246,7 @@ function copyServerFiles ()
|
|||
config \
|
||||
public \
|
||||
src \
|
||||
etc \
|
||||
templates \
|
||||
tests \
|
||||
vendor \
|
||||
|
@ -241,10 +277,125 @@ function copyServerFiles ()
|
|||
warningAndLog "Unable to copy ${SOURCES[$i]} to $path_opengnsys_base/${TARGETS[$i]}"
|
||||
fi
|
||||
done
|
||||
echoAndLog "Changing user permission"
|
||||
chown -R $OPENGNSYS_CLIENT_USER:$OPENGNSYS_CLIENT_USER $INSTALL_TARGET
|
||||
|
||||
|
||||
popd
|
||||
}
|
||||
|
||||
function downloadComposer() {
|
||||
echoAndLog "Downloading composer.phar..."
|
||||
|
||||
# Crear el directorio de trabajo si no existe
|
||||
mkdir -p $WORKDIR/ogdhcp/bin
|
||||
|
||||
# Cambiar al directorio de trabajo
|
||||
pushd $WORKDIR/ogdhcp/bin
|
||||
|
||||
# Descargar composer.phar
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
|
||||
# Comprobar si la descarga fue exitosa
|
||||
if [ ! -f composer.phar ]; then
|
||||
errorAndLog "Failed to download composer.phar"
|
||||
popd
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Crear el directorio de destino si no existe
|
||||
mkdir -p /opt/ogdhcp/bin
|
||||
|
||||
# Mover composer.phar a /opt/ogdhcp/bin
|
||||
mv composer.phar /opt/ogdhcp/bin/
|
||||
|
||||
# Comprobar si el movimiento fue exitoso
|
||||
if [ ! -f /opt/ogdhcp/bin/composer.phar ]; then
|
||||
errorAndLog "Failed to move composer.phar to /opt/ogdhcp/bin"
|
||||
popd
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Volver al directorio original
|
||||
popd
|
||||
|
||||
echoAndLog "composer.phar downloaded and moved to /opt/ogdhcp/bin"
|
||||
return 0
|
||||
}
|
||||
|
||||
function runComposer() {
|
||||
echoAndLog "Running composer.phar to install dependencies..."
|
||||
|
||||
# Cambiar al directorio donde está composer.phar
|
||||
pushd /opt/ogdhcp/bin
|
||||
|
||||
# Ejecutar composer.phar
|
||||
sudo -u $OPENGNSYS_CLIENT_USER php composer.phar install
|
||||
|
||||
# Comprobar si la ejecución fue exitosa
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "Failed to run composer.phar"
|
||||
popd
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Volver al directorio original
|
||||
popd
|
||||
|
||||
echoAndLog "composer.phar ran successfully and dependencies were installed"
|
||||
return 0
|
||||
}
|
||||
|
||||
function installWebConsoleApacheConf()
|
||||
{
|
||||
if [ $# -ne 2 ]; then
|
||||
errorAndLog "${FUNCNAME}(): invalid number of parameters"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local path_opengnsys_base="$1"
|
||||
local path_apache2_confd="$2"
|
||||
local OGHDPCDIR=${path_opengnsys_base}/public
|
||||
local sockfile
|
||||
|
||||
if [ ! -d $path_apache2_confd ]; then
|
||||
errorAndLog "${FUNCNAME}(): path to apache2 conf.d can not found, verify your server installation"
|
||||
return 1
|
||||
fi
|
||||
|
||||
mkdir -p $path_apache2_confd/{sites-available,sites-enabled}
|
||||
|
||||
echoAndLog "${FUNCNAME}(): creating apache2 config file.."
|
||||
|
||||
# Avtivar PHP-FPM.
|
||||
echoAndLog "${FUNCNAME}(): configuring PHP-FPM"
|
||||
service=$PHPFPMSERV
|
||||
$ENABLESERVICE; $STARTSERVICE
|
||||
sockfile=$(find /run/php -name "php*.sock" -type s -print 2>/dev/null | tail -1)
|
||||
|
||||
# Activar módulos de Apache.
|
||||
$APACHEENABLEMODS
|
||||
|
||||
# Genera configuración de consola web a partir del fichero plantilla.
|
||||
if [ -n "$sockfile" ]; then
|
||||
sed -e "s,OGHDPCDIR,$OGHDPCDIR,g" \
|
||||
-e "s,proxy:fcgi:.*,proxy:unix:${sockfile%% *}|fcgi://localhost\",g" \
|
||||
$WORKDIR/ogdhcp/etc/apache.conf.tmpl > $path_apache2_confd/$APACHESITESDIR/${APACHEOGSITE}.conf
|
||||
else
|
||||
sed -e "s,OGHDPCDIR,$OGHDPCDIR,g" \
|
||||
$WORKDIR/ogdhcp/server/etc/apache.conf.tmpl > $path_apache2_confd/$APACHESITESDIR/${APACHEOGSITE}.conf
|
||||
fi
|
||||
$APACHEENABLEOG
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "${FUNCNAME}(): config file can't be linked to apache conf, verify your server installation"
|
||||
return 1
|
||||
fi
|
||||
echoAndLog "${FUNCNAME}(): config file created and linked, restarting apache daemon"
|
||||
service=$APACHESERV
|
||||
$ENABLESERVICE; $STARTSERVICE
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
#####################################################################
|
||||
####### Algunas funciones útiles de propósito general:
|
||||
|
@ -260,6 +411,7 @@ function echoAndLog()
|
|||
{
|
||||
local DATETIME=`getDateTime`
|
||||
echo "$1"
|
||||
echo $LOG_FILE
|
||||
echo "$DATETIME;$SSH_CLIENT;$1" >> $LOG_FILE
|
||||
}
|
||||
|
||||
|
@ -289,8 +441,15 @@ if [ "$(whoami)" != 'root' ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
globalSetup
|
||||
|
||||
echoAndLog "OpenGnsys installation begins at $(date)"
|
||||
|
||||
mkdir -p $WORKDIR
|
||||
pushd $WORKDIR
|
||||
|
||||
checkDependencies
|
||||
install_kea
|
||||
# Si es necesario, descarga el repositorio de código en directorio temporal
|
||||
if [ $REMOTE -eq 1 ]; then
|
||||
downloadCode $GIT_REPO
|
||||
|
@ -299,15 +458,9 @@ if [ $REMOTE -eq 1 ]; then
|
|||
exit 1
|
||||
fi
|
||||
else
|
||||
ln -fs "$(dirname $PROGRAMDIR)" opengnsys
|
||||
ln -fs "$(dirname $PROGRAMDIR)" ogdhcp
|
||||
fi
|
||||
|
||||
globalSetup
|
||||
|
||||
echoAndLog "OpenGnsys installation begins at $(date)"
|
||||
|
||||
mkdir -p $WORKDIR
|
||||
pushd $WORKDIR
|
||||
|
||||
# Arbol de directorios de OpenGnsys.
|
||||
createDirs ${INSTALL_TARGET}
|
||||
|
@ -323,6 +476,17 @@ if [ $? -ne 0 ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
downloadComposer
|
||||
|
||||
runComposer
|
||||
|
||||
# Creando configuración de Apache.
|
||||
installWebConsoleApacheConf $INSTALL_TARGET $APACHECFGDIR
|
||||
if [ $? -ne 0 ]; then
|
||||
errorAndLog "Error configuring Apache for OpenGnsys Admin"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo apt-get update
|
||||
# install_kea
|
||||
# install_php
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
|
||||
function purge_php_packages {
|
||||
PACKAGES=(libapache2-mod-php php php-bcmath php-cli php-cli-prompt php-common php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-curl php-fpm php-gd php-json php-json-schema php-mbstring php-mysql php-pear php-psr-log php-symfony-console php-symfony-debug php-symfony-filesystem php-symfony-finder php-symfony-polyfill-mbstring php-symfony-process php-xml php-zip php7.2 php7.2-bcmath php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml php7.2-zip)
|
||||
|
||||
for PACKAGE in "${PACKAGES[@]}"
|
||||
do
|
||||
sudo apt-get purge -y $PACKAGE
|
||||
done
|
||||
}
|
||||
|
||||
# Call the function
|
||||
purge_php_packages
|
||||
|
||||
# Verify that all PHP packages have been removed
|
||||
dpkg --get-selections | grep -i php
|
|
@ -3,7 +3,7 @@ window.onload = function() {
|
|||
|
||||
// the following lines will be replaced by docker/configurator, when it runs in a docker-container
|
||||
window.ui = SwaggerUIBundle({
|
||||
url: "http://localhost:8001/swagger.json",
|
||||
url: "http://192.168.0.27:8080/swagger.json",
|
||||
dom_id: '#swagger-ui',
|
||||
deepLinking: true,
|
||||
presets: [
|
||||
|
|
Loading…
Reference in New Issue