diff options
Diffstat (limited to 'meta-openembedded/meta-webserver')
83 files changed, 9115 insertions, 0 deletions
diff --git a/meta-openembedded/meta-webserver/COPYING.MIT b/meta-openembedded/meta-webserver/COPYING.MIT new file mode 100644 index 000000000..fb950dc69 --- /dev/null +++ b/meta-openembedded/meta-webserver/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-openembedded/meta-webserver/README b/meta-openembedded/meta-webserver/README new file mode 100644 index 000000000..7b6063070 --- /dev/null +++ b/meta-openembedded/meta-webserver/README @@ -0,0 +1,68 @@ +meta-webserver +============== + +This layer provides support for building web servers, web-based +applications and related software. + + + +Dependencies +------------ + +This layer depends on: + +URI: git://github.com/openembedded/oe-core.git +subdirectory: meta +branch: master +revision: HEAD + +For some recipes, the meta-oe layer is required: + +URI: git://github.com/openembedded/meta-oe.git +subdirectory: meta-oe +branch: master +revision: HEAD + + + +Layout +------ + +recipes-httpd/ Web servers +recipes-php/ PHP applications +recipes-support/ Miscellaneous support recipes +recipes-webadmin/ Standalone web administration interfaces + + +Notes +----- + +* This layer used to provide a modphp recipe that built mod_php, but + this is now built as part of the php recipe in meta-oe. However, since + apache2 is required to build mod_php, and apache2 recipe is in this + layer and recipes in meta-oe can't depend on it, mod_php is not built + by default. If you do wish to use mod_php, you need to add "apache2" + to the PACKAGECONFIG value for the php recipe in order to enable it. + See here for info on how to do that: + + http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PACKAGECONFIG + + +Maintenance +----------- + +Send patches / pull requests to openembedded-devel@lists.openembedded.org +with '[meta-webserver]' in the subject. + +Layer maintainer: Derek Straka <derek@asterius.io> + + +License +------- + +All metadata is MIT licensed unless otherwise stated. Source code included +in tree for individual recipes is under the LICENSE stated in each recipe +(.bb file) unless otherwise stated. + +This README document is Copyright (C) 2012 Intel Corporation. + diff --git a/meta-openembedded/meta-webserver/conf/layer.conf b/meta-openembedded/meta-webserver/conf/layer.conf new file mode 100644 index 000000000..f205ef23b --- /dev/null +++ b/meta-openembedded/meta-webserver/conf/layer.conf @@ -0,0 +1,26 @@ +# Layer configuration for meta-webserver layer +# Copyright 2012 Intel Corporation + +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have various recipe-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "webserver" +BBFILE_PATTERN_webserver := "^${LAYERDIR}/" +BBFILE_PRIORITY_webserver = "6" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_webserver = "1" + +LAYERDEPENDS_webserver = "core openembedded-layer" + +LAYERSERIES_COMPAT_webserver = "sumo" + +LICENSE_PATH += "${LAYERDIR}/licenses" + +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + phpmyadmin->bash \ +" diff --git a/meta-openembedded/meta-webserver/licenses/OML b/meta-openembedded/meta-webserver/licenses/OML new file mode 100644 index 000000000..7e6bdfded --- /dev/null +++ b/meta-openembedded/meta-webserver/licenses/OML @@ -0,0 +1,28 @@ +This FastCGI application library source and object code (the +"Software") and its documentation (the "Documentation") are +copyrighted by Open Market, Inc ("Open Market"). The following terms +apply to all files associated with the Software and Documentation +unless explicitly disclaimed in individual files. + +Open Market permits you to use, copy, modify, distribute, and license +this Software and the Documentation for any purpose, provided that +existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written +agreement, license, or royalty fee is required for any of the +authorized uses. Modifications to this Software and Documentation may +be copyrighted by their authors and need not follow the licensing +terms described here. If modifications to this Software and +Documentation have new licensing terms, the new terms must be clearly +indicated on the first page of each file where they apply. + +OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE +SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN +NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY +DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE +DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR +CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR +LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS". +OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR +OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION. diff --git a/meta-openembedded/meta-webserver/licenses/Xdebug b/meta-openembedded/meta-webserver/licenses/Xdebug new file mode 100644 index 000000000..3cdbf0598 --- /dev/null +++ b/meta-openembedded/meta-webserver/licenses/Xdebug @@ -0,0 +1,60 @@ +-------------------------------------------------------------------- + The Xdebug License, version 1.01 + (Based on "The PHP License", version 3.0) + Copyright (c) 2003-2012 Derick Rethans. All rights reserved. +-------------------------------------------------------------------- + +Redistribution and use in source and binary forms, with or without +modification, is permitted provided that the following conditions +are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. The name "Xdebug" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact derick@xdebug.org. + + 4. Products derived from this software may not be called "Xdebug", nor + may "Xdebug" appear in their name, without prior written permission + from derick@xdebug.org. + + 5. Derick Rethans may publish revised and/or new versions of the + license from time to time. Each version will be given a + distinguishing version number. Once covered code has been + published under a particular version of the license, you may + always continue to use it under the terms of that version. You + may also choose to use such covered code under the terms of any + subsequent version of the license published by Derick Rethans. No + one other than Derick Rethans has the right to modify the terms + applicable to covered code created under this License. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: "This product includes Xdebug, freely available + from <http://xdebug.org/>". + +THIS SOFTWARE IS PROVIDED BY DERICK RETHANS ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP DEVELOPMENT TEAM OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------- + +This software consists of voluntary contributions made by some +individuals on behalf of Derick Rethans. + +Derick Rethans can be contacted via e-mail at derick@xdebug.org. + +For more information Xdebug, please see <http://xdebug.org>. diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb new file mode 100644 index 000000000..0beb3ed04 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb @@ -0,0 +1,33 @@ +SUMMARY = "Websocket module for Apache web server" +DESCRIPTION = "Process requests using the WebSocket protocol (RFC 6455)" +HOMEPAGE = "https://github.com/jchampio/${PN}/" +SECTION = "net" +LICENSE = "Apache-2.0" + +inherit autotools-brokensep pkgconfig + +DEPENDS = "apache2 apache2-native pbzip2-native" +RDEPENDS_${PN} += "apache2" + +# Original (github.com/disconnect/apache-websocket) is dead since 2012, the +# fork contains patches from the modules ML and fixes CVE compliance issues +SRC_URI = "git://github.com/jchampio/apache-websocket.git" + +SRCREV = "f5230d8c520dccf8631da94bf90c23f3c1100dcc" + +PV = "0.1.1" + +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" + +EXTRA_OECONF = "APACHECTL=${STAGING_DIR_TARGET}${sbindir}/apachectl \ + LIBTOOL=${STAGING_DIR_TARGET}${bindir_crossscripts}/${HOST_SYS}-libtool" + +do_install() { + install -d ${D}${libdir}/apache2/modules/ + install ${B}/.libs/mod_websocket.so ${D}${libdir}/apache2/modules/ +} + +FILES_${PN} += " ${libdir}/apache2/modules/* " +FILES_${PN}-dbg += " ${libdir}/apache2/modules/.debug/* " diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb new file mode 100644 index 000000000..36f073c85 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb @@ -0,0 +1,45 @@ +DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \ +extensible web server." +SUMMARY = "Apache HTTP Server" +HOMEPAGE = "http://httpd.apache.org/" +DEPENDS = "expat-native pcre-native apr-native apr-util-native" +SECTION = "net" +LICENSE = "Apache-2.0" + +inherit autotools pkgconfig native + +SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ + file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ + " + +S = "${WORKDIR}/httpd-${PV}" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=a62b0c7623826ff99766ff13fb9007f8" +SRC_URI[md5sum] = "0c599404ef6b69eee95bcd9fcd094407" +SRC_URI[sha256sum] = "777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00" + +EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \ + --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \ + --prefix=${prefix} --datadir=${datadir}/apache2 \ + " + +do_install () { + install -d ${D}${bindir} ${D}${libdir} + cp server/gen_test_char ${D}${bindir} + install -m 755 support/apxs ${D}${bindir}/ + install -m 755 httpd ${D}${bindir}/ + install -d ${D}${datadir}/apache2/build + cp ${S}/build/*.mk ${D}${datadir}/apache2/build + cp build/*.mk ${D}${datadir}/apache2/build + cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build + + install -d ${D}${includedir}/apache2 + cp ${S}/include/* ${D}${includedir}/apache2 + cp include/* ${D}${includedir}/apache2 + cp ${S}/os/unix/os.h ${D}${includedir}/apache2 + cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2 + + cp support/envvars-std ${D}${bindir}/envvars + chmod 755 ${D}${bindir}/envvars +} + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch new file mode 100644 index 000000000..92c53f31d --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch @@ -0,0 +1,22 @@ +# Author: echo <fei.geng@windriver.com> +# Date: April 28 2009 +# Summary:Fix perl install directory to /usr/bin +# +# Upstream-Status: Inappropriate [configuration] + +Index: httpd-2.4.29/configure.in +=================================================================== +--- httpd-2.4.29.orig/configure.in ++++ httpd-2.4.29/configure.in +@@ -855,10 +855,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, " + AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types", + [Location of the MIME types config file, relative to the Apache root directory]) + +-perlbin=`$ac_aux_dir/PrintPath perl` +-if test "x$perlbin" = "x"; then +- perlbin="/replace/with/path/to/perl/interpreter" +-fi ++perlbin='/usr/bin/perl' + AC_SUBST(perlbin) + + dnl If we are running on BSD/OS, we need to use the BSD .include syntax. diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch new file mode 100644 index 000000000..f13da91f3 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch @@ -0,0 +1,81 @@ + build/ltmain.sh | 32 +++++++++++++++++++++++++++----- + 1 file changed, 27 insertions(+), 5 deletions(-) + +Index: httpd-2.4.29/build/ltmain.sh +=================================================================== +--- httpd-2.4.29.orig/build/ltmain.sh ++++ httpd-2.4.29/build/ltmain.sh +@@ -6969,7 +6969,7 @@ func_mode_link () + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in +- [\\/]* | [A-Za-z]:[\\/]*) ;; ++ =* | [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ +@@ -8167,7 +8167,7 @@ func_mode_link () + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && +- test yes = "$hardcode_into_libs"; then ++ test "x$wrs_use_rpaths" = "xyes" && test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. +@@ -8434,7 +8434,7 @@ func_mode_link () + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && +- { test yes != "$hardcode_into_libs" || ++ { test yes != "$hardcode_into_libs" || test "x$wrs_use_rpaths" != "xyes" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs +@@ -9086,7 +9086,8 @@ func_mode_link () + *) func_append finalize_rpath " $libdir" ;; + esac + done +- if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then ++ if test yes != "$hardcode_into_libs" || test "x$wrs_use_rpaths" != "xyes" || ++ test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi +@@ -9534,7 +9535,7 @@ EOF + case $archive_cmds in + *\$LD\ *) wl= ;; + esac +- if test yes = "$hardcode_into_libs"; then ++ if test yes = "$hardcode_into_libs" && test "x$wrs_use_rpaths" = "xyes"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= +@@ -10272,6 +10273,27 @@ EOF + # Now hardcode the library paths + rpath= + hardcode_libdirs= ++ ++ # short circuit putting rpaths in executables ++ # ++ if test "x$wrs_use_rpaths" != "xyes" ; then ++ flag= ++ for libdir in $compile_rpath; do ++ case $(echo $libdir | ${SED} 's,/[/]*,/,g') in ++ /usr/lib/* | /usr/lib32/* | /usr/lib64/* ) flag="$flag $libdir" ;; ++ esac ++ done ++ compile_rpath="$flag" ++ ++ flag= ++ for libdir in $finalize_rpath; do ++ case $(echo $libdir | ${SED} 's,/[/]*,/,g') in ++ /usr/lib/* | /usr/lib32/* | /usr/lib64/* ) flag="$flag $libdir" ;; ++ esac ++ done ++ finalize_rpath="$flag" ++ fi ++ + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch new file mode 100644 index 000000000..18e4107ec --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch @@ -0,0 +1,37 @@ + +Bump up the core size limit if CoreDumpDirectory is +configured. + +Upstream-Status: Pending + +Note: upstreaming was discussed but there are competing desires; + there are portability oddities here too. + +--- httpd-2.4.1/server/core.c.corelimit ++++ httpd-2.4.1/server/core.c +@@ -4433,6 +4433,25 @@ static int core_post_config(apr_pool_t * + } + apr_pool_cleanup_register(pconf, NULL, ap_mpm_end_gen_helper, + apr_pool_cleanup_null); ++ ++#ifdef RLIMIT_CORE ++ if (ap_coredumpdir_configured) { ++ struct rlimit lim; ++ ++ if (getrlimit(RLIMIT_CORE, &lim) == 0 && lim.rlim_cur == 0) { ++ lim.rlim_cur = lim.rlim_max; ++ if (setrlimit(RLIMIT_CORE, &lim) == 0) { ++ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, ++ "core dump file size limit raised to %lu bytes", ++ lim.rlim_cur); ++ } else { ++ ap_log_error(APLOG_MARK, APLOG_NOTICE, errno, NULL, ++ "core dump file size is zero, setrlimit failed"); ++ } ++ } ++ } ++#endif ++ + return OK; + } + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch new file mode 100644 index 000000000..873328d9b --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch @@ -0,0 +1,63 @@ + +Log the SELinux context at startup. + +Upstream-Status: Inappropriate [other] + +Note: unlikely to be any interest in this upstream + +--- httpd-2.4.1/configure.in.selinux ++++ httpd-2.4.1/configure.in +@@ -458,6 +458,11 @@ fopen64 + dnl confirm that a void pointer is large enough to store a long integer + APACHE_CHECK_VOID_PTR_LEN + ++AC_CHECK_LIB(selinux, is_selinux_enabled, [ ++ AC_DEFINE(HAVE_SELINUX, 1, [Defined if SELinux is supported]) ++ APR_ADDTO(AP_LIBS, [-lselinux]) ++]) ++ + AC_CACHE_CHECK([for gettid()], ac_cv_gettid, + [AC_TRY_RUN(#define _GNU_SOURCE + #include <unistd.h> +--- httpd-2.4.1/server/core.c.selinux ++++ httpd-2.4.1/server/core.c +@@ -58,6 +58,10 @@ + #include <unistd.h> + #endif + ++#ifdef HAVE_SELINUX ++#include <selinux/selinux.h> ++#endif ++ + /* LimitRequestBody handling */ + #define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1) + #define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0) +@@ -4452,6 +4456,28 @@ static int core_post_config(apr_pool_t * + } + #endif + ++#ifdef HAVE_SELINUX ++ { ++ static int already_warned = 0; ++ int is_enabled = is_selinux_enabled() > 0; ++ ++ if (is_enabled && !already_warned) { ++ security_context_t con; ++ ++ if (getcon(&con) == 0) { ++ ++ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, ++ "SELinux policy enabled; " ++ "httpd running as context %s", con); ++ ++ already_warned = 1; ++ ++ freecon(con); ++ } ++ } ++ } ++#endif ++ + return OK; + } + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch new file mode 100644 index 000000000..afbed8e55 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch @@ -0,0 +1,22 @@ + +There is no need to "suck in" the apr/apr-util symbols when using +a shared libapr{,util}, it just bloats the symbol table; so don't. + +Upstream-HEAD: needed +Upstream-2.0: omit +Upstream-Status: Pending + +Note: EXPORT_DIRS change is conditional on using shared apr + +--- httpd-2.4.4/server/Makefile.in.export ++++ httpd-2.4.4/server/Makefile.in +@@ -57,9 +57,6 @@ export_files: + ( for dir in $(EXPORT_DIRS); do \ + ls $$dir/*.h ; \ + done; \ +- for dir in $(EXPORT_DIRS_APR); do \ +- ls $$dir/ap[ru].h $$dir/ap[ru]_*.h 2>/dev/null; \ +- done; \ + ) | sed -e s,//,/,g | sort -u > $@ + + exports.c: export_files diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch new file mode 100644 index 000000000..e4e01b2af --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch @@ -0,0 +1,49 @@ +From 760ccbb2fb046621a2aeaecabb2b1ef9aa280cf1 Mon Sep 17 00:00:00 2001 +From: Yulong Pei <Yulong.pei@windriver.com> +Date: Thu, 1 Sep 2011 01:03:14 +0800 +Subject: [PATCH] replace lynx to curl in apachectl script + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Yulong Pei <Yulong.pei@windriver.com> +--- + support/apachectl.in | 14 ++++++++++---- + 1 files changed, 10 insertions(+), 4 deletions(-) + +Index: httpd-2.4.29/support/apachectl.in +=================================================================== +--- httpd-2.4.29.orig/support/apachectl.in ++++ httpd-2.4.29/support/apachectl.in +@@ -52,11 +52,11 @@ fi + # a command that outputs a formatted text version of the HTML at the + # url given on the command line. Designed for lynx, however other + # programs may work. +-LYNX="@LYNX_PATH@ -dump" ++CURL="/usr/bin/curl" + # + # the URL to your server's mod_status status page. If you do not + # have one, then status and fullstatus will not work. +-STATUSURL="http://localhost:@PORT@/server-status" ++STATUSURL="http://localhost:@PORT@/" + # + # Set this variable to a command that increases the maximum + # number of file descriptors allowed per child process. This is +@@ -92,10 +92,16 @@ configtest) + ERROR=$? + ;; + status) +- $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } ' ++ $CURL -s $STATUSURL | grep -o "It works!" ++ if [ $? != 0 ] ; then ++ echo The httpd server does not work! ++ fi + ;; + fullstatus) +- $LYNX $STATUSURL ++ $CURL -s $STATUSURL | grep -o "It works!" ++ if [ $? != 0 ] ; then ++ echo The httpd server does not work! ++ fi + ;; + *) + $HTTPD "$@" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch new file mode 100644 index 000000000..f1349cb6a --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch @@ -0,0 +1,11 @@ +--- http-2.0.54/server/Makefile.in-old 2005-12-20 13:26:56.000000000 -0500 ++++ http-2.0.54/server/Makefile.in 2005-12-20 13:27:22.000000000 -0500 +@@ -27,7 +27,7 @@ + $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS) + + test_char.h: gen_test_char +- ./gen_test_char > test_char.h ++ gen_test_char > test_char.h + + util.lo: test_char.h + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb new file mode 100644 index 000000000..f0298b91a --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb @@ -0,0 +1,194 @@ +DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \ +extensible web server." +SUMMARY = "Apache HTTP Server" +HOMEPAGE = "http://httpd.apache.org/" +DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util" +SECTION = "net" +LICENSE = "Apache-2.0" + +SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ + file://server-makefile.patch \ + file://httpd-2.4.1-corelimit.patch \ + file://httpd-2.4.4-export.patch \ + file://httpd-2.4.1-selinux.patch \ + file://apache-configure_perlbin.patch \ + file://replace-lynx-to-curl-in-apachectl-script.patch \ + file://apache-ssl-ltmain-rpath.patch \ + file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \ + file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ + file://configure-allow-to-disable-selinux-support.patch \ + file://init \ + file://apache2-volatile.conf \ + file://apache2.service \ + file://volatiles.04_apache2 \ + " + +LIC_FILES_CHKSUM = "file://LICENSE;md5=a62b0c7623826ff99766ff13fb9007f8" +SRC_URI[md5sum] = "0c599404ef6b69eee95bcd9fcd094407" +SRC_URI[sha256sum] = "777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00" + +S = "${WORKDIR}/httpd-${PV}" + +inherit autotools update-rc.d pkgconfig systemd + +SYSTEMD_SERVICE_${PN} = "apache2.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice" + +CFLAGS_append = " -DPATH_MAX=4096" +CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl " +EXTRA_OECONF = "--enable-ssl \ + --with-ssl=${STAGING_LIBDIR}/.. \ + --with-expat=${STAGING_LIBDIR}/.. \ + --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \ + --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \ + --enable-info \ + --enable-rewrite \ + --with-dbm=sdbm \ + --with-berkeley-db=no \ + --localstatedir=/var/${BPN} \ + --with-gdbm=no \ + --with-ndbm=no \ + --includedir=${includedir}/${BPN} \ + --datadir=${datadir}/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --libexecdir=${libdir}/${BPN}/modules \ + ap_cv_void_ptr_lt_long=no \ + --enable-mpms-shared \ + ac_cv_have_threadsafe_pollset=no" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" +PACKAGECONFIG[selinux] = "--enable-selinux --enable-layout=Debian --prefix=${base_prefix}/,--disable-selinux,libselinux,libselinux" +PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap" + +do_configure_prepend() { + sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout +} + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + cat ${WORKDIR}/init | \ + sed -e 's,/usr/sbin/,${sbindir}/,g' \ + -e 's,/usr/bin/,${bindir}/,g' \ + -e 's,/usr/lib,${libdir}/,g' \ + -e 's,/etc/,${sysconfdir}/,g' \ + -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN} + chmod 755 ${D}/${sysconfdir}/init.d/${BPN} + # remove the goofy original files... + rm -rf ${D}/${sysconfdir}/${BPN}/original + # Expat should be found in the staging area via DEPENDS... + rm -f ${D}/${libdir}/libexpat.* + + install -d ${D}${sysconfdir}/${BPN}/conf.d + install -d ${D}${sysconfdir}/${BPN}/modules.d + + # Ensure configuration file pulls in conf.d and modules.d + printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + # match with that is in init script + printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf + # Set 'ServerName' to fix error messages when restart apache service + sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2 + fi + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service + + chown -R root:root ${D} +} + +do_install_append_class-target() { + sed -i -e 's,${STAGING_DIR_HOST},,g' \ + -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ + -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk + + sed -i -e 's,${STAGING_DIR_HOST},,g' \ + -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice + rm -rf ${D}${localstatedir}/run +} + +SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess" + +apache_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -d ${SYSROOT_DESTDIR}${sbindir}/ + install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}/ + sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs + sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs + + sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk +} + +# +# implications - used by update-rc.d scripts +# +INITSCRIPT_NAME = "apache2" +INITSCRIPT_PARAMS = "defaults 91 20" +LEAD_SONAME = "libapr-1.so.0" + +PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" + +CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \ + ${sysconfdir}/${BPN}/magic \ + ${sysconfdir}/${BPN}/mime.types \ + ${sysconfdir}/init.d/${BPN} " + +# we override here rather than append so that .so links are +# included in the runtime package rather than here (-dev) +# and to get build, icons, error into the -dev package +FILES_${PN}-dev = "${datadir}/${BPN}/build \ + ${datadir}/${BPN}/icons \ + ${datadir}/${BPN}/error \ + ${bindir}/apr-config ${bindir}/apu-config \ + ${libdir}/apr*.exp \ + ${includedir}/${BPN} \ + ${libdir}/*.la \ + ${libdir}/*.a \ + ${bindir}/apxs \ + " + + +# manual to manual +FILES_${PN}-doc += " ${datadir}/${BPN}/manual" + +FILES_${PN}-scripts += "${bindir}/dbmmanage" + +# +# override this too - here is the default, less datadir +# +FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \ + ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \ + ${libdir}/${BPN}" + +# we want htdocs and cgi-bin to go with the binary +FILES_${PN} += "${datadir}/${BPN}/htdocs ${datadir}/${BPN}/cgi-bin" + +#make sure the lone .so links also get wrapped in the base package +FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*" + +FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug" + +RDEPENDS_${PN} += "openssl libgcc" +RDEPENDS_${PN}-scripts += "perl ${PN}" +RDEPENDS_${PN}-dev = "perl" + +FILES_${PN} += "${libdir}/cgi-bin" +FILES_${PN} += "${datadir}/${BPN}/" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch new file mode 100644 index 000000000..63096db0a --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch @@ -0,0 +1,52 @@ +From d8837756f2a48adcfe5d645c39cf163d96eac76c Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Tue, 17 Jun 2014 09:10:57 +0200 +Subject: [PATCH] configure: use pkg-config for PCRE detection + +Signed-off-by: Koen Kooi <koen.kooi@linaro.org> +Upstream-Status: pending +--- + configure.in | 27 +++++---------------------- + 1 file changed, 5 insertions(+), 22 deletions(-) + +diff --git a/configure.in b/configure.in +index 864d7c7..da4138e 100644 +--- a/configure.in ++++ b/configure.in +@@ -215,28 +215,11 @@ fi + AC_ARG_WITH(pcre, + APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library)) + +-AC_PATH_PROG(PCRE_CONFIG, pcre-config, false) +-if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then +- PCRE_CONFIG=$with_pcre/bin/pcre-config +-elif test -x "$with_pcre"; then +- PCRE_CONFIG=$with_pcre +-fi +- +-if test "$PCRE_CONFIG" != "false"; then +- if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else +- AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG]) +- fi +- case `$PCRE_CONFIG --version` in +- [[1-5].*]) +- AC_MSG_ERROR([Need at least pcre version 6.0]) +- ;; +- esac +- AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG]) +- APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`]) +- APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`]) +-else +- AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/]) +-fi ++PKG_CHECK_MODULES([PCRE], [libpcre], [ ++ AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) ++], [ ++ AC_MSG_ERROR([$PCRE_PKG_ERRORS]) ++]) + APACHE_SUBST(PCRE_LIBS) + + AC_MSG_NOTICE([]) +-- +1.9.3 + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf new file mode 100644 index 000000000..ff2c58704 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf @@ -0,0 +1,2 @@ +d /var/run/apache2 0755 root root - +d /var/log/apache2 0755 root root - diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/apache2.service b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/apache2.service new file mode 100644 index 000000000..9b5548c76 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/apache2.service @@ -0,0 +1,14 @@ +[Unit] +Description=The Apache HTTP Server +After=network.target remote-fs.target nss-lookup.target + +[Service] +Type=simple +Environment=LANG=C +ExecStart=@SBINDIR@/httpd -DFOREGROUND -D SSL -D PHP5 -k start +ExecStop=@BASE_BINDIR@/kill -WINCH ${MAINPID} +KillSignal=SIGCONT +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch new file mode 100644 index 000000000..5b5c29707 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch @@ -0,0 +1,40 @@ +From d23dd33e373340f6fddf11904839d1a118824401 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Mon, 1 Dec 2014 02:08:27 -0500 +Subject: [PATCH] apache2: allow to disable selinux support + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + configure.in | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index df94ee5..8c3ab21 100644 +--- a/configure.in ++++ b/configure.in +@@ -466,10 +466,16 @@ getloadavg + dnl confirm that a void pointer is large enough to store a long integer + APACHE_CHECK_VOID_PTR_LEN + +-AC_CHECK_LIB(selinux, is_selinux_enabled, [ +- AC_DEFINE(HAVE_SELINUX, 1, [Defined if SELinux is supported]) +- APR_ADDTO(AP_LIBS, [-lselinux]) +-]) ++# SELinux support ++AC_ARG_ENABLE(selinux,APACHE_HELP_STRING(--enable-selinux,Enable SELinux support [default=auto]), ++ [],[enable_selinux=auto]) ++ ++if test x$enable_selinux != xno; then ++ AC_CHECK_LIB(selinux, is_selinux_enabled, [ ++ AC_DEFINE(HAVE_SELINUX, 1, [Defined if SELinux is supported]) ++ APR_ADDTO(AP_LIBS, [-lselinux]) ++ ]) ++fi + + AC_CACHE_CHECK([for gettid()], ac_cv_gettid, + [AC_TRY_RUN(#define _GNU_SOURCE +-- +1.7.9.5 + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/httpd-2.4.3-fix-race-issue-of-dir-install.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/httpd-2.4.3-fix-race-issue-of-dir-install.patch new file mode 100644 index 000000000..b948753b4 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/httpd-2.4.3-fix-race-issue-of-dir-install.patch @@ -0,0 +1,21 @@ +Upstream-Status: Pending + +fix following race issue when do parallel install +| mkdir: cannot create directory `/home/mypc/workspace/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl_networking-linux/apache2/2.4.3-r1/image/usr/share/apache2': File exists +... +| mkdir: cannot create directory `/home/mypc/workspace/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl_networking-linux/apache2/2.4.3-r1/image/usr/share/apache2': File exists +| make[1]: *** [install-man] Error 1 +| make[1]: *** Waiting for unfinished jobs.... + +-Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> +--- httpd-2.4.3/build/mkdir.sh.orig 2013-01-25 03:47:21.565255420 -0600 ++++ httpd-2.4.3/build/mkdir.sh 2013-01-25 03:46:17.833051230 -0600 +@@ -39,7 +39,7 @@ + esac + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" 1>&2 +- mkdir "$pathcomp" || errstatus=$? ++ mkdir -p "$pathcomp" || errstatus=$? + fi + pathcomp="$pathcomp/" + done diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/init b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/init new file mode 100755 index 000000000..758d133b9 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/init @@ -0,0 +1,230 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: httpd +# Required-Start: $local_fs $remote_fs $network $named +# Required-Stop: $local_fs $remote_fs $network +# Should-Start: distcache +# Short-Description: start and stop Apache HTTP Server +# Description: The Apache HTTP Server is an extensible server +# implementing the current HTTP standards. +### END INIT INFO + +ARGS="-D SSL -D PHP5 -k start" +NAME=apache2 +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/usr/sbin/httpd +SUEXEC=/usr/lib/apache/suexec +PIDFILE=/run/httpd.pid +CONF=/etc/apache2/httpd.conf +APACHECTL=/usr/sbin/apachectl + +trap "" 1 +export LANG=C +export PATH + +test -f $DAEMON || exit 0 +test -f $APACHECTL || exit 0 + +# ensure we don't leak environment vars into apachectl +APACHECTL="env -i LANG=${LANG} PATH=${PATH} $APACHECTL" + +apache_conftest() { + if $($APACHECTL configtest > /dev/null 2>&1 ); then + return 0 + else + return 1 + fi +} + +apache_wait_start() { + local STATUS=$1 + + if [ $STATUS != 0 ] ; then + return $STATUS + fi + + local i=0 + while : ; do + PIDTMP=$(pidof $DAEMON | tr ' ' '\n' | grep -w $(cat $PIDFILE)) + if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then + return $STATUS + fi + + if [ $i = "20" ] ; then + return 2 + fi + + sleep 1 + i=$(($i+1)) + done +} + +apache_wait_stop() { + local STATUS=$1 + + if [ $STATUS != 0 ] ; then + return $STATUS + fi + + PIDTMP=$(pidof $DAEMON | tr ' ' '\n' | grep -w $(cat $PIDFILE)) + if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then + local i=0 + while kill -0 "${PIDTMP:-}" 2> /dev/null; do + if [ $i = '60' ]; then + STATUS=2 + break + fi + sleep 1 + i=$(($i+1)) + done + return $STATUS + else + return $STATUS + fi +} + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + + if [ -e $PIDFILE ] && pidof $DAEMON | tr ' ' '\n' | grep -w $(cat $PIDFILE) > /dev/null 2>&1 ; then + return 1 + fi + + if apache_conftest ; then + $APACHECTL start + apache_wait_start $? + return $? + else + return 2 + fi +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + + local AP_RET=0 + + if pidof $DAEMON > /dev/null 2>&1 ; then + if [ -e $PIDFILE ] && pidof $DAEMON | tr ' ' '\n' | grep -w $(cat $PIDFILE) > /dev/null 2>&1 ; then + AP_RET=2 + else + AP_RET=1 + fi + else + AP_RET=0 + fi + + # AP_RET is: + # 0 if Apache (whichever) is not running + # 1 if Apache (whichever) is running + # 2 if Apache from the PIDFILE is running + + if [ $AP_RET = 0 ] ; then + return 1 + fi + + if [ $AP_RET = 2 ] && apache_conftest ; then + $APACHECTL stop + apache_wait_stop $? + return $? + else + if [ $AP_RET = 2 ]; then + kill $(pidof $DAEMON | tr ' ' '\n' | grep -w $(cat $PIDFILE)) + apache_wait_stop $? + return $? + elif [ $AP_RET = 1 ] ; then + return 2 + fi + fi + +} + +case "$1" in + start) + echo -n "Starting web server: $NAME" + do_start + case $? in + 0|1) + echo . + exit 0 + ;; + 2) + echo failed + exit 1 + ;; + esac + ;; + + stop) + echo -n "Stopping web server: $NAME" + do_stop + case $? in + 0|1) + echo . + exit 0 + ;; + 2) + echo failed + exit 1 + ;; + esac + ;; + + reload) + echo -n "Reloading $NAME configuration" + kill -HUP `cat $PIDFILE` + ;; + + reload-modules) + echo -n "Reloading $NAME modules" + $APACHECTL restart + ;; + + restart) + echo "Restarting web server: $NAME" + do_stop + case "$?" in + 0|1) + do_start + exit $? + ;; + *) + # Failed to stop + exit 1 + ;; + esac + ;; + + force-reload) + $0 reload-modules + exit $? + ;; + + *) + echo "Usage: /etc/init.d/$NAME {start|stop|reload|reload-modules|force-reload|restart}" + exit 1 + ;; +esac + +if [ $? = 0 ]; then + echo . + exit 0 +else + echo failed + exit 1 +fi diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/volatiles.04_apache2 b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/volatiles.04_apache2 new file mode 100644 index 000000000..922075b1b --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/files/volatiles.04_apache2 @@ -0,0 +1,3 @@ +# <type> <owner> <group> <mode> <path> <linksource> +d root root 0755 /var/run/apache2 none +d root root 0755 /var/log/apache2 none diff --git a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch new file mode 100644 index 000000000..f3be7c6e5 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch @@ -0,0 +1,30 @@ +From 4591b5b40d66c19edc73b951ad091dac639454c9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 25 Jul 2017 16:00:34 -0700 +Subject: [PATCH] configure.ac: Add foreign to AM_INIT_AUTOMAKE + +Fixes errors like +| Makefile.am: error: required file './README' not found +| Makefile.am: error: required file './ChangeLog' not found + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index d6298f27..98cab791 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -32,7 +32,7 @@ dnl Init autoconf and automake + AC_INIT([cherokee], [cherokee_version], [http://bugs.cherokee-project.com/], [cherokee]) + AC_CONFIG_SRCDIR([cherokee/server.c]) + AC_CONFIG_MACRO_DIR([m4]) +-AM_INIT_AUTOMAKE([no-define]) ++AM_INIT_AUTOMAKE([no-define foreign]) + + dnl Define version + AC_DEFINE(PACKAGE_MAJOR_VERSION, "cherokee_major_version", [Version string]) +-- +2.13.3 + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch new file mode 100644 index 000000000..d4c0b6e8c --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch @@ -0,0 +1,27 @@ +From e9ae3231ec188df801fe51aa95d6afec2e52db58 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 25 Jul 2017 16:14:19 -0700 +Subject: [PATCH] make: Do not build po files + +Target fails to build + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index f01278c3..eb864c36 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + ## Cherokee: Makefile.am -*- makefile -*- + +-SUBDIRS = po m4 www icons themes qa doc . admin contrib cherokee cget packages dbslayer ++SUBDIRS = m4 www icons themes qa doc . admin contrib cherokee cget packages dbslayer + SUFFIXES = .sample.pre .sample .h.pre .h .xml.pre .xml + ACLOCAL_AMFLAGS = -I m4 + +-- +2.13.3 + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee-install-configured.py-once.patch b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee-install-configured.py-once.patch new file mode 100644 index 000000000..3336f7df7 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee-install-configured.py-once.patch @@ -0,0 +1,40 @@ +From 98a0f19df0a31d5649ad89d395fd1b8de5591827 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 3 Apr 2014 21:33:25 +0800 +Subject: [PATCH] admin/Makefile.am: only install configured.py once + +Both the two rules install-adminpyDATA and install-generatedDATA will +install the configured.py to the same location, they can run parallel, +and they use "install -m", which would might build failures: + +/usr/bin/install: setting permissions for `/path/to/configured.py': No such file or directory + +This is because the first install is setting the permission while the +second install is removing the file an re-install. + +Only install the configured.py once will fix the problem, I think that +there is no side effect since it installed the same file to the same +location twice in the past. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + admin/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/admin/Makefile.am b/admin/Makefile.am +index ce5937b..6f96934 100644 +--- a/admin/Makefile.am ++++ b/admin/Makefile.am +@@ -73,7 +73,6 @@ SystemStatsWidgets.py \ + Wizard.py \ + XMLServerDigest.py \ + config_version.py \ +-configured.py \ + consts.py \ + util.py \ + popen.py \ +-- +1.8.2.1 + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee.init b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee.init new file mode 100644 index 000000000..93603b84d --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee.init @@ -0,0 +1,32 @@ +#!/bin/sh +DAEMON=/usr/sbin/cherokee +CONFIG=/etc/cherokee/cherokee.conf +PIDFILE=/var/run/cherokee.pid +NAME="cherokee" +DESC="Cherokee http server" + +test -r /etc/default/cherokee && . /etc/default/cherokee +test -x "$DAEMON" || exit 0 +test ! -r "$CONFIG" && exit 0 + +case "$1" in + start) + echo "Starting $DESC: " + start-stop-daemon --oknodo -S -x $DAEMON -- -d -C $CONFIG + ;; + + stop) + echo "Stopping $DESC:" + start-stop-daemon -K -p $PIDFILE + ;; + + restart) + $0 stop >/dev/null 2>&1 + $0 start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 0 + ;; +esac diff --git a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee.service b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee.service new file mode 100644 index 000000000..a2d703185 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee/cherokee.service @@ -0,0 +1,10 @@ +[Unit] +Description=Cherokee web server +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/sbin/cherokee -d -C /etc/cherokee/cherokee.conf + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb new file mode 100644 index 000000000..3f7eae4c1 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb @@ -0,0 +1,71 @@ +SUMMARY = "Cherokee Web Server fast and secure" +SUMMARY_cget = "Small downloader based in the Cherokee client library" +HOMEPAGE = "http://www.cherokee-project.com/" +SECTION = "network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "unzip-native libpcre openssl mysql5 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +SRCREV = "75f041e2255e6dd0692db2f14611c2647dbe8425" +PV = "1.2.104+git${SRCPV}" +SRC_URI = "git://github.com/cherokee/webserver \ + file://cherokee.init \ + file://cherokee.service \ + file://cherokee-install-configured.py-once.patch \ + file://0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch \ + file://0001-make-Do-not-build-po-files.patch \ +" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig binconfig update-rc.d systemd pythonnative + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ffmpeg] = "--with-ffmpeg,--without-ffmpeg,libav" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[geoip] = "--with-geoip,--without-geoip,geoip" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +EXTRA_OECONF = "--disable-static \ + --disable-nls \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)} \ + --with-wwwroot=${localstatedir}/www/cherokee \ +" + +do_install_append () { + install -m 0755 -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/cherokee.init ${D}${sysconfdir}/init.d/cherokee + + # clean up .la files for plugins + rm -f ${D}${libdir}/cherokee/*.la + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/cherokee.service ${D}${systemd_unitdir}/system + rmdir "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" +} + +# Put -dev near the front so we can move the .la files into it with a wildcard +PACKAGES =+ "libcherokee-server libcherokee-client libcherokee-base cget" + +FILES_cget = "${bindir}/cget" +FILES_libcherokee-server = "${libdir}/libcherokee-server${SOLIBS}" +FILES_libcherokee-client = "${libdir}/libcherokee-client${SOLIBS}" +FILES_libcherokee-base = "${libdir}/libcherokee-base${SOLIBS}" + +# Pack the htdocs +FILES_${PN} += "${localstatedir}/www/cherokee" + +CONFFILES_${PN} = " \ + ${sysconfdir}/cherokee/cherokee.conf \ + ${sysconfdir}/init.d/cherokee \ +" + +INITSCRIPT_NAME = "cherokee" +INITSCRIPT_PARAMS = "defaults 91 91" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "cherokee.service" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha-init b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha-init new file mode 100644 index 000000000..7427fcb90 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha-init @@ -0,0 +1,45 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: hiawatha httpd httpd-cgi +# Required-Start: $syslog $network $remote_fs +# Required-Stop: $syslog $network $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Hiawatha webserver +# Description: Hiawatha, a secure and advanced webserver. +### END INIT INFO + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=sed_sbin_path/hiawatha +NAME=hiawatha +DESC="Hiawatha Web Server" +OPTS="" + +case "$1" in + start) + echo -n "Starting $DESC: " + mkdir -p /var/log/hiawatha &> /dev/null + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop -x "$DAEMON" + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon --stop -x "$DAEMON" + sleep 1 + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha.service b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha.service new file mode 100644 index 000000000..26cb8d03d --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha.service @@ -0,0 +1,16 @@ +[Unit] +Description=Hiawatha Web Server +After=network.target remote-fs.target nss-lookup.target + +[Service] +Type=simple +SyslogIdentifier=hiawatha +ExecStartPre=/usr/sbin/hiawatha -k ; /usr/sbin/wigwam +ExecStart= /usr/sbin/hiawatha -d +TimeoutSec=10 +#(doesn't like this setting. Can't find files) PrivateTmp=true +LimitNOFILE=infinity +CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER CAP_FSETID CAP_SETGID CAP_SETUID + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb new file mode 100644 index 000000000..4c3ca556b --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb @@ -0,0 +1,64 @@ +SUMMARY = "Lightweight secure web server" +HOMEPAGE = "http://www.hiawatha-webserver.org" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "libxml2 libxslt" + +SECTION = "net" + +SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \ + file://hiawatha-init \ + file://hiawatha.service " + +SRC_URI[md5sum] = "581aa71c831172ba06910deda717302f" +SRC_URI[sha256sum] = "363e99d84a85dafbb74bcc30b3e30286053ec2abbc7afe08cd87193611735f74" + +INITSCRIPT_NAME = "hiawatha" +INITSCRIPT_PARAMS = "defaults 70" + +SYSTEMD_SERVICE_${PN} = "hiawatha.service" + +inherit cmake update-rc.d systemd + +EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \ + -DENABLE_CACHE=OFF \ + -DENABLE_DEBUG=OFF \ + -DENABLE_SSL=OFF \ + -DENABLE_TOOLKIT=OFF \ + -DENABLE_CHROOT=OFF \ + -DENABLE_XSLT=ON \ + -DENABLE_TOMAHAWK=OFF \ + -DCMAKE_INSTALL_MANDIR=${mandir} \ + -DCMAKE_INSTALL_BINDIR=${bindir} \ + -DCMAKE_INSTALL_SBINDIR=${sbindir} \ + -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \ + -DCMAKE_INSTALL_LIBDIR=${libdir} \ + -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}" + +do_install_append() { + # Copy over init script and sed in the correct sbin path + sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init + mkdir -p ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha + + # configure php-fcgi to have a working configuration + # by default if php is installed + echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system + fi + + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run" +} + +CONFFILES_${PN} = " \ + ${sysconfdir}/hiawatha/cgi-wrapper.conf \ + ${sysconfdir}/hiawatha/hiawatha.conf \ + ${sysconfdir}/hiawatha/index.xslt \ + ${sysconfdir}/hiawatha/mimetype.conf \ + ${sysconfdir}/hiawatha/php-fcgi.conf \ +" + +FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch new file mode 100644 index 000000000..7a229513b --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch @@ -0,0 +1,29 @@ +From b0526a9b5325bd4758dad8d14efd85c98ef2ebff Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 14 Jul 2017 18:25:23 -0700 +Subject: [PATCH] configure: Respect LIBS variable from env + +For musl we need to pass -lexecinfo from env +this change accomodates that + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 4286c34..f1c65db 100755 +--- a/configure ++++ b/configure +@@ -620,7 +620,7 @@ LIBDEFS = -DSHAREDLIB -fPIC \$(DEFS) + INCDIR = ./include + LDFLAGS = $LDFLAGS + DESTDIR = ../bin/monkey +-LIBS = -ldl $libs ++LIBS = -ldl $libs ${LIBS} + OBJ = monkey.o mk_method.o mk_mimetype.o mk_vhost.o mk_request.o \\ + mk_header.o mk_config.o mk_signals.o \\ + mk_user.o mk_utils.o mk_epoll.o mk_scheduler.o \\ +-- +2.13.3 + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.init b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.init new file mode 100644 index 000000000..40b21182e --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.init @@ -0,0 +1,34 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/monkey +NAME=monkey +DESC="Monkey HTTP Server" +OPTS="--daemon" + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop -x "$DAEMON" + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon --stop -x "$DAEMON" + sleep 1 + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.service b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.service new file mode 100644 index 000000000..f9aa57f91 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/files/monkey.service @@ -0,0 +1,12 @@ +[Unit] +Description=Monkey HTTP Server +After=network.target remote-fs.target + +[Service] +Type=forking +ExecStart=/usr/bin/monkey --daemon +PIDFile=/var/run/monkey.pid.2001 +TimeoutSec=10 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb new file mode 100644 index 000000000..559d251bd --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb @@ -0,0 +1,77 @@ +SUMMARY = "Fast and Lightweight HTTP Server for Linux" +HOMEPAGE = "http://monkey-project.com" +BUGTRACKER = "https://github.com/monkey/monkey/issues" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" + +SECTION = "net" + +DEPENDS_append_libc-musl = " libexecinfo" + +SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ + file://0001-configure-Respect-LIBS-variable-from-env.patch \ + file://monkey.service \ + file://monkey.init" + +SRC_URI[md5sum] = "9699e4c9ea6ce6b989907c252ae80254" +SRC_URI[sha256sum] = "7c3d845306aa74ee6effd7ab6169d16ac4e6450e564954d0d0baa2d1e9be1a22" + +UPSTREAM_CHECK_URI = "https://github.com/monkey/monkey/releases" +UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz" + +EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ + --logdir=${localstatedir}/log/monkey/ \ + --pidfile=${localstatedir}/run/monkey.pid \ + --default-user=www-data \ + --datadir=${localstatedir}/www/monkey/ \ + --sysconfdir=${sysconfdir}/monkey/ \ + --enable-plugins=* \ + --disable-plugins=mbedtls \ + --debug \ + --malloc-libc" + +do_configure_prepend_libc-musl() { + export LIBS="-lexecinfo" +} + +DISABLE_STATIC = "" +CLEANBROKEN = "1" + +inherit autotools-brokensep pkgconfig update-rc.d systemd + +INITSCRIPT_NAME = "monkey" +INITSCRIPT_PARAMS = "defaults 70" + +SYSTEMD_SERVICE_${PN} = "monkey.service" + +FILES_${PN} += "${localstatedir}/www/monkey/" + +CONFFILES_${PN} = "${sysconfdir}/monkey/monkey.conf \ + ${sysconfdir}/monkey/sites/default \ + ${sysconfdir}/monkey/monkey.mime \ + ${sysconfdir}/monkey/plugins.load \ + ${sysconfdir}/monkey/plugins/proxy_reverse/proxy_reverse.conf \ + ${sysconfdir}/monkey/plugins/mandril/mandril.conf \ + ${sysconfdir}/monkey/plugins/fastcgi/fastcgi.conf \ + ${sysconfdir}/monkey/plugins/logger/logger.conf \ + ${sysconfdir}/monkey/plugins/cgi/cgi.conf \ + ${sysconfdir}/monkey/plugins/cheetah/cheetah.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/dirhtml.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/header.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/footer.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/entry.theme \ + ${sysconfdir}/monkey/plugins/auth/README \ + ${sysconfdir}/monkey/plugins/auth/monkey.users \ + " + +do_install_append() { + + mkdir -p ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/monkey.service ${D}/${systemd_unitdir}/system + fi +} diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch new file mode 100644 index 000000000..ffd5ee3e9 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch @@ -0,0 +1,80 @@ +From be9970aa16c5142ef814531d74a07990a8e9eb14 Mon Sep 17 00:00:00 2001 +From: Derek Straka <derek@asterius.io> +Date: Fri, 1 Dec 2017 10:32:29 -0500 +Subject: [PATCH] Allow the overriding of the endianness via the configure flag + --with-endian + +The existing configure options contain the --with-endian; however, the command +line flag does not actually function. It does not set the endianness and it +appears to do nothing. + +Upstream-Status: Pending + +Signed-off-by: Derek Straka <derek@asterius.io> + +diff --git a/auto/endianness b/auto/endianness +index 1b552b6..be84487 100644 +--- a/auto/endianness ++++ b/auto/endianness +@@ -13,7 +13,13 @@ checking for system byte ordering + END + + +-cat << END > $NGX_AUTOTEST.c ++if [ ".$NGX_WITH_ENDIAN" = ".little" ]; then ++ echo " little endian" ++ have=NGX_HAVE_LITTLE_ENDIAN . auto/have ++elif [ ".$NGX_WITH_ENDIAN" = ".big" ]; then ++ echo " big endian" ++else ++ cat << END > $NGX_AUTOTEST.c + + int main(void) { + int i = 0x11223344; +@@ -26,25 +32,26 @@ int main(void) { + + END + +-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ +- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" ++ ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ++ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" + +-eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" ++ eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" + +-if [ -x $NGX_AUTOTEST ]; then +- if $NGX_AUTOTEST >/dev/null 2>&1; then +- echo " little endian" +- have=NGX_HAVE_LITTLE_ENDIAN . auto/have +- else +- echo " big endian" +- fi ++ if [ -x $NGX_AUTOTEST ]; then ++ if $NGX_AUTOTEST >/dev/null 2>&1; then ++ echo " little endian" ++ have=NGX_HAVE_LITTLE_ENDIAN . auto/have ++ else ++ echo " big endian" ++ fi + +- rm -rf $NGX_AUTOTEST* ++ rm -rf $NGX_AUTOTEST* + +-else +- rm -rf $NGX_AUTOTEST* ++ else ++ rm -rf $NGX_AUTOTEST* + +- echo +- echo "$0: error: cannot detect system byte ordering" +- exit 1 ++ echo ++ echo "$0: error: cannot detect system byte ordering" ++ exit 1 ++ fi + fi +-- +2.7.4 + + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-cross.patch b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-cross.patch new file mode 100644 index 000000000..0a18bcd33 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-cross.patch @@ -0,0 +1,215 @@ +We do not have capability to run binaries when cross compiling + +Upstream-Status: Pending + + +Index: nginx-1.12.2/auto/feature +=================================================================== +--- nginx-1.12.2.orig/auto/feature ++++ nginx-1.12.2/auto/feature +@@ -49,12 +49,20 @@ eval "/bin/sh -c \"$ngx_test\" >> $NGX_A + + if [ -x $NGX_AUTOTEST ]; then + ++ if [ ".$NGX_CROSS_COMPILE" = ".yes" ]; then ++ NGX_AUTOTEST_EXEC="true" ++ NGX_FOUND_MSG=" (not tested, cross compiling)" ++ else ++ NGX_AUTOTEST_EXEC="$NGX_AUTOTEST" ++ NGX_FOUND_MSG="" ++ fi ++ + case "$ngx_feature_run" in + + yes) + # /bin/sh is used to intercept "Killed" or "Abort trap" messages +- if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then +- echo " found" ++ if /bin/sh -c $NGX_AUTOTEST_EXEC >> $NGX_AUTOCONF_ERR 2>&1; then ++ echo " found$NGX_FOUND_MSG" + ngx_found=yes + + if test -n "$ngx_feature_name"; then +@@ -68,17 +76,27 @@ if [ -x $NGX_AUTOTEST ]; then + + value) + # /bin/sh is used to intercept "Killed" or "Abort trap" messages +- if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then +- echo " found" ++ if /bin/sh -c $NGX_AUTOTEST_EXEC >> $NGX_AUTOCONF_ERR 2>&1; then ++ echo " found$NGX_FOUND_MSG" + ngx_found=yes + +- cat << END >> $NGX_AUTO_CONFIG_H ++ if [ ".$NGX_CROSS_COMPILE" = ".yes" ]; then ++ cat << END >> $NGX_AUTO_CONFIG_H + + #ifndef $ngx_feature_name +-#define $ngx_feature_name `$NGX_AUTOTEST` ++#define $ngx_feature_name $(eval "echo \$NGX_WITH_${ngx_feature_name}") + #endif + + END ++ else ++ cat << END >> $NGX_AUTO_CONFIG_H ++ ++#ifndef $ngx_feature_name ++#define $ngx_feature_name `$NGX_AUTOTEST_EXEC` ++#endif ++ ++END ++ fi + else + echo " found but is not working" + fi +@@ -86,7 +104,7 @@ END + + bug) + # /bin/sh is used to intercept "Killed" or "Abort trap" messages +- if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then ++ if /bin/sh -c $NGX_AUTOTEST_EXEC >> $NGX_AUTOCONF_ERR 2>&1; then + echo " not found" + + else +Index: nginx-1.12.2/auto/options +=================================================================== +--- nginx-1.12.2.orig/auto/options ++++ nginx-1.12.2/auto/options +@@ -386,6 +386,18 @@ $0: warning: the \"--with-sha1-asm\" opt + --test-build-epoll) NGX_TEST_BUILD_EPOLL=YES ;; + --test-build-solaris-sendfilev) NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;; + ++ # cross compile support ++ --with-int=*) NGX_WITH_INT="$value" ;; ++ --with-long=*) NGX_WITH_LONG="$value" ;; ++ --with-long-long=*) NGX_WITH_LONG_LONG="$value" ;; ++ --with-ptr-size=*) NGX_WITH_PTR_SIZE="$value" ;; ++ --with-sig-atomic-t=*) NGX_WITH_SIG_ATOMIC_T="$value" ;; ++ --with-size-t=*) NGX_WITH_SIZE_T="$value" ;; ++ --with-off-t=*) NGX_WITH_OFF_T="$value" ;; ++ --with-time-t=*) NGX_WITH_TIME_T="$value" ;; ++ --with-sys-nerr=*) NGX_WITH_NGX_SYS_NERR="$value" ;; ++ --with-endian=*) NGX_WITH_ENDIAN="$value" ;; ++ + *) + echo "$0: error: invalid option \"$option\"" + exit 1 +@@ -568,6 +580,17 @@ cat << END + + --with-debug enable debug logging + ++ --with-int=VALUE force int size ++ --with-long=VALUE force long size ++ --with-long-long=VALUE force long long size ++ --with-ptr-size=VALUE force pointer size ++ --with-sig-atomic-t=VALUE force sig_atomic_t size ++ --with-size-t=VALUE force size_t size ++ --with-off-t=VALUE force off_t size ++ --with-time-t=VALUE force time_t size ++ --with-sys-nerr=VALUE force sys_nerr value ++ --with-endian=VALUE force system endianess ++ + END + + exit 1 +@@ -576,6 +599,8 @@ fi + + if [ ".$NGX_PLATFORM" = ".win32" ]; then + NGX_WINE=$WINE ++elif [ ! -z "$NGX_PLATFORM" ]; then ++ NGX_CROSS_COMPILE="yes" + fi + + +Index: nginx-1.12.2/auto/types/sizeof +=================================================================== +--- nginx-1.12.2.orig/auto/types/sizeof ++++ nginx-1.12.2/auto/types/sizeof +@@ -12,9 +12,12 @@ checking for $ngx_type size + + END + +-ngx_size= ++ngx_size=$(eval "echo \$NGX_WITH_${ngx_param}") + +-cat << END > $NGX_AUTOTEST.c ++if [ ".$ngx_size" != "." ]; then ++ echo " $ngx_size bytes" ++else ++ cat << END > $NGX_AUTOTEST.c + + #include <sys/types.h> + #include <sys/time.h> +@@ -33,15 +36,16 @@ int main(void) { + END + + +-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ +- -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" ++ ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ++ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" + +-eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" ++ eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" + + +-if [ -x $NGX_AUTOTEST ]; then +- ngx_size=`$NGX_AUTOTEST` +- echo " $ngx_size bytes" ++ if [ -x $NGX_AUTOTEST ]; then ++ ngx_size=`$NGX_AUTOTEST` ++ echo " $ngx_size bytes" ++ fi + fi + + +Index: nginx-1.12.2/auto/unix +=================================================================== +--- nginx-1.12.2.orig/auto/unix ++++ nginx-1.12.2/auto/unix +@@ -587,13 +587,13 @@ ngx_feature_libs= + + # C types + +-ngx_type="int"; . auto/types/sizeof ++ngx_type="int"; ngx_param="INT"; . auto/types/sizeof + +-ngx_type="long"; . auto/types/sizeof ++ngx_type="long"; ngx_param="LONG"; . auto/types/sizeof + +-ngx_type="long long"; . auto/types/sizeof ++ngx_type="long long"; ngx_param="LONG_LONG"; . auto/types/sizeof + +-ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size ++ngx_type="void *"; ngx_param="PTR_SIZE"; . auto/types/sizeof; ngx_ptr_size=$ngx_size + ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value + + +@@ -604,7 +604,7 @@ NGX_INCLUDE_AUTO_CONFIG_H="#include \"ng + ngx_type="uint32_t"; ngx_types="u_int32_t"; . auto/types/typedef + ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef + +-ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef ++ngx_type="sig_atomic_t"; ngx_param="SIG_ATOMIC_T"; ngx_types="int"; . auto/types/typedef + . auto/types/sizeof + ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value + +@@ -620,15 +620,15 @@ ngx_type="rlim_t"; ngx_types="int"; . au + + . auto/endianness + +-ngx_type="size_t"; . auto/types/sizeof ++ngx_type="size_t"; ngx_param="SIZE_T"; . auto/types/sizeof + ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value + ngx_param=NGX_SIZE_T_LEN; ngx_value=$ngx_max_len; . auto/types/value + +-ngx_type="off_t"; . auto/types/sizeof ++ngx_type="off_t"; ngx_param="OFF_T"; . auto/types/sizeof + ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value + ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value + +-ngx_type="time_t"; . auto/types/sizeof ++ngx_type="time_t"; ngx_param="TIME_T"; . auto/types/sizeof + ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value + ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value + ngx_param=NGX_MAX_TIME_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf new file mode 100644 index 000000000..472fde16a --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-volatile.conf @@ -0,0 +1,2 @@ +d @NGINX_USER@ www-data 0755 /run/nginx none +d root root 0755 /var/log/nginx none diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf new file mode 100644 index 000000000..69d3a2adc --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.conf @@ -0,0 +1,118 @@ + +user www; +worker_processes 1; + +error_log /var/log/nginx/error.log; +#error_log logs/error.log notice; +#error_log logs/error.log info; + +pid /run/nginx/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + #keepalive_timeout 0; + keepalive_timeout 65; + + #gzip on; + + server { + listen 80; + server_name localhost; + + #charset koi8-r; + + #access_log logs/host.access.log main; + + location / { + root /var/www/localhost/html; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /var/www/localhost/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} + } + + + # another virtual host using mix of IP-, name-, and port-based configuration + # + #server { + # listen 8000; + # listen somename:8080; + # server_name somename alias another.alias; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + + # HTTPS server + # + #server { + # listen 443; + # server_name localhost; + + # ssl on; + # ssl_certificate cert.pem; + # ssl_certificate_key cert.key; + + # ssl_session_timeout 5m; + + # ssl_protocols SSLv2 SSLv3 TLSv1; + # ssl_ciphers HIGH:!aNULL:!MD5; + # ssl_prefer_server_ciphers on; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + +} diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init new file mode 100644 index 000000000..1a2bd7dff --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.init @@ -0,0 +1,52 @@ +#! /bin/sh +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/nginx +NAME=nginx +DESC=nginx +PID=/run/nginx/nginx.pid + +test -x $DAEMON || exit 0 + +# Include nginx defaults if available +if [ -f /etc/default/nginx ] ; then + . /etc/default/nginx +fi + +set -e + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile $PID \ + --name $NAME --exec $DAEMON -- $DAEMON_OPTS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon -K --quiet --pidfile $PID \ + --name $NAME + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon -K --quiet --pidfile $PID \ + --name $NAME + sleep 1 + start-stop-daemon --start --quiet --pidfile $PID \ + --name $NAME --exec $DAEMON -- $DAEMON_OPTS + echo "$NAME." + ;; + reload) + echo -n "Reloading $DESC configuration: " + start-stop-daemon --stop --signal HUP --quiet --pidfile $PID \ + --exec $DAEMON + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service new file mode 100644 index 000000000..ce9906171 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service @@ -0,0 +1,11 @@ +[Unit] +Description=Nginx Server +After=network.target +[Service] +Type=forking +PIDFile=/run/nginx/nginx.pid +ExecStart=@SBINDIR@/nginx +ExecStop=@SBINDIR@/nginx -s stop +ExecReload=@SBINDIR@/nginx -s reload +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc new file mode 100644 index 000000000..e6ae52a09 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc @@ -0,0 +1,156 @@ +SUMMARY = "HTTP and reverse proxy server" + +DESCRIPTION = "Nginx is a web server and a reverse proxy server for \ +HTTP, SMTP, POP3 and IMAP protocols, with a strong focus on high \ +concurrency, performance and low memory usage." + +HOMEPAGE = "http://nginx.org/" +LICENSE = "BSD-2-Clause" + +SECTION = "net" + +DEPENDS = "libpcre zlib openssl" + +SRC_URI = " \ + http://nginx.org/download/nginx-${PV}.tar.gz \ + file://nginx-cross.patch \ + file://0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch \ + file://nginx.conf \ + file://nginx.init \ + file://nginx-volatile.conf \ + file://nginx.service \ +" + +inherit siteinfo update-rc.d useradd systemd + +SYSTEMD_SERVICE_${PN} = "nginx.service" + +CFLAGS_append = " -fPIE -pie" +CXXFLAGS_append = " -fPIE -pie" + +NGINX_WWWDIR ?= "${localstatedir}/www/localhost" +NGINX_USER ?= "www" + +EXTRA_OECONF = "" +DISABLE_STATIC = "" + +PACKAGECONFIG[http2] = "--with-http_v2_module,," + +do_configure () { + if [ "${SITEINFO_BITS}" = "64" ]; then + PTRSIZE=8 + else + PTRSIZE=4 + fi + + echo $CFLAGS + echo $LDFLAGS + + # Add the LDFLAGS to the main nginx link to avoid issues with missing GNU_HASH + echo "MAIN_LINK=\"\${MAIN_LINK} ${LDFLAGS}\"" >> auto/cc/conf + + ./configure \ + --crossbuild=Linux:${TUNE_ARCH} \ + --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \ + --with-int=4 \ + --with-long=${PTRSIZE} \ + --with-long-long=8 \ + --with-ptr-size=${PTRSIZE} \ + --with-sig-atomic-t=${PTRSIZE} \ + --with-size-t=${PTRSIZE} \ + --with-off-t=${PTRSIZE} \ + --with-time-t=${PTRSIZE} \ + --with-sys-nerr=132 \ + --conf-path=${sysconfdir}/nginx/nginx.conf \ + --http-log-path=${localstatedir}/log/nginx/access.log \ + --error-log-path=${localstatedir}/log/nginx/error.log \ + --http-client-body-temp-path=/run/nginx/client_body_temp \ + --http-proxy-temp-path=/run/nginx/proxy_temp \ + --http-fastcgi-temp-path=/run/nginx/fastcgi_temp \ + --http-uwsgi-temp-path=/run/nginx/uwsgi_temp \ + --http-scgi-temp-path=/run/nginx/scgi_temp \ + --pid-path=/run/nginx/nginx.pid \ + --prefix=${prefix} \ + --with-http_ssl_module \ + --with-http_gzip_static_module \ + ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} +} + +do_install () { + oe_runmake 'DESTDIR=${D}' install + rm -fr ${D}${localstatedir}/run ${D}/run + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/${BPN} - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d /${localstatedir}/log/${BPN} 0755 root root -" \ + >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + install -d ${D}${sysconfdir}/${BPN} + ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run + install -d ${D}${NGINX_WWWDIR} + mv ${D}/usr/html ${D}${NGINX_WWWDIR}/ + chown ${NGINX_USER}:www-data -R ${D}${NGINX_WWWDIR} + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/nginx.init ${D}${sysconfdir}/init.d/nginx + sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${sysconfdir}/init.d/nginx + sed -i 's,/etc/,${sysconfdir}/,g' ${D}${sysconfdir}/init.d/nginx + + install -d ${D}${sysconfdir}/nginx + install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf + sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/nginx.conf + sed -i 's/^user.*/user ${NGINX_USER};/g' ${D}${sysconfdir}/nginx/nginx.conf + install -d ${D}${sysconfdir}/nginx/sites-enabled + + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/nginx-volatile.conf ${D}${sysconfdir}/default/volatiles/99_nginx + sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/default/volatiles/99_nginx + sed -i 's,@NGINX_USER@,${NGINX_USER},g' ${D}${sysconfdir}/default/volatiles/99_nginx + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/nginx.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/nginx.service + fi +} + +pkg_postinst_${PN} () { + if [ -z "$D" ]; then + if type systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} + +FILES_${PN} += " \ + ${localstatedir}/ \ + ${systemd_unitdir}/system/nginx.service \ +" + +CONFFILES_${PN} = " \ + ${sysconfdir}/nginx/nginx.conf \ + ${sysconfdir}/nginx/fastcgi.conf \ + ${sysconfdir}/nginx/fastcgi_params \ + ${sysconfdir}/nginx/koi-utf \ + ${sysconfdir}/nginx/koi-win \ + ${sysconfdir}/nginx/mime.types \ + ${sysconfdir}/nginx/scgi_params \ + ${sysconfdir}/nginx/uwsgi_params \ + ${sysconfdir}/nginx/win-utf \ +" + +INITSCRIPT_NAME = "nginx" +INITSCRIPT_PARAMS = "defaults 92 20" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = " \ + --system --no-create-home \ + --home ${NGINX_WWWDIR} \ + --groups www-data \ + --user-group ${NGINX_USER}" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb new file mode 100644 index 000000000..85ad29b08 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb @@ -0,0 +1,6 @@ +require nginx.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282" + +SRC_URI[md5sum] = "4d2fc76211435f029271f1cf6d7eeae3" +SRC_URI[sha256sum] = "305f379da1d5fb5aefa79e45c829852ca6983c7cd2a79328f8e084a324cf0416" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb new file mode 100644 index 000000000..923479447 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb @@ -0,0 +1,10 @@ +require nginx.inc + +# 1.12.x branch is the current stable branch, the recommended default +# 1.13.x is the current mainline branches containing all new features +DEFAULT_PREFERENCE = "-1" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe" + +SRC_URI[md5sum] = "dcd482dd98d2022659212f183e8fe81b" +SRC_URI[sha256sum] = "5faea18857516fe68d30be39c3032bd22ed9cf85e1a6fdf32e3721d96ff7fa42" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch new file mode 100644 index 000000000..8cd468235 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch @@ -0,0 +1,145 @@ +From 7fa0d31ec5c0be9dca84a03851b2d44f61527ec8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com> +Date: Sun, 4 Dec 2011 16:01:04 +0100 +Subject: [PATCH] GNUmakefile: add possibility to override variables +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +this is useful for cross compilation + +Signed-off-by: Eric Bénard <eric@eukrea.com> +--- +Upstream-Status: Inappropriate [embedded specific] + src/libbsd/GNUmakefile | 10 +++++----- + src/libmy/GNUmakefile | 26 +++++++++++++------------- + src/nhttpd/GNUmakefile | 12 ++++++------ + src/tools/GNUmakefile | 8 ++++---- + 4 files changed, 28 insertions(+), 28 deletions(-) + +diff --git a/src/libbsd/GNUmakefile b/src/libbsd/GNUmakefile +index e2d01a3..b034bc6 100644 +--- a/src/libbsd/GNUmakefile ++++ b/src/libbsd/GNUmakefile +@@ -1,12 +1,12 @@ +-CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c ++CFLAGS := -O2 -pipe -Wall -Werror -Wstrict-prototypes -c + + libbsd.a: strlcpy.o strlcat.o +- ar -r libbsd.a strlcpy.o strlcat.o +- ranlib libbsd.a ++ $(AR) -r libbsd.a strlcpy.o strlcat.o ++ $(RANLIB) libbsd.a + + strlcpy.o: strlcpy.c +- cc ${CCFLAGS} strlcpy.c ++ $(CC) $(CFLAGS) strlcpy.c + strlcat.o: strlcat.c +- cc ${CCFLAGS} strlcat.c ++ $(CC) $(CFLAGS) strlcat.c + clean: + rm -f libbsd.a *.o +diff --git a/src/libmy/GNUmakefile b/src/libmy/GNUmakefile +index ce90dd9..891ffea 100644 +--- a/src/libmy/GNUmakefile ++++ b/src/libmy/GNUmakefile +@@ -1,30 +1,30 @@ +-CCFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -c ++CFLAGS := -O2 -Wall -Werror -Wstrict-prototypes -c + + libmy.a: strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o +- ar -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o +- ranlib libmy.a ++ $(AR) -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o ++ $(RANLIB) libmy.a + + strcutl.o: strcutl.c +- cc ${CCFLAGS} strcutl.c ++ $(CC) $(CFLAGS) strcutl.c + strcutw.o: strcutw.c +- cc ${CCFLAGS} strcutw.c ++ $(CC) $(CFLAGS) strcutw.c + strcuts.o: strcuts.c +- cc ${CCFLAGS} strcuts.c ++ $(CC) $(CFLAGS) strcuts.c + strcuti.o: strcuti.c +- cc ${CCFLAGS} strcuti.c ++ $(CC) $(CFLAGS) strcuti.c + strcutf.o: strcutf.c +- cc ${CCFLAGS} strcutf.c ++ $(CC) $(CFLAGS) strcutf.c + strlower.o: strlower.c +- cc ${CCFLAGS} strlower.c ++ $(CC) $(CFLAGS) strlower.c + strb64d.o: strb64d.c +- cc ${CCFLAGS} strb64d.c ++ $(CC) $(CFLAGS) strb64d.c + + flog.o: flog.c +- cc ${CCFLAGS} flog.c ++ $(CC) $(CFLAGS) flog.c + flogd.o: flogd.c +- cc ${CCFLAGS} flogd.c ++ $(CC) $(CFLAGS) flogd.c + fparse.o: fparse.c +- cc ${CCFLAGS} fparse.c ++ $(CC) $(CFLAGS) fparse.c + + clean: + rm -f libmy.a *.o +diff --git a/src/nhttpd/GNUmakefile b/src/nhttpd/GNUmakefile +index f6d12de..9524911 100644 +--- a/src/nhttpd/GNUmakefile ++++ b/src/nhttpd/GNUmakefile +@@ -1,20 +1,20 @@ + # $nostromo: GNUmakefile,v 1.6 2016/04/12 19:02:06 hacki Exp $ + +-CCFLAGS = -O2 -pipe -Wall -Wstrict-prototypes -c ++CFLAGS := -O2 -pipe -Wall -Wstrict-prototypes -c + + nhttpd: main.o http.o sys.o +- cc -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt +- strip nhttpd ++ $(CC) -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt ++# $(STRIP) nhttpd + nroff -Tascii -c -mandoc nhttpd.8 > nhttpd.cat8 + + main.o: main.c +- cc ${CCFLAGS} main.c ++ $(CC) $(CFLAGS) main.c + + http.o: http.c +- cc ${CCFLAGS} http.c ++ $(CC) $(CFLAGS) http.c + + sys.o: sys.c +- cc ${CCFLAGS} sys.c ++ $(CC) $(CFLAGS) sys.c + + clean: + rm -f nhttpd nhttpd.cat8 *.o +diff --git a/src/tools/GNUmakefile b/src/tools/GNUmakefile +index 15bea61..663ddb5 100644 +--- a/src/tools/GNUmakefile ++++ b/src/tools/GNUmakefile +@@ -1,13 +1,13 @@ + # $nostromo: GNUmakefile,v 1.3 2016/04/12 19:02:58 hacki Exp $ + +-CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c ++CFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes + + crypt: crypt.o +- cc -L../libbsd -o crypt crypt.o -lcrypt -lbsd +- strip crypt ++ $(CC) $(CFLAGS) -L../libbsd -o crypt crypt.o -lcrypt -lbsd ++# $(STRIP) crypt + + crypt.o: crypt.c +- cc ${CCFLAGS} crypt.c ++ $(CC) $(CFLAGS) -c crypt.c + + clean: + rm -f crypt *.o +-- +1.7.6.4 + diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf new file mode 100644 index 000000000..6674bb696 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf @@ -0,0 +1,55 @@ +# MAIN [MANDATORY] + +servername localhost +#servername www.nazgul.ch:8080 +serverlisten * +#serverlisten 81.221.21.250 127.0.0.1 ::1 +serveradmin webmaster@localhost +serverroot /var/nostromo +servermimes /var/nostromo/conf/mimes +docroot /var/nostromo/htdocs +docindex index.html + +# LOGS [OPTIONAL] + +logpid /var/run/nostromo/nhttpd.pid +#logaccess /var/log/nostromo/access_log + +# SETUID [RECOMMENDED] + +user www-data + +# BASIC AUTHENTICATION [OPTIONAL] + +#htaccess .htaccess +#htpasswd /var/nostromo/conf/.htpasswd +#htpasswd +bsdauth +#htpasswd +bsdauthnossl + +# SSL [OPTIONAL] + +#sslport 443 +#sslcert /etc/ssl/server.crt +#sslcertkey /etc/ssl/server.key + +# CUSTOM RESPONSES [OPTIONAL] +# +# The custom responses are searched in the corresponding document root. + +#custom_401 custom_401.html +#custom_403 custom_403.html +#custom_404 custom_404.html + +# ALIASES [OPTIONAL] + +/icons /var/nostromo/icons + +# VIRTUAL HOSTS [OPTIONAL] + +#www.rahel.ch /var/nostromo/htdocs/www.rahel.ch +#www.rahel.ch:8080 /var/nostromo/htdocs/www.rahel.ch + +# HOMEDIRS [OPTIONAL] + +#homedirs /home +#homedirs_public public_www diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nostromo b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nostromo new file mode 100644 index 000000000..8a2886882 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nostromo @@ -0,0 +1,34 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=nhttpd +NAME=nhttpd +DESC="Nostromo Web Server" +OPTS="-c /etc/nhttpd.conf" + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop -x "$DAEMON" + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon --stop -x "$DAEMON" + sleep 1 + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf new file mode 100644 index 000000000..b7a9f4886 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf @@ -0,0 +1 @@ +d /run/nostromo - www-data www-data - diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/volatiles b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/volatiles new file mode 100644 index 000000000..40924960c --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/volatiles @@ -0,0 +1,2 @@ +d www-data www-data 0775 /var/run/nostromo none +d www-data www-data 0775 /var/log/nostromo none diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb new file mode 100644 index 000000000..16f45ce66 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb @@ -0,0 +1,64 @@ +SUMMARY = "A simple, fast and secure HTTP server" +HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=0bb3711a867b9704d3bfabcf5529b64e" + +SRC_URI = "http://www.nazgul.ch/dev/${BPN}-${PV}.tar.gz \ + file://0001-GNUmakefile-add-possibility-to-override-variables.patch \ + file://nhttpd.conf \ + file://volatiles \ + file://tmpfiles.conf \ + file://nostromo \ +" + +SRC_URI[md5sum] = "27aa241d78ff78920354c3e03a5026ea" +SRC_URI[sha256sum] = "541494ecfeafec58c0876ccc90cc23b06e0144f6f42029af44c7cdb1f411e8eb" + +TARGET_CC_ARCH += "${LDFLAGS}" + +DEPENDS = "openssl groff-native base-passwd" + +inherit update-rc.d + +INITSCRIPT_NAME = "nostromo" +INITSCRIPT_PARAMS = "defaults 70" + +do_compile() { + oe_runmake +} + +do_install() { + install -d ${D}/${sbindir} + install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd + install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt + install -d ${D}/${mandir}/man8 + install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8 + install -d ${D}${localstatedir}/nostromo/conf + install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin + install -d ${D}${localstatedir}/nostromo/icons + install -d ${D}${sysconfdir}/init.d + install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes + install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir} + install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d + install -D -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -D -m 0644 ${WORKDIR}/tmpfiles.conf ${D}${sysconfdir}/tmpfiles.d/nostromo.conf + fi + install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html + install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif + install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif + install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif + chown -R www-data:www-data ${D}/${localstatedir}/nostromo +} + +CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf" + +pkg_postinst_${PN} () { + if [ -z "$D" ]; then + if [ -e /sys/fs/cgroup/systemd ]; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nostromo.conf + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} diff --git a/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/init b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/init new file mode 100644 index 000000000..f5f7b0124 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/init @@ -0,0 +1,52 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: thttpd +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Small http server +# Description: thttpd is a simple, small, portable, fast, and secure HTTP server. +### END INIT INFO + + +thttpd=/usr/sbin/thttpd +test -x "$thttpd" || exit 0 + + +case "$1" in + start) + echo -n "Starting thttpd" + start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE + echo "." + ;; + stop) + echo -n "Stopping thttpd" + start-stop-daemon --stop --quiet --exec $thttpd + echo "." + ;; + reload|force-reload) + start-stop-daemon --stop --quiet --signal 1 --exec $thttpd + ;; + restart) + echo -n "Stopping thttpd" + start-stop-daemon --stop --quiet --exec $thttpd -- -C @@CONFFILE + echo "." + echo -n "Waiting for thttpd to die off" + for i in 1 2 3 ; + do + sleep 1 + echo -n "." + done + echo "" + echo -n "Starting thttpd" + start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE + echo "." + ;; + *) + echo "Usage: /etc/init.d/thttpd {start|stop|reload|restart|force-reload}" + exit 1 +esac + +exit 0 diff --git a/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf new file mode 100644 index 000000000..397984f36 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf @@ -0,0 +1 @@ +dir=@@SRVDIR diff --git a/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service new file mode 100644 index 000000000..f1095007c --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service @@ -0,0 +1,10 @@ +[Unit] +Description=Tiny/Turbo/Throttling Web Server + +[Service] +Type=forking +ExecStart=/usr/sbin/thttpd -C @@CONFFILE -c cgi-bin/* -i /var/run/thttpd.pid +PIDFile=/var/run/thttpd.pid + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb new file mode 100644 index 000000000..37bd7537d --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb @@ -0,0 +1,56 @@ +SUMMARY = "A simple, small, portable, fast, and secure HTTP server" +DESCRIPTION = "A simple, small, portable, fast, and secure HTTP server (supported fork of thttpd)." +HOMEPAGE = "http://opensource.dyc.edu/sthttpd" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dcbe9eb18815516502872" + +DEPENDS += "base-passwd" + +SRC_URI = "https://github.com/blueness/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ + file://thttpd.service \ + file://thttpd.conf \ + file://init" + +SRC_URI[md5sum] = "3cda1b6c8c8542b1510eadb8e540d8b6" +SRC_URI[sha256sum] = "a1ee2806432eaf5b5dd267a0523701f9f1fa00fefd499d5bec42165a41e05846" + +UPSTREAM_CHECK_URI = "https://github.com/blueness/sthttpd/releases/" +UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz" + +S = "${WORKDIR}/sthttpd-${PV}" + +inherit autotools update-rc.d systemd + +SRV_DIR ?= "${servicedir}/www" + +# Note that `${sbindir}/makeweb' is installed setgid to this group, +# but ${SRV_DIR} is not installed chgrp'd to the group by default. +WEBGROUP ?= "www-data" + +do_configure_prepend () { + export WEBDIR=${SRV_DIR} + export WEBGROUP=${WEBGROUP} +} + +do_install_append () { + install -d ${D}${sysconfdir}/init.d + install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd + install -c -m 755 ${WORKDIR}/thttpd.conf ${D}${sysconfdir} + sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${sysconfdir}/init.d/thttpd + sed -i -e 's,@@SRVDIR,${SRV_DIR},g' ${D}${sysconfdir}/thttpd.conf + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/thttpd.service ${D}${systemd_unitdir}/system + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service + sed -i 's!/var/!${localstatedir}/!g' ${D}${systemd_unitdir}/system/thttpd.service + sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${systemd_unitdir}/system/thttpd.service +} + +INITSCRIPT_NAME = "thttpd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_SERVICE_${PN} = "thttpd.service" + +FILES_${PN} += "${SRV_DIR}" +FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug" diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/apache.conf b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/apache.conf new file mode 100644 index 000000000..94cbd865c --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/apache.conf @@ -0,0 +1,42 @@ +# phpMyAdmin default Apache configuration + +Alias /phpmyadmin /usr/share/phpmyadmin + +<Directory /usr/share/phpmyadmin> + Options FollowSymLinks + DirectoryIndex index.php + Require all granted + + <IfModule mod_php5.c> + AddType application/x-httpd-php .php + + php_flag magic_quotes_gpc Off + php_flag track_vars On + php_flag register_globals Off + php_admin_flag allow_url_fopen Off + php_value include_path . + php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp + php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/ + </IfModule> +</Directory> + +# Authorize for setup +<Directory /usr/share/phpmyadmin/setup> + <IfModule mod_authn_file.c> + AuthType Basic + AuthName "phpMyAdmin Setup" + AuthUserFile /etc/phpmyadmin/htpasswd.setup + </IfModule> + Require valid-user +</Directory> + +# Disallow web access to directories that don't need it +<Directory /usr/share/phpmyadmin/libraries> + Order Deny,Allow + Deny from All +</Directory> +<Directory /usr/share/phpmyadmin/setup/lib> + Order Deny,Allow + Deny from All +</Directory> + diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb new file mode 100644 index 000000000..071572d69 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb @@ -0,0 +1,41 @@ +SUMMARY = "Web-based MySQL administration interface" +HOMEPAGE = "http://www.phpmyadmin.net" +# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT +LICENSE = "GPLv2 & LGPLv3 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \ + file://js/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \ +" + +SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ + file://apache.conf \ +" + +SRC_URI[md5sum] = "0a862e3fa52c8b9078e0441ee82be831" +SRC_URI[sha256sum] = "f19b503f0afb0dd3389d4bb11dab3f438d36e85eef11a5c400c592fd5f539398" + +UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/" +UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz" + +S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/${BPN} + cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN} + chown -R root:root ${D}${datadir}/${BPN} + # Don't install patches to target + rm -rf ${D}${datadir}/${BPN}/patches + + install -d ${D}${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf + + # Remove a few scripts that explicitly require bash (!) + rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh +} + +FILES_${PN} = "${datadir}/${BPN} \ + ${sysconfdir}/apache2/conf.d" + +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb new file mode 100644 index 000000000..6516988d7 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "Debugging and profiling extension for PHP" +LICENSE = "Xdebug" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16" + +DEPENDS = "php re2c-native" + +SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz" + +SRC_URI[md5sum] = "ed3545852e6f4a00fb8730362d0431ee" +SRC_URI[sha256sum] = "b5264cc03bf68fcbb04b97229f96dca505d7b87ec2fb3bd4249896783d29cbdc" + +inherit autotools + +EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config" + +do_configure() { + cd ${S} + ${STAGING_BINDIR_CROSS}/phpize + cd ${B} + + # Running autoreconf as autotools_do_configure would do here + # breaks the libtool configuration resulting in a failure later + # in do_compile. It's possible this may be fixable, however the + # easiest course of action for the moment is to avoid doing that. + oe_runconf +} + +do_install() { + oe_runmake install INSTALL_ROOT=${D} +} + +FILES_${PN} += "${libdir}/php*/extensions/*/*.so" +FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug" diff --git a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch new file mode 100644 index 000000000..51ddeaac2 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Fix EOF not declared issue, following is the error log. +fcgio.cpp:70:72: error: 'EOF' was not declared in this scope + if (FCGX_PutStr(pbase(), plen, this->fcgx) != plen) return EOF; + +Signed-off-by: Yang Haibo <b40869@freescale.com> +--- fcgi-ori/libfcgi/fcgio.cpp 2014-07-28 18:01:00.000000000 +0800 ++++ fcgi-2.4.0/libfcgi/fcgio.cpp 2014-07-28 18:01:22.000000000 +0800 +@@ -22,6 +22,7 @@ + #define DLLAPI __declspec(dllexport) + #endif + ++#include <stdio.h> + #include <limits.h> + #include "fcgio.h" + diff --git a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch new file mode 100644 index 000000000..eca694adc --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch @@ -0,0 +1,18 @@ +Upstream-Status: Pending + +use automake options "foreign" to set the strictness as appropriate + +Signed-off-by: Yang Haibo <b40869@freescale.com> +--- fcgi-ori/configure.in 2014-08-05 14:58:35.000000000 +0800 ++++ fcgi-2.4.0/configure.in 2014-08-05 14:59:08.000000000 +0800 +@@ -4,8 +4,8 @@ + dnl generate the file "configure", which is run during the build + dnl to configure the system for the local environment. + +-AC_INIT +-AM_INIT_AUTOMAKE(fcgi, 2.4.0) ++AC_INIT([fcgi], [2.4.0]) ++AM_INIT_AUTOMAKE([foreign]) + + AM_CONFIG_HEADER(fcgi_config.h) + diff --git a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb new file mode 100644 index 000000000..48c594483 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "FastCGI is a protocol for interfacing interactive programs with a web server." +HOMEPAGE = "http://www.fastcgi.com" +LICENSE = "OML" +LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a" + +SRC_URI = "http://fossies.org/linux/www/old/${BP}.tar.gz \ + file://Fix_EOF_not_declared_issue.patch \ + file://add_foreign_to_AM_INIT_AUTOMAKE.patch \ +" +SRC_URI[md5sum] = "d15060a813b91383a9f3c66faf84867e" +SRC_URI[sha256sum] = "66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9" + +inherit autotools + +PARALLEL_MAKE = "" diff --git a/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi-1.6.4/fix_configure_ipv6_test.patch b/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi-1.6.4/fix_configure_ipv6_test.patch new file mode 100644 index 000000000..9409dd2b1 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi-1.6.4/fix_configure_ipv6_test.patch @@ -0,0 +1,35 @@ +Testing for IPv6 support got broken by configure.ac changes in 1.6.4 +As a temp workaround, revert back to the 1.6.3 version. + +Upstream-Status: Pending + +--- spawn-fcgi-1.6.4/configure.ac ++++ spawn-fcgi-1.6.3/configure.ac +@@ -66,8 +47,8 @@ + # Check for IPv6 support + + AC_ARG_ENABLE(ipv6, +- AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]), +- [case "${enableval}" in ++ AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]), ++ [case "${enableval}" in + yes) ipv6=true ;; + no) ipv6=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-ipv6) ;; +@@ -75,13 +56,10 @@ + + if test x$ipv6 = xtrue; then + AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support, +- [AC_TRY_LINK([[ +-#include <sys/types.h> ++ [AC_TRY_LINK([ #include <sys/types.h> + #include <sys/socket.h> +-#include <netinet/in.h> +- ]], [[ +-struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; +- ]], [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])]) ++#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; ], ++ [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])]) + + if test "$ac_cv_ipv6_support" = yes; then + AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support]) diff --git a/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb b/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb new file mode 100644 index 000000000..8b2ff44c0 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb @@ -0,0 +1,16 @@ +SUMMARRY = "spawn-fcgi is used to spawn FastCGI applications" +HOMEPAGE = "http://redmine.lighttpd.net/projects/spawn-fcgi" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579" + +SRC_URI = "http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-${PV}.tar.gz \ + file://fix_configure_ipv6_test.patch" + +SRC_URI[md5sum] = "e970de4efe8045c01dd76280f39901aa" +SRC_URI[sha256sum] = "ab327462cb99894a3699f874425a421d934f957cb24221f00bb888108d9dd09e" + +inherit autotools + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch new file mode 100644 index 000000000..abea0d66b --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch @@ -0,0 +1,21 @@ +Index: git/plugins.d/charts.d.plugin +=================================================================== +--- git.orig/plugins.d/charts.d.plugin ++++ git/plugins.d/charts.d.plugin +@@ -246,16 +246,6 @@ else + info "configuration file '$myconfig' not found. Using defaults." + fi + +-# we check for the timeout command, after we load our +-# configuration, so that the user may overwrite the +-# timeout command we use, providing a function that +-# can emulate the timeout command we need: +-# > timeout SECONDS command ... +-if [ $check_for_timeout -eq 1 ] +- then +- require_cmd timeout || exit 1 +-fi +- + # ----------------------------------------------------------------------------- + # internal checks + diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch new file mode 100644 index 000000000..6a0d75e37 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch @@ -0,0 +1,27 @@ +From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 13 Jul 2017 14:32:09 -0700 +Subject: [PATCH] makefile: Do not build contrib dir + +It contains debian build iteams anyway + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 2ea9e40..acb1bd8 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -56,7 +56,6 @@ SUBDIRS = \ + src \ + system \ + web \ +- contrib \ + tests \ + $(NULL) + +-- +2.13.2 + diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.conf b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.conf new file mode 100644 index 000000000..a2b3999c6 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.conf @@ -0,0 +1,5083 @@ +# NetData Configuration +# You can uncomment and change any of the options below. +# The value shown in the commented settings, is the default value. + +# global netdata configuration + +[global] + debug flags = 0x10000000 + hostname = netdata + history = 86400 + config directory = @@sysconfdir/netdata + plugins directory = @@libdir/netdata/plugins.d + web files directory = @@datadir/netdata/web + cache directory = /var/cache/netdata + log directory = /var/log/netdata + # host access prefix = + # memory deduplication (ksm) = yes + # debug log = /var/log/netdata/debug.log + # error log = /var/log/netdata/error.log + # access log = /var/log/netdata/access.log + # memory mode = save + # update every = 1 + # pthread stack size = 8388608 + # run as user = netdata + # web files owner = netdata + # http port listen backlog = 100 + # port = 19999 + # ip version = any + # disconnect idle web clients after seconds = 60 + # enable web responses gzip compression = yes + +[plugins] + # tc = yes + tc = no + # idlejitter = yes + proc = yes + checks = no + plugins directory = @@libdir/netdata/plugins.d + nable running new plugins = yes + check for new plugins every = 60 + charts.d = yes + sma_webbox = no + apps = yes + node.d = yes + + +# per plugin configuration + +[plugin:proc:/proc/net/dev] + # filename to monitor = /proc/net/dev + # enable new interfaces detected at runtime = on demand + # enable ifb interfaces = no + # bandwidth for all interfaces = on demand + # packets for all interfaces = on demand + # errors for all interfaces = on demand + # drops for all interfaces = on demand + # fifo for all interfaces = on demand + # compressed packets for all interfaces = on demand + # frames, collisions, carrier counters for all interfaces = on demand + +[plugin:proc] + # /proc/net/dev = yes + # /proc/diskstats = yes + # /proc/net/snmp = yes + # /proc/net/snmp6 = yes + # /proc/net/netstat = yes + # /proc/net/stat/conntrack = yes + # /proc/net/ip_vs/stats = yes + # /proc/stat = yes + # /proc/meminfo = yes + # /proc/vmstat = yes + # /proc/net/rpc/nfsd = yes + # /proc/sys/kernel/random/entropy_avail = yes + # /proc/interrupts = yes + # /proc/softirqs = yes + # /proc/loadavg = yes + # /sys/kernel/mm/ksm = yes + # netdata server resources = yes + +[plugin:tc] + # script to run to get tc values = /usr/lib/netdata/netdata/plugins.d/tc-qos-helper.sh + # enable new interfaces detected at runtime = yes + # qos for eth1-ifb = yes + # cleanup unused classes every = 60 + # qos for eth0 = yes + # qos for eth1 = yes + # qos for eth0-ifb = yes + +[plugin:charts.d] + # update every = 1 + # command options = + +[plugin:apps] + # update every = 1 + # command options = + +[plugin:idlejitter] + # loop time in ms = 20 + +[plugin:proc:/proc/interrupts] + # interrupts per core = yes + # filename to monitor = /proc/interrupts + +[plugin:proc:/proc/sys/kernel/random/entropy_avail] + # filename to monitor = /proc/sys/kernel/random/entropy_avail + +[plugin:proc:/proc/diskstats] + # enable new disks detected at runtime = on demand + # bandwidth for all disks = on demand + # operations for all disks = on demand + # merged operations for all disks = on demand + # i/o time for all disks = on demand + # queued operations for all disks = on demand + # utilization percentage for all disks = on demand + # backlog for all disks = on demand + # filename to monitor = /proc/diskstats + # path to get h/w sector size = /sys/block/%s/queue/hw_sector_size + +[plugin:proc:/proc/net/snmp] + # ipv4 packets = yes + # ipv4 fragments sent = yes + # ipv4 fragments assembly = yes + # ipv4 errors = yes + # ipv4 TCP connections = yes + # ipv4 TCP packets = yes + # ipv4 TCP errors = yes + # ipv4 TCP handshake issues = yes + # ipv4 UDP packets = yes + # ipv4 UDP errors = yes + # filename to monitor = /proc/net/snmp + +[plugin:proc:/proc/net/netstat] + # bandwidth = on demand + # input errors = on demand + # multicast bandwidth = on demand + # broadcast bandwidth = on demand + # multicast packets = on demand + # broadcast packets = on demand + # filename to monitor = /proc/net/netstat + +[plugin:proc:/proc/net/stat/nf_conntrack] + # netfilter connections = yes + # netfilter new connections = yes + # netfilter connection changes = yes + # netfilter connection expectations = yes + # netfilter connection searches = yes + # netfilter errors = yes + # filename to monitor = /proc/net/stat/nf_conntrack + +[plugin:proc:/proc/net/ip_vs_stats] + # IPVS bandwidth = yes + # IPVS connections = yes + # IPVS packets = yes + # filename to monitor = /proc/net/ip_vs_stats + +[plugin:proc:/proc/stat] + # cpu utilization = yes + # per cpu core utilization = yes + # cpu interrupts = yes + # context switches = yes + # processes started = yes + # processes running = yes + # filename to monitor = /proc/stat + +[plugin:proc:/proc/meminfo] + # system ram = yes + # system swap = yes + # hardware corrupted ECC = on demand + # committed memory = yes + # writeback memory = yes + # kernel memory = yes + # slab memory = yes + # filename to monitor = /proc/meminfo + +[plugin:proc:/proc/vmstat] + # swap i/o = yes + # disk i/o = yes + # memory page faults = yes + # filename to monitor = /proc/vmstat + +[plugin:proc:/proc/net/rpc/nfsd] + # filename to monitor = /proc/net/rpc/nfsd + # read cache = yes + # file handles = yes + # I/O = yes + # threads = yes + # read ahead = yes + # network = yes + # rpc = yes + # NFS v2 procedures = yes + # NFS v3 procedures = yes + # NFS v4 procedures = yes + # NFS v4 operations = yes + +[plugin:proc:/proc/net/dev:lo] + # enabled = no + +[plugin:proc:/proc/net/dev:fireqos_monitor] + # enabled = no + +[plugin:sma_webbox] + # update every = 1 + # command options = + +[plugin:node.d] + # update every = 1 + # command options = + +[plugin:proc:/sys/kernel/mm/ksm] + # /sys/kernel/mm/ksm/pages_shared = /sys/kernel/mm/ksm/pages_shared + # /sys/kernel/mm/ksm/pages_sharing = /sys/kernel/mm/ksm/pages_sharing + # /sys/kernel/mm/ksm/pages_unshared = /sys/kernel/mm/ksm/pages_unshared + # /sys/kernel/mm/ksm/pages_volatile = /sys/kernel/mm/ksm/pages_volatile + # /sys/kernel/mm/ksm/pages_to_scan = /sys/kernel/mm/ksm/pages_to_scan + +[plugin:proc:/proc/loadavg] + # filename to monitor = /proc/loadavg + # enable load average = yes + # enable total processes = yes + +[plugin:proc:/proc/softirqs] + # interrupts per core = yes + # filename to monitor = /proc/softirqs + +[plugin:proc:/proc/net/dev:eth1-ifb] + # enabled = no + +[plugin:proc:/proc/net/dev:eth0] + # enabled = on demand + # bandwidth = on demand + # packets = on demand + # errors = on demand + # drops = on demand + # fifo = on demand + # compressed = on demand + # events = on demand + +[plugin:proc:/proc/net/dev:eth1] + # enabled = on demand + # bandwidth = on demand + # packets = on demand + # errors = on demand + # drops = on demand + # fifo = on demand + # compressed = on demand + # events = on demand + +[plugin:proc:/proc/net/dev:eth0-ifb] + # enabled = no + +[plugin:proc:/proc/diskstats:fd0] + # enabled = no + +[plugin:proc:/proc/diskstats:sda] + # enabled = on demand + # bandwidth = on demand + # operations = on demand + # merged operations = on demand + # i/o time = on demand + queued operations = yes + # utilization percentage = on demand + # backlog = on demand + +[plugin:proc:/proc/diskstats:sda1] + # enabled = no + +[plugin:proc:/proc/diskstats:sda2] + # enabled = no + +[plugin:proc:/proc/diskstats:sda5] + # enabled = no + +[plugin:proc:/proc/diskstats:sr0] + # enabled = no + +[plugin:proc:/proc/net/snmp6] + # ipv6 packets = on demand + # ipv6 fragments sent = on demand + # ipv6 fragments assembly = on demand + # ipv6 errors = on demand + # ipv6 UDP packets = on demand + # ipv6 UDP errors = on demand + # ipv6 UDPlite packets = on demand + # ipv6 UDPlite errors = on demand + # bandwidth = on demand + # multicast bandwidth = on demand + # broadcast bandwidth = on demand + # multicast packets = on demand + # icmp = on demand + # icmp redirects = on demand + # icmp errors = on demand + # icmp echos = on demand + # icmp group membership = on demand + # icmp router = on demand + # icmp neighbor = on demand + # icmp mldv2 = on demand + # icmp types = on demand + # ect = on demand + # filename to monitor = /proc/net/snmp6 + + +# per chart configuration + +[system.idlejitter] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/system.idlejitter + # chart type = line + # type = system + # family = processes + # context = system.idlejitter + # units = microseconds lost/s + # priority = 9999 + # gap when lost iterations above = 1 + # name = system.idlejitter + # title = CPU Idle Jitter (system.idlejitter) + # dim jitter name = jitter + # dim jitter algorithm = absolute + # dim jitter multiplier = 1 + # dim jitter divisor = 1 + +[system.interrupts] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/system.interrupts + # chart type = stacked + # type = system + # family = interrupts + # context = system.interrupts + # units = interrupts/s + # priority = 1000 + # gap when lost iterations above = 1 + # name = system.interrupts + # title = System interrupts (system.interrupts) + # dim 0 name = timer_0 + # dim 0 algorithm = incremental + # dim 0 multiplier = 1 + # dim 0 divisor = 1 + # dim 1 name = i8042_1 + # dim 1 algorithm = incremental + # dim 1 multiplier = 1 + # dim 1 divisor = 1 + # dim 6 name = floppy_6 + # dim 6 algorithm = incremental + # dim 6 multiplier = 1 + # dim 6 divisor = 1 + # dim 8 name = rtc0_8 + # dim 8 algorithm = incremental + # dim 8 multiplier = 1 + # dim 8 divisor = 1 + # dim 9 name = acpi_9 + # dim 9 algorithm = incremental + # dim 9 multiplier = 1 + # dim 9 divisor = 1 + # dim 12 name = i8042_12 + # dim 12 algorithm = incremental + # dim 12 multiplier = 1 + # dim 12 divisor = 1 + # dim 14 name = ata_piix_14 + # dim 14 algorithm = incremental + # dim 14 multiplier = 1 + # dim 14 divisor = 1 + # dim 15 name = ata_piix_15 + # dim 15 algorithm = incremental + # dim 15 multiplier = 1 + # dim 15 divisor = 1 + # dim NMI name = NMI + # dim NMI algorithm = incremental + # dim NMI multiplier = 1 + # dim NMI divisor = 1 + # dim LOC name = LOC + # dim LOC algorithm = incremental + # dim LOC multiplier = 1 + # dim LOC divisor = 1 + # dim SPU name = SPU + # dim SPU algorithm = incremental + # dim SPU multiplier = 1 + # dim SPU divisor = 1 + # dim PMI name = PMI + # dim PMI algorithm = incremental + # dim PMI multiplier = 1 + # dim PMI divisor = 1 + # dim IWI name = IWI + # dim IWI algorithm = incremental + # dim IWI multiplier = 1 + # dim IWI divisor = 1 + # dim RTR name = RTR + # dim RTR algorithm = incremental + # dim RTR multiplier = 1 + # dim RTR divisor = 1 + # dim RES name = RES + # dim RES algorithm = incremental + # dim RES multiplier = 1 + # dim RES divisor = 1 + # dim CAL name = CAL + # dim CAL algorithm = incremental + # dim CAL multiplier = 1 + # dim CAL divisor = 1 + # dim TLB name = TLB + # dim TLB algorithm = incremental + # dim TLB multiplier = 1 + # dim TLB divisor = 1 + # dim TRM name = TRM + # dim TRM algorithm = incremental + # dim TRM multiplier = 1 + # dim TRM divisor = 1 + # dim THR name = THR + # dim THR algorithm = incremental + # dim THR multiplier = 1 + # dim THR divisor = 1 + # dim MCE name = MCE + # dim MCE algorithm = incremental + # dim MCE multiplier = 1 + # dim MCE divisor = 1 + # dim MCP name = MCP + # dim MCP algorithm = incremental + # dim MCP multiplier = 1 + # dim MCP divisor = 1 + # dim HYP name = HYP + # dim HYP algorithm = incremental + # dim HYP multiplier = 1 + # dim HYP divisor = 1 + # dim ERR name = ERR + # dim ERR algorithm = incremental + # dim ERR multiplier = 1 + # dim ERR divisor = 1 + # dim MIS name = MIS + # dim MIS algorithm = incremental + # dim MIS multiplier = 1 + # dim MIS divisor = 1 + +[system.entropy] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/system.entropy + # chart type = line + # type = system + # family = entropy + # context = system.entropy + # units = entropy + # priority = 1000 + # gap when lost iterations above = 1 + # name = system.entropy + # title = Available Entropy (system.entropy) + # dim entropy name = entropy + # dim entropy algorithm = absolute + # dim entropy multiplier = 1 + # dim entropy divisor = 1 + +[net.eth0] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/net.eth0 + # chart type = area + # type = net + # family = eth0 + # context = net.net + # units = kilobits/s + # priority = 7000 + # gap when lost iterations above = 1 + # name = net.eth0 + # title = Bandwidth (net.eth0) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 8 + # dim received divisor = 1024 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -8 + # dim sent divisor = 1024 + +[net_packets.eth0] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/net_packets.eth0 + # chart type = line + # type = net_packets + # family = eth0 + # context = net.packets + # units = packets/s + # priority = 7001 + # gap when lost iterations above = 1 + # name = net_packets.eth0 + # title = Packets (net_packets.eth0) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + # dim multicast name = multicast + # dim multicast algorithm = incremental + # dim multicast multiplier = 1 + # dim multicast divisor = 1 + +[net_drops.eth0] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/net_drops.eth0 + # chart type = line + # type = net_drops + # family = eth0 + # context = net.drops + # units = drops/s + # priority = 7003 + # gap when lost iterations above = 1 + # name = net_drops.eth0 + # title = Interface Drops (net_drops.eth0) + # dim inbound name = inbound + # dim inbound algorithm = incremental + # dim inbound multiplier = 1 + # dim inbound divisor = 1 + # dim outbound name = outbound + # dim outbound algorithm = incremental + # dim outbound multiplier = -1 + # dim outbound divisor = 1 + +[net.eth1] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/net.eth1 + # chart type = area + # type = net + # family = eth1 + # context = net.net + # units = kilobits/s + # priority = 7000 + # gap when lost iterations above = 1 + # name = net.eth1 + # title = Bandwidth (net.eth1) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 8 + # dim received divisor = 1024 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -8 + # dim sent divisor = 1024 + +[net_packets.eth1] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/net_packets.eth1 + # chart type = line + # type = net_packets + # family = eth1 + # context = net.packets + # units = packets/s + # priority = 7001 + # gap when lost iterations above = 1 + # name = net_packets.eth1 + # title = Packets (net_packets.eth1) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + # dim multicast name = multicast + # dim multicast algorithm = incremental + # dim multicast multiplier = 1 + # dim multicast divisor = 1 + +[disk.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk.sda + # chart type = area + # type = disk + # family = sda + # context = disk.io + # units = kilobytes/s + # priority = 2000 + # gap when lost iterations above = 1 + # name = disk.sda + # title = Disk I/O Bandwidth (disk.sda) + # dim reads name = reads + # dim reads algorithm = incremental + # dim reads multiplier = 512 + # dim reads divisor = 1024 + # dim writes name = writes + # dim writes algorithm = incremental + # dim writes multiplier = -512 + # dim writes divisor = 1024 + +[disk_ops.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_ops.sda + # chart type = line + # type = disk_ops + # family = sda + # context = disk.ops + # units = operations/s + # priority = 2001 + # gap when lost iterations above = 1 + # name = disk_ops.sda + # title = Disk Completed I/O Operations (disk_ops.sda) + # dim reads name = reads + # dim reads algorithm = incremental + # dim reads multiplier = 1 + # dim reads divisor = 1 + # dim writes name = writes + # dim writes algorithm = incremental + # dim writes multiplier = -1 + # dim writes divisor = 1 + +[disk_qops.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_qops.sda + # chart type = line + # type = disk_qops + # family = sda + # context = disk.qops + # units = operations + # priority = 2002 + # gap when lost iterations above = 1 + # name = disk_qops.sda + # title = Disk Current I/O Operations (disk_qops.sda) + # dim operations name = operations + # dim operations algorithm = absolute + # dim operations multiplier = 1 + # dim operations divisor = 1 + +[disk_backlog.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_backlog.sda + # chart type = area + # type = disk_backlog + # family = sda + # context = disk.backlog + # units = backlog (ms) + # priority = 2003 + # gap when lost iterations above = 1 + # name = disk_backlog.sda + # title = Disk Backlog (disk_backlog.sda) + # dim backlog name = backlog + # dim backlog algorithm = incremental + # dim backlog multiplier = 1 + # dim backlog divisor = 10 + +[disk_util.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_util.sda + # chart type = area + # type = disk_util + # family = sda + # context = disk.util + # units = % of time working + # priority = 2004 + # gap when lost iterations above = 1 + # name = disk_util.sda + # title = Disk Utilization Time (disk_util.sda) + # dim utilization name = utilization + # dim utilization algorithm = incremental + # dim utilization multiplier = 1 + # dim utilization divisor = 10 + +[disk_mops.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_mops.sda + # chart type = line + # type = disk_mops + # family = sda + # context = disk.mops + # units = merged operations/s + # priority = 2021 + # gap when lost iterations above = 1 + # name = disk_mops.sda + # title = Disk Merged Operations (disk_mops.sda) + # dim reads name = reads + # dim reads algorithm = incremental + # dim reads multiplier = 1 + # dim reads divisor = 1 + # dim writes name = writes + # dim writes algorithm = incremental + # dim writes multiplier = -1 + # dim writes divisor = 1 + +[disk_iotime.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_iotime.sda + # chart type = line + # type = disk_iotime + # family = sda + # context = disk.iotime + # units = milliseconds/s + # priority = 2022 + # gap when lost iterations above = 1 + # name = disk_iotime.sda + # title = Disk Total I/O Time (disk_iotime.sda) + # dim reads name = reads + # dim reads algorithm = incremental + # dim reads multiplier = 1 + # dim reads divisor = 1 + # dim writes name = writes + # dim writes algorithm = incremental + # dim writes multiplier = -1 + # dim writes divisor = 1 + +[ipv4.packets] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/ipv4.packets + # chart type = line + # type = ipv4 + # family = packets + # context = ipv4.packets + # units = packets/s + # priority = 3000 + # gap when lost iterations above = 1 + # name = ipv4.packets + # title = IPv4 Packets (ipv4.packets) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + # dim forwarded name = forwarded + # dim forwarded algorithm = incremental + # dim forwarded multiplier = 1 + # dim forwarded divisor = 1 + +[ipv4.fragsout] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.fragsout + # chart type = line + # type = ipv4 + # family = fragments + # context = ipv4.fragsout + # units = packets/s + # priority = 3010 + # gap when lost iterations above = 1 + # name = ipv4.fragsout + # title = IPv4 Fragments Sent (ipv4.fragsout) + # dim ok name = ok + # dim ok algorithm = incremental + # dim ok multiplier = 1 + # dim ok divisor = 1 + # dim failed name = failed + # dim failed algorithm = incremental + # dim failed multiplier = -1 + # dim failed divisor = 1 + # dim all name = all + # dim all algorithm = incremental + # dim all multiplier = 1 + # dim all divisor = 1 + +[ipv4.fragsin] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.fragsin + # chart type = line + # type = ipv4 + # family = fragments + # context = ipv4.fragsin + # units = packets/s + # priority = 3011 + # gap when lost iterations above = 1 + # name = ipv4.fragsin + # title = IPv4 Fragments Reassembly (ipv4.fragsin) + # dim ok name = ok + # dim ok algorithm = incremental + # dim ok multiplier = 1 + # dim ok divisor = 1 + # dim failed name = failed + # dim failed algorithm = incremental + # dim failed multiplier = -1 + # dim failed divisor = 1 + # dim all name = all + # dim all algorithm = incremental + # dim all multiplier = 1 + # dim all divisor = 1 + +[ipv4.errors] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.errors + # chart type = line + # type = ipv4 + # family = errors + # context = ipv4.errors + # units = packets/s + # priority = 3002 + # gap when lost iterations above = 1 + # name = ipv4.errors + # title = IPv4 Errors (ipv4.errors) + # dim InDiscards name = InDiscards + # dim InDiscards algorithm = incremental + # dim InDiscards multiplier = 1 + # dim InDiscards divisor = 1 + # dim OutDiscards name = OutDiscards + # dim OutDiscards algorithm = incremental + # dim OutDiscards multiplier = -1 + # dim OutDiscards divisor = 1 + # dim InHdrErrors name = InHdrErrors + # dim InHdrErrors algorithm = incremental + # dim InHdrErrors multiplier = 1 + # dim InHdrErrors divisor = 1 + # dim InAddrErrors name = InAddrErrors + # dim InAddrErrors algorithm = incremental + # dim InAddrErrors multiplier = 1 + # dim InAddrErrors divisor = 1 + # dim InUnknownProtos name = InUnknownProtos + # dim InUnknownProtos algorithm = incremental + # dim InUnknownProtos multiplier = 1 + # dim InUnknownProtos divisor = 1 + # dim OutNoRoutes name = OutNoRoutes + # dim OutNoRoutes algorithm = incremental + # dim OutNoRoutes multiplier = -1 + # dim OutNoRoutes divisor = 1 + +[ipv4.tcpsock] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.tcpsock + # chart type = line + # type = ipv4 + # family = tcp + # context = ipv4.tcpsock + # units = active connections + # priority = 2500 + # gap when lost iterations above = 1 + # name = ipv4.tcpsock + # title = IPv4 TCP Connections (ipv4.tcpsock) + # dim connections name = connections + # dim connections algorithm = absolute + # dim connections multiplier = 1 + # dim connections divisor = 1 + +[ipv4.tcppackets] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.tcppackets + # chart type = line + # type = ipv4 + # family = tcp + # context = ipv4.tcppackets + # units = packets/s + # priority = 2600 + # gap when lost iterations above = 1 + # name = ipv4.tcppackets + # title = IPv4 TCP Packets (ipv4.tcppackets) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + +[ipv4.tcperrors] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.tcperrors + # chart type = line + # type = ipv4 + # family = tcp + # context = ipv4.tcperrors + # units = packets/s + # priority = 2700 + # gap when lost iterations above = 1 + # name = ipv4.tcperrors + # title = IPv4 TCP Errors (ipv4.tcperrors) + # dim InErrs name = InErrs + # dim InErrs algorithm = incremental + # dim InErrs multiplier = 1 + # dim InErrs divisor = 1 + # dim RetransSegs name = RetransSegs + # dim RetransSegs algorithm = incremental + # dim RetransSegs multiplier = -1 + # dim RetransSegs divisor = 1 + +[ipv4.tcphandshake] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.tcphandshake + # chart type = line + # type = ipv4 + # family = tcp + # context = ipv4.tcphandshake + # units = events/s + # priority = 2900 + # gap when lost iterations above = 1 + # name = ipv4.tcphandshake + # title = IPv4 TCP Handshake Issues (ipv4.tcphandshake) + # dim EstabResets name = EstabResets + # dim EstabResets algorithm = incremental + # dim EstabResets multiplier = 1 + # dim EstabResets divisor = 1 + # dim OutRsts name = OutRsts + # dim OutRsts algorithm = incremental + # dim OutRsts multiplier = -1 + # dim OutRsts divisor = 1 + # dim ActiveOpens name = ActiveOpens + # dim ActiveOpens algorithm = incremental + # dim ActiveOpens multiplier = 1 + # dim ActiveOpens divisor = 1 + # dim PassiveOpens name = PassiveOpens + # dim PassiveOpens algorithm = incremental + # dim PassiveOpens multiplier = 1 + # dim PassiveOpens divisor = 1 + # dim AttemptFails name = AttemptFails + # dim AttemptFails algorithm = incremental + # dim AttemptFails multiplier = 1 + # dim AttemptFails divisor = 1 + +[ipv4.udppackets] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.udppackets + # chart type = line + # type = ipv4 + # family = udp + # context = ipv4.udppackets + # units = packets/s + # priority = 2601 + # gap when lost iterations above = 1 + # name = ipv4.udppackets + # title = IPv4 UDP Packets (ipv4.udppackets) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + +[ipv4.udperrors] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.udperrors + # chart type = line + # type = ipv4 + # family = udp + # context = ipv4.udperrors + # units = events/s + # priority = 2701 + # gap when lost iterations above = 1 + # name = ipv4.udperrors + # title = IPv4 UDP Errors (ipv4.udperrors) + # dim RcvbufErrors name = RcvbufErrors + # dim RcvbufErrors algorithm = incremental + # dim RcvbufErrors multiplier = 1 + # dim RcvbufErrors divisor = 1 + # dim SndbufErrors name = SndbufErrors + # dim SndbufErrors algorithm = incremental + # dim SndbufErrors multiplier = -1 + # dim SndbufErrors divisor = 1 + # dim InErrors name = InErrors + # dim InErrors algorithm = incremental + # dim InErrors multiplier = 1 + # dim InErrors divisor = 1 + # dim NoPorts name = NoPorts + # dim NoPorts algorithm = incremental + # dim NoPorts multiplier = 1 + # dim NoPorts divisor = 1 + +[system.ipv4] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/system.ipv4 + # chart type = area + # type = system + # family = network + # context = system.ipv4 + # units = kilobits/s + # priority = 500 + # gap when lost iterations above = 1 + # name = system.ipv4 + # title = IPv4 Bandwidth (system.ipv4) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 8 + # dim received divisor = 1024 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -8 + # dim sent divisor = 1024 + +[ipv4.bcast] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.bcast + # chart type = area + # type = ipv4 + # family = broadcast + # context = ipv4.bcast + # units = kilobits/s + # priority = 8000 + # gap when lost iterations above = 1 + # name = ipv4.bcast + # title = IPv4 Broadcast Bandwidth (ipv4.bcast) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 8 + # dim received divisor = 1024 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -8 + # dim sent divisor = 1024 + +[ipv4.bcastpkts] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv4.bcastpkts + # chart type = line + # type = ipv4 + # family = broadcast + # context = ipv4.bcastpkts + # units = packets/s + # priority = 8500 + # gap when lost iterations above = 1 + # name = ipv4.bcastpkts + # title = IPv4 Broadcast Packets (ipv4.bcastpkts) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + +[system.cpu] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/system.cpu + # chart type = stacked + # type = system + # family = cpu + # context = system.cpu + # units = percentage + # priority = 100 + # gap when lost iterations above = 1 + # name = system.cpu + # title = Total CPU utilization (system.cpu) + # dim guest_nice name = guest_nice + # dim guest_nice algorithm = percentage-of-incremental-row + # dim guest_nice multiplier = 1 + # dim guest_nice divisor = 1 + # dim guest name = guest + # dim guest algorithm = percentage-of-incremental-row + # dim guest multiplier = 1 + # dim guest divisor = 1 + # dim steal name = steal + # dim steal algorithm = percentage-of-incremental-row + # dim steal multiplier = 1 + # dim steal divisor = 1 + # dim softirq name = softirq + # dim softirq algorithm = percentage-of-incremental-row + # dim softirq multiplier = 1 + # dim softirq divisor = 1 + # dim irq name = irq + # dim irq algorithm = percentage-of-incremental-row + # dim irq multiplier = 1 + # dim irq divisor = 1 + # dim user name = user + # dim user algorithm = percentage-of-incremental-row + # dim user multiplier = 1 + # dim user divisor = 1 + # dim system name = system + # dim system algorithm = percentage-of-incremental-row + # dim system multiplier = 1 + # dim system divisor = 1 + # dim nice name = nice + # dim nice algorithm = percentage-of-incremental-row + # dim nice multiplier = 1 + # dim nice divisor = 1 + # dim iowait name = iowait + # dim iowait algorithm = percentage-of-incremental-row + # dim iowait multiplier = 1 + # dim iowait divisor = 1 + # dim idle name = idle + # dim idle algorithm = percentage-of-incremental-row + # dim idle multiplier = 1 + # dim idle divisor = 1 + +[cpu.cpu0] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/cpu.cpu0 + # chart type = stacked + # type = cpu + # family = utilization + # context = cpu.cpu + # units = percentage + # priority = 1000 + # gap when lost iterations above = 1 + # name = cpu.cpu0 + # title = Core utilization (cpu.cpu0) + # dim guest_nice name = guest_nice + # dim guest_nice algorithm = percentage-of-incremental-row + # dim guest_nice multiplier = 1 + # dim guest_nice divisor = 1 + # dim guest name = guest + # dim guest algorithm = percentage-of-incremental-row + # dim guest multiplier = 1 + # dim guest divisor = 1 + # dim steal name = steal + # dim steal algorithm = percentage-of-incremental-row + # dim steal multiplier = 1 + # dim steal divisor = 1 + # dim softirq name = softirq + # dim softirq algorithm = percentage-of-incremental-row + # dim softirq multiplier = 1 + # dim softirq divisor = 1 + # dim irq name = irq + # dim irq algorithm = percentage-of-incremental-row + # dim irq multiplier = 1 + # dim irq divisor = 1 + # dim user name = user + # dim user algorithm = percentage-of-incremental-row + # dim user multiplier = 1 + # dim user divisor = 1 + # dim system name = system + # dim system algorithm = percentage-of-incremental-row + # dim system multiplier = 1 + # dim system divisor = 1 + # dim nice name = nice + # dim nice algorithm = percentage-of-incremental-row + # dim nice multiplier = 1 + # dim nice divisor = 1 + # dim iowait name = iowait + # dim iowait algorithm = percentage-of-incremental-row + # dim iowait multiplier = 1 + # dim iowait divisor = 1 + # dim idle name = idle + # dim idle algorithm = percentage-of-incremental-row + # dim idle multiplier = 1 + # dim idle divisor = 1 + +[cpu.cpu1] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/cpu.cpu1 + # chart type = stacked + # type = cpu + # family = utilization + # context = cpu.cpu + # units = percentage + # priority = 1000 + # gap when lost iterations above = 1 + # name = cpu.cpu1 + # title = Core utilization (cpu.cpu1) + # dim guest_nice name = guest_nice + # dim guest_nice algorithm = percentage-of-incremental-row + # dim guest_nice multiplier = 1 + # dim guest_nice divisor = 1 + # dim guest name = guest + # dim guest algorithm = percentage-of-incremental-row + # dim guest multiplier = 1 + # dim guest divisor = 1 + # dim steal name = steal + # dim steal algorithm = percentage-of-incremental-row + # dim steal multiplier = 1 + # dim steal divisor = 1 + # dim softirq name = softirq + # dim softirq algorithm = percentage-of-incremental-row + # dim softirq multiplier = 1 + # dim softirq divisor = 1 + # dim irq name = irq + # dim irq algorithm = percentage-of-incremental-row + # dim irq multiplier = 1 + # dim irq divisor = 1 + # dim user name = user + # dim user algorithm = percentage-of-incremental-row + # dim user multiplier = 1 + # dim user divisor = 1 + # dim system name = system + # dim system algorithm = percentage-of-incremental-row + # dim system multiplier = 1 + # dim system divisor = 1 + # dim nice name = nice + # dim nice algorithm = percentage-of-incremental-row + # dim nice multiplier = 1 + # dim nice divisor = 1 + # dim iowait name = iowait + # dim iowait algorithm = percentage-of-incremental-row + # dim iowait multiplier = 1 + # dim iowait divisor = 1 + # dim idle name = idle + # dim idle algorithm = percentage-of-incremental-row + # dim idle multiplier = 1 + # dim idle divisor = 1 + +[system.intr] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.intr + # chart type = line + # type = system + # family = interrupts + # context = system.intr + # units = interrupts/s + # priority = 900 + # gap when lost iterations above = 1 + # name = system.intr + # title = CPU Interrupts (system.intr) + # dim interrupts name = interrupts + # dim interrupts algorithm = incremental + # dim interrupts multiplier = 1 + # dim interrupts divisor = 1 + +[system.ctxt] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.ctxt + # chart type = line + # type = system + # family = processes + # context = system.ctxt + # units = context switches/s + # priority = 800 + # gap when lost iterations above = 1 + # name = system.ctxt + # title = CPU Context Switches (system.ctxt) + # dim switches name = switches + # dim switches algorithm = incremental + # dim switches multiplier = 1 + # dim switches divisor = 1 + +[system.forks] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.forks + # chart type = line + # type = system + # family = processes + # context = system.forks + # units = processes/s + # priority = 700 + # gap when lost iterations above = 1 + # name = system.forks + # title = Started Processes (system.forks) + # dim started name = started + # dim started algorithm = incremental + # dim started multiplier = 1 + # dim started divisor = 1 + +[system.processes] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.processes + # chart type = line + # type = system + # family = processes + # context = system.processes + # units = processes + # priority = 600 + # gap when lost iterations above = 1 + # name = system.processes + # title = System Processes (system.processes) + # dim running name = running + # dim running algorithm = absolute + # dim running multiplier = 1 + # dim running divisor = 1 + # dim blocked name = blocked + # dim blocked algorithm = absolute + # dim blocked multiplier = -1 + # dim blocked divisor = 1 + +[system.ram] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.ram + # chart type = stacked + # type = system + # family = ram + # context = system.ram + # units = MB + # priority = 200 + # gap when lost iterations above = 1 + # name = system.ram + # title = System RAM (system.ram) + # dim buffers name = buffers + # dim buffers algorithm = absolute + # dim buffers multiplier = 1 + # dim buffers divisor = 1024 + # dim used name = used + # dim used algorithm = absolute + # dim used multiplier = 1 + # dim used divisor = 1024 + # dim cached name = cached + # dim cached algorithm = absolute + # dim cached multiplier = 1 + # dim cached divisor = 1024 + # dim free name = free + # dim free algorithm = absolute + # dim free multiplier = 1 + # dim free divisor = 1024 + +[system.swap] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.swap + # chart type = stacked + # type = system + # family = swap + # context = system.swap + # units = MB + # priority = 201 + # gap when lost iterations above = 1 + # name = system.swap + # title = System Swap (system.swap) + # dim free name = free + # dim free algorithm = absolute + # dim free multiplier = 1 + # dim free divisor = 1024 + # dim used name = used + # dim used algorithm = absolute + # dim used multiplier = 1 + # dim used divisor = 1024 + +[mem.committed] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/mem.committed + # chart type = area + # type = mem + # family = system + # context = mem.committed + # units = MB + # priority = 5000 + # gap when lost iterations above = 1 + # name = mem.committed + # title = Committed (Allocated) Memory (mem.committed) + # dim Committed_AS name = Committed_AS + # dim Committed_AS algorithm = absolute + # dim Committed_AS multiplier = 1 + # dim Committed_AS divisor = 1024 + +[mem.writeback] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mem.writeback + # chart type = line + # type = mem + # family = kernel + # context = mem.writeback + # units = MB + # priority = 4000 + # gap when lost iterations above = 1 + # name = mem.writeback + # title = Writeback Memory (mem.writeback) + # dim Dirty name = Dirty + # dim Dirty algorithm = absolute + # dim Dirty multiplier = 1 + # dim Dirty divisor = 1024 + # dim Writeback name = Writeback + # dim Writeback algorithm = absolute + # dim Writeback multiplier = 1 + # dim Writeback divisor = 1024 + # dim FuseWriteback name = FuseWriteback + # dim FuseWriteback algorithm = absolute + # dim FuseWriteback multiplier = 1 + # dim FuseWriteback divisor = 1024 + # dim NfsWriteback name = NfsWriteback + # dim NfsWriteback algorithm = absolute + # dim NfsWriteback multiplier = 1 + # dim NfsWriteback divisor = 1024 + # dim Bounce name = Bounce + # dim Bounce algorithm = absolute + # dim Bounce multiplier = 1 + # dim Bounce divisor = 1024 + +[mem.kernel] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/mem.kernel + # chart type = stacked + # type = mem + # family = kernel + # context = mem.kernel + # units = MB + # priority = 6000 + # gap when lost iterations above = 1 + # name = mem.kernel + # title = Memory Used by Kernel (mem.kernel) + # dim Slab name = Slab + # dim Slab algorithm = absolute + # dim Slab multiplier = 1 + # dim Slab divisor = 1024 + # dim KernelStack name = KernelStack + # dim KernelStack algorithm = absolute + # dim KernelStack multiplier = 1 + # dim KernelStack divisor = 1024 + # dim PageTables name = PageTables + # dim PageTables algorithm = absolute + # dim PageTables multiplier = 1 + # dim PageTables divisor = 1024 + # dim VmallocUsed name = VmallocUsed + # dim VmallocUsed algorithm = absolute + # dim VmallocUsed multiplier = 1 + # dim VmallocUsed divisor = 1024 + +[mem.slab] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mem.slab + # chart type = stacked + # type = mem + # family = slab + # context = mem.slab + # units = MB + # priority = 6500 + # gap when lost iterations above = 1 + # name = mem.slab + # title = Reclaimable Kernel Memory (mem.slab) + # dim reclaimable name = reclaimable + # dim reclaimable algorithm = absolute + # dim reclaimable multiplier = 1 + # dim reclaimable divisor = 1024 + # dim unreclaimable name = unreclaimable + # dim unreclaimable algorithm = absolute + # dim unreclaimable multiplier = 1 + # dim unreclaimable divisor = 1024 + +[system.swapio] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/system.swapio + # chart type = area + # type = system + # family = swap + # context = system.swapio + # units = kilobytes/s + # priority = 250 + # gap when lost iterations above = 1 + # name = system.swapio + # title = Swap I/O (system.swapio) + # dim in name = in + # dim in algorithm = incremental + # dim in multiplier = 4096 + # dim in divisor = 1024 + # dim out name = out + # dim out algorithm = incremental + # dim out multiplier = -4096 + # dim out divisor = 1024 + +[system.io] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.io + # chart type = area + # type = system + # family = disk + # context = system.io + # units = kilobytes/s + # priority = 150 + # gap when lost iterations above = 1 + # name = system.io + # title = Disk I/O (system.io) + # dim in name = in + # dim in algorithm = incremental + # dim in multiplier = 1 + # dim in divisor = 1 + # dim out name = out + # dim out algorithm = incremental + # dim out multiplier = -1 + # dim out divisor = 1 + +[netdata.plugin_proc_cpu] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/netdata.plugin_proc_cpu + # chart type = stacked + # type = netdata + # family = proc.internal + # context = netdata.plugin_proc_cpu + # units = milliseconds/s + # priority = 131000 + # gap when lost iterations above = 1 + # name = netdata.plugin_proc_cpu + # title = NetData Proc Plugin CPU usage (netdata.plugin_proc_cpu) + # dim user name = user + # dim user algorithm = incremental + # dim user multiplier = 1 + # dim user divisor = 1000 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1000 + +[netdata.server_cpu] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/netdata.server_cpu + # chart type = stacked + # type = netdata + # family = netdata + # context = netdata.server_cpu + # units = milliseconds/s + # priority = 130000 + # gap when lost iterations above = 1 + # name = netdata.server_cpu + # title = NetData CPU usage (netdata.server_cpu) + # dim user name = user + # dim user algorithm = incremental + # dim user multiplier = 1 + # dim user divisor = 1000 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1000 + +[netdata.clients] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/netdata.clients + # chart type = line + # type = netdata + # family = netdata + # context = netdata.clients + # units = connected clients + # priority = 131000 + # gap when lost iterations above = 1 + # name = netdata.clients + # title = NetData Web Clients (netdata.clients) + # dim clients name = clients + # dim clients algorithm = absolute + # dim clients multiplier = 1 + # dim clients divisor = 1 + +[netdata.requests] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/netdata.requests + # chart type = line + # type = netdata + # family = netdata + # context = netdata.requests + # units = requests/s + # priority = 131100 + # gap when lost iterations above = 1 + # name = netdata.requests + # title = NetData Web Requests (netdata.requests) + # dim requests name = requests + # dim requests algorithm = incremental + # dim requests multiplier = 1 + # dim requests divisor = 1 + +[netdata.net] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/netdata.net + # chart type = area + # type = netdata + # family = netdata + # context = netdata.net + # units = kilobits/s + # priority = 131200 + # gap when lost iterations above = 1 + # name = netdata.net + # title = NetData Network Traffic (netdata.net) + # dim in name = in + # dim in algorithm = incremental + # dim in multiplier = 8 + # dim in divisor = 1024 + # dim out name = out + # dim out algorithm = incremental + # dim out multiplier = -8 + # dim out divisor = 1024 + +[apps.cpu] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.cpu + # chart type = stacked + # type = apps + # family = cpu + # context = apps.cpu + # units = cpu time % + # priority = 20001 + # gap when lost iterations above = 1 + # name = apps.cpu + # title = Apps CPU Time (200% = 2 cores) (apps.cpu) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 100 + # dim other divisor = 100 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 100 + # dim ksmd divisor = 100 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 100 + # dim system divisor = 100 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 100 + # dim netdata divisor = 100 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 100 + # dim kernel divisor = 100 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 100 + # dim cron divisor = 100 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 100 + # dim inetd divisor = 100 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 100 + # dim nms divisor = 100 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 100 + # dim log divisor = 100 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 100 + # dim ntp divisor = 100 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 100 + # dim named divisor = 100 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 100 + # dim ssh divisor = 100 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 100 + # dim nfs divisor = 100 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 100 + # dim nginx divisor = 100 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 100 + # dim postfix divisor = 100 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 100 + # dim mysql divisor = 100 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 100 + # dim rsync divisor = 100 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 100 + # dim compile divisor = 100 + +[apps.mem] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.mem + # chart type = stacked + # type = apps + # family = mem + # context = apps.mem + # units = MB + # priority = 20003 + # gap when lost iterations above = 1 + # name = apps.mem + # title = Apps Dedicated Memory (w/o shared) (apps.mem) + # dim other name = other + # dim other algorithm = absolute + # dim other multiplier = 4096 + # dim other divisor = 1048576 + # dim ksmd name = ksmd + # dim ksmd algorithm = absolute + # dim ksmd multiplier = 4096 + # dim ksmd divisor = 1048576 + # dim system name = system + # dim system algorithm = absolute + # dim system multiplier = 4096 + # dim system divisor = 1048576 + # dim netdata name = netdata + # dim netdata algorithm = absolute + # dim netdata multiplier = 4096 + # dim netdata divisor = 1048576 + # dim kernel name = kernel + # dim kernel algorithm = absolute + # dim kernel multiplier = 4096 + # dim kernel divisor = 1048576 + # dim cron name = cron + # dim cron algorithm = absolute + # dim cron multiplier = 4096 + # dim cron divisor = 1048576 + # dim inetd name = inetd + # dim inetd algorithm = absolute + # dim inetd multiplier = 4096 + # dim inetd divisor = 1048576 + # dim nms name = nms + # dim nms algorithm = absolute + # dim nms multiplier = 4096 + # dim nms divisor = 1048576 + # dim log name = log + # dim log algorithm = absolute + # dim log multiplier = 4096 + # dim log divisor = 1048576 + # dim ntp name = ntp + # dim ntp algorithm = absolute + # dim ntp multiplier = 4096 + # dim ntp divisor = 1048576 + # dim named name = named + # dim named algorithm = absolute + # dim named multiplier = 4096 + # dim named divisor = 1048576 + # dim ssh name = ssh + # dim ssh algorithm = absolute + # dim ssh multiplier = 4096 + # dim ssh divisor = 1048576 + # dim nfs name = nfs + # dim nfs algorithm = absolute + # dim nfs multiplier = 4096 + # dim nfs divisor = 1048576 + # dim nginx name = nginx + # dim nginx algorithm = absolute + # dim nginx multiplier = 4096 + # dim nginx divisor = 1048576 + # dim postfix name = postfix + # dim postfix algorithm = absolute + # dim postfix multiplier = 4096 + # dim postfix divisor = 1048576 + # dim mysql name = mysql + # dim mysql algorithm = absolute + # dim mysql multiplier = 4096 + # dim mysql divisor = 1048576 + # dim rsync name = rsync + # dim rsync algorithm = absolute + # dim rsync multiplier = 4096 + # dim rsync divisor = 1048576 + # dim compile name = compile + # dim compile algorithm = absolute + # dim compile multiplier = 4096 + # dim compile divisor = 1048576 + +[apps.threads] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.threads + # chart type = stacked + # type = apps + # family = processes + # context = apps.threads + # units = threads + # priority = 20005 + # gap when lost iterations above = 1 + # name = apps.threads + # title = Apps Threads (apps.threads) + # dim other name = other + # dim other algorithm = absolute + # dim other multiplier = 1 + # dim other divisor = 1 + # dim ksmd name = ksmd + # dim ksmd algorithm = absolute + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1 + # dim system name = system + # dim system algorithm = absolute + # dim system multiplier = 1 + # dim system divisor = 1 + # dim netdata name = netdata + # dim netdata algorithm = absolute + # dim netdata multiplier = 1 + # dim netdata divisor = 1 + # dim kernel name = kernel + # dim kernel algorithm = absolute + # dim kernel multiplier = 1 + # dim kernel divisor = 1 + # dim cron name = cron + # dim cron algorithm = absolute + # dim cron multiplier = 1 + # dim cron divisor = 1 + # dim inetd name = inetd + # dim inetd algorithm = absolute + # dim inetd multiplier = 1 + # dim inetd divisor = 1 + # dim nms name = nms + # dim nms algorithm = absolute + # dim nms multiplier = 1 + # dim nms divisor = 1 + # dim log name = log + # dim log algorithm = absolute + # dim log multiplier = 1 + # dim log divisor = 1 + # dim ntp name = ntp + # dim ntp algorithm = absolute + # dim ntp multiplier = 1 + # dim ntp divisor = 1 + # dim named name = named + # dim named algorithm = absolute + # dim named multiplier = 1 + # dim named divisor = 1 + # dim ssh name = ssh + # dim ssh algorithm = absolute + # dim ssh multiplier = 1 + # dim ssh divisor = 1 + # dim nfs name = nfs + # dim nfs algorithm = absolute + # dim nfs multiplier = 1 + # dim nfs divisor = 1 + # dim nginx name = nginx + # dim nginx algorithm = absolute + # dim nginx multiplier = 1 + # dim nginx divisor = 1 + # dim postfix name = postfix + # dim postfix algorithm = absolute + # dim postfix multiplier = 1 + # dim postfix divisor = 1 + # dim mysql name = mysql + # dim mysql algorithm = absolute + # dim mysql multiplier = 1 + # dim mysql divisor = 1 + # dim rsync name = rsync + # dim rsync algorithm = absolute + # dim rsync multiplier = 1 + # dim rsync divisor = 1 + # dim compile name = compile + # dim compile algorithm = absolute + # dim compile multiplier = 1 + # dim compile divisor = 1 + +[apps.processes] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.processes + # chart type = stacked + # type = apps + # family = processes + # context = apps.processes + # units = processes + # priority = 20004 + # gap when lost iterations above = 1 + # name = apps.processes + # title = Apps Processes (apps.processes) + # dim other name = other + # dim other algorithm = absolute + # dim other multiplier = 1 + # dim other divisor = 1 + # dim ksmd name = ksmd + # dim ksmd algorithm = absolute + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1 + # dim system name = system + # dim system algorithm = absolute + # dim system multiplier = 1 + # dim system divisor = 1 + # dim netdata name = netdata + # dim netdata algorithm = absolute + # dim netdata multiplier = 1 + # dim netdata divisor = 1 + # dim kernel name = kernel + # dim kernel algorithm = absolute + # dim kernel multiplier = 1 + # dim kernel divisor = 1 + # dim cron name = cron + # dim cron algorithm = absolute + # dim cron multiplier = 1 + # dim cron divisor = 1 + # dim inetd name = inetd + # dim inetd algorithm = absolute + # dim inetd multiplier = 1 + # dim inetd divisor = 1 + # dim nms name = nms + # dim nms algorithm = absolute + # dim nms multiplier = 1 + # dim nms divisor = 1 + # dim log name = log + # dim log algorithm = absolute + # dim log multiplier = 1 + # dim log divisor = 1 + # dim ntp name = ntp + # dim ntp algorithm = absolute + # dim ntp multiplier = 1 + # dim ntp divisor = 1 + # dim named name = named + # dim named algorithm = absolute + # dim named multiplier = 1 + # dim named divisor = 1 + # dim ssh name = ssh + # dim ssh algorithm = absolute + # dim ssh multiplier = 1 + # dim ssh divisor = 1 + # dim nfs name = nfs + # dim nfs algorithm = absolute + # dim nfs multiplier = 1 + # dim nfs divisor = 1 + # dim nginx name = nginx + # dim nginx algorithm = absolute + # dim nginx multiplier = 1 + # dim nginx divisor = 1 + # dim postfix name = postfix + # dim postfix algorithm = absolute + # dim postfix multiplier = 1 + # dim postfix divisor = 1 + # dim mysql name = mysql + # dim mysql algorithm = absolute + # dim mysql multiplier = 1 + # dim mysql divisor = 1 + # dim rsync name = rsync + # dim rsync algorithm = absolute + # dim rsync multiplier = 1 + # dim rsync divisor = 1 + # dim compile name = compile + # dim compile algorithm = absolute + # dim compile multiplier = 1 + # dim compile divisor = 1 + +[apps.cpu_user] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.cpu_user + # chart type = stacked + # type = apps + # family = cpu + # context = apps.cpu_user + # units = cpu time % + # priority = 20020 + # gap when lost iterations above = 1 + # name = apps.cpu_user + # title = Apps CPU User Time (200% = 2 cores) (apps.cpu_user) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 100 + # dim other divisor = 200 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 100 + # dim ksmd divisor = 200 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 100 + # dim system divisor = 200 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 100 + # dim netdata divisor = 200 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 100 + # dim kernel divisor = 200 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 100 + # dim cron divisor = 200 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 100 + # dim inetd divisor = 200 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 100 + # dim nms divisor = 200 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 100 + # dim log divisor = 200 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 100 + # dim ntp divisor = 200 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 100 + # dim named divisor = 200 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 100 + # dim ssh divisor = 200 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 100 + # dim nfs divisor = 200 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 100 + # dim nginx divisor = 200 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 100 + # dim postfix divisor = 200 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 100 + # dim mysql divisor = 200 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 100 + # dim rsync divisor = 200 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 100 + # dim compile divisor = 200 + +[apps.cpu_system] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.cpu_system + # chart type = stacked + # type = apps + # family = cpu + # context = apps.cpu_system + # units = cpu time % + # priority = 20021 + # gap when lost iterations above = 1 + # name = apps.cpu_system + # title = Apps CPU System Time (200% = 2 cores) (apps.cpu_system) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 100 + # dim other divisor = 200 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 100 + # dim ksmd divisor = 200 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 100 + # dim system divisor = 200 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 100 + # dim netdata divisor = 200 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 100 + # dim kernel divisor = 200 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 100 + # dim cron divisor = 200 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 100 + # dim inetd divisor = 200 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 100 + # dim nms divisor = 200 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 100 + # dim log divisor = 200 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 100 + # dim ntp divisor = 200 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 100 + # dim named divisor = 200 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 100 + # dim ssh divisor = 200 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 100 + # dim nfs divisor = 200 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 100 + # dim nginx divisor = 200 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 100 + # dim postfix divisor = 200 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 100 + # dim mysql divisor = 200 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 100 + # dim rsync divisor = 200 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 100 + # dim compile divisor = 200 + +[apps.major_faults] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.major_faults + # chart type = stacked + # type = apps + # family = swap + # context = apps.major_faults + # units = page faults/s + # priority = 20010 + # gap when lost iterations above = 1 + # name = apps.major_faults + # title = Apps Major Page Faults (swap read) (apps.major_faults) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 1 + # dim other divisor = 1 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 1 + # dim netdata divisor = 1 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 1 + # dim kernel divisor = 1 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 1 + # dim cron divisor = 1 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 1 + # dim inetd divisor = 1 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 1 + # dim nms divisor = 1 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 1 + # dim log divisor = 1 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 1 + # dim ntp divisor = 1 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 1 + # dim named divisor = 1 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 1 + # dim ssh divisor = 1 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 1 + # dim nfs divisor = 1 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 1 + # dim nginx divisor = 1 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 1 + # dim postfix divisor = 1 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 1 + # dim mysql divisor = 1 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 1 + # dim rsync divisor = 1 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 1 + # dim compile divisor = 1 + +[apps.minor_faults] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/apps.minor_faults + # chart type = stacked + # type = apps + # family = mem + # context = apps.minor_faults + # units = page faults/s + # priority = 20011 + # gap when lost iterations above = 1 + # name = apps.minor_faults + # title = Apps Minor Page Faults (apps.minor_faults) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 1 + # dim other divisor = 1 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 1 + # dim netdata divisor = 1 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 1 + # dim kernel divisor = 1 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 1 + # dim cron divisor = 1 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 1 + # dim inetd divisor = 1 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 1 + # dim nms divisor = 1 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 1 + # dim log divisor = 1 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 1 + # dim ntp divisor = 1 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 1 + # dim named divisor = 1 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 1 + # dim ssh divisor = 1 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 1 + # dim nfs divisor = 1 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 1 + # dim nginx divisor = 1 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 1 + # dim postfix divisor = 1 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 1 + # dim mysql divisor = 1 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 1 + # dim rsync divisor = 1 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 1 + # dim compile divisor = 1 + +[apps.lreads] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/apps.lreads + # chart type = stacked + # type = apps + # family = disk + # context = apps.lreads + # units = kilobytes/s + # priority = 20042 + # gap when lost iterations above = 1 + # name = apps.lreads + # title = Apps Disk Logical Reads (apps.lreads) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 1 + # dim other divisor = 1024 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1024 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1024 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 1 + # dim netdata divisor = 1024 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 1 + # dim kernel divisor = 1024 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 1 + # dim cron divisor = 1024 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 1 + # dim inetd divisor = 1024 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 1 + # dim nms divisor = 1024 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 1 + # dim log divisor = 1024 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 1 + # dim ntp divisor = 1024 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 1 + # dim named divisor = 1024 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 1 + # dim ssh divisor = 1024 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 1 + # dim nfs divisor = 1024 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 1 + # dim nginx divisor = 1024 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 1 + # dim postfix divisor = 1024 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 1 + # dim mysql divisor = 1024 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 1 + # dim rsync divisor = 1024 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 1 + # dim compile divisor = 1024 + +[apps.lwrites] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/apps.lwrites + # chart type = stacked + # type = apps + # family = disk + # context = apps.lwrites + # units = kilobytes/s + # priority = 20042 + # gap when lost iterations above = 1 + # name = apps.lwrites + # title = Apps I/O Logical Writes (apps.lwrites) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 1 + # dim other divisor = 1024 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1024 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1024 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 1 + # dim netdata divisor = 1024 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 1 + # dim kernel divisor = 1024 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 1 + # dim cron divisor = 1024 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 1 + # dim inetd divisor = 1024 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 1 + # dim nms divisor = 1024 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 1 + # dim log divisor = 1024 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 1 + # dim ntp divisor = 1024 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 1 + # dim named divisor = 1024 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 1 + # dim ssh divisor = 1024 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 1 + # dim nfs divisor = 1024 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 1 + # dim nginx divisor = 1024 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 1 + # dim postfix divisor = 1024 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 1 + # dim mysql divisor = 1024 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 1 + # dim rsync divisor = 1024 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 1 + # dim compile divisor = 1024 + +[apps.preads] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/apps.preads + # chart type = stacked + # type = apps + # family = disk + # context = apps.preads + # units = kilobytes/s + # priority = 20002 + # gap when lost iterations above = 1 + # name = apps.preads + # title = Apps Disk Reads (apps.preads) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 1 + # dim other divisor = 1024 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1024 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1024 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 1 + # dim netdata divisor = 1024 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 1 + # dim kernel divisor = 1024 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 1 + # dim cron divisor = 1024 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 1 + # dim inetd divisor = 1024 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 1 + # dim nms divisor = 1024 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 1 + # dim log divisor = 1024 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 1 + # dim ntp divisor = 1024 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 1 + # dim named divisor = 1024 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 1 + # dim ssh divisor = 1024 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 1 + # dim nfs divisor = 1024 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 1 + # dim nginx divisor = 1024 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 1 + # dim postfix divisor = 1024 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 1 + # dim mysql divisor = 1024 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 1 + # dim rsync divisor = 1024 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 1 + # dim compile divisor = 1024 + +[apps.pwrites] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/apps.pwrites + # chart type = stacked + # type = apps + # family = disk + # context = apps.pwrites + # units = kilobytes/s + # priority = 20002 + # gap when lost iterations above = 1 + # name = apps.pwrites + # title = Apps Disk Writes (apps.pwrites) + # dim other name = other + # dim other algorithm = incremental + # dim other multiplier = 1 + # dim other divisor = 1024 + # dim ksmd name = ksmd + # dim ksmd algorithm = incremental + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1024 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1024 + # dim netdata name = netdata + # dim netdata algorithm = incremental + # dim netdata multiplier = 1 + # dim netdata divisor = 1024 + # dim kernel name = kernel + # dim kernel algorithm = incremental + # dim kernel multiplier = 1 + # dim kernel divisor = 1024 + # dim cron name = cron + # dim cron algorithm = incremental + # dim cron multiplier = 1 + # dim cron divisor = 1024 + # dim inetd name = inetd + # dim inetd algorithm = incremental + # dim inetd multiplier = 1 + # dim inetd divisor = 1024 + # dim nms name = nms + # dim nms algorithm = incremental + # dim nms multiplier = 1 + # dim nms divisor = 1024 + # dim log name = log + # dim log algorithm = incremental + # dim log multiplier = 1 + # dim log divisor = 1024 + # dim ntp name = ntp + # dim ntp algorithm = incremental + # dim ntp multiplier = 1 + # dim ntp divisor = 1024 + # dim named name = named + # dim named algorithm = incremental + # dim named multiplier = 1 + # dim named divisor = 1024 + # dim ssh name = ssh + # dim ssh algorithm = incremental + # dim ssh multiplier = 1 + # dim ssh divisor = 1024 + # dim nfs name = nfs + # dim nfs algorithm = incremental + # dim nfs multiplier = 1 + # dim nfs divisor = 1024 + # dim nginx name = nginx + # dim nginx algorithm = incremental + # dim nginx multiplier = 1 + # dim nginx divisor = 1024 + # dim postfix name = postfix + # dim postfix algorithm = incremental + # dim postfix multiplier = 1 + # dim postfix divisor = 1024 + # dim mysql name = mysql + # dim mysql algorithm = incremental + # dim mysql multiplier = 1 + # dim mysql divisor = 1024 + # dim rsync name = rsync + # dim rsync algorithm = incremental + # dim rsync multiplier = 1 + # dim rsync divisor = 1024 + # dim compile name = compile + # dim compile algorithm = incremental + # dim compile multiplier = 1 + # dim compile divisor = 1024 + +[apps.files] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/apps.files + # chart type = stacked + # type = apps + # family = disk + # context = apps.files + # units = open files + # priority = 20050 + # gap when lost iterations above = 1 + # name = apps.files + # title = Apps Open Files (apps.files) + # dim other name = other + # dim other algorithm = absolute + # dim other multiplier = 1 + # dim other divisor = 1 + # dim ksmd name = ksmd + # dim ksmd algorithm = absolute + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1 + # dim system name = system + # dim system algorithm = absolute + # dim system multiplier = 1 + # dim system divisor = 1 + # dim netdata name = netdata + # dim netdata algorithm = absolute + # dim netdata multiplier = 1 + # dim netdata divisor = 1 + # dim kernel name = kernel + # dim kernel algorithm = absolute + # dim kernel multiplier = 1 + # dim kernel divisor = 1 + # dim cron name = cron + # dim cron algorithm = absolute + # dim cron multiplier = 1 + # dim cron divisor = 1 + # dim inetd name = inetd + # dim inetd algorithm = absolute + # dim inetd multiplier = 1 + # dim inetd divisor = 1 + # dim nms name = nms + # dim nms algorithm = absolute + # dim nms multiplier = 1 + # dim nms divisor = 1 + # dim log name = log + # dim log algorithm = absolute + # dim log multiplier = 1 + # dim log divisor = 1 + # dim ntp name = ntp + # dim ntp algorithm = absolute + # dim ntp multiplier = 1 + # dim ntp divisor = 1 + # dim named name = named + # dim named algorithm = absolute + # dim named multiplier = 1 + # dim named divisor = 1 + # dim ssh name = ssh + # dim ssh algorithm = absolute + # dim ssh multiplier = 1 + # dim ssh divisor = 1 + # dim nfs name = nfs + # dim nfs algorithm = absolute + # dim nfs multiplier = 1 + # dim nfs divisor = 1 + # dim nginx name = nginx + # dim nginx algorithm = absolute + # dim nginx multiplier = 1 + # dim nginx divisor = 1 + # dim postfix name = postfix + # dim postfix algorithm = absolute + # dim postfix multiplier = 1 + # dim postfix divisor = 1 + # dim mysql name = mysql + # dim mysql algorithm = absolute + # dim mysql multiplier = 1 + # dim mysql divisor = 1 + # dim rsync name = rsync + # dim rsync algorithm = absolute + # dim rsync multiplier = 1 + # dim rsync divisor = 1 + # dim compile name = compile + # dim compile algorithm = absolute + # dim compile multiplier = 1 + # dim compile divisor = 1 + +[apps.sockets] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/apps.sockets + # chart type = stacked + # type = apps + # family = net + # context = apps.sockets + # units = open sockets + # priority = 20051 + # gap when lost iterations above = 1 + # name = apps.sockets + # title = Apps Open Sockets (apps.sockets) + # dim other name = other + # dim other algorithm = absolute + # dim other multiplier = 1 + # dim other divisor = 1 + # dim ksmd name = ksmd + # dim ksmd algorithm = absolute + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1 + # dim system name = system + # dim system algorithm = absolute + # dim system multiplier = 1 + # dim system divisor = 1 + # dim netdata name = netdata + # dim netdata algorithm = absolute + # dim netdata multiplier = 1 + # dim netdata divisor = 1 + # dim kernel name = kernel + # dim kernel algorithm = absolute + # dim kernel multiplier = 1 + # dim kernel divisor = 1 + # dim cron name = cron + # dim cron algorithm = absolute + # dim cron multiplier = 1 + # dim cron divisor = 1 + # dim inetd name = inetd + # dim inetd algorithm = absolute + # dim inetd multiplier = 1 + # dim inetd divisor = 1 + # dim nms name = nms + # dim nms algorithm = absolute + # dim nms multiplier = 1 + # dim nms divisor = 1 + # dim log name = log + # dim log algorithm = absolute + # dim log multiplier = 1 + # dim log divisor = 1 + # dim ntp name = ntp + # dim ntp algorithm = absolute + # dim ntp multiplier = 1 + # dim ntp divisor = 1 + # dim named name = named + # dim named algorithm = absolute + # dim named multiplier = 1 + # dim named divisor = 1 + # dim ssh name = ssh + # dim ssh algorithm = absolute + # dim ssh multiplier = 1 + # dim ssh divisor = 1 + # dim nfs name = nfs + # dim nfs algorithm = absolute + # dim nfs multiplier = 1 + # dim nfs divisor = 1 + # dim nginx name = nginx + # dim nginx algorithm = absolute + # dim nginx multiplier = 1 + # dim nginx divisor = 1 + # dim postfix name = postfix + # dim postfix algorithm = absolute + # dim postfix multiplier = 1 + # dim postfix divisor = 1 + # dim mysql name = mysql + # dim mysql algorithm = absolute + # dim mysql multiplier = 1 + # dim mysql divisor = 1 + # dim rsync name = rsync + # dim rsync algorithm = absolute + # dim rsync multiplier = 1 + # dim rsync divisor = 1 + # dim compile name = compile + # dim compile algorithm = absolute + # dim compile multiplier = 1 + # dim compile divisor = 1 + +[apps.pipes] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/apps.pipes + # chart type = stacked + # type = apps + # family = processes + # context = apps.pipes + # units = open pipes + # priority = 20053 + # gap when lost iterations above = 1 + # name = apps.pipes + # title = Apps Pipes (apps.pipes) + # dim other name = other + # dim other algorithm = absolute + # dim other multiplier = 1 + # dim other divisor = 1 + # dim ksmd name = ksmd + # dim ksmd algorithm = absolute + # dim ksmd multiplier = 1 + # dim ksmd divisor = 1 + # dim system name = system + # dim system algorithm = absolute + # dim system multiplier = 1 + # dim system divisor = 1 + # dim netdata name = netdata + # dim netdata algorithm = absolute + # dim netdata multiplier = 1 + # dim netdata divisor = 1 + # dim kernel name = kernel + # dim kernel algorithm = absolute + # dim kernel multiplier = 1 + # dim kernel divisor = 1 + # dim cron name = cron + # dim cron algorithm = absolute + # dim cron multiplier = 1 + # dim cron divisor = 1 + # dim inetd name = inetd + # dim inetd algorithm = absolute + # dim inetd multiplier = 1 + # dim inetd divisor = 1 + # dim nms name = nms + # dim nms algorithm = absolute + # dim nms multiplier = 1 + # dim nms divisor = 1 + # dim log name = log + # dim log algorithm = absolute + # dim log multiplier = 1 + # dim log divisor = 1 + # dim ntp name = ntp + # dim ntp algorithm = absolute + # dim ntp multiplier = 1 + # dim ntp divisor = 1 + # dim named name = named + # dim named algorithm = absolute + # dim named multiplier = 1 + # dim named divisor = 1 + # dim ssh name = ssh + # dim ssh algorithm = absolute + # dim ssh multiplier = 1 + # dim ssh divisor = 1 + # dim nfs name = nfs + # dim nfs algorithm = absolute + # dim nfs multiplier = 1 + # dim nfs divisor = 1 + # dim nginx name = nginx + # dim nginx algorithm = absolute + # dim nginx multiplier = 1 + # dim nginx divisor = 1 + # dim postfix name = postfix + # dim postfix algorithm = absolute + # dim postfix multiplier = 1 + # dim postfix divisor = 1 + # dim mysql name = mysql + # dim mysql algorithm = absolute + # dim mysql multiplier = 1 + # dim mysql divisor = 1 + # dim rsync name = rsync + # dim rsync algorithm = absolute + # dim rsync multiplier = 1 + # dim rsync divisor = 1 + # dim compile name = compile + # dim compile algorithm = absolute + # dim compile multiplier = 1 + # dim compile divisor = 1 + +[netdata.apps_cpu] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/netdata.apps_cpu + # chart type = stacked + # type = netdata + # family = apps.plugin + # context = netdata.apps_cpu + # units = milliseconds/s + # priority = 140000 + # gap when lost iterations above = 1 + # name = netdata.apps_cpu + # title = Apps Plugin CPU (netdata.apps_cpu) + # dim user name = user + # dim user algorithm = incremental + # dim user multiplier = 1 + # dim user divisor = 1000 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1000 + +[netdata.apps_files] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netdata.apps_files + # chart type = line + # type = netdata + # family = apps.plugin + # context = netdata.apps_files + # units = files/s + # priority = 140001 + # gap when lost iterations above = 1 + # name = netdata.apps_files + # title = Apps Plugin Files (netdata.apps_files) + # dim files name = files + # dim files algorithm = incremental + # dim files multiplier = 1 + # dim files divisor = 1 + # dim pids name = pids + # dim pids algorithm = absolute + # dim pids multiplier = 1 + # dim pids divisor = 1 + # dim fds name = fds + # dim fds algorithm = absolute + # dim fds multiplier = 1 + # dim fds divisor = 1 + # dim targets name = targets + # dim targets algorithm = absolute + # dim targets multiplier = 1 + # dim targets divisor = 1 + +[netdata.plugin_tc_cpu] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netdata.plugin_tc_cpu + # chart type = stacked + # type = netdata + # family = tc.helper + # context = netdata.plugin_tc_cpu + # units = milliseconds/s + # priority = 135000 + # gap when lost iterations above = 1 + # name = netdata.plugin_tc_cpu + # title = NetData TC CPU usage (netdata.plugin_tc_cpu) + # dim user name = user + # dim user algorithm = incremental + # dim user multiplier = 1 + # dim user divisor = 1000 + # dim system name = system + # dim system algorithm = incremental + # dim system multiplier = 1 + # dim system divisor = 1000 + +[netdata.plugin_tc_time] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netdata.plugin_tc_time + # chart type = area + # type = netdata + # family = tc.helper + # context = netdata.plugin_tc_time + # units = milliseconds/run + # priority = 135001 + # gap when lost iterations above = 1 + # name = netdata.plugin_tc_time + # title = NetData TC script execution (netdata.plugin_tc_time) + # dim run_time name = run time + # dim run_time algorithm = absolute + # dim run_time multiplier = 1 + # dim run_time divisor = 1 + +[example.random] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/example.random + # chart type = stacked + # type = example + # family = random + # context = random + # units = % of random numbers + # priority = 150000 + # gap when lost iterations above = 1 + # name = example.random + # title = Random Numbers Stacked Chart (example.random) + # dim random1 name = random1 + # dim random1 algorithm = percentage-of-absolute-row + # dim random1 multiplier = 1 + # dim random1 divisor = 1 + # dim random2 name = random2 + # dim random2 algorithm = percentage-of-absolute-row + # dim random2 multiplier = 1 + # dim random2 divisor = 1 + # dim random3 name = random3 + # dim random3 algorithm = percentage-of-absolute-row + # dim random3 multiplier = 1 + # dim random3 divisor = 1 + +[postfix.qemails] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/postfix.qemails + # chart type = line + # type = postfix + # family = queue + # context = postfix.queued.emails + # units = emails + # priority = 60001 + # gap when lost iterations above = 1 + # name = postfix.qemails + # title = Postfix Queue Emails (postfix.qemails) + # dim emails name = emails + # dim emails algorithm = absolute + # dim emails multiplier = 1 + # dim emails divisor = 1 + +[postfix.qsize] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/postfix.qsize + # chart type = area + # type = postfix + # family = queue + # context = postfix.queued.size + # units = emails size in KB + # priority = 60002 + # gap when lost iterations above = 1 + # name = postfix.qsize + # title = Postfix Queue Emails Size (postfix.qsize) + # dim size name = size + # dim size algorithm = absolute + # dim size multiplier = 1 + # dim size divisor = 1 + +[disk_await.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_await.sda + # chart type = line + # type = disk_await + # family = sda + # context = disk.await + # units = ms per operation + # priority = 2005 + # gap when lost iterations above = 1 + # name = disk_await.sda + # title = Average Completed I/O Operation Time (disk_await.sda) + # dim reads name = reads + # dim reads algorithm = absolute + # dim reads multiplier = 1 + # dim reads divisor = 1 + # dim writes name = writes + # dim writes algorithm = absolute + # dim writes multiplier = -1 + # dim writes divisor = 1 + +[disk_avgsz.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_avgsz.sda + # chart type = area + # type = disk_avgsz + # family = sda + # context = disk.avgsz + # units = kilobytes per operation + # priority = 2006 + # gap when lost iterations above = 1 + # name = disk_avgsz.sda + # title = Average Completed I/O Operation Bandwidth (disk_avgsz.sda) + # dim reads name = reads + # dim reads algorithm = absolute + # dim reads multiplier = 512 + # dim reads divisor = 1024 + # dim writes name = writes + # dim writes algorithm = absolute + # dim writes multiplier = -512 + # dim writes divisor = 1024 + +[disk_svctm.sda] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/disk_svctm.sda + # chart type = line + # type = disk_svctm + # family = sda + # context = disk.svctm + # units = ms per operation + # priority = 2007 + # gap when lost iterations above = 1 + # name = disk_svctm.sda + # title = Average Service Time (disk_svctm.sda) + # dim svctm name = svctm + # dim svctm algorithm = absolute + # dim svctm multiplier = 1 + # dim svctm divisor = 1 + +[tc.eth1-ifb] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/tc.eth1_ifb + # chart type = stacked + # type = tc + # family = eth1 + # context = tc.qos + # units = kilobits/s + # priority = 7000 + # gap when lost iterations above = 1 + # name = tc.mng_in + # title = Class Usage (tc.mng_in) + # dim 1:18 name = client + # dim 1:18 algorithm = incremental + # dim 1:18 multiplier = 8 + # dim 1:18 divisor = 1024 + # dim 1:19 name = nms + # dim 1:19 algorithm = incremental + # dim 1:19 multiplier = 8 + # dim 1:19 divisor = 1024 + # dim 1:8000 name = default + # dim 1:8000 algorithm = incremental + # dim 1:8000 multiplier = 8 + # dim 1:8000 divisor = 1024 + # dim 1:16 name = rsync + # dim 1:16 algorithm = incremental + # dim 1:16 multiplier = 8 + # dim 1:16 divisor = 1024 + # dim 1:17 name = web_server + # dim 1:17 algorithm = incremental + # dim 1:17 multiplier = 8 + # dim 1:17 divisor = 1024 + # dim 1:14 name = ntp + # dim 1:14 algorithm = incremental + # dim 1:14 multiplier = 8 + # dim 1:14 divisor = 1024 + # dim 1:15 name = ssh + # dim 1:15 algorithm = incremental + # dim 1:15 multiplier = 8 + # dim 1:15 divisor = 1024 + # dim 1:12 name = icmp + # dim 1:12 algorithm = incremental + # dim 1:12 multiplier = 8 + # dim 1:12 divisor = 1024 + # dim 1:13 name = dns + # dim 1:13 algorithm = incremental + # dim 1:13 multiplier = 8 + # dim 1:13 divisor = 1024 + # dim 1:11 name = arp + # dim 1:11 algorithm = incremental + # dim 1:11 multiplier = 8 + # dim 1:11 divisor = 1024 + +[tc.eth0] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/tc.eth0 + # chart type = stacked + # type = tc + # family = eth0 + # context = tc.qos + # units = kilobits/s + # priority = 7000 + # gap when lost iterations above = 1 + # name = tc.world_out + # title = Class Usage (tc.world_out) + # dim 1:18 name = client + # dim 1:18 algorithm = incremental + # dim 1:18 multiplier = 8 + # dim 1:18 divisor = 1024 + # dim 1:19 name = nms + # dim 1:19 algorithm = incremental + # dim 1:19 multiplier = 8 + # dim 1:19 divisor = 1024 + # dim 1:8000 name = default + # dim 1:8000 algorithm = incremental + # dim 1:8000 multiplier = 8 + # dim 1:8000 divisor = 1024 + # dim 1:16 name = rsync + # dim 1:16 algorithm = incremental + # dim 1:16 multiplier = 8 + # dim 1:16 divisor = 1024 + # dim 1:17 name = web_server + # dim 1:17 algorithm = incremental + # dim 1:17 multiplier = 8 + # dim 1:17 divisor = 1024 + # dim 1:14 name = ntp + # dim 1:14 algorithm = incremental + # dim 1:14 multiplier = 8 + # dim 1:14 divisor = 1024 + # dim 1:15 name = ssh + # dim 1:15 algorithm = incremental + # dim 1:15 multiplier = 8 + # dim 1:15 divisor = 1024 + # dim 1:12 name = icmp + # dim 1:12 algorithm = incremental + # dim 1:12 multiplier = 8 + # dim 1:12 divisor = 1024 + # dim 1:13 name = dns + # dim 1:13 algorithm = incremental + # dim 1:13 multiplier = 8 + # dim 1:13 divisor = 1024 + # dim 1:11 name = arp + # dim 1:11 algorithm = incremental + # dim 1:11 multiplier = 8 + # dim 1:11 divisor = 1024 + +[tc.eth1] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/tc.eth1 + # chart type = stacked + # type = tc + # family = eth1 + # context = tc.qos + # units = kilobits/s + # priority = 7000 + # gap when lost iterations above = 1 + # name = tc.mng_out + # title = Class Usage (tc.mng_out) + # dim 1:18 name = client + # dim 1:18 algorithm = incremental + # dim 1:18 multiplier = 8 + # dim 1:18 divisor = 1024 + # dim 1:19 name = nms + # dim 1:19 algorithm = incremental + # dim 1:19 multiplier = 8 + # dim 1:19 divisor = 1024 + # dim 1:8000 name = default + # dim 1:8000 algorithm = incremental + # dim 1:8000 multiplier = 8 + # dim 1:8000 divisor = 1024 + # dim 1:16 name = rsync + # dim 1:16 algorithm = incremental + # dim 1:16 multiplier = 8 + # dim 1:16 divisor = 1024 + # dim 1:17 name = web_server + # dim 1:17 algorithm = incremental + # dim 1:17 multiplier = 8 + # dim 1:17 divisor = 1024 + # dim 1:14 name = ntp + # dim 1:14 algorithm = incremental + # dim 1:14 multiplier = 8 + # dim 1:14 divisor = 1024 + # dim 1:15 name = ssh + # dim 1:15 algorithm = incremental + # dim 1:15 multiplier = 8 + # dim 1:15 divisor = 1024 + # dim 1:12 name = icmp + # dim 1:12 algorithm = incremental + # dim 1:12 multiplier = 8 + # dim 1:12 divisor = 1024 + # dim 1:13 name = dns + # dim 1:13 algorithm = incremental + # dim 1:13 multiplier = 8 + # dim 1:13 divisor = 1024 + # dim 1:11 name = arp + # dim 1:11 algorithm = incremental + # dim 1:11 multiplier = 8 + # dim 1:11 divisor = 1024 + +[mem.ksm] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/mem.ksm + # chart type = area + # type = mem + # family = ksm + # context = mem.ksm + # units = MB + # priority = 5000 + # gap when lost iterations above = 1 + # name = mem.ksm + # title = Kernel Same Page Merging (mem.ksm) + # dim shared name = shared + # dim shared algorithm = absolute + # dim shared multiplier = 1 + # dim shared divisor = 1048576 + # dim unshared name = unshared + # dim unshared algorithm = absolute + # dim unshared multiplier = -1 + # dim unshared divisor = 1048576 + # dim sharing name = sharing + # dim sharing algorithm = absolute + # dim sharing multiplier = 1 + # dim sharing divisor = 1048576 + # dim volatile name = volatile + # dim volatile algorithm = absolute + # dim volatile multiplier = -1 + # dim volatile divisor = 1048576 + # dim to_scan name = to scan + # dim to_scan algorithm = absolute + # dim to_scan multiplier = -1 + # dim to_scan divisor = 1048576 + +[mem.ksm_savings] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/mem.ksm_savings + # chart type = area + # type = mem + # family = ksm + # context = mem.ksm_savings + # units = MB + # priority = 5001 + # gap when lost iterations above = 1 + # name = mem.ksm_savings + # title = Kernel Same Page Merging Savings (mem.ksm_savings) + # dim savings name = savings + # dim savings algorithm = absolute + # dim savings multiplier = -1 + # dim savings divisor = 1048576 + # dim offered name = offered + # dim offered algorithm = absolute + # dim offered multiplier = 1 + # dim offered divisor = 1048576 + +[mem.ksm_ratios] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/mem.ksm_ratios + # chart type = line + # type = mem + # family = ksm + # context = mem.ksm_ratios + # units = percentage + # priority = 5002 + # gap when lost iterations above = 1 + # name = mem.ksm_ratios + # title = Kernel Same Page Merging Effectiveness (mem.ksm_ratios) + # dim savings name = savings + # dim savings algorithm = absolute + # dim savings multiplier = 1 + # dim savings divisor = 10000 + +[system.load] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.load + # chart type = line + # type = system + # family = load + # context = system.load + # units = load + # priority = 100 + # gap when lost iterations above = 1 + # name = system.load + # title = System Load Average (system.load) + # dim load1 name = load1 + # dim load1 algorithm = absolute + # dim load1 multiplier = 1 + # dim load1 divisor = 1000 + # dim load5 name = load5 + # dim load5 algorithm = absolute + # dim load5 multiplier = 1 + # dim load5 divisor = 1000 + # dim load15 name = load15 + # dim load15 algorithm = absolute + # dim load15 multiplier = 1 + # dim load15 divisor = 1000 + +[tc.eth0-ifb] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/tc.eth0_ifb + # chart type = stacked + # type = tc + # family = eth0 + # context = tc.qos + # units = kilobits/s + # priority = 7000 + # gap when lost iterations above = 1 + # name = tc.world_in + # title = Class Usage (tc.world_in) + # dim 1:18 name = client + # dim 1:18 algorithm = incremental + # dim 1:18 multiplier = 8 + # dim 1:18 divisor = 1024 + # dim 1:19 name = nms + # dim 1:19 algorithm = incremental + # dim 1:19 multiplier = 8 + # dim 1:19 divisor = 1024 + # dim 1:8000 name = default + # dim 1:8000 algorithm = incremental + # dim 1:8000 multiplier = 8 + # dim 1:8000 divisor = 1024 + # dim 1:16 name = rsync + # dim 1:16 algorithm = incremental + # dim 1:16 multiplier = 8 + # dim 1:16 divisor = 1024 + # dim 1:17 name = web_server + # dim 1:17 algorithm = incremental + # dim 1:17 multiplier = 8 + # dim 1:17 divisor = 1024 + # dim 1:14 name = ntp + # dim 1:14 algorithm = incremental + # dim 1:14 multiplier = 8 + # dim 1:14 divisor = 1024 + # dim 1:15 name = ssh + # dim 1:15 algorithm = incremental + # dim 1:15 multiplier = 8 + # dim 1:15 divisor = 1024 + # dim 1:12 name = icmp + # dim 1:12 algorithm = incremental + # dim 1:12 multiplier = 8 + # dim 1:12 divisor = 1024 + # dim 1:13 name = dns + # dim 1:13 algorithm = incremental + # dim 1:13 multiplier = 8 + # dim 1:13 divisor = 1024 + # dim 1:11 name = arp + # dim 1:11 algorithm = incremental + # dim 1:11 multiplier = 8 + # dim 1:11 divisor = 1024 + +[system.active_processes] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.active_processes + # chart type = line + # type = system + # family = processes + # context = system.active_processes + # units = processes + # priority = 750 + # gap when lost iterations above = 1 + # name = system.active_processes + # title = System Active Processes (system.active_processes) + # dim active name = active + # dim active algorithm = absolute + # dim active multiplier = 1 + # dim active divisor = 1 + +[cpu.cpu0_interrupts] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/cpu.cpu0_interrupts + # chart type = stacked + # type = cpu + # family = interrupts + # context = cpu.interrupts + # units = interrupts/s + # priority = 2000 + # gap when lost iterations above = 1 + # name = cpu.cpu0_interrupts + # title = CPU0 Interrupts (cpu.cpu0_interrupts) + # dim 0 name = timer_0 + # dim 0 algorithm = incremental + # dim 0 multiplier = 1 + # dim 0 divisor = 1 + # dim 1 name = i8042_1 + # dim 1 algorithm = incremental + # dim 1 multiplier = 1 + # dim 1 divisor = 1 + # dim 6 name = floppy_6 + # dim 6 algorithm = incremental + # dim 6 multiplier = 1 + # dim 6 divisor = 1 + # dim 8 name = rtc0_8 + # dim 8 algorithm = incremental + # dim 8 multiplier = 1 + # dim 8 divisor = 1 + # dim 9 name = acpi_9 + # dim 9 algorithm = incremental + # dim 9 multiplier = 1 + # dim 9 divisor = 1 + # dim 12 name = i8042_12 + # dim 12 algorithm = incremental + # dim 12 multiplier = 1 + # dim 12 divisor = 1 + # dim 14 name = ata_piix_14 + # dim 14 algorithm = incremental + # dim 14 multiplier = 1 + # dim 14 divisor = 1 + # dim 15 name = ata_piix_15 + # dim 15 algorithm = incremental + # dim 15 multiplier = 1 + # dim 15 divisor = 1 + # dim NMI name = NMI + # dim NMI algorithm = incremental + # dim NMI multiplier = 1 + # dim NMI divisor = 1 + # dim LOC name = LOC + # dim LOC algorithm = incremental + # dim LOC multiplier = 1 + # dim LOC divisor = 1 + # dim SPU name = SPU + # dim SPU algorithm = incremental + # dim SPU multiplier = 1 + # dim SPU divisor = 1 + # dim PMI name = PMI + # dim PMI algorithm = incremental + # dim PMI multiplier = 1 + # dim PMI divisor = 1 + # dim IWI name = IWI + # dim IWI algorithm = incremental + # dim IWI multiplier = 1 + # dim IWI divisor = 1 + # dim RTR name = RTR + # dim RTR algorithm = incremental + # dim RTR multiplier = 1 + # dim RTR divisor = 1 + # dim RES name = RES + # dim RES algorithm = incremental + # dim RES multiplier = 1 + # dim RES divisor = 1 + # dim CAL name = CAL + # dim CAL algorithm = incremental + # dim CAL multiplier = 1 + # dim CAL divisor = 1 + # dim TLB name = TLB + # dim TLB algorithm = incremental + # dim TLB multiplier = 1 + # dim TLB divisor = 1 + # dim TRM name = TRM + # dim TRM algorithm = incremental + # dim TRM multiplier = 1 + # dim TRM divisor = 1 + # dim THR name = THR + # dim THR algorithm = incremental + # dim THR multiplier = 1 + # dim THR divisor = 1 + # dim MCE name = MCE + # dim MCE algorithm = incremental + # dim MCE multiplier = 1 + # dim MCE divisor = 1 + # dim MCP name = MCP + # dim MCP algorithm = incremental + # dim MCP multiplier = 1 + # dim MCP divisor = 1 + # dim HYP name = HYP + # dim HYP algorithm = incremental + # dim HYP multiplier = 1 + # dim HYP divisor = 1 + # dim ERR name = ERR + # dim ERR algorithm = incremental + # dim ERR multiplier = 1 + # dim ERR divisor = 1 + # dim MIS name = MIS + # dim MIS algorithm = incremental + # dim MIS multiplier = 1 + # dim MIS divisor = 1 + +[cpu.cpu1_interrupts] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/cpu.cpu1_interrupts + # chart type = stacked + # type = cpu + # family = interrupts + # context = cpu.interrupts + # units = interrupts/s + # priority = 2001 + # gap when lost iterations above = 1 + # name = cpu.cpu1_interrupts + # title = CPU1 Interrupts (cpu.cpu1_interrupts) + # dim 0 name = timer_0 + # dim 0 algorithm = incremental + # dim 0 multiplier = 1 + # dim 0 divisor = 1 + # dim 1 name = i8042_1 + # dim 1 algorithm = incremental + # dim 1 multiplier = 1 + # dim 1 divisor = 1 + # dim 6 name = floppy_6 + # dim 6 algorithm = incremental + # dim 6 multiplier = 1 + # dim 6 divisor = 1 + # dim 8 name = rtc0_8 + # dim 8 algorithm = incremental + # dim 8 multiplier = 1 + # dim 8 divisor = 1 + # dim 9 name = acpi_9 + # dim 9 algorithm = incremental + # dim 9 multiplier = 1 + # dim 9 divisor = 1 + # dim 12 name = i8042_12 + # dim 12 algorithm = incremental + # dim 12 multiplier = 1 + # dim 12 divisor = 1 + # dim 14 name = ata_piix_14 + # dim 14 algorithm = incremental + # dim 14 multiplier = 1 + # dim 14 divisor = 1 + # dim 15 name = ata_piix_15 + # dim 15 algorithm = incremental + # dim 15 multiplier = 1 + # dim 15 divisor = 1 + # dim NMI name = NMI + # dim NMI algorithm = incremental + # dim NMI multiplier = 1 + # dim NMI divisor = 1 + # dim LOC name = LOC + # dim LOC algorithm = incremental + # dim LOC multiplier = 1 + # dim LOC divisor = 1 + # dim SPU name = SPU + # dim SPU algorithm = incremental + # dim SPU multiplier = 1 + # dim SPU divisor = 1 + # dim PMI name = PMI + # dim PMI algorithm = incremental + # dim PMI multiplier = 1 + # dim PMI divisor = 1 + # dim IWI name = IWI + # dim IWI algorithm = incremental + # dim IWI multiplier = 1 + # dim IWI divisor = 1 + # dim RTR name = RTR + # dim RTR algorithm = incremental + # dim RTR multiplier = 1 + # dim RTR divisor = 1 + # dim RES name = RES + # dim RES algorithm = incremental + # dim RES multiplier = 1 + # dim RES divisor = 1 + # dim CAL name = CAL + # dim CAL algorithm = incremental + # dim CAL multiplier = 1 + # dim CAL divisor = 1 + # dim TLB name = TLB + # dim TLB algorithm = incremental + # dim TLB multiplier = 1 + # dim TLB divisor = 1 + # dim TRM name = TRM + # dim TRM algorithm = incremental + # dim TRM multiplier = 1 + # dim TRM divisor = 1 + # dim THR name = THR + # dim THR algorithm = incremental + # dim THR multiplier = 1 + # dim THR divisor = 1 + # dim MCE name = MCE + # dim MCE algorithm = incremental + # dim MCE multiplier = 1 + # dim MCE divisor = 1 + # dim MCP name = MCP + # dim MCP algorithm = incremental + # dim MCP multiplier = 1 + # dim MCP divisor = 1 + # dim HYP name = HYP + # dim HYP algorithm = incremental + # dim HYP multiplier = 1 + # dim HYP divisor = 1 + # dim ERR name = ERR + # dim ERR algorithm = incremental + # dim ERR multiplier = 1 + # dim ERR divisor = 1 + # dim MIS name = MIS + # dim MIS algorithm = incremental + # dim MIS multiplier = 1 + # dim MIS divisor = 1 + +[example.random2] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/example.random2 + # chart type = area + # type = example + # family = random + # context = random + # units = random number + # priority = 150001 + # gap when lost iterations above = 1 + # name = example.random2 + # title = A random number (example.random2) + # dim random name = random + # dim random algorithm = absolute + # dim random multiplier = 1 + # dim random divisor = 1 + +[mysql_local.net] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.net + # chart type = area + # type = mysql_local + # family = bandwidth + # context = mysql.net + # units = kilobits/s + # priority = 60001 + # gap when lost iterations above = 1 + # name = mysql_local.net + # title = mysql Bandwidth (mysql_local.net) + # dim Bytes_received name = in + # dim Bytes_received algorithm = incremental + # dim Bytes_received multiplier = 8 + # dim Bytes_received divisor = 1024 + # dim Bytes_sent name = out + # dim Bytes_sent algorithm = incremental + # dim Bytes_sent multiplier = -8 + # dim Bytes_sent divisor = 1024 + +[mysql_local.queries] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.queries + # chart type = line + # type = mysql_local + # family = queries + # context = mysql.queries + # units = queries/s + # priority = 60002 + # gap when lost iterations above = 1 + # name = mysql_local.queries + # title = mysql Queries (mysql_local.queries) + # dim Queries name = queries + # dim Queries algorithm = incremental + # dim Queries multiplier = 1 + # dim Queries divisor = 1 + # dim Questions name = questions + # dim Questions algorithm = incremental + # dim Questions multiplier = 1 + # dim Questions divisor = 1 + # dim Slow_queries name = slow_queries + # dim Slow_queries algorithm = incremental + # dim Slow_queries multiplier = -1 + # dim Slow_queries divisor = 1 + +[mysql_local.handlers] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.handlers + # chart type = line + # type = mysql_local + # family = handlers + # context = mysql.handlers + # units = handlers/s + # priority = 60003 + # gap when lost iterations above = 1 + # name = mysql_local.handlers + # title = mysql Handlers (mysql_local.handlers) + # dim Handler_commit name = commit + # dim Handler_commit algorithm = incremental + # dim Handler_commit multiplier = 1 + # dim Handler_commit divisor = 1 + # dim Handler_delete name = delete + # dim Handler_delete algorithm = incremental + # dim Handler_delete multiplier = 1 + # dim Handler_delete divisor = 1 + # dim Handler_prepare name = prepare + # dim Handler_prepare algorithm = incremental + # dim Handler_prepare multiplier = 1 + # dim Handler_prepare divisor = 1 + # dim Handler_read_first name = read_first + # dim Handler_read_first algorithm = incremental + # dim Handler_read_first multiplier = 1 + # dim Handler_read_first divisor = 1 + # dim Handler_read_key name = read_key + # dim Handler_read_key algorithm = incremental + # dim Handler_read_key multiplier = 1 + # dim Handler_read_key divisor = 1 + # dim Handler_read_next name = read_next + # dim Handler_read_next algorithm = incremental + # dim Handler_read_next multiplier = 1 + # dim Handler_read_next divisor = 1 + # dim Handler_read_prev name = read_prev + # dim Handler_read_prev algorithm = incremental + # dim Handler_read_prev multiplier = 1 + # dim Handler_read_prev divisor = 1 + # dim Handler_read_rnd name = read_rnd + # dim Handler_read_rnd algorithm = incremental + # dim Handler_read_rnd multiplier = 1 + # dim Handler_read_rnd divisor = 1 + # dim Handler_read_rnd_next name = read_rnd_next + # dim Handler_read_rnd_next algorithm = incremental + # dim Handler_read_rnd_next multiplier = 1 + # dim Handler_read_rnd_next divisor = 1 + # dim Handler_rollback name = rollback + # dim Handler_rollback algorithm = incremental + # dim Handler_rollback multiplier = 1 + # dim Handler_rollback divisor = 1 + # dim Handler_savepoint name = savepoint + # dim Handler_savepoint algorithm = incremental + # dim Handler_savepoint multiplier = 1 + # dim Handler_savepoint divisor = 1 + # dim Handler_savepoint_rollback name = savepoint_rollback + # dim Handler_savepoint_rollback algorithm = incremental + # dim Handler_savepoint_rollback multiplier = 1 + # dim Handler_savepoint_rollback divisor = 1 + # dim Handler_update name = update + # dim Handler_update algorithm = incremental + # dim Handler_update multiplier = 1 + # dim Handler_update divisor = 1 + # dim Handler_write name = write + # dim Handler_write algorithm = incremental + # dim Handler_write multiplier = 1 + # dim Handler_write divisor = 1 + +[system.softirqs] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/system.softirqs + # chart type = stacked + # type = system + # family = softirqs + # context = system.softirqs + # units = softirqs/s + # priority = 950 + # gap when lost iterations above = 1 + # name = system.softirqs + # title = System softirqs (system.softirqs) + # dim HI name = HI + # dim HI algorithm = incremental + # dim HI multiplier = 1 + # dim HI divisor = 1 + # dim TIMER name = TIMER + # dim TIMER algorithm = incremental + # dim TIMER multiplier = 1 + # dim TIMER divisor = 1 + # dim NET_TX name = NET_TX + # dim NET_TX algorithm = incremental + # dim NET_TX multiplier = 1 + # dim NET_TX divisor = 1 + # dim NET_RX name = NET_RX + # dim NET_RX algorithm = incremental + # dim NET_RX multiplier = 1 + # dim NET_RX divisor = 1 + # dim BLOCK name = BLOCK + # dim BLOCK algorithm = incremental + # dim BLOCK multiplier = 1 + # dim BLOCK divisor = 1 + # dim BLOCK_IOPOLL name = BLOCK_IOPOLL + # dim BLOCK_IOPOLL algorithm = incremental + # dim BLOCK_IOPOLL multiplier = 1 + # dim BLOCK_IOPOLL divisor = 1 + # dim TASKLET name = TASKLET + # dim TASKLET algorithm = incremental + # dim TASKLET multiplier = 1 + # dim TASKLET divisor = 1 + # dim SCHED name = SCHED + # dim SCHED algorithm = incremental + # dim SCHED multiplier = 1 + # dim SCHED divisor = 1 + # dim HRTIMER name = HRTIMER + # dim HRTIMER algorithm = incremental + # dim HRTIMER multiplier = 1 + # dim HRTIMER divisor = 1 + # dim RCU name = RCU + # dim RCU algorithm = incremental + # dim RCU multiplier = 1 + # dim RCU divisor = 1 + +[cpu.cpu0_softirqs] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/cpu.cpu0_softirqs + # chart type = stacked + # type = cpu + # family = softirqs + # context = cpu.softirqs + # units = softirqs/s + # priority = 3000 + # gap when lost iterations above = 1 + # name = cpu.cpu0_softirqs + # title = CPU0 softirqs (cpu.cpu0_softirqs) + # dim HI name = HI + # dim HI algorithm = incremental + # dim HI multiplier = 1 + # dim HI divisor = 1 + # dim TIMER name = TIMER + # dim TIMER algorithm = incremental + # dim TIMER multiplier = 1 + # dim TIMER divisor = 1 + # dim NET_TX name = NET_TX + # dim NET_TX algorithm = incremental + # dim NET_TX multiplier = 1 + # dim NET_TX divisor = 1 + # dim NET_RX name = NET_RX + # dim NET_RX algorithm = incremental + # dim NET_RX multiplier = 1 + # dim NET_RX divisor = 1 + # dim BLOCK name = BLOCK + # dim BLOCK algorithm = incremental + # dim BLOCK multiplier = 1 + # dim BLOCK divisor = 1 + # dim BLOCK_IOPOLL name = BLOCK_IOPOLL + # dim BLOCK_IOPOLL algorithm = incremental + # dim BLOCK_IOPOLL multiplier = 1 + # dim BLOCK_IOPOLL divisor = 1 + # dim TASKLET name = TASKLET + # dim TASKLET algorithm = incremental + # dim TASKLET multiplier = 1 + # dim TASKLET divisor = 1 + # dim SCHED name = SCHED + # dim SCHED algorithm = incremental + # dim SCHED multiplier = 1 + # dim SCHED divisor = 1 + # dim HRTIMER name = HRTIMER + # dim HRTIMER algorithm = incremental + # dim HRTIMER multiplier = 1 + # dim HRTIMER divisor = 1 + # dim RCU name = RCU + # dim RCU algorithm = incremental + # dim RCU multiplier = 1 + # dim RCU divisor = 1 + +[mysql_local.table_locks] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.table_locks + # chart type = line + # type = mysql_local + # family = locks + # context = mysql.table_locks + # units = locks/s + # priority = 60004 + # gap when lost iterations above = 1 + # name = mysql_local.table_locks + # title = mysql Tables Locks (mysql_local.table_locks) + # dim Table_locks_immediate name = immediate + # dim Table_locks_immediate algorithm = incremental + # dim Table_locks_immediate multiplier = 1 + # dim Table_locks_immediate divisor = 1 + # dim Table_locks_waited name = waited + # dim Table_locks_waited algorithm = incremental + # dim Table_locks_waited multiplier = -1 + # dim Table_locks_waited divisor = 1 + +[mysql_local.join_issues] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.join_issues + # chart type = line + # type = mysql_local + # family = issues + # context = mysql.join_issues + # units = joins/s + # priority = 60005 + # gap when lost iterations above = 1 + # name = mysql_local.join_issues + # title = mysql Select Join Issues (mysql_local.join_issues) + # dim Select_full_join name = full_join + # dim Select_full_join algorithm = incremental + # dim Select_full_join multiplier = 1 + # dim Select_full_join divisor = 1 + # dim Select_full_range_join name = full_range_join + # dim Select_full_range_join algorithm = incremental + # dim Select_full_range_join multiplier = 1 + # dim Select_full_range_join divisor = 1 + # dim Select_range name = range + # dim Select_range algorithm = incremental + # dim Select_range multiplier = 1 + # dim Select_range divisor = 1 + # dim Select_range_check name = range_check + # dim Select_range_check algorithm = incremental + # dim Select_range_check multiplier = 1 + # dim Select_range_check divisor = 1 + # dim Select_scan name = scan + # dim Select_scan algorithm = incremental + # dim Select_scan multiplier = 1 + # dim Select_scan divisor = 1 + +[cpu.cpu1_softirqs] + # history = 86400 + # enabled = yes + # cache directory = /var/cache/netdata/cpu.cpu1_softirqs + # chart type = stacked + # type = cpu + # family = softirqs + # context = cpu.softirqs + # units = softirqs/s + # priority = 3001 + # gap when lost iterations above = 1 + # name = cpu.cpu1_softirqs + # title = CPU1 softirqs (cpu.cpu1_softirqs) + # dim HI name = HI + # dim HI algorithm = incremental + # dim HI multiplier = 1 + # dim HI divisor = 1 + # dim TIMER name = TIMER + # dim TIMER algorithm = incremental + # dim TIMER multiplier = 1 + # dim TIMER divisor = 1 + # dim NET_TX name = NET_TX + # dim NET_TX algorithm = incremental + # dim NET_TX multiplier = 1 + # dim NET_TX divisor = 1 + # dim NET_RX name = NET_RX + # dim NET_RX algorithm = incremental + # dim NET_RX multiplier = 1 + # dim NET_RX divisor = 1 + # dim BLOCK name = BLOCK + # dim BLOCK algorithm = incremental + # dim BLOCK multiplier = 1 + # dim BLOCK divisor = 1 + # dim BLOCK_IOPOLL name = BLOCK_IOPOLL + # dim BLOCK_IOPOLL algorithm = incremental + # dim BLOCK_IOPOLL multiplier = 1 + # dim BLOCK_IOPOLL divisor = 1 + # dim TASKLET name = TASKLET + # dim TASKLET algorithm = incremental + # dim TASKLET multiplier = 1 + # dim TASKLET divisor = 1 + # dim SCHED name = SCHED + # dim SCHED algorithm = incremental + # dim SCHED multiplier = 1 + # dim SCHED divisor = 1 + # dim HRTIMER name = HRTIMER + # dim HRTIMER algorithm = incremental + # dim HRTIMER multiplier = 1 + # dim HRTIMER divisor = 1 + # dim RCU name = RCU + # dim RCU algorithm = incremental + # dim RCU multiplier = 1 + # dim RCU divisor = 1 + +[mysql_local.sort_issues] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.sort_issues + # chart type = line + # type = mysql_local + # family = issues + # context = mysql.sort.issues + # units = issues/s + # priority = 60006 + # gap when lost iterations above = 1 + # name = mysql_local.sort_issues + # title = mysql Sort Issues (mysql_local.sort_issues) + # dim Sort_merge_passes name = merge_passes + # dim Sort_merge_passes algorithm = incremental + # dim Sort_merge_passes multiplier = 1 + # dim Sort_merge_passes divisor = 1 + # dim Sort_range name = range + # dim Sort_range algorithm = incremental + # dim Sort_range multiplier = 1 + # dim Sort_range divisor = 1 + # dim Sort_scan name = scan + # dim Sort_scan algorithm = incremental + # dim Sort_scan multiplier = 1 + # dim Sort_scan divisor = 1 + +[mysql_local.tmp] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.tmp + # chart type = line + # type = mysql_local + # family = temporaries + # context = mysql.tmp + # units = counter + # priority = 60007 + # gap when lost iterations above = 1 + # name = mysql_local.tmp + # title = mysql Tmp Operations (mysql_local.tmp) + # dim Created_tmp_disk_tables name = disk_tables + # dim Created_tmp_disk_tables algorithm = incremental + # dim Created_tmp_disk_tables multiplier = 1 + # dim Created_tmp_disk_tables divisor = 1 + # dim Created_tmp_files name = files + # dim Created_tmp_files algorithm = incremental + # dim Created_tmp_files multiplier = 1 + # dim Created_tmp_files divisor = 1 + # dim Created_tmp_tables name = tables + # dim Created_tmp_tables algorithm = incremental + # dim Created_tmp_tables multiplier = 1 + # dim Created_tmp_tables divisor = 1 + +[mysql_local.connections] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.connections + # chart type = line + # type = mysql_local + # family = connections + # context = mysql.connections + # units = connections/s + # priority = 60008 + # gap when lost iterations above = 1 + # name = mysql_local.connections + # title = mysql Connections (mysql_local.connections) + # dim Connections name = all + # dim Connections algorithm = incremental + # dim Connections multiplier = 1 + # dim Connections divisor = 1 + # dim Aborted_connects name = aborded + # dim Aborted_connects algorithm = incremental + # dim Aborted_connects multiplier = 1 + # dim Aborted_connects divisor = 1 + +[mysql_local.binlog_cache] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.binlog_cache + # chart type = line + # type = mysql_local + # family = binlog + # context = mysql.binlog_cache + # units = transactions/s + # priority = 60009 + # gap when lost iterations above = 1 + # name = mysql_local.binlog_cache + # title = mysql Binlog Cache (mysql_local.binlog_cache) + # dim Binlog_cache_disk_use name = disk + # dim Binlog_cache_disk_use algorithm = incremental + # dim Binlog_cache_disk_use multiplier = 1 + # dim Binlog_cache_disk_use divisor = 1 + # dim Binlog_cache_use name = all + # dim Binlog_cache_use algorithm = incremental + # dim Binlog_cache_use multiplier = 1 + # dim Binlog_cache_use divisor = 1 + +[mysql_local.threads] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.threads + # chart type = line + # type = mysql_local + # family = threads + # context = mysql.threads + # units = threads + # priority = 60010 + # gap when lost iterations above = 1 + # name = mysql_local.threads + # title = mysql Threads (mysql_local.threads) + # dim Threads_connected name = connected + # dim Threads_connected algorithm = absolute + # dim Threads_connected multiplier = 1 + # dim Threads_connected divisor = 1 + # dim Threads_created name = created + # dim Threads_created algorithm = incremental + # dim Threads_created multiplier = 1 + # dim Threads_created divisor = 1 + # dim Threads_cached name = cached + # dim Threads_cached algorithm = absolute + # dim Threads_cached multiplier = -1 + # dim Threads_cached divisor = 1 + # dim Threads_running name = running + # dim Threads_running algorithm = absolute + # dim Threads_running multiplier = 1 + # dim Threads_running divisor = 1 + +[mysql_local.thread_cache_misses] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.thread_cache_misses + # chart type = area + # type = mysql_local + # family = threads + # context = mysql.thread_cache_misses + # units = misses + # priority = 60011 + # gap when lost iterations above = 1 + # name = mysql_local.thread_cache_misses + # title = mysql Threads Cache Misses (mysql_local.thread_cache_misses) + # dim misses name = misses + # dim misses algorithm = absolute + # dim misses multiplier = 1 + # dim misses divisor = 100 + +[mysql_local.innodb_io] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_io + # chart type = area + # type = mysql_local + # family = innodb + # context = mysql.innodb_io + # units = kilobytes/s + # priority = 60012 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_io + # title = mysql InnoDB I/O Bandwidth (mysql_local.innodb_io) + # dim Innodb_data_read name = read + # dim Innodb_data_read algorithm = incremental + # dim Innodb_data_read multiplier = 1 + # dim Innodb_data_read divisor = 1024 + # dim Innodb_data_written name = write + # dim Innodb_data_written algorithm = incremental + # dim Innodb_data_written multiplier = -1 + # dim Innodb_data_written divisor = 1024 + +[mysql_local.innodb_io_ops] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_io_ops + # chart type = line + # type = mysql_local + # family = innodb + # context = mysql.innodb_io_ops + # units = operations/s + # priority = 60013 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_io_ops + # title = mysql InnoDB I/O Operations (mysql_local.innodb_io_ops) + # dim Innodb_data_reads name = reads + # dim Innodb_data_reads algorithm = incremental + # dim Innodb_data_reads multiplier = 1 + # dim Innodb_data_reads divisor = 1 + # dim Innodb_data_writes name = writes + # dim Innodb_data_writes algorithm = incremental + # dim Innodb_data_writes multiplier = -1 + # dim Innodb_data_writes divisor = 1 + # dim Innodb_data_fsyncs name = fsyncs + # dim Innodb_data_fsyncs algorithm = incremental + # dim Innodb_data_fsyncs multiplier = 1 + # dim Innodb_data_fsyncs divisor = 1 + +[mysql_local.innodb_io_pending_ops] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_io_pending_ops + # chart type = line + # type = mysql_local + # family = innodb + # context = mysql.innodb_io_pending_ops + # units = operations + # priority = 60014 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_io_pending_ops + # title = mysql InnoDB Pending I/O Operations (mysql_local.innodb_io_pending_ops) + # dim Innodb_data_pending_reads name = reads + # dim Innodb_data_pending_reads algorithm = absolute + # dim Innodb_data_pending_reads multiplier = 1 + # dim Innodb_data_pending_reads divisor = 1 + # dim Innodb_data_pending_writes name = writes + # dim Innodb_data_pending_writes algorithm = absolute + # dim Innodb_data_pending_writes multiplier = -1 + # dim Innodb_data_pending_writes divisor = 1 + # dim Innodb_data_pending_fsyncs name = fsyncs + # dim Innodb_data_pending_fsyncs algorithm = absolute + # dim Innodb_data_pending_fsyncs multiplier = 1 + # dim Innodb_data_pending_fsyncs divisor = 1 + +[mysql_local.innodb_log] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_log + # chart type = line + # type = mysql_local + # family = innodb + # context = mysql.innodb_log + # units = operations/s + # priority = 60015 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_log + # title = mysql InnoDB Log Operations (mysql_local.innodb_log) + # dim Innodb_log_waits name = waits + # dim Innodb_log_waits algorithm = incremental + # dim Innodb_log_waits multiplier = 1 + # dim Innodb_log_waits divisor = 1 + # dim Innodb_log_write_requests name = write_requests + # dim Innodb_log_write_requests algorithm = incremental + # dim Innodb_log_write_requests multiplier = -1 + # dim Innodb_log_write_requests divisor = 1 + # dim Innodb_log_writes name = writes + # dim Innodb_log_writes algorithm = incremental + # dim Innodb_log_writes multiplier = -1 + # dim Innodb_log_writes divisor = 1 + +[mysql_local.innodb_os_log] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_os_log + # chart type = line + # type = mysql_local + # family = innodb + # context = mysql.innodb_os_log + # units = operations + # priority = 60016 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_os_log + # title = mysql InnoDB OS Log Operations (mysql_local.innodb_os_log) + # dim Innodb_os_log_fsyncs name = fsyncs + # dim Innodb_os_log_fsyncs algorithm = incremental + # dim Innodb_os_log_fsyncs multiplier = 1 + # dim Innodb_os_log_fsyncs divisor = 1 + # dim Innodb_os_log_pending_fsyncs name = pending_fsyncs + # dim Innodb_os_log_pending_fsyncs algorithm = absolute + # dim Innodb_os_log_pending_fsyncs multiplier = 1 + # dim Innodb_os_log_pending_fsyncs divisor = 1 + # dim Innodb_os_log_pending_writes name = pending_writes + # dim Innodb_os_log_pending_writes algorithm = absolute + # dim Innodb_os_log_pending_writes multiplier = -1 + # dim Innodb_os_log_pending_writes divisor = 1 + +[mysql_local.innodb_os_log_io] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_os_log_io + # chart type = area + # type = mysql_local + # family = innodb + # context = mysql.innodb_os_log_io + # units = kilobytes/s + # priority = 60017 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_os_log_io + # title = mysql InnoDB OS Log Bandwidth (mysql_local.innodb_os_log_io) + # dim Innodb_os_log_written name = write + # dim Innodb_os_log_written algorithm = incremental + # dim Innodb_os_log_written multiplier = -1 + # dim Innodb_os_log_written divisor = 1024 + +[mysql_local.innodb_cur_row_lock] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_cur_row_lock + # chart type = area + # type = mysql_local + # family = innodb + # context = mysql.innodb_cur_row_lock + # units = operations + # priority = 60018 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_cur_row_lock + # title = mysql InnoDB Current Row Locks (mysql_local.innodb_cur_row_lock) + # dim Innodb_row_lock_current_waits name = current_waits + # dim Innodb_row_lock_current_waits algorithm = absolute + # dim Innodb_row_lock_current_waits multiplier = 1 + # dim Innodb_row_lock_current_waits divisor = 1 + +[mysql_local.innodb_rows] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.innodb_rows + # chart type = area + # type = mysql_local + # family = innodb + # context = mysql.innodb_rows + # units = operations/s + # priority = 60019 + # gap when lost iterations above = 1 + # name = mysql_local.innodb_rows + # title = mysql InnoDB Row Operations (mysql_local.innodb_rows) + # dim Innodb_rows_read name = read + # dim Innodb_rows_read algorithm = incremental + # dim Innodb_rows_read multiplier = 1 + # dim Innodb_rows_read divisor = 1 + # dim Innodb_rows_deleted name = deleted + # dim Innodb_rows_deleted algorithm = incremental + # dim Innodb_rows_deleted multiplier = -1 + # dim Innodb_rows_deleted divisor = 1 + # dim Innodb_rows_inserted name = inserted + # dim Innodb_rows_inserted algorithm = incremental + # dim Innodb_rows_inserted multiplier = 1 + # dim Innodb_rows_inserted divisor = 1 + # dim Innodb_rows_updated name = updated + # dim Innodb_rows_updated algorithm = incremental + # dim Innodb_rows_updated multiplier = -1 + # dim Innodb_rows_updated divisor = 1 + +[mysql_local.binlog_stmt_cache] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mysql_local.binlog_stmt_cache + # chart type = line + # type = mysql_local + # family = binlog + # context = mysql.binlog_stmt_cache + # units = statements/s + # priority = 60020 + # gap when lost iterations above = 1 + # name = mysql_local.binlog_stmt_cache + # title = mysql Binlog Statement Cache (mysql_local.binlog_stmt_cache) + # dim Binlog_stmt_cache_disk_use name = disk + # dim Binlog_stmt_cache_disk_use algorithm = incremental + # dim Binlog_stmt_cache_disk_use multiplier = 1 + # dim Binlog_stmt_cache_disk_use divisor = 1 + # dim Binlog_stmt_cache_use name = all + # dim Binlog_stmt_cache_use algorithm = incremental + # dim Binlog_stmt_cache_use multiplier = 1 + # dim Binlog_stmt_cache_use divisor = 1 + +[system.ipv6] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/system.ipv6 + # chart type = area + # type = system + # family = network + # context = system.ipv6 + # units = kilobits/s + # priority = 500 + # gap when lost iterations above = 1 + # name = system.ipv6 + # title = IPv6 Bandwidth (system.ipv6) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 8 + # dim received divisor = 1024 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -8 + # dim sent divisor = 1024 + +[ipv6.packets] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/ipv6.packets + # chart type = line + # type = ipv6 + # family = packets + # context = ipv6.packets + # units = packets/s + # priority = 3000 + # gap when lost iterations above = 1 + # name = ipv6.packets + # title = IPv6 Packets (ipv6.packets) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + # dim forwarded name = forwarded + # dim forwarded algorithm = incremental + # dim forwarded multiplier = 1 + # dim forwarded divisor = 1 + # dim delivers name = delivers + # dim delivers algorithm = incremental + # dim delivers multiplier = -1 + # dim delivers divisor = 1 + +[ipv6.udppackets] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.udppackets + # chart type = line + # type = ipv6 + # family = udp + # context = ipv6.udppackets + # units = packets/s + # priority = 3601 + # gap when lost iterations above = 1 + # name = ipv6.udppackets + # title = IPv6 UDP Packets (ipv6.udppackets) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + +[ipv6.mcast] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.mcast + # chart type = area + # type = ipv6 + # family = multicast + # context = ipv6.mcast + # units = kilobits/s + # priority = 9000 + # gap when lost iterations above = 1 + # name = ipv6.mcast + # title = IPv6 Multicast Bandwidth (ipv6.mcast) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 8 + # dim received divisor = 1024 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -8 + # dim sent divisor = 1024 + +[ipv6.mcastpkts] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.mcastpkts + # chart type = line + # type = ipv6 + # family = multicast + # context = ipv6.mcastpkts + # units = packets/s + # priority = 9500 + # gap when lost iterations above = 1 + # name = ipv6.mcastpkts + # title = IPv6 Multicast Packets (ipv6.mcastpkts) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + +[nginx.connections] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/nginx.connections + # chart type = line + # type = nginx + # family = nginx + # context = nginx.connections + # units = connections + # priority = 60001 + # gap when lost iterations above = 1 + # name = nginx.connections + # title = nginx Active Connections (nginx.connections) + # dim active name = active + # dim active algorithm = absolute + # dim active multiplier = 1 + # dim active divisor = 1 + +[ipv6.icmp] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.icmp + # chart type = line + # type = ipv6 + # family = icmp + # context = ipv6.icmp + # units = messages/s + # priority = 10000 + # gap when lost iterations above = 1 + # name = ipv6.icmp + # title = IPv6 ICMP Messages (ipv6.icmp) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + +[ipv6.icmprouter] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.icmprouter + # chart type = line + # type = ipv6 + # family = icmp + # context = ipv6.icmprouter + # units = messages/s + # priority = 10400 + # gap when lost iterations above = 1 + # name = ipv6.icmprouter + # title = IPv6 Router Messages (ipv6.icmprouter) + # dim InSolicits name = InSolicits + # dim InSolicits algorithm = incremental + # dim InSolicits multiplier = 1 + # dim InSolicits divisor = 1 + # dim OutSolicits name = OutSolicits + # dim OutSolicits algorithm = incremental + # dim OutSolicits multiplier = -1 + # dim OutSolicits divisor = 1 + # dim InAdvertisements name = InAdvertisements + # dim InAdvertisements algorithm = incremental + # dim InAdvertisements multiplier = 1 + # dim InAdvertisements divisor = 1 + # dim OutAdvertisements name = OutAdvertisements + # dim OutAdvertisements algorithm = incremental + # dim OutAdvertisements multiplier = -1 + # dim OutAdvertisements divisor = 1 + +[ipv6.icmpneighbor] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.icmpneighbor + # chart type = line + # type = ipv6 + # family = icmp + # context = ipv6.icmpneighbor + # units = messages/s + # priority = 10500 + # gap when lost iterations above = 1 + # name = ipv6.icmpneighbor + # title = IPv6 Neighbor Messages (ipv6.icmpneighbor) + # dim InSolicits name = InSolicits + # dim InSolicits algorithm = incremental + # dim InSolicits multiplier = 1 + # dim InSolicits divisor = 1 + # dim OutSolicits name = OutSolicits + # dim OutSolicits algorithm = incremental + # dim OutSolicits multiplier = -1 + # dim OutSolicits divisor = 1 + # dim InAdvertisements name = InAdvertisements + # dim InAdvertisements algorithm = incremental + # dim InAdvertisements multiplier = 1 + # dim InAdvertisements divisor = 1 + # dim OutAdvertisements name = OutAdvertisements + # dim OutAdvertisements algorithm = incremental + # dim OutAdvertisements multiplier = -1 + # dim OutAdvertisements divisor = 1 + +[ipv6.icmpmldv2] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.icmpmldv2 + # chart type = line + # type = ipv6 + # family = icmp + # context = ipv6.icmpmldv2 + # units = reports/s + # priority = 10600 + # gap when lost iterations above = 1 + # name = ipv6.icmpmldv2 + # title = IPv6 ICMP MLDv2 Reports (ipv6.icmpmldv2) + # dim received name = received + # dim received algorithm = incremental + # dim received multiplier = 1 + # dim received divisor = 1 + # dim sent name = sent + # dim sent algorithm = incremental + # dim sent multiplier = -1 + # dim sent divisor = 1 + +[ipv6.icmptypes] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.icmptypes + # chart type = line + # type = ipv6 + # family = icmp + # context = ipv6.icmptypes + # units = messages/s + # priority = 10700 + # gap when lost iterations above = 1 + # name = ipv6.icmptypes + # title = IPv6 ICMP Types (ipv6.icmptypes) + # dim InType1 name = InType1 + # dim InType1 algorithm = incremental + # dim InType1 multiplier = 1 + # dim InType1 divisor = 1 + # dim InType128 name = InType128 + # dim InType128 algorithm = incremental + # dim InType128 multiplier = 1 + # dim InType128 divisor = 1 + # dim InType129 name = InType129 + # dim InType129 algorithm = incremental + # dim InType129 multiplier = 1 + # dim InType129 divisor = 1 + # dim InType136 name = InType136 + # dim InType136 algorithm = incremental + # dim InType136 multiplier = 1 + # dim InType136 divisor = 1 + # dim OutType1 name = OutType1 + # dim OutType1 algorithm = incremental + # dim OutType1 multiplier = -1 + # dim OutType1 divisor = 1 + # dim OutType128 name = OutType128 + # dim OutType128 algorithm = incremental + # dim OutType128 multiplier = -1 + # dim OutType128 divisor = 1 + # dim OutType129 name = OutType129 + # dim OutType129 algorithm = incremental + # dim OutType129 multiplier = -1 + # dim OutType129 divisor = 1 + # dim OutType133 name = OutType133 + # dim OutType133 algorithm = incremental + # dim OutType133 multiplier = -1 + # dim OutType133 divisor = 1 + # dim OutType135 name = OutType135 + # dim OutType135 algorithm = incremental + # dim OutType135 multiplier = -1 + # dim OutType135 divisor = 1 + # dim OutType143 name = OutType143 + # dim OutType143 algorithm = incremental + # dim OutType143 multiplier = -1 + # dim OutType143 divisor = 1 + +[ipv6.ect] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/ipv6.ect + # chart type = line + # type = ipv6 + # family = packets + # context = ipv6.ect + # units = packets/s + # priority = 10800 + # gap when lost iterations above = 1 + # name = ipv6.ect + # title = IPv6 ECT Packets (ipv6.ect) + # dim InNoECTPkts name = InNoECTPkts + # dim InNoECTPkts algorithm = incremental + # dim InNoECTPkts multiplier = 1 + # dim InNoECTPkts divisor = 1 + # dim InECT1Pkts name = InECT1Pkts + # dim InECT1Pkts algorithm = incremental + # dim InECT1Pkts multiplier = 1 + # dim InECT1Pkts divisor = 1 + # dim InECT0Pkts name = InECT0Pkts + # dim InECT0Pkts algorithm = incremental + # dim InECT0Pkts multiplier = 1 + # dim InECT0Pkts divisor = 1 + # dim InCEPkts name = InCEPkts + # dim InCEPkts algorithm = incremental + # dim InCEPkts multiplier = 1 + # dim InCEPkts divisor = 1 + +[nginx.requests] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/nginx.requests + # chart type = line + # type = nginx + # family = nginx + # context = nginx.requests + # units = requests/s + # priority = 60002 + # gap when lost iterations above = 1 + # name = nginx.requests + # title = nginx Requests (nginx.requests) + # dim requests name = requests + # dim requests algorithm = incremental + # dim requests multiplier = 1 + # dim requests divisor = 1 + +[nginx.connections_status] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/nginx.connections_status + # chart type = line + # type = nginx + # family = nginx + # context = nginx.connections.status + # units = connections + # priority = 60003 + # gap when lost iterations above = 1 + # name = nginx.connections_status + # title = nginx Active Connections by Status (nginx.connections_status) + # dim reading name = reading + # dim reading algorithm = absolute + # dim reading multiplier = 1 + # dim reading divisor = 1 + # dim writing name = writing + # dim writing algorithm = absolute + # dim writing multiplier = 1 + # dim writing divisor = 1 + # dim waiting name = idle + # dim waiting algorithm = absolute + # dim waiting multiplier = 1 + # dim waiting divisor = 1 + +[netfilter.sockets] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netfilter.sockets + # chart type = line + # type = netfilter + # family = netfilter + # context = netfilter.sockets + # units = active connections + # priority = 1000 + # gap when lost iterations above = 1 + # name = netfilter.sockets + # title = Netfilter Connections (netfilter.sockets) + # dim connections name = connections + # dim connections algorithm = absolute + # dim connections multiplier = 1 + # dim connections divisor = 1 + +[nginx.connect_rate] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/nginx.connect_rate + # chart type = line + # type = nginx + # family = nginx + # context = nginx.connections.rate + # units = connections/s + # priority = 60004 + # gap when lost iterations above = 1 + # name = nginx.connect_rate + # title = nginx Connections Rate (nginx.connect_rate) + # dim accepts name = accepted + # dim accepts algorithm = incremental + # dim accepts multiplier = 1 + # dim accepts divisor = 1 + # dim handled name = handled + # dim handled algorithm = incremental + # dim handled multiplier = 1 + # dim handled divisor = 1 + +[netfilter.new] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netfilter.new + # chart type = line + # type = netfilter + # family = netfilter + # context = netfilter.new + # units = connections/s + # priority = 1001 + # gap when lost iterations above = 1 + # name = netfilter.new + # title = Netfilter New Connections (netfilter.new) + # dim new name = new + # dim new algorithm = incremental + # dim new multiplier = 1 + # dim new divisor = 1 + # dim ignore name = ignore + # dim ignore algorithm = incremental + # dim ignore multiplier = -1 + # dim ignore divisor = 1 + # dim invalid name = invalid + # dim invalid algorithm = incremental + # dim invalid multiplier = -1 + # dim invalid divisor = 1 + +[netfilter.changes] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netfilter.changes + # chart type = line + # type = netfilter + # family = netfilter + # context = netfilter.changes + # units = changes/s + # priority = 1002 + # gap when lost iterations above = 1 + # name = netfilter.changes + # title = Netfilter Connection Changes (netfilter.changes) + # dim inserted name = inserted + # dim inserted algorithm = incremental + # dim inserted multiplier = 1 + # dim inserted divisor = 1 + # dim deleted name = deleted + # dim deleted algorithm = incremental + # dim deleted multiplier = -1 + # dim deleted divisor = 1 + # dim delete_list name = delete_list + # dim delete_list algorithm = incremental + # dim delete_list multiplier = -1 + # dim delete_list divisor = 1 + +[netdata.plugin_chartsd_example] + # history = 86400 + # enabled = yes + enabled = yes + # cache directory = /var/cache/netdata/netdata.plugin_chartsd_example + # chart type = area + # type = netdata + # family = charts.d + # context = netdata.plugin_charts + # units = milliseconds / run + # priority = 145000 + # gap when lost iterations above = 1 + # name = netdata.plugin_chartsd_example + # title = Execution time for example plugin (netdata.plugin_chartsd_example) + # dim run_time name = run time + # dim run_time algorithm = absolute + # dim run_time multiplier = 1 + # dim run_time divisor = 1 + +[netdata.plugin_chartsd_mysql] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netdata.plugin_chartsd_mysql + # chart type = area + # type = netdata + # family = charts.d + # context = netdata.plugin_charts + # units = milliseconds / run + # priority = 145000 + # gap when lost iterations above = 1 + # name = netdata.plugin_chartsd_mysql + # title = Execution time for mysql plugin (netdata.plugin_chartsd_mysql) + # dim run_time name = run time + # dim run_time algorithm = absolute + # dim run_time multiplier = 1 + # dim run_time divisor = 1 + +[netdata.plugin_chartsd_nginx] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netdata.plugin_chartsd_nginx + # chart type = area + # type = netdata + # family = charts.d + # context = netdata.plugin_charts + # units = milliseconds / run + # priority = 145000 + # gap when lost iterations above = 1 + # name = netdata.plugin_chartsd_nginx + # title = Execution time for nginx plugin (netdata.plugin_chartsd_nginx) + # dim run_time name = run time + # dim run_time algorithm = absolute + # dim run_time multiplier = 1 + # dim run_time divisor = 1 + +[netfilter.expect] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netfilter.expect + # chart type = line + # type = netfilter + # family = netfilter + # context = netfilter.expect + # units = expectations/s + # priority = 1003 + # gap when lost iterations above = 1 + # name = netfilter.expect + # title = Netfilter Connection Expectations (netfilter.expect) + # dim created name = created + # dim created algorithm = incremental + # dim created multiplier = 1 + # dim created divisor = 1 + # dim deleted name = deleted + # dim deleted algorithm = incremental + # dim deleted multiplier = -1 + # dim deleted divisor = 1 + # dim new name = new + # dim new algorithm = incremental + # dim new multiplier = 1 + # dim new divisor = 1 + +[netdata.plugin_chartsd_postfix] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netdata.plugin_chartsd_postfix + # chart type = area + # type = netdata + # family = charts.d + # context = netdata.plugin_charts + # units = milliseconds / run + # priority = 145000 + # gap when lost iterations above = 1 + # name = netdata.plugin_chartsd_postfix + # title = Execution time for postfix plugin (netdata.plugin_chartsd_postfix) + # dim run_time name = run time + # dim run_time algorithm = absolute + # dim run_time multiplier = 1 + # dim run_time divisor = 1 + +[netfilter.search] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netfilter.search + # chart type = line + # type = netfilter + # family = netfilter + # context = netfilter.search + # units = searches/s + # priority = 1010 + # gap when lost iterations above = 1 + # name = netfilter.search + # title = Netfilter Connection Searches (netfilter.search) + # dim searched name = searched + # dim searched algorithm = incremental + # dim searched multiplier = 1 + # dim searched divisor = 1 + # dim restarted name = restarted + # dim restarted algorithm = incremental + # dim restarted multiplier = -1 + # dim restarted divisor = 1 + # dim found name = found + # dim found algorithm = incremental + # dim found multiplier = 1 + # dim found divisor = 1 + +[netfilter.errors] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/netfilter.errors + # chart type = line + # type = netfilter + # family = netfilter + # context = netfilter.errors + # units = events/s + # priority = 1005 + # gap when lost iterations above = 1 + # name = netfilter.errors + # title = Netfilter Errors (netfilter.errors) + # dim icmp_error name = icmp_error + # dim icmp_error algorithm = incremental + # dim icmp_error multiplier = 1 + # dim icmp_error divisor = 1 + # dim insert_failed name = insert_failed + # dim insert_failed algorithm = incremental + # dim insert_failed multiplier = -1 + # dim insert_failed divisor = 1 + # dim drop name = drop + # dim drop algorithm = incremental + # dim drop multiplier = -1 + # dim drop divisor = 1 + # dim early_drop name = early_drop + # dim early_drop algorithm = incremental + # dim early_drop multiplier = -1 + # dim early_drop divisor = 1 + +[mem.pgfaults] + # history = 86400 + # enabled = yes + enabled = no + # cache directory = /var/cache/netdata/mem.pgfaults + # chart type = line + # type = mem + # family = system + # context = mem.pgfaults + # units = page faults/s + # priority = 500 + # gap when lost iterations above = 1 + # name = mem.pgfaults + # title = Memory Page Faults (mem.pgfaults) + # dim minor name = minor + # dim minor algorithm = incremental + # dim minor multiplier = 1 + # dim minor divisor = 1 + # dim major name = major + # dim major algorithm = incremental + # dim major multiplier = -1 + # dim major divisor = 1 diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service new file mode 100644 index 000000000..b244d1866 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service @@ -0,0 +1,13 @@ +[Unit] +Description=Netdata, Real-time performance monitoring +RequiresMountsFor=/var + +[Service] +User=root +ExecStartPre=/bin/mkdir -p /var/log/netdata +ExecStartPre=/bin/chown -R nobody.netdata @@datadir/netdata/web +ExecStartPre=/bin/chown -R nobody.netdata /var/cache/netdata +ExecStart=/usr/sbin/netdata -nd + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb new file mode 100644 index 000000000..b0f160252 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb @@ -0,0 +1,59 @@ +HOMEPAGE = "https://github.com/firehol/netdata/" +SUMMARY = "Real-time performance monitoring" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=95b49e9ea979a337578f13c2a3ab9535 \ + file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + " + +SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \ + file://0001-makefile-Do-not-build-contrib-dir.patch \ +" +SRCREV = "89ed309252981ddd50f697fde4fe93019cb3e652" +PV = "1.8.0+git${SRCPV}" + +# patch to disable timeout because timeout are not available with actual version +# of core-utils +SRC_URI += "file://0001-Correct-Timeout-issue.patch" + +# default netdata.conf for netdata configuration +SRC_URI += "file://netdata.conf" + +# file for providing systemd service support +SRC_URI += "file://netdata.service" + +S = "${WORKDIR}/git" + +DEPENDS += "zlib util-linux" + +inherit pkgconfig autotools useradd systemd + +#systemd +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "netdata.service" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" + +#User specific +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system netdata" + +do_install_append() { + #set S UID for plugins + chmod 4755 ${D}${libexecdir}/netdata/plugins.d/apps.plugin + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/netdata.service ${D}${systemd_unitdir}/system + sed -i -e 's,@@datadir,${datadir_native},g' ${D}${systemd_unitdir}/system/netdata.service + fi + + # Install default netdata.conf + install -d ${D}${sysconfdir}/netdata + install -m 0644 ${WORKDIR}/netdata.conf ${D}${sysconfdir}/netdata/ + sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf + sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf + sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf +} + +FILES_${PN}-dbg += "${libexecdir}/netdata/plugins.d/.debug" +RDEPENDS_${PN} = "bash zlib" diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch new file mode 100644 index 000000000..9aad894e0 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch @@ -0,0 +1,64 @@ +Disable OS version check in status screen + +The code is not able to accurately detect the correct distro/version at +the moment. + +Upstream-status: Inappropriate + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Index: webmin-1.850/webmin/webmin-lib.pl +=================================================================== +--- webmin-1.850.orig/webmin/webmin-lib.pl ++++ webmin-1.850/webmin/webmin-lib.pl +@@ -1112,28 +1112,28 @@ my %miniserv; + &load_theme_library(); # So that UI functions work + + # Need OS upgrade +-my %realos = &detect_operating_system(undef, 1); +-if (($realos{'os_version'} ne $gconfig{'os_version'} || +- $realos{'os_type'} ne $gconfig{'os_type'}) && +- $realos{'os_version'} && $realos{'os_type'} && +- &foreign_available("webmin")) { +- my ($realminor) = split(/\./, $realos{'os_version'}); +- my ($minor) = split(/\./, $gconfig{'os_version'}); +- if ($realos{'os_type'} eq $gconfig{'os_type'} && +- $realminor == $minor) { +- # Only the minor version number changed - no need to apply +- &apply_new_os_version(\%realos); +- } +- else { +- # Large enough change to tell the user +- push(@notifs, +- &ui_form_start("$gconfig{'webprefix'}/webmin/fix_os.cgi"). +- &text('os_incorrect', $realos{'real_os_type'}, +- $realos{'real_os_version'})."<p>\n". +- &ui_form_end([ [ undef, $text{'os_fix'} ] ]) +- ); +- } +- } ++#my %realos = &detect_operating_system(undef, 1); ++#if (($realos{'os_version'} ne $gconfig{'os_version'} || ++# $realos{'os_type'} ne $gconfig{'os_type'}) && ++# $realos{'os_version'} && $realos{'os_type'} && ++# &foreign_available("webmin")) { ++# my ($realminor) = split(/\./, $realos{'os_version'}); ++# my ($minor) = split(/\./, $gconfig{'os_version'}); ++# if ($realos{'os_type'} eq $gconfig{'os_type'} && ++# $realminor == $minor) { ++# # Only the minor version number changed - no need to apply ++# &apply_new_os_version(\%realos); ++# } ++# else { ++# # Large enough change to tell the user ++# push(@notifs, ++# &ui_form_start("$gconfig{'webprefix'}/webmin/fix_os.cgi"). ++# &text('os_incorrect', $realos{'real_os_type'}, ++# $realos{'real_os_version'})."<p>\n". ++# &ui_form_end([ [ undef, $text{'os_fix'} ] ]) ++# ); ++# } ++# } + + # Password close to expiry + my $warn_days = $config{'warn_days'}; diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch new file mode 100644 index 000000000..d5dfed5ad --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch @@ -0,0 +1,29 @@ +From 7eba4c98c6953fa6ea76c1620d19524bcfa3a576 Mon Sep 17 00:00:00 2001 +From: Kevin Strasser <kevin.strasser@linux.intel.com> +Date: Wed, 1 Aug 2012 11:51:26 -0700 +Subject: [PATCH] nfs export: remove nfsd check + +nfsd runs as a kernel process and does not have a pid. This means +that the command assigned to apply_cmd will never be executed when +the user tries to apply changes to nfs exports. + +Upstream-Status: Inappropriate [config] + +Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com> +--- + exports/exports-lib.pl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: webmin-1.850/exports/exports-lib.pl +=================================================================== +--- webmin-1.850.orig/exports/exports-lib.pl ++++ webmin-1.850/exports/exports-lib.pl +@@ -301,7 +301,7 @@ return !&has_command("rpc.nfsd") && !&ha + sub restart_mountd + { + # Try exportfs -r first +-if ($config{'apply_cmd'} && &find_byname("nfsd") && &find_byname("mountd")) { ++if ($config{'apply_cmd'} && &find_byname("mountd")) { + my $out = &backquote_logged("$config{'apply_cmd'} 2>&1 </dev/null"); + if (!$? && $out !~ /invalid|error|failed/i) { + # Looks like it worked! diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch new file mode 100644 index 000000000..4212917f6 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch @@ -0,0 +1,75 @@ +# Hack in support for an "exclude" config option for the init module, so +# we can hide certain system services that shouldn't really be configurable +# via the web interface +# +# Upstream-status: Pending +# +# Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> +# Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + init/index.cgi | 27 ++++++++++++++------------- + init/init-lib.pl | 5 +++-- + 2 files changed, 17 insertions(+), 15 deletions(-) + +Index: webmin-1.850/init/index.cgi +=================================================================== +--- webmin-1.850.orig/init/index.cgi ++++ webmin-1.850/init/index.cgi +@@ -45,19 +45,20 @@ elsif ($init_mode eq "init" && $access{' + : "$config{'init_dir'}/$ac[0]"); + } + @runlevels = &list_runlevels(); +- foreach $r (@runlevels) { +- foreach $w ("S", "K") { +- foreach $a (&runlevel_actions($r, $w)) { +- @ac = split(/\s+/, $a); +- if (!$nodemap{$ac[2]}) { +- push(@acts, $ac[1]); +- push(@actsl, +- "1+$r+$ac[0]+$ac[1]+$ac[2]+$w"); +- push(@actsf, "$config{'init_base'}/rc$r.d/$w$ac[0]$ac[1]"); +- } +- } +- } +- } ++ # Assume there won't be any of these broken actions ++ #foreach $r (@runlevels) { ++ # foreach $w ("S", "K") { ++ # foreach $a (&runlevel_actions($r, $w)) { ++ # @ac = split(/\s+/, $a); ++ # if (!$nodemap{$ac[2]}) { ++ # push(@acts, $ac[1]); ++ # push(@actsl, ++ # "1+$r+$ac[0]+$ac[1]+$ac[2]+$w"); ++ # push(@actsf, "$config{'init_base'}/rc$r.d/$w$ac[0]$ac[1]"); ++ # } ++ # } ++ # } ++ # } + + # For each action, look at /etc/rc*.d/* files to see if it is + # started at boot +Index: webmin-1.850/init/init-lib.pl +=================================================================== +--- webmin-1.850.orig/init/init-lib.pl ++++ webmin-1.850/init/init-lib.pl +@@ -124,8 +124,9 @@ List boot time action names from init.d, + =cut + sub list_actions + { +-local($dir, $f, @stbuf, @rv); ++local($dir, $f, @stbuf, @rv, @exclude); + $dir = $config{init_dir}; ++@exclude = split(/,/, $config{exclude}); + opendir(DIR, $dir); + foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) { + if ($f eq "." || $f eq ".." || $f =~ /\.bak$/ || $f eq "functions" || +@@ -133,7 +134,7 @@ foreach $f (sort { lc($a) cmp lc($b) } r + -d "$dir/$f" || $f =~ /\.swp$/ || $f eq "skeleton" || + $f =~ /\.lock$/ || $f =~ /\.dpkg-(old|dist)$/ || + $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' || +- $f =~ /^mandrake/) { next; } ++ $f =~ /^mandrake/ || grep {$_ eq $f} @exclude ) { next; } + if (@stbuf = stat("$dir/$f")) { + push(@rv, "$f $stbuf[1]"); + } diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch new file mode 100644 index 000000000..46f310979 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch @@ -0,0 +1,65 @@ +diff -Nru webmin-1.570.bak/mediatomb/index.cgi webmin-1.570/mediatomb/index.cgi +--- webmin-1.570.bak/mediatomb/index.cgi 1969-12-31 16:00:00.000000000 -0800 ++++ webmin-1.570/mediatomb/index.cgi 2011-10-26 10:00:05.992522036 -0700 +@@ -0,0 +1,13 @@ ++#!/usr/bin/perl ++# index.cgi ++# Display MediaTomb option categories ++ ++require './mediatomb-lib.pl'; ++ ++ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); ++ ++ ++$ipaddress = &get_my_address(); ++print &text('index_desc', $ipaddress),"<p>\n"; ++ ++ui_print_footer("/", $text{'index'}); +diff -Nru webmin-1.570.bak/mediatomb/lang/en webmin-1.570/mediatomb/lang/en +--- webmin-1.570.bak/mediatomb/lang/en 1969-12-31 16:00:00.000000000 -0800 ++++ webmin-1.570/mediatomb/lang/en 2011-10-26 10:01:13.340522186 -0700 +@@ -0,0 +1,2 @@ ++index_title=MediaTomb ++index_desc=MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user interface. You can access it via <a href='http://$1:49153'>here</a>. +diff -Nru webmin-1.570.bak/mediatomb/mediatomb-lib.pl webmin-1.570/mediatomb/mediatomb-lib.pl +--- webmin-1.570.bak/mediatomb/mediatomb-lib.pl 1969-12-31 16:00:00.000000000 -0800 ++++ webmin-1.570/mediatomb/mediatomb-lib.pl 2011-10-26 10:01:34.692522079 -0700 +@@ -0,0 +1,31 @@ ++#!/usr/bin/perl ++# mediatomb-lib.pl ++# Common functions for the MediaTomb module ++ ++BEGIN { push(@INC, ".."); }; ++use WebminCore; ++&init_config(); ++ ++sub get_my_address ++{ ++my $myip; ++if (&foreign_check("net")) { ++ # Try to get ethernet interface ++ &foreign_require("net", "net-lib.pl"); ++ my @act = &net::active_interfaces(); ++ my @ifaces = grep { &net::iface_type($_->{'fullname'}) =~ /ether/i } ++ @act; ++ @ifaces = ( $act[0] ) if (!@ifaces && @act); ++ if (@ifaces) { ++ return wantarray ? ( map { $_->{'address'} } @ifaces ) ++ : $ifaces[0]->{'address'}; ++ } ++ } ++$myip = &to_ipaddress(&get_system_hostname()); ++if ($myip) { ++ # Can resolve hostname .. use that ++ return wantarray ? ( $myip ) : $myip; ++ } ++return wantarray ? ( ) : undef; ++} ++ +diff -Nru webmin-1.570.bak/mediatomb/module.info webmin-1.570/mediatomb/module.info +--- webmin-1.570.bak/mediatomb/module.info 1969-12-31 16:00:00.000000000 -0800 ++++ webmin-1.570/mediatomb/module.info 2011-10-26 09:59:50.428528369 -0700 +@@ -0,0 +1,3 @@ ++desc=MediaTomb ++category=others ++longdesc=MediaTomb access module diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch new file mode 100644 index 000000000..8cb74c4b1 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch @@ -0,0 +1,25 @@ +Add excludefs config option to mount module + +Adds a configuration option (currently hidden) to allow the distro to +hide certain filesystems from the mount module within Webmin (e.g. /dev) +since these shouldn't be modified from the web interface. + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-status: Pending + +--- webmin-1.570.orig/mount/index.cgi ++++ webmin-1.570/mount/index.cgi +@@ -33,10 +33,12 @@ elsif ($config{'sort_mode'} == 1) { + } + + # Build visible filesystems list ++@excludefs = split(/,/, $config{excludefs}); + foreach $m (@all) { + @minfo = @$m; + $p = &simplify_mount_path($minfo[0], $minfo[2]); + next if ($ignore{$minfo[2]}); ++ next if (grep {$_ eq $minfo[2]} @excludefs); + @mmodes = &mount_modes($minfo[2], $minfo[0], $minfo[1]); + $canedit = $can_edit{$minfo[2]} && !$mmodes[4] && + &can_edit_fs(@minfo); diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch new file mode 100644 index 000000000..2cbc62707 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch @@ -0,0 +1,50 @@ +From 719206df606acd7a623e8d75da293c25489b7884 Mon Sep 17 00:00:00 2001 +From: Diego Rondini <diego.ml@zoho.com> +Date: Thu, 18 Feb 2016 15:44:06 +0100 +Subject: [PATCH] Adjust Mysql config defaults + +Upstream-status: Inappropriate [configuration] + +Signed-off-by: Diego Rondini <diego.ml@zoho.com> +--- + mysql/config | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/mysql/config b/mysql/config +index e5b6fb3..77bfe69 100644 +--- a/mysql/config ++++ b/mysql/config +@@ -1,13 +1,13 @@ +-start_cmd=cd /usr/local/mysql ; (./bin/safe_mysqld || ./bin/mysqld_safe) & ++start_cmd=/usr/bin/mysqld_safe + perpage=25 +-mysql=/usr/local/mysql/bin/mysql +-mysqldump=/usr/local/mysql/bin/mysqldump +-mysqlimport=/usr/local/mysql/bin/mysqlimport +-pass=foo +-mysqlshow=/usr/local/mysql/bin/mysqlshow ++mysql=/usr/bin/mysql ++mysqldump=/usr/bin/mysqldump ++mysqlimport=/usr/bin/mysqlimport ++pass= ++mysqlshow=/usr/bin/mysqlshow + login=root +-mysql_libs=/usr/local/mysql/lib +-mysqladmin=/usr/local/mysql/bin/mysqladmin ++mysql_libs=/usr/lib ++mysqladmin=/usr/bin/mysqladmin + style=0 + add_mode=1 + nodbi=0 +@@ -15,7 +15,7 @@ access=*: * + blob_mode=0 + date_subs=0 + passwd_mode=0 +-mysql_data=/usr/local/mysql/var ++mysql_data=/var/lib/mysql + max_dbs=50 + my_cnf=/etc/my.cnf + max_text=1000 +-- +2.5.0 + diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch new file mode 100644 index 000000000..554939285 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch @@ -0,0 +1,25 @@ +# Add support for configuring network interfaces on a generic linux system +# +# Upstream-status: Not appropriate [config] +# +# Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> +Index: webmin-1.850/net/module.info +=================================================================== +--- webmin-1.850.orig/net/module.info ++++ webmin-1.850/net/module.info +@@ -14,7 +14,7 @@ desc_ko_KR.UTF-8=네트워크 구성 + name=Networking + desc_tr=A Yaplandrmas + desc_de=Netzwerkkonfiguration +-os_support=solaris coherent-linux redhat-linux/5.0-* mandrake-linux united-linux suse-linux/6.0-* open-linux unixware turbo-linux/4.0 freebsd/3.2-* openbsd debian-linux/2.2-* cobalt-linux/2.2-* msc-linux gentoo-linux macos/1.5-* trustix-linux slackware-linux/8.0-* openmamba-linux cygwin windows pardus-linux ++os_support=generic-linux solaris coherent-linux redhat-linux/5.0-* mandrake-linux united-linux suse-linux/6.0-* open-linux unixware turbo-linux/4.0 freebsd/3.2-* openbsd debian-linux/2.2-* cobalt-linux/2.2-* msc-linux gentoo-linux macos/1.5-* trustix-linux slackware-linux/8.0-* openmamba-linux cygwin windows pardus-linux + desc_sk=Konfigurcia siete + desc_zh_CN= + risk=low medium high +Index: webmin-1.850/net/generic-linux-lib.pl +=================================================================== +--- /dev/null ++++ webmin-1.850/net/generic-linux-lib.pl +@@ -0,0 +1,2 @@ ++do 'linux-lib.pl'; ++ diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-lib.pl.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-lib.pl.patch new file mode 100644 index 000000000..bdba5e73f --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-lib.pl.patch @@ -0,0 +1,19 @@ +Upstream-Status: Inappropriate [config] + +XXX: need to work out a better fix. + +Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> + +diff -Nru webmin-1.570.orig//net/net-lib.pl webmin-1.570/net/net-lib.pl +--- webmin-1.570.orig//net/net-lib.pl 2011-10-03 09:01:48.000000000 +0800 ++++ webmin-1.570/net/net-lib.pl 2011-10-28 13:52:56.138873664 +0800 +@@ -21,7 +21,8 @@ + do "$gconfig{'os_type'}-9.1-ALL-lib.pl"; + } + else { +- do "$gconfig{'os_type'}-lib.pl"; ++ #do "$gconfig{'os_type'}-lib.pl"; ++ do "debian-linux-lib.pl"; + } + + # list_hosts() diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/nfs-export.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/nfs-export.patch new file mode 100644 index 000000000..426d63737 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/nfs-export.patch @@ -0,0 +1,39 @@ +commit e48f61d2f6df32a518bcb84db8c6eacfe5435c32 +Author: Yu Ke <ke.yu@intel.com> +Date: Fri Oct 28 14:40:51 2011 +0800 + +NFS export: fix syntax issue + +fix two syntax issue in /etc/exports: +1. if it is exported to everyone, should use "*", e.g. "/export *(xxx)" +2. explicitly specify subtree_check or no_subtree_check, required by latest nfs-utils + +Upstream-Status: Pending + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +Index: webmin-1.850/exports/save_export.cgi +=================================================================== +--- webmin-1.850.orig/exports/save_export.cgi ++++ webmin-1.850/exports/save_export.cgi +@@ -50,7 +50,7 @@ else { + &error(&text('save_enetmask', $in{'netmask'})); + $exp{'host'} = $in{'network'}."/".$in{'netmask'}; + } +- elsif ($in{'mode'} == 3) { $exp{'host'} = ""; } ++ elsif ($in{'mode'} == 3) { $exp{'host'} = "*"; } + else { + $in{'host'} =~ /\*/ || &to_ipaddress($in{'host'}) || + &error(&text('save_ehost', $in{'host'})); +@@ -87,6 +87,11 @@ else { + delete($opts{'no_subtree_check'}); + delete($opts{'subtree_check'}); + $opts{'no_subtree_check'} = "" if ($in{'no_subtree_check'}); ++ if ($in{'no_subtree_check'}) { ++ $opts{'no_subtree_check'} = ""; ++ } else { ++ $opts{'subtree_check'} = ""; ++ } + + delete($opts{'nohide'}); + delete($opts{'hide'}); diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch new file mode 100644 index 000000000..492a652d4 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch @@ -0,0 +1,18 @@ +Upstream-status: Inappropriate [configuration] + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Index: webmin-1.570/proftpd/config +=================================================================== +--- webmin-1.570.orig/proftpd/config 2011-10-25 20:18:37.000000000 +0800 ++++ webmin-1.570/proftpd/config 2011-10-25 20:21:13.000000000 +0800 +@@ -1,6 +1,6 @@ +-proftpd_path=/usr/local/sbin/proftpd +-proftpd_conf=/usr/local/etc/proftpd.conf +-pid_file=/usr/local/var/proftpd.pid ++proftpd_path=/usr/sbin/proftpd ++proftpd_conf=/etc/proftpd.conf ++pid_file=/var/proftpd.pid + ftpusers=/etc/ftpusers + test_config=1 + test_always=0 diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch new file mode 100644 index 000000000..75e5bd1ea --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch @@ -0,0 +1,25 @@ +From 6f04699d5d417122b67e8118fd1955c769f17e76 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Tue, 2 Sep 2014 00:11:05 -0700 +Subject: [PATCH] ajaxterm/ajaxterm/qweb.py: fix hardcode of python2.3 + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + ajaxterm/ajaxterm/qweb.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ajaxterm/ajaxterm/qweb.py b/ajaxterm/ajaxterm/qweb.py +index 20c5092..c658a6b 100644 +--- a/ajaxterm/ajaxterm/qweb.py ++++ b/ajaxterm/ajaxterm/qweb.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python2.3 ++#!/usr/bin/env python + # + # vim:set et ts=4 fdc=0 fdn=2 fdl=0: + # +-- +1.7.9.5 + diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch new file mode 100644 index 000000000..d957f4a3b --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch @@ -0,0 +1,29 @@ +# Remove "start on boot" option from webmin configuration, as +# end-users should not need to configure this from the web interface +# +# Upstream-status: Inappropriate +# +# Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> +--- webmin-1.570.orig/webmin/index.cgi ++++ webmin-1.570/webmin/index.cgi +@@ -79,20 +79,6 @@ print &ui_buttons_start(); + my %miniserv; + &get_miniserv_config(\%miniserv); + +-if (&foreign_check("init")) { +- &foreign_require("init"); +- my $starting = &init::action_status("webmin"); +- print &ui_buttons_row("bootup.cgi", +- $text{'index_boot'}, +- $text{'index_bootmsg'}. +- ($miniserv{'inetd'} ? "<b>$text{'index_inetd'}</b>" : +- !$ENV{'MINISERV_CONFIG'} ? "<b>$text{'index_apache'}</b>" : ""), +- &ui_hidden("starting", $starting), +- &ui_radio("boot", $starting == 2 ? 1 : 0, +- [ [ 1, $text{'yes'} ], +- [ 0, $text{'no'} ] ])); +- } +- + # Restart Webmin + if (!$miniserv{'inetd'} && $ENV{'MINISERV_CONFIG'}) { + print &ui_buttons_row("restart.cgi", diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch new file mode 100644 index 000000000..46645ac30 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch @@ -0,0 +1,32 @@ +Upstream-status: Inappropriate [configuration] + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Index: webmin-1.570/samba/config-generic-linux +=================================================================== +--- webmin-1.570.orig/samba/config-generic-linux 2011-10-25 20:11:35.000000000 +0800 ++++ webmin-1.570/samba/config-generic-linux 2011-10-25 20:15:41.000000000 +0800 +@@ -1,15 +1,15 @@ + list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g' +-smb_passwd=/usr/local/samba/private/smbpasswd ++smb_passwd=/usr/bin/smbpasswd + text_lists=0 + dont_convert=-499 +-name_server=/usr/local/samba/bin/nmbd +-smb_conf=/usr/local/samba/lib/smb.conf +-samba_server=/usr/local/samba/bin/smbd ++name_server=/usr/sbin/nmbd ++smb_conf=/etc/samba/smb.conf ++samba_server=/usr/sbin/smbd + run_from_inetd=0 +-samba_password_program=/usr/local/samba/bin/smbpasswd +-samba_status_program=/usr/local/samba/bin/smbstatus ++samba_password_program=/usr/bin/smbpasswd ++samba_status_program=/usr/bin/smbstatus + swat_path=/usr/local/samba/bin/swat + sort_mode=0 + smbgroupedit=/usr/local/samba/bin/smbgroupedit +-pdbedit=/usr/local/samba/bin/pdbedit +-net=/usr/local/samba/bin/net ++pdbedit=/usr/bin/pdbedit ++net=/usr/bin/net diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/setup.sh b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/setup.sh new file mode 100755 index 000000000..8d24f928f --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/setup.sh @@ -0,0 +1,340 @@ +#!/bin/sh +# Modified version of setup.sh distributed with webmin + +if [ "$wadir" = "" ]; then + echo "ERROR: wadir not specified" + echo "" + exit 1 +fi + +config_dir_runtime=$config_dir +config_dir=$prefix$config_dir + +wadir_runtime=$wadir +wadir=$prefix$wadir + +ver=`cat "$wadir/version"` + +cd "$wadir" + +# Work out perl library path +PERLLIB=$wadir + +# Validate source directory +allmods=`cd "$wadir"; echo */module.info | sed -e 's/\/module.info//g'` +if [ "$allmods" = "" ]; then + echo "ERROR: Failed to get module list" + echo "" + exit 1 +fi +echo "" + +if [ "$login" = "webmin" ]; then + echo "ERROR: Username 'webmin' is reserved for internal use" + echo "" + exit 14 +fi + +# Create webserver config file +echo $perl > $config_dir/perl-path +echo $var_dir > $config_dir/var-path +echo "Creating web server config files.." +cfile=$config_dir/miniserv.conf +echo "port=$port" >> $cfile +echo "root=$wadir_runtime" >> $cfile +echo "mimetypes=$wadir_runtime/mime.types" >> $cfile +echo "addtype_cgi=internal/cgi" >> $cfile +echo "realm=Webmin Server" >> $cfile +echo "logfile=$var_dir/miniserv.log" >> $cfile +echo "errorlog=$var_dir/miniserv.error" >> $cfile +echo "pidfile=$var_dir/miniserv.pid" >> $cfile +echo "logtime=168" >> $cfile +echo "ppath=$ppath" >> $cfile +echo "ssl=$ssl" >> $cfile +echo "env_WEBMIN_CONFIG=$config_dir_runtime" >> $cfile +echo "env_WEBMIN_VAR=$var_dir" >> $cfile +echo "atboot=$atboot" >> $cfile +echo "logout=$config_dir_runtime/logout-flag" >> $cfile +if [ "$listen" != "" ]; then + echo "listen=$listen" >> $cfile +else + echo "listen=10000" >> $cfile +fi +echo "denyfile=\\.pl\$" >> $cfile +echo "log=1" >> $cfile +echo "blockhost_failures=5" >> $cfile +echo "blockhost_time=60" >> $cfile +echo "syslog=1" >> $cfile +if [ "$allow" != "" ]; then + echo "allow=$allow" >> $cfile +fi +if [ "$session" != "" ]; then + echo "session=$session" >> $cfile +else + echo "session=1" >> $cfile +fi +if [ "$pam" != "" ]; then + echo "pam=$pam" >> $cfile +fi +if [ "$no_pam" != "" ]; then + echo "no_pam=$no_pam" >> $cfile +fi +echo premodules=WebminCore >> $cfile +echo "server=MiniServ/$ver" >> $cfile + +md5pass=`$perl -e 'print crypt("test", "\\$1\\$A9wB3O18\\$zaZgqrEmb9VNltWTL454R/") eq "\\$1\\$A9wB3O18\\$zaZgqrEmb9VNltWTL454R/" ? "1\n" : "0\n"'` + +ufile=$config_dir/miniserv.users +if [ "$crypt" != "" ]; then + echo "$login:$crypt:0" > $ufile +else + if [ "$md5pass" = "1" ]; then + $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "\$1\$XXXXXXXX"),":0\n"' "$login" "$password" > $ufile + else + $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "XX"),":0\n"' "$login" "$password" > $ufile + fi +fi +chmod 600 $ufile +echo "userfile=$config_dir_runtime/miniserv.users" >> $cfile + +kfile=$config_dir/miniserv.pem +openssl version >/dev/null 2>&1 +if [ "$?" = "0" ]; then + # We can generate a new SSL key for this host + host=`hostname` + openssl req -newkey rsa:512 -x509 -nodes -out $tempdir/cert -keyout $tempdir/key -days 1825 >/dev/null 2>&1 <<EOF +. +. +. +Webmin Webserver on $host +. +* +root@$host +EOF + if [ "$?" = "0" ]; then + cat $tempdir/cert $tempdir/key >$kfile + fi + rm -f $tempdir/cert $tempdir/key +fi +if [ ! -r $kfile ]; then + # Fall back to the built-in key + cp "$wadir/miniserv.pem" $kfile +fi +chmod 600 $kfile +echo "keyfile=$config_dir_runtime/miniserv.pem" >> $cfile + +chmod 600 $cfile +echo "..done" +echo "" + +echo "Creating access control file.." +afile=$config_dir/webmin.acl +rm -f $afile +if [ "$defaultmods" = "" ]; then + echo "$login: $allmods" >> $afile +else + echo "$login: $defaultmods" >> $afile +fi +chmod 600 $afile +echo "..done" +echo "" + +if [ "$login" != "root" -a "$login" != "admin" ]; then + # Allow use of RPC by this user + echo rpc=1 >>$config_dir/$login.acl +fi + +if [ "$noperlpath" = "" ]; then + echo "Inserting path to perl into scripts.." + (find "$wadir" -name '*.cgi' -print ; find "$wadir" -name '*.pl' -print) | $perl "$wadir/perlpath.pl" $perl_runtime - + echo "..done" + echo "" +fi + +echo "Creating start and stop scripts.." +rm -f $config_dir/stop $config_dir/start $config_dir/restart $config_dir/reload +echo "#!/bin/sh" >>$config_dir/start +echo "echo Starting Webmin server in $wadir_runtime" >>$config_dir/start +echo "trap '' 1" >>$config_dir/start +echo "LANG=" >>$config_dir/start +echo "export LANG" >>$config_dir/start +echo "#PERLIO=:raw" >>$config_dir/start +echo "unset PERLIO" >>$config_dir/start +echo "export PERLIO" >>$config_dir/start +echo "PERLLIB=$PERLLIB" >>$config_dir/start +echo "export PERLLIB" >>$config_dir/start +uname -a | grep -i 'HP/*UX' >/dev/null +if [ $? = "0" ]; then + echo "exec '$wadir_runtime/miniserv.pl' $config_dir_runtime/miniserv.conf &" >>$config_dir/start +else + echo "exec '$wadir_runtime/miniserv.pl' $config_dir_runtime/miniserv.conf" >>$config_dir/start +fi + +echo "#!/bin/sh" >>$config_dir/stop +echo "echo Stopping Webmin server in $wadir_runtime" >>$config_dir/stop +echo "pidfile=\`grep \"^pidfile=\" $config_dir_runtime/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/stop +echo "kill \`cat \$pidfile\`" >>$config_dir/stop + +echo "#!/bin/sh" >>$config_dir/restart +echo "$config_dir_runtime/stop && $config_dir_runtime/start" >>$config_dir/restart + +echo "#!/bin/sh" >>$config_dir/reload +echo "echo Reloading Webmin server in $wadir_runtime" >>$config_dir/reload +echo "pidfile=\`grep \"^pidfile=\" $config_dir_runtime/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/reload +echo "kill -USR1 \`cat \$pidfile\`" >>$config_dir/reload + +chmod 755 $config_dir/start $config_dir/stop $config_dir/restart $config_dir/reload +echo "..done" +echo "" + +if [ "$upgrading" = 1 ]; then + echo "Updating config files.." +else + echo "Copying config files.." +fi +newmods=`$perl "$wadir/copyconfig.pl" "$os_type/$real_os_type" "$os_version/$real_os_version" "$wadir" $config_dir "" $allmods` +# Store the OS and version +echo "os_type=$os_type" >> $config_dir/config +echo "os_version=$os_version" >> $config_dir/config +echo "real_os_type=$real_os_type" >> $config_dir/config +echo "real_os_version=$real_os_version" >> $config_dir/config +if [ -r /etc/system.cnf ]; then + # Found a caldera system config file .. get the language + source /etc/system.cnf + if [ "$CONF_LST_LANG" = "us" ]; then + CONF_LST_LANG=en + elif [ "$CONF_LST_LANG" = "uk" ]; then + CONF_LST_LANG=en + fi + grep "lang=$CONF_LST_LANG," "$wadir/lang_list.txt" >/dev/null 2>&1 + if [ "$?" = 0 ]; then + echo "lang=$CONF_LST_LANG" >> $config_dir/config + fi +fi + +# Turn on logging by default +echo "log=1" >> $config_dir/config + +# Use licence module specified by environment variable +if [ "$licence_module" != "" ]; then + echo licence_module=$licence_module >>$config_dir/config +fi + +# Disallow unknown referers by default +echo "referers_none=1" >>$config_dir/config +echo $ver > $config_dir/version +echo "..done" +echo "" + +# Set passwd_ fields in miniserv.conf from global config +for field in passwd_file passwd_uindex passwd_pindex passwd_cindex passwd_mindex; do + grep $field= $config_dir/miniserv.conf >/dev/null + if [ "$?" != "0" ]; then + grep $field= $config_dir/config >> $config_dir/miniserv.conf + fi +done +grep passwd_mode= $config_dir/miniserv.conf >/dev/null +if [ "$?" != "0" ]; then + echo passwd_mode=0 >> $config_dir/miniserv.conf +fi + +# If Perl crypt supports MD5, then make it the default +if [ "$md5pass" = "1" ]; then + echo md5pass=1 >> $config_dir/config +fi + +# Set a special theme if none was set before +if [ "$theme" = "" ]; then + theme=`cat "$wadir/defaulttheme" 2>/dev/null` +fi +oldthemeline=`grep "^theme=" $config_dir/config` +oldtheme=`echo $oldthemeline | sed -e 's/theme=//g'` +if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$wadir/$theme" ]; then + themelist=$theme +fi + +# Set a special overlay if none was set before +if [ "$overlay" = "" ]; then + overlay=`cat "$wadir/defaultoverlay" 2>/dev/null` +fi +if [ "$overlay" != "" ] && [ "$theme" != "" ] && [ -d "$wadir/$overlay" ]; then + themelist="$themelist $overlay" +fi + +# Apply the theme and maybe overlay +if [ "$themelist" != "" ]; then + echo "theme=$themelist" >> $config_dir/config + echo "preroot=$themelist" >> $config_dir/miniserv.conf +fi + +# Set the product field in the global config +grep product= $config_dir/config >/dev/null +if [ "$?" != "0" ]; then + echo product=webmin >> $config_dir/config +fi + +if [ "$makeboot" = "1" ]; then + echo "Configuring Webmin to start at boot time.." + (cd "$wadir/init" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/init/atboot.pl" $bootscript) + echo "..done" + echo "" +fi + +# If password delays are not specifically disabled, enable them +grep passdelay= $config_dir/miniserv.conf >/dev/null +if [ "$?" != "0" ]; then + echo passdelay=1 >> $config_dir/miniserv.conf +fi + +echo "Changing ownership and permissions .." +# Make all config dirs non-world-readable +for m in $newmods; do + chown -R root $config_dir/$m + chgrp -R bin $config_dir/$m + chmod -R og-rw $config_dir/$m +done +# Make miniserv config files non-world-readable +for f in miniserv.conf miniserv.pem miniserv.users; do + chown -R root $config_dir/$f + chgrp -R bin $config_dir/$f + chmod -R og-rw $config_dir/$f +done +chmod +r $config_dir/version +if [ "$nochown" = "" ]; then + # Make program directory non-world-writable, but executable + chown -R root "$wadir" + chgrp -R bin "$wadir" + chmod -R og-w "$wadir" + chmod -R a+rx "$wadir" +fi +if [ $var_dir != "/var" ]; then + # Make log directory non-world-readable or writable + chown -R root $prefix$var_dir + chgrp -R bin $prefix$var_dir + chmod -R og-rwx $prefix$var_dir +fi +# Fix up bad permissions from some older installs +for m in ldap-client ldap-server ldap-useradmin mailboxes mysql postgresql servers virtual-server; do + if [ -d "$config_dir/$m" ]; then + chown root $config_dir/$m + chgrp bin $config_dir/$m + chmod og-rw $config_dir/$m + chmod og-rw $config_dir/$m/config 2>/dev/null + fi +done + +if [ "$nopostinstall" = "" ]; then + echo "Running postinstall scripts .." + (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/run-postinstalls.pl") + echo "..done" + echo "" +fi + +# Enable background collection +if [ "$upgrading" != 1 -a -r $config_dir/system-status/enable-collection.pl ]; then + echo "Enabling background status collection .." + $config_dir/system-status/enable-collection.pl 5 + echo "..done" + echo "" +fi + diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/webmin.service b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/webmin.service new file mode 100644 index 000000000..87cf4f99d --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/webmin.service @@ -0,0 +1,15 @@ +[Unit] +Description=Webmin Admin Tool +Requires=local-fs.target +After=basic.target +Conflicts=shutdown.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@SYSCONFDIR@/webmin/start +ExecStop=@SYSCONFDIR@/webmin/stop +ExecReload=@SYSCONFDIR@/webmin/reload + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb new file mode 100644 index 000000000..ce9bc9280 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb @@ -0,0 +1,170 @@ +SUMMARY = "Web-based administration interface" +HOMEPAGE = "http://www.webmin.com" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENCE;md5=0373ac9f611e542ddebe1ec6394afc3c" + +SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \ + file://setup.sh \ + file://init-exclude.patch \ + file://net-generic.patch \ + file://remove-startup-option.patch \ + file://disable-version-check.patch \ + file://nfs-export.patch \ + file://exports-lib.pl.patch \ + file://mount-excludefs.patch \ + file://samba-config-fix.patch \ + file://proftpd-config-fix.patch \ + file://net-lib.pl.patch \ + file://media-tomb.patch \ + file://remove-python2.3.patch \ + file://mysql-config-fix.patch \ + file://webmin.service \ + " + +SRC_URI[md5sum] = "cd6ee98f73f9418562197675b952d81b" +SRC_URI[sha256sum] = "c66caa9e4cb50d5447bc8aceb7989d2284dde060278f404b13e171c7ce1690e1" + +UPSTREAM_CHECK_URI = "http://www.webmin.com/download.html" +UPSTREAM_CHECK_REGEX = "webmin-(?P<pver>\d+(\.\d+)+).tar.gz" + +inherit perlnative update-rc.d systemd + +do_configure() { + # Remove binaries and plugins for other platforms + rm -rf acl/Authen-SolarisRBAC-0.1* + rm -rf format bsdexports hpuxexports sgiexports + rm -rf zones rbac smf ipfw ipfilter dfsadmin + rm -f mount/freebsd-mounts* mount/netbsd-mounts* + rm -f mount/openbsd-mounts* mount/macos-mounts* + + # Remove some plugins for the moment + rm -rf lilo frox wuftpd telnet pserver cpan shorewall webalizer cfengine fsdump pap + rm -rf majordomo fetchmail sendmail mailboxes procmail filter mailcap dovecot exim spam qmailadmin postfix + rm -rf stunnel squid sarg pptp-client pptp-server jabber openslp sentry cluster-* vgetty burner heartbeat + + # Adjust configs + [ -f init/config-debian-linux ] && mv init/config-debian-linux init/config-generic-linux + sed -i "s/shutdown_command=.*/shutdown_command=poweroff/" init/config-generic-linux + echo "exclude=bootmisc.sh,single,halt,reboot,hostname.sh,modutils.sh,mountall.sh,mountnfs.sh,networking,populate-volatile.sh,rmnologin.sh,save-rtc.sh,umountfs,umountnfs.sh,hwclock.sh,checkroot.sh,banner.sh,udev,udev-cache,devpts.sh,psplash.sh,sendsigs,fbsetup,bootlogd,stop-bootlogd,sysfs.sh,syslog,syslog.busybox,urandom,webmin,functions.initscripts,read-only-rootfs-hook.sh" >> init/config-generic-linux + echo "excludefs=devpts,devtmpfs,usbdevfs,proc,tmpfs,sysfs,debugfs" >> mount/config-generic-linux + + [ -f exports/config-debian-linux ] && mv exports/config-debian-linux exports/config-generic-linux + sed -i "s/killall -HUP rpc.nfsd && //" exports/config-generic-linux + sed -i "s/netstd_nfs/nfsserver/g" exports/config-generic-linux + + # Fix insane naming that causes problems at packaging time (must be done before deleting below) + find . -name "*\**" | while read from + do + to=`echo "$from" | sed "s/*/ALL/"` + mv "$from" "$to" + done + + # Remove some other files we don't need + find . -name "config-*" -a \! -name "config-generic-linux" -a \! -name "config-ALL-linux" -a \! -name "*.pl" -delete + find . -regextype posix-extended -regex ".*/(openserver|aix|osf1|osf|openbsd|netbsd|freebsd|unixware|solaris|macos|irix|hpux|cygwin|windows)-lib\.pl" -delete + rm -f webmin-gentoo-init webmin-caldera-init webmin-debian-pam webmin-pam + + # Don't need these at runtime (and we have our own setup script) + rm -f setup.sh + rm -f setup.pl + + # Use pidof for finding PIDs + sed -i "s/find_pid_command=.*/find_pid_command=pidof NAME/" config-generic-linux +} + +WEBMIN_LOGIN ?= "admin" +WEBMIN_PASSWORD ?= "password" + +do_install() { + install -d ${D}${sysconfdir} + install -d ${D}${sysconfdir}/webmin + install -d ${D}${sysconfdir}/init.d + install -m 0755 webmin-init ${D}${sysconfdir}/init.d/webmin + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/webmin.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + ${D}${systemd_unitdir}/system/webmin.service + + install -d ${D}${localstatedir} + install -d ${D}${localstatedir}/webmin + + install -d ${D}${libexecdir}/webmin + cd ${S} || exit 1 + tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \ + | tar --no-same-owner -xpf - -C ${D}${libexecdir}/webmin + + rm -f ${D}${libexecdir}/webmin/webmin-init + rm -f ${D}${libexecdir}/webmin/ajaxterm/ajaxterm/configure.initd.gentoo + rm -rf ${D}${libexecdir}/webmin/patches + + # Run setup script + export perl=perl + export perl_runtime=${bindir}/perl + export prefix=${D} + export tempdir=${S}/install_tmp + export wadir=${libexecdir}/webmin + export config_dir=${sysconfdir}/webmin + export var_dir=${localstatedir}/webmin + export os_type=generic-linux + export os_version=0 + export real_os_type="${DISTRO_NAME}" + export real_os_version="${DISTRO_VERSION}" + export port=10000 + export login=${WEBMIN_LOGIN} + export password=${WEBMIN_PASSWORD} + export ssl=0 + export atboot=1 + export no_pam=1 + mkdir -p $tempdir + ${S}/../setup.sh + + # Ensure correct PERLLIB path + sed -i -e 's#${D}##g' ${D}${sysconfdir}/webmin/start +} + +INITSCRIPT_NAME = "webmin" +INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ." + +SYSTEMD_SERVICE_${PN} = "webmin.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +# FIXME: some of this should be figured out automatically +RDEPENDS_${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict" +RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader" +RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant" +RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm-file perl-module-feature" + +PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*" +RRECOMMENDS_${PN} += "webmin-module-system-status" + +PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm" +RDEPENDS_${PN}-module-proc = "procps" +RDEPENDS_${PN}-module-raid = "mdadm" +RDEPENDS_${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix" +RRECOMMENDS_${PN}-module-fdisk = "parted" +RRECOMMENDS_${PN}-module-lvm = "lvm2" + +python populate_packages_prepend() { + import os, os.path + + wadir = bb.data.expand('${libexecdir}/webmin', d) + wadir_image = bb.data.expand('${D}', d) + wadir + modules = [] + themes = [] + for mod in os.listdir(wadir_image): + modinfo = os.path.join(wadir_image, mod, "module.info") + themeinfo = os.path.join(wadir_image, mod, "theme.info") + if os.path.exists(modinfo): + modules.append(mod) + elif os.path.exists(themeinfo): + themes.append(mod) + + do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True) + do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True) +} + +# Time-savers +package_do_pkgconfig() { + : +} |