Skip to content

Commit

Permalink
Merge branch 'working' into dev-branch
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastian-Roth committed Nov 15, 2018
2 parents e418949 + d7d1772 commit 348f695
Show file tree
Hide file tree
Showing 49 changed files with 1,260 additions and 980 deletions.
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@

FOG is a free open-source cloning/imaging solution/rescue suite. FOG can be used to image Windows XP, Vista, Windows 7 and Window 8 PCs using PXE, PartClone, and a Web GUI to tie it together. Includes features like memory and disk test, disk wipe, av scan & task scheduling.

## Install Stable (1.5.1)
## Install Stable

0. Install and update your chosen linux server

1. Download the file(s)

- All that is needed to start installation is to download the files to perform the install. Choose one of the following methods you prefer;

- **git** ` git clone https://github.com/fogproject/fogproject.git fog_1.5.1/`
- **git** ` git clone https://github.com/fogproject/fogproject.git fog_stable/`

2. Go into the downloaded source/bin folder

- `cd fog_1.5.1/bin`
- `cd fog_stable/bin`

3. Run the Install and follow all prompts accordingly

Expand All @@ -37,12 +37,10 @@

- ### Initial setup

- **svn** `svn checkout https://svn.code.sf.net/p/freeghost/code/trunk trunk/; cd trunk/bin/`
- **git** `git clone https://github.com/fogproject/fogproject.git trunk/; git checkout dev-branch; cd trunk/bin/`

- **Update setup**

- **svn** `cd trunk/; svn up; cd bin/`
- **git** `cd trunk/; git pull; cd bin/`

3. Run the Install and follow all prompts accordingly
Expand All @@ -66,11 +64,11 @@ There are many resources for assistance.

## Development

Download the source with either git or SVN and checkout the `dev-branch` for the latest code or a more specific feature branch you would like to help work on.
Download the source with git and checkout the `working` for the latest code or a more specific feature branch you would like to help work on.

As you are running a development branch, please post bugs to either:

- A new issue on https://github.com/FOGProject/fogproject/issues
- https://forums.fogproject.org/category/17/bug-reports

If you would like to create a pull request, please make the pull request into the dev-branch branch.
If you would like to create a pull request, please make the pull request into the `working` branch.
2 changes: 1 addition & 1 deletion bin/installfog.sh
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ if [[ -z $backupPath ]]; then
fi
[[ -z $bootfilename ]] && bootfilename="undionly.kpxe"
[[ ! $doupdate -eq 1 || ! $fogupdateloaded -eq 1 ]] && . ../lib/common/input.sh
fullrelease="1.5.4"
fullrelease="1.5.5"
echo
echo " ######################################################################"
echo " # FOG now has everything it needs for this setup, but please #"
Expand Down
2 changes: 1 addition & 1 deletion lib/arch/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
[[ -z $packages ]] && packages="apache bc cdrtools curl dhcp gcc gzip lftp m4 make mariadb mod_fastcgi net-tools nfs-utils openssh openssl perl perl-crypt-passwdmd5 php php-apache php-fpm php-gd php-mcrypt syslinux tar tftp-hpa vsftpd wget xinetd xz"
[[ -z $packages ]] && packages="apache bc cdrtools curl dhcp gcc gzip lftp m4 make mariadb mod_fastcgi net-tools nfs-utils openssh openssl perl perl-crypt-passwdmd5 php php-apache php-fpm php-gd syslinux tar tftp-hpa vsftpd wget xinetd xz"
[[ -z $packageinstaller ]] && packageinstaller="pacman -Sy --noconfirm"
[[ -z $packagelist ]] && packagelist="pacman -Si"
[[ -z $packageupdater ]] && packageupdater="pacman -Syu --noconfirm"
Expand Down
49 changes: 21 additions & 28 deletions lib/common/functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ configureFTP() {
seccompsand="seccomp_sandbox=NO"
fi
[[ $osid -eq 3 ]] && tcpwrappers="NO" || tcpwrappers="YES"
echo -e "anonymous_enable=NO\nlocal_enable=YES\nwrite_enable=YES\nlocal_umask=022\ndirmessage_enable=YES\nxferlog_enable=YES\nconnect_from_port_20=YES\nxferlog_std_format=YES\nlisten=YES\npam_service_name=vsftpd\nuserlist_enable=NO\ntcp_wrappers=$tcpwrappers\n$seccompsand" > "$ftpconfig"
echo -e "max_per_ip=200\nanonymous_enable=NO\nlocal_enable=YES\nwrite_enable=YES\nlocal_umask=022\ndirmessage_enable=YES\nxferlog_enable=YES\nconnect_from_port_20=YES\nxferlog_std_format=YES\nlisten=YES\npam_service_name=vsftpd\nuserlist_enable=NO\ntcp_wrappers=$tcpwrappers\n$seccompsand" > "$ftpconfig"
case $systemctl in
yes)
systemctl enable vsftpd >>$workingdir/error_logs/fog_error_${version}.log 2>&1
Expand Down Expand Up @@ -534,8 +534,13 @@ addUbuntuRepo() {
DEBIAN_FRONTEND=noninteractive $packageinstaller python-software-properties software-properties-common ntpdate >>$workingdir/error_logs/fog_error_${version}.log 2>&1
ntpdate pool.ntp.org >>$workingdir/error_logs/fog_error_${version}.log 2>&1
locale-gen 'en_US.UTF-8' >>$workingdir/error_logs/fog_error_${version}.log 2>&1
LANG='en_US.UTF-8' LC_ALL='en_US.UTF-8' add-apt-repository -y ppa:ondrej/${repo} >>$workingdir/error_logs/fog_error_${version}.log 2>&1
LANG='en_US.UTF-8' LC_ALL='en_US.UTF-8' add-apt-repository -y ppa:ondrej/apache2 >>$workingdir/error_logs/fog_error_${version}.log 2>&1
if [[ $linuxReleaseName == +(*[Uu][Bb][Uu][Nn][Tt][Uu]*) && $OSVersion -ge 18 ]]; then
# Fix missing universe section for Ubuntu 18.04 LIVE
LANG='en_US.UTF-8' LC_ALL='en_US.UTF-8' add-apt-repository -y universe >>$workingdir/error_logs/fog_error_${version}.log 2>&1
else
LANG='en_US.UTF-8' LC_ALL='en_US.UTF-8' add-apt-repository -y ppa:ondrej/${repo} >>$workingdir/error_logs/fog_error_${version}.log 2>&1
LANG='en_US.UTF-8' LC_ALL='en_US.UTF-8' add-apt-repository -y ppa:ondrej/apache2 >>$workingdir/error_logs/fog_error_${version}.log 2>&1
fi
return $?
}
installPackages() {
Expand Down Expand Up @@ -587,19 +592,8 @@ installPackages() {
packages="${packages// libapache2-mod-evasive/}"
packages="${packages} php${php_ver}-bcmath bc"
case $linuxReleaseName in
*[Bb][Ii][Aa][Nn]*)
if [[ $OSVersion -eq 7 ]]; then
debcode="wheezy"
grep -l "deb http://packages.dotdeb.org $debcode-php56 all" "/etc/apt/sources.list" >>$workingdir/error_logs/fog_error_${version}.log 2>&1
if [[ $? != 0 ]]; then
echo -e "deb http://packages.dotdeb.org $debcode-php56 all\ndeb-src http://packages.dotdeb.org $debcode-php56 all\n" >> "/etc/apt/sources.list"
fi
fi
;;
*)
if [[ $linuxReleaseName == +(*[Uu][Bb][Uu][Nn][Tt][Uu]*|*[Mm][Ii][Nn][Tt]*) ]]; then
addUbuntuRepo
fi
*[Uu][Bb][Uu][Nn][Tt][Uu]*|*[Mm][Ii][Nn][Tt]*)
addUbuntuRepo
;;
esac
;;
Expand Down Expand Up @@ -1511,13 +1505,19 @@ EOF
if [[ -n $phpfpmconf ]]; then
sed -i 's/listen = .*/listen = 127.0.0.1:9000/g' $phpfpmconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/^[;]pm\.max_requests = .*/pm.max_requests = 2000/g' $phpfpmconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/^[;]php_admin_value\[memory_limit\] = .*/php_admin_value[memory_limit] = 256M/g' $phpfpmconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/pm\.max_children = .*/pm.max_children = 50/g' $phpfpmconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/pm\.min_spare_servers = .*/pm.min_spare_servers = 5/g' $phpfpmconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/pm\.max_spare_servers = .*/pm.max_spare_servers = 10/g' $phpfpmconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/pm\.start_servers = 2/pm.start_servers = 5/g' $phpfpmconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
fi
if [[ $osid -eq 2 ]]; then
a2enmod $phpcmd >>$workingdir/error_logs/fog_error_${version}.log 2>&1
a2enmod proxy_fcgi setenvif >>$workingdir/error_logs/fog_error_${version}.log 2>&1
a2enmod rewrite >>$workingdir/error_logs/fog_error_${version}.log 2>&1
a2enmod ssl >>$workingdir/error_logs/fog_error_${version}.log 2>&1
a2ensite "001-fog" >>$workingdir/error_logs/fog_error_${version}.log 2>&1
a2dissite "000-default" >>$workingdir/error_logs/fog_error_${version}.log 2>&1
fi
fi
;;
Expand Down Expand Up @@ -1609,7 +1609,10 @@ configureHttpd() {
;;
*)
dots "Removing vhost file"
[[ $osid -eq 2 ]] && a2dissite 001-fog >>$workingdir/error_logs/fog_error_${version}.log 2>&1
if [[ $osid -eq 2 ]]; then
a2dissite 001-fog >>$workingdir/error_logs/fog_error_${version}.log 2>&1
a2ensite 000-default >>$workingdir/error_logs/fog_error_${version}.log 2>&1
fi
rm $etcconf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
errorStat $?
;;
Expand Down Expand Up @@ -1730,7 +1733,6 @@ configureHttpd() {
sed -i 's/;extension=gd/extension=gd/g' $phpini >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/;extension=gettext/extension=gettext/g' $phpini >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/;extension=ldap/extension=ldap/g' $phpini >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/;extension=mcrypt/extension=mcrypt/g' $phpini >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/;extension=mysqli/extension=mysqli/g' $phpini >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/;extension=openssl/extension=openssl/g' $phpini >>$workingdir/error_logs/fog_error_${version}.log 2>&1
sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/g' $phpini >>$workingdir/error_logs/fog_error_${version}.log 2>&1
Expand Down Expand Up @@ -1950,16 +1952,6 @@ class Config
fi
fi
fi
php -m | grep mcrypt >>$workingdir/error_logs/fog_error_${version}.log 2>&1
if [[ ! $? -eq 0 ]]; then
${phpcmd}enmod mcrypt >>$workingdir/error_logs/fog_error_${version}.log 2>&1
if [[ ! $? -eq 0 ]]; then
if [[ -e /etc/php${php_ver}/conf.d/mcrypt.ini ]]; then
cp -f "/etc/php${php_ver}/conf.d/mcrypt.ini" "/etc/php${php_ver}/mods-available/php${php_ver}-mcrypt.ini" >>$workingdir/error_logs/fog_error_${version}.log 2>&1
${phpcmd}enmod mcrypt >>$workingdir/error_logs/fog_error_${version}.log 2>&1
fi
fi
fi
fi
dots "Enabling apache and fpm services on boot"
if [[ $osid -eq 2 ]]; then
Expand Down Expand Up @@ -1987,6 +1979,7 @@ class Config
[[ -d /var/www/html/ && ! -e /var/www/html/fog/ ]] && ln -s "$webdirdest" /var/www/html/
[[ -d /var/www/ && ! -e /var/www/fog ]] && ln -s "$webdirdest" /var/www/
chown -R ${apacheuser}:${apacheuser} "$webdirdest"
chown -R ${username}:${apacheuser} "$webdirdest/service/ipxe"
}
downloadfiles() {
clientVer="$(awk -F\' /"define\('FOG_CLIENT_VERSION'[,](.*)"/'{print $4}' ../packages/web/lib/fog/system.class.php | tr -d '[[:space:]]')"
Expand Down
4 changes: 2 additions & 2 deletions lib/redhat/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ command -v dnf
[[ -z $packageQuery ]] && packageQuery="rpm -q \$x"
case $linuxReleaseName in
*[Mm][Aa][Gg][Ee][Ii][Aa]*)
[[ -z $packages ]] && packages="apache apache-mod_fcgid apache-mod_php apache-mod_ssl cdrkit-genisoimage curl dhcp-server gcc gcc-c++ gzip htmldoc lftp liblzma-devel m4 make mariadb mariadb-common mariadb-common-core mariadb-core net-tools nfs-utils perl perl-Crypt-PasswdMD5 php-cli php-fpm php-gd php-gettext php-ldap php-mbstring php-mcrypt php-mysqlnd php-pcntl php-pdo php-pdo_mysql tar tftp-server vsftpd wget xinetd"
[[ -z $packages ]] && packages="apache apache-mod_fcgid apache-mod_php apache-mod_ssl cdrkit-genisoimage curl dhcp-server gcc gcc-c++ gzip htmldoc lftp liblzma-devel m4 make mariadb mariadb-common mariadb-common-core mariadb-core net-tools nfs-utils perl perl-Crypt-PasswdMD5 php-cli php-fpm php-gd php-gettext php-ldap php-mbstring php-mysqlnd php-pcntl php-pdo php-pdo_mysql tar tftp-server vsftpd wget xinetd"
[[ -z $packageinstaller ]] && packageinstaller="urpmi --auto"
[[ -z $packagelist ]] && packagelist="urpmq"
[[ -z $packageupdater ]] && packageupdater="$packageinstaller"
Expand All @@ -37,7 +37,7 @@ case $linuxReleaseName in
;;
*)
[[ -z $etcconf ]] && etcconf="/etc/httpd/conf.d/fog.conf"
[[ -z $packages ]] && packages="curl dhcp gcc gcc-c++ genisoimage gzip httpd lftp m4 make mod_fastcgi mod_ssl mtools mysql mysql-server net-tools nfs-utils php php-cli php-common php-fpm php-gd php-ldap php-mbstring php-mcrypt php-mysqlnd php-process syslinux tar tftp-server vsftpd wget xinetd xz-devel"
[[ -z $packages ]] && packages="curl dhcp gcc gcc-c++ genisoimage gzip httpd lftp m4 make mod_fastcgi mod_ssl mtools mysql mysql-server net-tools nfs-utils php php-cli php-common php-fpm php-gd php-ldap php-mbstring php-mysqlnd php-process syslinux tar tftp-server vsftpd wget xinetd xz-devel"
command -v dnf >>$workingdir/error_logs/fog_error_${version}.log 2>&1
if [[ $? -eq 0 ]]; then
[[ -z $packageinstaller ]] && packageinstaller="dnf -y --enablerepo=$repos install"
Expand Down
18 changes: 12 additions & 6 deletions lib/ubuntu/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ if [[ $linuxReleaseName == +(*[Bb][Ii][Aa][Nn]*) ]]; then
[[ -z $php_verAdds ]] && php_verAdds="-5.6"
fi
elif [[ $linuxReleaseName == +(*[Uu][Bb][Uu][Nn][Tt][Uu]*|*[Mm][Ii][Nn][Tt]*) ]]; then
if [[ -z $php_ver || $php_ver != "7.1" ]]; then
DEBIAN_FRONTEND=noninteractive apt-get purge -yq sysv-rc-conf >/dev/null 2>&1
if [[ -z $php_ver || $php_ver != "7.1" || ( $linuxReleaseName == +(*[Uu][Bb][Uu][Nn][Tt][Uu]*) && $OSVersion -ge 18 ) ]]; then
if [[ $autoaccept != yes ]]; then
echo " *** Detected a potential need to reinstall apache and php files."
echo " *** This will remove the /etc/php* and /etc/apache2* directories"
Expand All @@ -51,15 +52,20 @@ elif [[ $linuxReleaseName == +(*[Uu][Bb][Uu][Nn][Tt][Uu]*|*[Mm][Ii][Nn][Tt]*) ]]
dots "Removing the apache and php packages"
DEBIAN_FRONTEND=noninteractive apt-get purge -yq 'apache2*' 'php5*' 'php7*' 'libapache*' >/dev/null 2>&1
[[ ! $? -eq 0 ]] && echo "Failed" || echo "Done"
dots "Resetting our variables to specify php version 7.1"
php_ver="7.1"
php_verAdds="-7.1"
dots "Resetting our variables to specify php version"
if [[ $linuxReleaseName == +(*[Uu][Bb][Uu][Nn][Tt][Uu]*) && $OSVersion -ge 18 ]]; then
php_ver="7.2"
php_verAdds="-7.2"
else
php_ver="7.1"
php_verAdds="-7.1"
fi
phpfpm="php${php_ver}-fpm"
phpldap="php${php_ver}-ldap"
phpcmd="php"
libcurl="libcurl3";
[[ $OSVersion -ge 18 ]] && libcurl="libcurl4"
packages="apache2 build-essential cpp curl g++ gawk gcc genisoimage gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-fastcgi libapache2-mod-php${php_ver} libc6 $libcurl liblzma-dev m4 mysql-client mysql-server net-tools nfs-kernel-server openssh-server $phpfpm php-gettext php${php_ver} php${php_ver}-cli php${php_ver}-curl php${php_ver}-gd php${php_ver}-json $phpldap php${php_ver}-mcrypt php${php_ver}-mysql php${php_ver}-mysqlnd sysv-rc-conf tar tftpd-hpa tftp-hpa vsftpd wget xinetd zlib1g"
packages="apache2 build-essential cpp curl g++ gawk gcc genisoimage gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-fastcgi libapache2-mod-php${php_ver} libc6 $libcurl liblzma-dev m4 mysql-client mysql-server net-tools nfs-kernel-server openssh-server $phpfpm php-gettext php${php_ver} php${php_ver}-cli php${php_ver}-curl php${php_ver}-gd php${php_ver}-json $phpldap php${php_ver}-mysql php${php_ver}-mysqlnd sysv-rc-conf tar tftpd-hpa tftp-hpa vsftpd wget xinetd zlib1g"
apt-get clean -yq >/dev/null 2>&1
echo "Done"
;;
Expand All @@ -75,7 +81,7 @@ case $linuxReleaseName in
*[Uu][Bb][Uu][Nn][Tt][Uu]*|*[Bb][Ii][Aa][Nn]*|*[Mm][Ii][Nn][Tt]*)
libcurl="libcurl3";
[[ $OSVersion -ge 18 ]] && libcurl="libcurl4"
[[ -z $packages ]] && packages="apache2 build-essential cpp curl g++ gawk gcc genisoimage gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-fastcgi libapache2-mod-php${php_ver} libc6 $libcurl liblzma-dev m4 mysql-client mysql-server net-tools nfs-kernel-server openssh-server $phpfpm php-gettext php${php_ver} php${php_ver}-cli php${php_ver}-curl php${php_ver}-gd php${php_ver}-json $phpldap php${php_ver}-mcrypt php${php_ver}-mysql php${php_ver}-mysqlnd sysv-rc-conf tar tftpd-hpa tftp-hpa vsftpd wget xinetd zlib1g"
[[ -z $packages ]] && packages="apache2 build-essential cpp curl g++ gawk gcc genisoimage gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-fastcgi libapache2-mod-php${php_ver} libc6 $libcurl liblzma-dev m4 mysql-client mysql-server net-tools nfs-kernel-server openssh-server $phpfpm php-gettext php${php_ver} php${php_ver}-cli php${php_ver}-curl php${php_ver}-gd php${php_ver}-json $phpldap php${php_ver}-mysql php${php_ver}-mysqlnd sysv-rc-conf tar tftpd-hpa tftp-hpa vsftpd wget xinetd zlib1g"
[[ -z $packageinstaller ]] && packageinstaller="apt-get -yq install -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold"
[[ -z $packagelist ]] && packagelist="apt-cache pkgnames | grep"
[[ -z $packageupdater ]] && packageupdater="apt-get -yq upgrade -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold"
Expand Down
1 change: 1 addition & 0 deletions packages/service/FOGImageReplicator/FOGImageReplicator
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ while (true) {
}
if (FOGCore::niceDate() < $nextrun) {
usleep(100000);
$ServiceClass->doHousekeeping();
continue;
}
$nextrun = FOGCore::niceDate()
Expand Down

0 comments on commit 348f695

Please sign in to comment.