From 72d50de9ece1e0d7f283163ebc8d415a0b616746 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Fri, 26 Jun 2015 23:50:08 +0300 Subject: [PATCH] Initial release --- cyrus-imap_packages | 3 + debian-8.0-x86_64-ez.spec | 155 +++++++++++++++++++++++ devel_packages | 105 ++++++++++++++++ imp_packages | 74 +++++++++++ jre_packages | 6 + jsdk_packages | 1 + mailman_packages | 1 + mod_perl_packages | 1 + mysql_packages | 2 + os_distribution | 1 + os_mid-post-install | 5 + os_mid-pre-install | 9 ++ os_osrelease | 1 + os_packages | 100 +++++++++++++++ os_packages_0 | 25 ++++ os_packages_1 | 31 +++++ os_post-cache | 45 +++++++ os_post-install | 257 ++++++++++++++++++++++++++++++++++++++ os_pre-cache | 139 +++++++++++++++++++++ os_repositories | 3 + php_packages | 37 ++++++ phpmyadmin_packages | 1 + phppgadmin_packages | 1 + postgresql_packages | 5 + proftpd_packages | 4 + sources | 0 spamassassin_packages | 1 + squirrelmail_packages | 1 + tomcat_packages | 9 ++ webalizer_packages | 1 + wordpress_packages | 2 + 31 files changed, 1026 insertions(+) create mode 100644 cyrus-imap_packages create mode 100644 debian-8.0-x86_64-ez.spec create mode 100644 devel_packages create mode 100644 imp_packages create mode 100644 jre_packages create mode 100644 jsdk_packages create mode 100644 mailman_packages create mode 100644 mod_perl_packages create mode 100644 mysql_packages create mode 100644 os_distribution create mode 100755 os_mid-post-install create mode 100755 os_mid-pre-install create mode 100644 os_osrelease create mode 100644 os_packages create mode 100644 os_packages_0 create mode 100644 os_packages_1 create mode 100755 os_post-cache create mode 100755 os_post-install create mode 100755 os_pre-cache create mode 100644 os_repositories create mode 100644 php_packages create mode 100644 phpmyadmin_packages create mode 100644 phppgadmin_packages create mode 100644 postgresql_packages create mode 100644 proftpd_packages create mode 100644 sources create mode 100644 spamassassin_packages create mode 100644 squirrelmail_packages create mode 100644 tomcat_packages create mode 100644 webalizer_packages create mode 100644 wordpress_packages diff --git a/cyrus-imap_packages b/cyrus-imap_packages new file mode 100644 index 0000000..2ddcc9a --- /dev/null +++ b/cyrus-imap_packages @@ -0,0 +1,3 @@ +cyrus-imapd-2.4 +cyrus-admin-2.4 +cyrus-common-2.4 diff --git a/debian-8.0-x86_64-ez.spec b/debian-8.0-x86_64-ez.spec new file mode 100644 index 0000000..7631256 --- /dev/null +++ b/debian-8.0-x86_64-ez.spec @@ -0,0 +1,155 @@ +# template name attributes +%define templatename debian +%define templatever 8.0 +%define templatearch x86_64 + +# Human-readable attributes +%define fullname Debian %templatever +%define fulltemplatearch (for AMD64/Intel EM64T) + +# template dirs +%define templatedir /vz/template/%templatename/%templatever/%templatearch/config +%define ostemplatedir %templatedir/os/default + +# vzpkgenv related +%define pkgman debx64 +%define package_manager rpm%pkgman +%define package_manager_pkg vzpkgenv%pkgman >= 7.0.0 + +# Files lists +%define files_lst() \ +find %1 -type d -printf '%%%dir %%%attr(%m,root,root) %p\\n' | sed "s,%buildroot,,g" >> %2\ +find %1 -type f -printf '%%%config %%%attr(%m,root,root) %p\\n' | sed "s,%buildroot,,g" >> %2\ +%nil + +# Sources list +%define sources_lst() \ +%((cd %_sourcedir;\ +s=1;\ +for tmpl in %1; do\ +sources=$tmpl"_*";\ +for file in $sources; do\ +echo Source$s: $file;\ +s=$((s+1))\ +done;\ +done))\ +%nil + +# Obsoletes list +%define obsoletes_lst() \ +%((for tmpl in %1; do\ +[ $tmpl = os ] && continue;\ +echo "Obsoletes: $tmpl-%templatename-%templatever-%templatearch-ez < 7.0.0";\ +echo "Provides: $tmpl-%templatename-%templatever-%templatearch-ez = %version-%release";\ +done))\ +%nil + +# Templates list - packages file should be always present in any template! +%define templates_list() %((cd %_sourcedir; for f in *_packages; do echo -n "${f%_*} "; done)) + +Summary: %fullname %fulltemplatearch Template set +Name: %templatename-%templatever-%templatearch-ez +Group: Virtuozzo/Templates +License: GPL +Version: 7.0.0 +Release: 1%{?dist} +BuildRoot: %_tmppath/%name-root +BuildArch: noarch +Requires: %package_manager_pkg + +# template source files +%sources_lst %templates_list + +# obsoletes +%obsoletes_lst %templates_list + +%description +%fullname %fulltemplatearch packaged as a Virtuozzo Template set. + +%install +installfile() { + local sourcename=%_sourcedir/${1}_$4 + local mode=$2 + local dir=$3 + local name=$4 + + [ ! -f $sourcename ] && return + + install -m $mode $sourcename $dir/$name +} + +rm -f files.lst +for tmpl in %templates_list; do + [ $tmpl = "os" ] && dir=%buildroot/%ostemplatedir || \ + dir=%buildroot/%templatedir/app/$tmpl/default + + mkdir -p $dir + + if [ $tmpl = "os" ]; then + # Os template only files + + # Text + echo "%fullname %fulltemplatearch Virtuozzo Template" > $dir/description + echo "%fullname %fulltemplatearch Virtuozzo Template" > $dir/summary + + # Package manager + echo "%package_manager" > $dir/package_manager + + # Disable upgrade + touch $dir/upgradable_versions + + # Pkgman environment + installfile $tmpl 0644 $dir environment + + # vzctl-related + installfile $tmpl 0644 $dir distribution + + # Kernel virtualization + installfile $tmpl 0644 $dir osrelease + + # Os template cache scripts + installfile $tmpl 0755 $dir pre-cache + installfile $tmpl 0755 $dir post-cache + installfile $tmpl 0755 $dir ct2vm + installfile $tmpl 0755 $dir mid-pre-install + installfile $tmpl 0755 $dir mid-post-install + installfile $tmpl 0755 $dir pre-upgrade + installfile $tmpl 0755 $dir post-upgrade + + # Additional packages + installfile $tmpl 0644 $dir packages_0 + installfile $tmpl 0644 $dir packages_1 + else + # App templates only files + + # Text + echo "$tmpl for %fullname %fulltemplatearch Virtuozzo Template" > $dir/description + echo "$tmpl for %fullname %fulltemplatearch Virtuozzo Template" > $dir/summary + fi + + # Common things + + # Installation sources + installfile $tmpl 0644 $dir mirrorlist + installfile $tmpl 0644 $dir repositories + + # Packages + installfile $tmpl 0644 $dir packages + + # Scripts + installfile $tmpl 0755 $dir pre-install + installfile $tmpl 0755 $dir pre-install-hn + installfile $tmpl 0755 $dir post-install + installfile $tmpl 0755 $dir post-install-hn + + # Versioning + echo "%release" > $dir/release + echo "%version" > $dir/version + %files_lst $dir files.lst +done + +%files -f files.lst + +%changelog +* Wed Jun 17 2015 Konstantin Volckov 7.0.0-1 +- Initial release diff --git a/devel_packages b/devel_packages new file mode 100644 index 0000000..2572bad --- /dev/null +++ b/devel_packages @@ -0,0 +1,105 @@ +aptitude +ash +autoconf +automake +autoproject +autotools-dev +bc +bison +chrpath +cvs +debhelper +debiandoc-sgml +debian-policy +debootstrap +developers-reference +devscripts +dh-make +diffstat +docbook +docbook-dsssl +dpatch +e2fslibs-dev +emacs24-bin-common +emacs24-common +emacs24-el +emacs24-nox +fakeroot +flex +freetds-dev +g++ +gcc +gettext-el +gnu-standards +intltool-debian +joe +libaudio-dev +libbind-dev +libbz2-dev +libcups2-dev +libcurl4-openssl-dev +libdb5.3-dev +libfontconfig1-dev +libfreetype6-dev +libglu1-mesa-dev +libice-dev +libjpeg62-turbo-dev +libldap2-dev +liblockfile-dev +libltdl-dev +libmhash-dev +libostyle-dev +libpam0g-dev +libpcre3-dev +libpng12-dev +librecode-dev +librtmp-dev +libsasl2-dev +libsm-dev +libtool +libwrap0-dev +libxaw7-dev +libxcursor-dev +libxft-dev +libxml2-dev +libxmltok1-dev +libxmu-dev +libxmuu-dev +libxp-dev +libxpm-dev +libxrandr-dev +libxrender-dev +libxslt1-dev +libxt-dev +libxtst-dev +libxv-dev +libzzip-dev +lintian +mawk +nano +ncftp +netpbm +nmap +nvi +openjade +parted +patchutils +pbuilder +pgpgpg +pidentd +pinfo +po-debconf +python-dev +re2c +sgml-data +sgmlspl +sgmltools-lite +smsclient +strace +tasksel +tasksel-data +tcl8.6-dev +tcl8.6-doc +tdsodbc +unixodbc-dev +usbutils diff --git a/imp_packages b/imp_packages new file mode 100644 index 0000000..8d829a9 --- /dev/null +++ b/imp_packages @@ -0,0 +1,74 @@ +php-horde +php-horde-alarm +php-horde-argv +php-horde-auth +php-horde-autoloader +php-horde-browser +php-horde-cache +php-horde-cli +php-horde-compress +php-horde-compress-fast +php-horde-constraint +php-horde-controller +php-horde-core +php-horde-crypt +php-horde-crypt-blowfish +php-horde-cssminify +php-horde-css-parser +php-horde-data +php-horde-date +php-horde-dav +php-horde-db +php-horde-editor +php-horde-exception +php-horde-form +php-horde-group +php-horde-hashtable +php-horde-history +php-horde-http +php-horde-icalendar +php-horde-image +php-horde-imap-client +php-horde-injector +php-horde-itip +php-horde-javascriptminify +php-horde-listheaders +php-horde-lock +php-horde-log +php-horde-logintasks +php-horde-mail +php-horde-mail-autoconfig +php-horde-mime +php-horde-mime-viewer +php-horde-nls +php-horde-notification +php-horde-pack +php-horde-perms +php-horde-prefs +php-horde-role +php-horde-rpc +php-horde-secret +php-horde-serialize +php-horde-sessionhandler +php-horde-share +php-horde-smtp +php-horde-spellchecker +php-horde-socket-client +php-horde-stream +php-horde-stream-filter +php-horde-stream-wrapper +php-horde-support +php-horde-template +php-horde-text-diff +php-horde-text-filter +php-horde-text-filter-csstidy +php-horde-text-flowed +php-horde-token +php-horde-translation +php-horde-tree +php-horde-url +php-horde-util +php-horde-vfs +php-horde-view +php-horde-xml-element +php-horde-imp diff --git a/jre_packages b/jre_packages new file mode 100644 index 0000000..a7cb956 --- /dev/null +++ b/jre_packages @@ -0,0 +1,6 @@ +default-jre-headless +openjdk-7-jre +openjdk-7-jre-headless +ca-certificates-java +libatk-wrapper-java +libatk-wrapper-java-jni diff --git a/jsdk_packages b/jsdk_packages new file mode 100644 index 0000000..77c0da1 --- /dev/null +++ b/jsdk_packages @@ -0,0 +1 @@ +openjdk-7-jdk diff --git a/mailman_packages b/mailman_packages new file mode 100644 index 0000000..32165f2 --- /dev/null +++ b/mailman_packages @@ -0,0 +1 @@ +mailman diff --git a/mod_perl_packages b/mod_perl_packages new file mode 100644 index 0000000..3515429 --- /dev/null +++ b/mod_perl_packages @@ -0,0 +1 @@ +libapache2-mod-perl2 diff --git a/mysql_packages b/mysql_packages new file mode 100644 index 0000000..163857a --- /dev/null +++ b/mysql_packages @@ -0,0 +1,2 @@ +mysql-server +mysql-client diff --git a/os_distribution b/os_distribution new file mode 100644 index 0000000..b2f7fd3 --- /dev/null +++ b/os_distribution @@ -0,0 +1 @@ +debian \ No newline at end of file diff --git a/os_mid-post-install b/os_mid-post-install new file mode 100755 index 0000000..bb5e22d --- /dev/null +++ b/os_mid-post-install @@ -0,0 +1,5 @@ +#!/bin/bash + +/sbin/ifconfig lo up + +exit 0 diff --git a/os_mid-pre-install b/os_mid-pre-install new file mode 100755 index 0000000..e5befd1 --- /dev/null +++ b/os_mid-pre-install @@ -0,0 +1,9 @@ +#!/bin/bash + +touch /etc/network/interfaces + +rm -rf /var/run > /dev/null 2>&1 +ln -s /run /var/run > /dev/null 2>&1 +touch /run/utmp > /dev/null 2>&1 + +exit 0 diff --git a/os_osrelease b/os_osrelease new file mode 100644 index 0000000..7ccd8d4 --- /dev/null +++ b/os_osrelease @@ -0,0 +1 @@ +3.16.0 \ No newline at end of file diff --git a/os_packages b/os_packages new file mode 100644 index 0000000..c637a0a --- /dev/null +++ b/os_packages @@ -0,0 +1,100 @@ +apache2 +apache2-doc +apache2-mpm-prefork +apache2-utils +apache2-data +apt +apt-utils +bind9 +bind9-host +binutils +bzip2 +ca-certificates +cifs-utils +console-common +console-data +cracklib-runtime +cron +debconf-utils +dialog +isc-dhcp-client +isc-dhcp-common +ed +expat +fetchmail +file +finger +fontconfig +fontconfig-config +ftp +gettext +gnupg +gpgv +groff-base +info +iptables +iputils-arping +iputils-ping +iputils-tracepath +ldap-utils +less +logrotate +lsb-release +lsof +lynx +m4 +bsd-mailx +make +man-db +manpages +memtester +mime-support +mlocate +mtools +ncurses-term +odbcinst +openssh-blacklist +openssh-client +openssh-server +openssl +openssl-blacklist +patch +rpcbind +procinfo +procmail +psmisc +psutils +pwgen +python3 +quota +rsync +samba +samba-common +sasl2-bin +screen +postfix +sharutils +snmp +ssl-cert +sudo +rsyslog +syslinux +tcpdump +tcsh +telnet +tofrodos +traceroute +ttf-dejavu +ttf-dejavu-core +ttf-dejavu-extra +ttf-freefont +unixodbc +unzip +uuid-runtime +vim +vim-common +vim-runtime +wget +whois +wide-dhcpv6-client +xinetd diff --git a/os_packages_0 b/os_packages_0 new file mode 100644 index 0000000..c210c02 --- /dev/null +++ b/os_packages_0 @@ -0,0 +1,25 @@ +multiarch-support gcc-4.9-base libattr1 libcap2 libc-bin libgcc1 locales libdbus-1-3 libnih-dbus1 libc6 libnih1 +findutils +libsigsegv2 libtinfo5 install-info readline-common libreadline6 libmpfr4 libgmp10 gawk +perl-base +liblocale-gettext-perl libtext-iconv-perl libtext-wrapi18n-perl libtext-charwidth-perl +libpython3.4-minimal libexpat1 zlib1g libssl1.0.0 debconf-i18n debconf python3.4-minimal +libpcre3 libselinux1 +libpam0g libpam-runtime libdb5.3 libaudit-common libaudit1 libpam-modules-bin libpam-modules base-files +libacl1 libattr1 coreutils +login +tar +gcc-4.8-base libstdc++6 lzma libbz2-1.0 liblzma5 xz-utils dpkg +libtinfo5 libncursesw5 dselect +sensible-utils +debianutils +mktemp +sed +libncurses5 ncurses-bin +lsb-base +dash +bash +libustr-1.0-1 libsepol1 libsemanage-common libsemanage1 passwd +libuuid1 +libblkid1 +libslang2 diff --git a/os_packages_1 b/os_packages_1 new file mode 100644 index 0000000..dc12409 --- /dev/null +++ b/os_packages_1 @@ -0,0 +1,31 @@ +libprocps3 procps +insserv +net-tools +sysv-rc +startpar sysvinit-utils +tzdata +libklibc klibc-utils +libgdbm3 perl perl-modules +libkmod2 kmod module-init-tools +udev +libudev1 initramfs-tools +libjson-c2 +initscripts +util-linux +libapparmor1 libgcrypt20 dmsetup libdevmapper1.02.1 libgpg-error0 libcryptsetup4 libsystemd0 libcap2-bin acl systemd systemd-sysv +libdebconfclient0 base-passwd +adduser +cpio +diffutils +libasprintf0c2 gettext-base +grep +gzip +hostname +iproute2 ifupdown +makedev +libmount1 libsmartcols1 mount +ncurses-base +netbase +readline-common +tar +ucf diff --git a/os_post-cache b/os_post-cache new file mode 100755 index 0000000..135731f --- /dev/null +++ b/os_post-cache @@ -0,0 +1,45 @@ +#!/bin/bash + +#sanify check + +if [ $# -lt 1 ] ; then + echo "usage $0 ROOTDIR" + exit 1 +fi + +rootdir=$1 + +if [ -z "$rootdir" ]; then + echo "ROOTDIR is not set." + exit 1 +fi + +# Check root directory +if [ ! -d $rootdir ]; then + echo "$rootdir: should be a directory." + exit 1 +fi + +pushd $rootdir > /dev/null + +[ -f /etc/localtime ] && cp -fp /etc/localtime etc/localtime + +ln -sf /usr/share/zoneinfo/UTC etc/localtime + +# import localtime from HW +tzdir="/usr/share/zoneinfo" +if [ -d "$tzdir" ]; then + list=`find $tzdir/{Africa,America,Antarctica,Arctic,Asia,Atlantic,Australia,Brazil,Canada,Chile,Europe,Indian,Mexico,Mideast,Pacific,US} -type f -maxdepth 1 2> /dev/null` + for i in $list; do + if diff /etc/localtime $i > /dev/null 2>&1; then + echo ${i#$tzdir/} > etc/timezone + ln -sf $i etc/localtime + break + fi + done +fi + +# Clean /run +rm -rf run/* > /dev/null 2>&1 + +popd > /dev/null diff --git a/os_post-install b/os_post-install new file mode 100755 index 0000000..f187af0 --- /dev/null +++ b/os_post-install @@ -0,0 +1,257 @@ +#!/bin/bash + +MYDIR=`pwd` +cd / >/dev/null + +ln -sf /proc/mounts etc/mtab + +# omit syncing for all log files +# Disable klog +CFG_FILE=etc/rsyslog.conf +if [ -f $CFG_FILE ]; then + cat $CFG_FILE | sed -e "s,^\$ModLoad imklog,#\$ModLoad imklog,g" \ + -e "s,[[:blank:]]/var/log/, -/var/log/,g" > ${CFG_FILE}.$$ + if [ $? -eq 0 ]; then + chown --reference=${CFG_FILE} $CFG_FILE.$$ || exit 1 > /dev/null 2>&1 + chmod --reference=${CFG_FILE} $CFG_FILE.$$ || exit 1 > /dev/null 2>&1 + mv -f $CFG_FILE.$$ ${CFG_FILE} > /dev/null 2>&1 + fi +fi + +# Enable root login +CFG_FILE=etc/ssh/sshd_config +if [ -f $CFG_FILE ]; then + cat $CFG_FILE | sed "s,^PermitRootLogin.*,PermitRootLogin yes,g" > ${CFG_FILE}.$$ + if [ $? -eq 0 ]; then + chown --reference=${CFG_FILE} $CFG_FILE.$$ || exit 1 > /dev/null 2>&1 + chmod --reference=${CFG_FILE} $CFG_FILE.$$ || exit 1 > /dev/null 2>&1 + mv -f $CFG_FILE.$$ ${CFG_FILE} > /dev/null 2>&1 + fi +fi + +# Convert system to shadow password files +usr/sbin/pwconv + +# Set default target as multi-user target +rm -f lib/systemd/system/default.target > /dev/null 2>&1 +ln -s multi-user.target lib/systemd/system/default.target > /dev/null 2>&1 +mkdir -p etc/systemd/system/default.target.wants > /dev/null 2>&1 + +# turn off and stop some services +for i in bind9 quotarpc fetchmail ondemand rsync uuidd wide-dhcpv6-client; do + systemctl stop $i > /dev/null 2>&1 + systemctl disable $i > /dev/null 2>&1 +done + +# for upstart services comment out the start on in confs +for i in nmbd smbd samba-ad-dc rpcbind; do + systemctl disable $i > /dev/null 2>&1 +done + +# export PATH +CFG_FILE=etc/bash.bashrc +if [ -f $CFG_FILE ] ; then + echo >> $CFG_FILE + echo "export PATH" >> $CFG_FILE + echo >> $CFG_FILE +fi + +# apache tuning +for worker in mpm_worker mpm_prefork mpm_event; do + CFG_FILE=etc/apache2/mods-available/$worker.conf + if [ -f $CFG_FILE ]; then + sed -e "s/^[[:blank:]]*StartServers[[:blank:]]*.*/StartServers 1/" \ + -e "s/^[[:blank:]]*MinSpareServers[[:blank:]]*.*/MinSpareServers 1/" \ + -e "s/^[[:blank:]]*MaxSpareServers[[:blank:]]*.*/MaxSpareServers 5/" \ + -e "s/^[[:blank:]]*MaxClients[[:blank:]]*.*/MaxClients 10/" \ + -e "s/^[[:blank:]]*MinSpareThreads[[:blank:]]*.*/MinSpareThreads 1/" \ + -e "s/^[[:blank:]]*MaxSpareThreads[[:blank:]]*.*/MaxSpareThreads 4/" \ + $CFG_FILE > ${CFG_FILE}.$$ + if [ $? -eq 0 ]; then + chown --reference=${CFG_FILE} $CFG_FILE.$$ || exit 1 > /dev/null 2>&1 + chmod --reference=${CFG_FILE} $CFG_FILE.$$ || exit 1 > /dev/null 2>&1 + mv -f $CFG_FILE.$$ ${CFG_FILE} > /dev/null 2>&1 + fi + fi +done + +# and disable root user +/usr/sbin/usermod -L root + +# do not execute some cron-jobs by default +for cron_job_dir in etc/cron.daily etc/cron.weekly etc/cron.monthly etc/cron.hourly; do + for cron_job in `find $cron_job_dir -type f | grep -v "logrotate\|\^."`; do + mv $cron_job $cron_job.disabled + done +done + +# Fill /etc/apt/sources.list +if [ ! -f etc/apt/sources.list ]; then + +cat << EOF > etc/apt/sources.list +deb http://ftp.debian.org/debian jessie main contrib non-free +deb http://ftp.debian.org/debian jessie-updates main contrib non-free +deb http://security.debian.org jessie/updates main contrib non-free + +EOF + +fi + +# Disable bind9 ifup hook +for i in etc/network/if-down.d/bind9 etc/network/if-up.d/bind9; do + mv $i $i.disabled +done + +# Clean logs +for i in `find var/log/ -type f`; do + echo "" > $i +done + +# Remove /dev/log +rm -f dev/log >/dev/null 2>&1 + +# Fix modprobe.conf +touch etc/modprobe.conf + +# Fix modules.dep +echo "#!/bin/sh +### BEGIN INIT INFO +# Provides: modules_dep +# Required-Start: +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 6 +# Short-Description: modules.dep creation. +# Description: Create and destroy modules.dep. +### END INIT INFO + +case \"\$1\" in + start|\"\") + if [ ! -d \"/lib/modules/\`uname -r\`\" ]; then + mkdir -p /lib/modules/\`uname -r\` + fi + depmod -a >/dev/null 2>&1 + ;; + restart|reload|force-reload) + echo \"Error: argument '\$1' not supported\" >&2 + exit 3 + ;; + stop|force-stop) + if [ -d \"/lib/modules/\`uname -r\`\" ]; then + rm -rf /lib/modules/\`uname -r\` + fi + ;; + *) + echo \"Usage: modules_dep.sh [start|stop]\" >&2 + exit 3 + ;; +esac + +: + +" > etc/init.d/modules_dep.sh +chmod a+x etc/init.d/modules_dep.sh +/usr/sbin/update-rc.d modules_dep.sh defaults >/dev/null 2>&1 + +# Create empty /etc/inittab file +touch etc/inittab + +# Turn back wide-dhcpv6-client init script and clean default conf file +for i in etc/init.d/wide-dhcpv6-client etc/init.d/bind9; do + mv -f $i.dpkg-dist $i +done +# regenerate dhcp6cctlkey if exists +cat > etc/default/wide-dhcpv6-client <<'EOFINITCONFFILE' +# Defaults for dhcpv6 client initscript +# Used by /etc/init.d/wide-dhcpv6-client + +# Interfaces on which the client should send DHCPv6 requests and listen to +# answers. If empty, the client is deactivated. +INTERFACES="" +EOFINITCONFFILE + +rm -f etc/wide-dhcpv6/dhcp6cctlkey + +# Save /etc/rc.local copy +mv etc/rc.local etc/rc.local.orig + +# ssh host keys hack +echo "#!/bin/sh +rm -f etc/ssh/ssh_host_* +/usr/bin/ssh-keygen -t rsa -N '' -f /etc/ssh/ssh_host_rsa_key +/usr/bin/ssh-keygen -t dsa -N '' -f /etc/ssh/ssh_host_dsa_key +/usr/bin/ssh-keygen -t rsa1 -N '' -f /etc/ssh/ssh_host_key +/usr/bin/ssh-keygen -t ecdsa -N '' -f /etc/ssh/ssh_host_ecdsa_key +/usr/bin/ssh-keygen -t ed25519 -N '' -f /etc/ssh/ssh_host_ed25519_key +systemctl restart ssh + +" > etc/rc.local + +# DHCP6CCTLKEY hack + +echo "DHCP6CCTLKEY=/etc/wide-dhcpv6/dhcp6cctlkey + +# The key mustn\'t be world readable +umask 066 + +echo \"Generating \${DHCP6CCTLKEY}...\" >&2 +dd if=/dev/random bs=32 count=1 2>/dev/null | \ + uuencode -m \${DHCP6CCTLKEY} | \ + head -n 2 | tail -n 1 > \${DHCP6CCTLKEY} + +umask 022 +mv -f /etc/rc.local.orig /etc/rc.local +" >> etc/rc.local +chmod a+x etc/rc.local + +# saslauthd tuning +CFG_FILE=etc/default/saslauthd +if [ -f $CFG_FILE ]; then + sed -i -e "s/^THREADS=.*/THREADS=2/" -e "s/^START=.*/START=yes/" \ + $CFG_FILE +fi + +# stop postfix and remove sockets +systemctl stop postfix > /dev/null 2>&1 +for postfix_socket in `find var/spool/postfix -type s`; do + rm -f $postfix_socket > /dev/null 2>&1 +done + +apt-key update > /dev/null 2>&1 + +# Setup systemd as /sbin/init +rm -f sbin/init > /dev/null 2>&1 +ln -s ../lib/systemd/systemd sbin/init > /dev/null 2>&1 + +# Create vzfifo service +cat >> lib/systemd/system/vzfifo.service << EOL +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +[Unit] +Description=Tell that Container is started +ConditionPathExists=/proc/vz +ConditionPathExists=!/proc/bc +After=multi-user.target quotaon.service quotacheck.service + +[Service] +Type=forking +ExecStart=/bin/touch /.vzfifo +TimeoutSec=0 +RemainAfterExit=no +SysVStartPriority=99 + +[Install] +WantedBy=multi-user.target +EOL + +# Enable services +for service in vzfifo; do + systemctl enable $service > /dev/null 2>&1 +done + +cd $MYDIR > /dev/null diff --git a/os_pre-cache b/os_pre-cache new file mode 100755 index 0000000..9a211bf --- /dev/null +++ b/os_pre-cache @@ -0,0 +1,139 @@ +#!/bin/bash + +#sanify check +if [ $# -lt 1 ] ; then + echo "usage $0 ROOTDIR" + exit 1 +fi + +rootdir=$1 + +if [ -z "$rootdir" ]; then + echo "ROOTDIR is not set." + exit 1 +fi + +# Check root directory +if [ ! -d $rootdir ]; then + echo "$rootdir: should be a directory." + exit 1 +fi + +pushd $rootdir > /dev/null + +mknod dev/urandom c 1 9 +chmod 0666 dev/urandom + +mkdir etc +ln -sf /usr/share/zoneinfo/UTC etc/localtime + +echo "proc /proc proc defaults 0 0" >> etc/fstab +echo "none /dev/pts devpts rw,gid=5,mode=620 0 0" >> etc/fstab +echo "none /run/shm tmpfs defaults 0 0" >> etc/fstab + +mkdir -p etc/init.d + +echo "#!/bin/sh + +### BEGIN INIT INFO +# Provides: wide-dhcpv6-client +# Required-Start: +# Required-Stop: +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/Stop WIDE DHCPv6 client +# Description: (empty) +### END INIT INFO + +exit 0 +" > etc/init.d/wide-dhcpv6-client + +chmod 0755 etc/init.d/wide-dhcpv6-client + +echo "#!/bin/sh + +### BEGIN INIT INFO +# Provides: bind9 +# Required-Start: +# Required-Stop: +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start and stop bind9 +# Description: bind9 is a Domain Name Server (DNS) +# which translates ip addresses to and from internet names +### END INIT INFO + +exit 0 +" > etc/init.d/bind9 + +chmod 0755 etc/init.d/bind9 + +# add some basic groups and users, provides by base-passwd +# some debs (base-files,..) use it before base-passwd installation +echo "root:*:0: +daemon:*:1: +bin:*:2: +sys:*:3: +adm:*:4: +tty:*:5: +disk:*:6: +lp:*:7: +mail:*:8: +news:*:9: +uucp:*:10: +man:*:12: +proxy:*:13: +kmem:*:15: +dialout:*:20: +fax:*:21: +voice:*:22: +cdrom:*:24: +floppy:*:25: +tape:*:26: +sudo:*:27: +audio:*:29: +dip:*:30: +www-data:*:33: +backup:*:34: +operator:*:37: +list:*:38: +irc:*:39: +src:*:40: +gnats:*:41: +shadow:*:42: +utmp:*:43: +video:*:44: +sasl:*:45: +plugdev:*:46: +staff:*:50: +games:*:60: +users:*:100: +nogroup:*:65534:" > etc/group + +echo "root:*:0:0:root:/root:/bin/bash +daemon:*:1:1:daemon:/usr/sbin:/usr/sbin/nologin +bin:*:2:2:bin:/bin:/usr/sbin/nologin +sys:*:3:3:sys:/dev:/usr/sbin/nologin +sync:*:4:65534:sync:/bin:/bin/sync +games:*:5:60:games:/usr/games:/usr/sbin/nologin +man:*:6:12:man:/var/cache/man:/usr/sbin/nologin +lp:*:7:7:lp:/var/spool/lpd:/usr/sbin/nologin +mail:*:8:8:mail:/var/mail:/usr/sbin/nologin +news:*:9:9:news:/var/spool/news:/usr/sbin/nologin +uucp:*:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin +proxy:*:13:13:proxy:/bin:/usr/sbin/nologin +www-data:*:33:33:www-data:/var/www:/usr/sbin/nologin +backup:*:34:34:backup:/var/backups:/usr/sbin/nologin +list:*:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin +irc:*:39:39:ircd:/var/run/ircd:/usr/sbin/nologin +gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin +nobody:*:65534:65534:nobody:/nonexistent:/usr/sbin/nologin" > etc/passwd + +mkdir -p usr/bin +ln -s /usr/bin/gawk usr/bin/awk + +popd > /dev/null diff --git a/os_repositories b/os_repositories new file mode 100644 index 0000000..37af673 --- /dev/null +++ b/os_repositories @@ -0,0 +1,3 @@ +$DEB_SERVER/debian jessie main contrib non-free +$DEB_SERVER/debian jessie-updates main contrib non-free +$DEB_SERVER/debian-security jessie/updates main contrib non-free diff --git a/php_packages b/php_packages new file mode 100644 index 0000000..9da8c9c --- /dev/null +++ b/php_packages @@ -0,0 +1,37 @@ +php5 +php5-curl +php5-intl +php5-imap +php5-json +php5-ldap +php5-mysql +php5-xsl +php5-sybase +php5-snmp +php5-recode +php5-odbc +php5-common +php5-gd +php5-xmlrpc +php5-cli +php5-cgi +php-pear +php-log +php-db +php-http +php-mail +php-mail-mime +php-net-dns2 +php-net-smtp +php-net-socket +php-sabre-dav +php-sabre-vobject +php-xml-parser +libapache2-mod-php5 +libphp-phpmailer +libphp-simplepie +php5-mcrypt +php5-pgsql +php-mail-mimedecode +php-gettext +php-getid3 diff --git a/phpmyadmin_packages b/phpmyadmin_packages new file mode 100644 index 0000000..a10e9c4 --- /dev/null +++ b/phpmyadmin_packages @@ -0,0 +1 @@ +phpmyadmin diff --git a/phppgadmin_packages b/phppgadmin_packages new file mode 100644 index 0000000..660f025 --- /dev/null +++ b/phppgadmin_packages @@ -0,0 +1 @@ +phppgadmin diff --git a/postgresql_packages b/postgresql_packages new file mode 100644 index 0000000..c32c54a --- /dev/null +++ b/postgresql_packages @@ -0,0 +1,5 @@ +postgresql-9.4 +postgresql-client-9.4 +postgresql-contrib-9.4 +libpq-dev +postgresql-doc-9.4 diff --git a/proftpd_packages b/proftpd_packages new file mode 100644 index 0000000..90e09aa --- /dev/null +++ b/proftpd_packages @@ -0,0 +1,4 @@ +proftpd-basic +proftpd-mod-ldap +proftpd-mod-mysql +proftpd-mod-pgsql diff --git a/sources b/sources new file mode 100644 index 0000000..e69de29 diff --git a/spamassassin_packages b/spamassassin_packages new file mode 100644 index 0000000..8c99da7 --- /dev/null +++ b/spamassassin_packages @@ -0,0 +1 @@ +spamassassin diff --git a/squirrelmail_packages b/squirrelmail_packages new file mode 100644 index 0000000..e671a23 --- /dev/null +++ b/squirrelmail_packages @@ -0,0 +1 @@ +squirrelmail diff --git a/tomcat_packages b/tomcat_packages new file mode 100644 index 0000000..1eb51a6 --- /dev/null +++ b/tomcat_packages @@ -0,0 +1,9 @@ +tomcat8 +tomcat8-admin +tomcat8-examples +tomcat8-common +tomcat8-user +libtomcat8-java +libcommons-collections3-java +libcommons-dbcp-java +libcommons-pool-java diff --git a/webalizer_packages b/webalizer_packages new file mode 100644 index 0000000..0016ebc --- /dev/null +++ b/webalizer_packages @@ -0,0 +1 @@ +webalizer diff --git a/wordpress_packages b/wordpress_packages new file mode 100644 index 0000000..2b30ca0 --- /dev/null +++ b/wordpress_packages @@ -0,0 +1,2 @@ +wordpress +libphp-snoopy