diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e594810
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.rpm
+*.log
+*spec-20*
+*.tar.xz
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..66c3bfb
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+# Makefile for source rpm: e-smith-apache
+# $Id: Makefile,v 1.1 2016/02/04 18:31:19 vip-ire Exp $
+NAME := e-smith-apache
+SPECFILE = $(firstword $(wildcard *.spec))
+
+define find-makefile-common
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+endef
+
+MAKEFILE_COMMON := $(shell $(find-makefile-common))
+
+ifeq ($(MAKEFILE_COMMON),)
+# attept a checkout
+define checkout-makefile-common
+test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
+endef
+
+MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
+endif
+
+include $(MAKEFILE_COMMON)
diff --git a/README.md b/README.md
index f7c0e84..560f1fc 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,17 @@
-# e-smith-apache
+# e-smith-apache
-SMEServer Koozali developed git repo for e-smith-apache smeserver
\ No newline at end of file
+SMEServer Koozali developed git repo for e-smith-apache smeserver
+
+## Wiki
+
https://wiki.koozali.org/
+
+## Bugzilla
+Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=e-smith-apache&product=SME%20Server%2010.X&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
+
+## Description
+
+
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
+*Once it has been checked, then this comment will be deleted*
+
+
+E-smith-apache is a free, open source web server software designed to provide a secure, stable and reliable platform for web hosting. It is a product of the E-Smith company and is built on the Apache web server platform, providing a user friendly interface and additional features such as support for multiple web servers, a graphical interface for creating virtual hosts, and integrated scripting and database support. With its simplicity and robust security features, E-smith-apache makes it an ideal choice for businesses and individuals looking for a reliable and secure web server solution.
diff --git a/additional/COPYING b/additional/COPYING
new file mode 100644
index 0000000..eeb586b
--- /dev/null
+++ b/additional/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C) 19yy
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/additional/e-smith-apache.spec b/additional/e-smith-apache.spec
new file mode 100755
index 0000000..c300f01
--- /dev/null
+++ b/additional/e-smith-apache.spec
@@ -0,0 +1,321 @@
+Summary: e-smith server and gateway - apache module
+%define name e-smith-apache
+Name: %{name}
+%define version 1.1.2
+%define release 01
+Version: %{version}
+Release: %{release}
+License: GPL
+Vendor: Mitel Networks Corporation
+Group: Networking/Daemons
+Source: %{name}-%{version}.tar.gz
+Packager: e-smith developers
+BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
+BuildArchitectures: noarch
+Requires: e-smith-base >= 4.15.1
+Requires: e-smith-daemontools >= 1.7.1-01
+Conflicts: e-smith-ibays < 1.0.2
+AutoReqProv: no
+BuildRequires: e-smith-devtools >= 1.11.0-12
+
+%description
+e-smith server and gateway software - apache module.
+
+%changelog
+* Wed Nov 17 2004 Mark Knox
+- [1.1.2-01]
+- Picking up new directory. MN00056429.
+
+* Wed Nov 17 2004 Mark Knox
+- [1.1.1-03]
+- Added empty ValidFrom defaults fragment [markk MN00056429]
+
+* Tue Nov 9 2004 Charlie Brady
+- [1.1.1-02]
+- Modify config and run script for compatibility with apache 2. Most of these
+ changes were contributed by Shad Lords. [charlieb MN00051144]
+
+* Mon Oct 4 2004 Charlie Brady
+- [1.1.1-01]
+- New development stream for apache 2 - 1.1.1
+
+* Fri Sep 3 2004 Charlie Brady
+- [1.1.0-23]
+- Clean BuildRequires. [charlieb MN00043055]
+
+* Tue Jul 13 2004 Michael Soulier
+- [1.1.0-22]
+- Updated modPerl templates to remove use of esmith::config.
+ [msoulier MN00039579]
+
+* Tue Jun 22 2004 Michael Soulier
+- [1.1.0-21]
+- Added RewriteCond statements to previous RewriteRules to exclude localhost,
+ so ssh port-forwarding is not broken. [msoulier MN00020885]
+
+* Fri Jun 18 2004 Tony Clayton
+- [1.1.0-20]
+- Fix LoadModule fragment from last patch [tonyc 11348]
+
+* Mon Jun 14 2004 Tony Clayton
+- [1.1.0-19]
+- Add modPerl service and httpd.conf templates [tonyc 11348]
+
+* Mon May 10 2004 Michael Soulier
+- [1.1.0-18]
+- Adding rewrite rules to prevent plaintext access to the server manager.
+ [msoulier MN00020885]
+
+* Thu May 6 2004 Michael Soulier
+- [1.1.0-17]
+- Added httpd-admin's remoteaccess list to permissible networks for
+ server-resources. [msoulier MN00024949]
+
+* Mon Feb 23 2004 Michael Soulier
+- [1.1.0-16]
+- Backing-out last change. [msoulier dpar-21489]
+
+* Mon Feb 23 2004 Michael Soulier
+- [1.1.0-15]
+- Added restart-httpd-graceful to domain-* events. [msoulier dpar-21489]
+
+* Wed Feb 18 2004 Michael Soulier
+- [1.1.0-14]
+- Updating requires to e-smith-daemontools. [msoulier 7629]
+
+* Wed Feb 18 2004 Michael Soulier
+- [1.1.0-13]
+- Updating restart-httpd-graceful to use new daemontools sigusr1 option.
+ [msoulier 7629]
+
+* Wed Jan 21 2004 Michael Soulier
+- [1.1.0-12]
+- Staggering the symlinks a little farther. [msoulier 9955]
+
+* Wed Jan 21 2004 Michael Soulier
+- [1.1.0-11]
+- Adding symlinks to the service-domain-create event for httpd restart.
+ [msoulier 9955]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-10]
+- Fixed another error in the specfile, resulting in incorrect file
+ permissions. [msoulier 7629]
+- Updated action scripts for supervise. [msoulier 7629]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-09]
+- Fixed an error in the specfile. [msoulier 7629]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-08]
+- Updated createlinks for daemontools. [msoulier 7629]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-07]
+- Putting httpd-e-smith under supervision. [msoulier 7629]
+
+* Thu Sep 18 2003 Michael Soulier
+- [1.1.0-06]
+- Added a null-string return value to the end of 00Setup, ensure no output
+ from that fragment. [msoulier 9803]
+
+* Wed Sep 3 2003 Charlie Brady
+- [1.1.0-05]
+- Use implementation class, not virtual class in VirtualHosts/00Setup fragment.
+ [charlieb 9803]
+
+* Wed Sep 3 2003 Michael Soulier
+- [1.1.0-04]
+- Added a 75AddType05.exe fragment to specify a proper mime-type for .exe
+ files. [msoulier 9866]
+
+* Fri Aug 29 2003 Charlie Brady
+- [1.1.0-03]
+- Allow TemplatePath property in domain record to specify an alternate template
+ subdir for virtual host content specification (e.g. to proxypass a domain).
+ [charlieb 8409]
+
+* Fri Aug 29 2003 Charlie Brady
+- [1.1.0-02]
+- Changed the VirtualHosts subtemplate to pass the domain object instead of db handle,
+ and modified VirtualHosts/00Setup fragment to convert it to the right class.
+ Fix scoping problem with the blessed object. [charlieb 9803]
+
+* Fri Aug 29 2003 Michael Soulier
+- [1.1.0-01]
+- rolling to dev stream - 1.1.0
+
+* Fri Aug 29 2003 Michael Soulier
+- [1.0.0-04]
+- Added a 00Setup fragment to VirtualHosts to process the %domainsdb hash back
+ into an esmith::DomainsDB object. [msoulier 9803]
+
+* Mon Aug 25 2003 Michael Soulier
+- [1.0.0-03]
+- Added a reference to the domains db in the extra data for processing the
+ VirtualHosts fragments. [msoulier 9803]
+
+* Fri Aug 1 2003 Michael Soulier
+- [1.0.0-02]
+- Fixed a precedence error that broke virtual hosts in apache.
+ [msoulier 9640]
+
+* Wed Jul 9 2003 Charlie Brady
+- [1.0.0-01]
+- Setting to release version number - 1.0.0
+
+* Wed Jul 9 2003 Michael Soulier
+- [0.2.0-04]
+- Fixed breakage in admin web server when a local network with a 32-bit subnet
+ mask is used. [msoulier 9259]
+
+* Thu Jul 3 2003 Charlie Brady
+- [0.2.0-03]
+- Fix log noise problem in expansion of httpd.conf template. [charlieb 9269]
+
+* Wed Jul 2 2003 Charlie Brady
+- [0.2.0-02]
+- List primary domain as first (default) virtual domain in apache config.
+ Include $SystemName.domain.name in ServerAlias directive. [charlieb 9241]
+
+* Thu Jun 26 2003 Charlie Brady
+- [0.2.0-01]
+- Changing version to stable stream number - 0.2.0
+
+* Thu Jun 12 2003 Gordon Rowell
+- [0.1.2-01]
+- Add order to migrate fragments [gordonr 9015]
+
+* Wed Jun 11 2003 Gordon Rowell
+- [0.1.1-02]
+- Fixed Conflicts header - should be <, not <= [gordonr 8903]
+
+* Fri Jun 6 2003 Gordon Rowell
+- [0.1.1-01]
+- Shuffled some httpd.conf fragments to e-smith-ibays [gordonr 8903]
+
+* Wed May 28 2003 Michael Soulier
+- [0.1.0-19]
+- Moving httpd-e-smith init script to e-smith-apache. [msoulier 8852]
+
+* Tue Apr 29 2003 Gordon Rowell
+- [0.1.0-18]
+- Do an explicit die if the httpd-e-smith record is missing from the
+ config db, rather than an implicit die due to an invalid object
+ reference [gordonr 8609]
+
+* Wed Apr 9 2003 Gordon Rowell
+- [0.1.0-17]
+- Relocated conf-httpd from e-smith-base [gordonr 8150]
+
+* Fri Apr 4 2003 Mark Knox
+- [0.1.0-16]
+- Moved restart-httpd-* actions from base [markk 5509]
+
+* Fri Apr 4 2003 Mark Knox
+- [0.1.0-15]
+- Moved db config fragments here from e-smith-base [markk 5509]
+
+* Tue Apr 1 2003 Gordon Rowell
+- [0.1.0-14]
+- Make /server-resources/ browsable from LAN [gordonr 6620]
+
+* Tue Apr 1 2003 Gordon Rowell
+- [0.1.0-13]
+- Delete Apache ReadmeName directive [gordonr 6313]
+
+* Tue Apr 1 2003 Gordon Rowell
+- [0.1.0-12]
+- Fixed broken conf-httpd-e-smith links in post-{install,upgrade} [gordonr 7960]
+
+* Tue Mar 18 2003 Lijie Deng
+- [0.1.0-11]
+- Deleted ./etc/httpd/conf/httpd.conf/template-begin
+ deleted ./etc/httpd/conf/srm.conf/template-begin
+ deleted ./etc/httpd/conf/access.conf/template-begin [lijied 3295]
+
+* Mon Mar 17 2003 Lijie Deng
+- [0.1.0-10]
+- Delete empty template-end file [lijied 3295]
+
+* Wed Mar 12 2003 Charlie Brady
+- [0.1.0-09]
+- Remove more references to primary and wwwpublic in favour
+ of the "Primary" i-bay. There is still some special case code,
+ which might go later if it turns out not to be needed.
+ [charlieb 5652]
+
+* Tue Mar 11 2003 Mark Knox
+- [0.1.0-08]
+- Fixed a missing quote in 27ManagerProxyPass [markk 7635]
+
+* Tue Mar 11 2003 Gordon Rowell
+- [0.1.0-07]
+- Pass externalSSLAccess and localAccess to VirtualDomains fragments so they don't
+ need to recalculate these values [gordonr 7635]
+- Use early return from 27ManagerProxyPass and new DB interface [gordonr 7635]
+
+* Mon Mar 10 2003 Charlie Brady
+- [0.1.0-06]
+- Remove special case handling for /home/e-smith/files/primary in Apache
+ configuration. Migrate code and db entries for wwwpublic to Public.
+ [charlieb 5652]
+
+* Fri Mar 7 2003 Charlie Brady
+- [0.1.0-05]
+- Replace deprecated CONFREF with MORE_DATA in processTemplate call in
+ VirtualHosts fragment of httpd.conf templates. Fixes template
+ expansion breakage (I'm not sure what broke it, but this fixes it.)
+ [charlieb]
+- Add default config db fragments to set type and status. Remove redundant
+ conf-httpd-e-smith script. [charlieb 1507]
+
+* Fri Jan 24 2003 Gordon Rowell
+- [0.1.0-04]
+- Move SSL initialisation to global context [gordonr 1432]
+
+* Fri Jan 24 2003 Gordon Rowell
+- [0.1.0-03]
+- Use default SSL certificate of $SystemName.$DomainName [gordonr 4874]
+
+* Wed Jan 8 2003 Mark Knox
+- [0.1.0-02]
+- Added conf-httpd-e-smith action linked to the same events as conf-startup
+ in e-smith-base [markk 6428]
+
+* Mon Jan 06 2003 Mark Knox
+- [0.1.0-01]
+- Initial release, split out from e-smith-base [markk 6428]
+
+%prep
+%setup
+
+%pre
+
+%post
+
+%build
+perl createlinks
+mkdir -p root/service
+ln -s /var/service/httpd-e-smith root/service/httpd-e-smith
+mkdir -p root/var/service/httpd-e-smith/supervise
+touch root/var/service/httpd-e-smith/down
+
+%install
+rm -rf $RPM_BUILD_ROOT
+(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
+
+/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
+ --dir /var/service/httpd-e-smith 'attr(01755,root,root)' \
+ --file /var/service/httpd-e-smith/down 'attr(0644,root,root)' \
+ --file /var/service/httpd-e-smith/run 'attr(0755,root,root)' \
+ > e-smith-%{version}-filelist
+
+echo "%doc COPYING" >> e-smith-%{version}-filelist
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files -f e-smith-%{version}-filelist
+%defattr(-,root,root)
diff --git a/contriborbase b/contriborbase
new file mode 100644
index 0000000..ef36a67
--- /dev/null
+++ b/contriborbase
@@ -0,0 +1 @@
+sme10
diff --git a/createlinks b/createlinks
new file mode 100755
index 0000000..2cf88a8
--- /dev/null
+++ b/createlinks
@@ -0,0 +1,187 @@
+#!/usr/bin/perl -w
+
+use esmith::Build::CreateLinks qw(:all);
+#--------------------------------------------------
+# actions for e-smith-apache-update
+#--------------------------------------------------
+my $event = "e-smith-apache-update";
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+event_link("systemd-reload", $event, "89");
+event_link("systemd-default", $event, "88");
+templates2events("/etc/logrotate.d/httpd", $event);
+
+#--------------------------------------------------
+# actions for console-save event
+#--------------------------------------------------
+my $event = "console-save";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for bootstrap-console-save event
+#--------------------------------------------------
+$event = "bootstrap-console-save";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+templates2events("/etc/logrotate.d/httpd", $event);
+
+#--------------------------------------------------
+# actions for domain-create event
+#--------------------------------------------------
+
+$event = "domain-create";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for domain-delete event
+#--------------------------------------------------
+
+$event = "domain-delete";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for domain-modify event
+#--------------------------------------------------
+
+$event = "domain-modify";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for host-create event
+#--------------------------------------------------
+
+$event = "host-create";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for host-delete event
+#--------------------------------------------------
+
+$event = "host-delete";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for host-modify event
+#--------------------------------------------------
+
+$event = "host-modify";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for ibay-create event
+#--------------------------------------------------
+
+$event = "ibay-create";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for ibay-delete event
+#--------------------------------------------------
+
+$event = "ibay-delete";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for ibay-modify event
+# (used after changing parameters for a single i-bay)
+#--------------------------------------------------
+
+$event = "ibay-modify";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for ibay-modify-servers event
+# (used after changing the group of several i-bays in sequence)
+#--------------------------------------------------
+
+$event = "ibay-modify-servers";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for network-create event
+#--------------------------------------------------
+
+$event = "network-create";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for network-delete event
+#--------------------------------------------------
+
+$event = "network-delete";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for remoteaccess-update event
+#--------------------------------------------------
+
+$event = "remoteaccess-update";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for email-update event
+#--------------------------------------------------
+
+$event = "email-update";
+
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for logrotate event
+#--------------------------------------------------
+
+$event = "logrotate";
+
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for ssl-update event
+#--------------------------------------------------
+
+$event = "ssl-update";
+templates2events("/etc/httpd/conf/httpd.conf", $event);
+safe_symlink("reload", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
+
+#--------------------------------------------------
+# actions for post-install event
+#--------------------------------------------------
+
+$event = "post-install";
+templates2events("/etc/logrotate.d/httpd", $event);
+
+#--------------------------------------------------
+# actions for post-upgrade event
+#--------------------------------------------------
+
+$event = "post-upgrade";
+templates2events("/etc/logrotate.d/httpd", $event);
+
diff --git a/e-smith-apache.spec b/e-smith-apache.spec
new file mode 100644
index 0000000..6cee958
--- /dev/null
+++ b/e-smith-apache.spec
@@ -0,0 +1,711 @@
+# $Id: e-smith-apache.spec,v 1.27 2022/10/07 09:04:44 terryfage Exp $
+
+Summary: e-smith server and gateway - apache module
+%define name e-smith-apache
+Name: %{name}
+%define version 2.6.0
+%define release 24
+Version: %{version}
+Release: %{release}%{?dist}
+License: GPL
+Group: Networking/Daemons
+Source: %{name}-%{version}.tar.xz
+
+BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
+BuildArchitectures: noarch
+Requires: e-smith-base >= 4.15.1
+Requires: e-smith-lib >= 1.15.1-19
+Requires: e-smith-daemontools >= 1.7.1-01
+Requires: mod_ssl
+Requires: mod_authnz_external
+Obsoletes: distcache <= 1.4.5
+Obsoletes: mod_auth_external
+Obsoletes: e-smith-proxypass
+Obsoletes: e-smith-apache-proxy
+# for the new httpd 2.4 syntax
+Conflicts: e-smith-ibays < 2.6.0-19
+Conflicts: smeserver-horde < 1.0.0-32
+Conflicts: smeserver-php < 3.0.0-43
+Conflicts: e-smith-proxy < 5.6.0-11
+Conflicts: e-smith-manager < 2.8.0-36
+AutoReqProv: no
+BuildRequires: e-smith-devtools >= 1.11.0-12
+
+%description
+e-smith server and gateway software - apache module.
+
+%prep
+%setup
+rm -rf root/var/service/ root/service/ root/etc/rc.d/init.d/httpd-e-smith
+
+%build
+perl createlinks
+
+%install
+rm -rf $RPM_BUILD_ROOT
+(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
+
+/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
+ --file /sbin/e-smith/systemd/httpd-e-smith-prepare 'attr(0554,root,root)' \
+ --dir /var/service/httpd-e-smith 'attr(01755,root,root)' \
+ --file /var/service/httpd-e-smith/down 'attr(0644,root,root)' \
+ --file /var/service/httpd-e-smith/run 'attr(0755,root,root)' \
+ > e-smith-%{version}-filelist
+
+echo "%doc COPYING" >> e-smith-%{version}-filelist
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files -f e-smith-%{version}-filelist
+%defattr(-,root,root)
+
+%pre
+# ease the transition between runit and systemd
+if [ $1 -gt 1 ] ; then
+ if [ -e /var/service/httpd-e-smith/run ] ; then
+ /usr/bin/sv d httpd-e-smith
+ fi
+fi
+
+%changelog
+* Wed Jul 12 2023 cvs2git.sh aka Brian Read 2.6.0-24.sme
+- Roll up patches and move to git repo [SME: 12338]
+
+* Wed Jul 12 2023 BogusDateBot
+- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
+ by assuming the date is correct and changing the weekday.
+
+* Fri Oct 07 2022 Zsolt Vasarhely 2.6.0-23.sme
+- Running reconfigure from server-manager hangs at S07rotate_logfiles [SME: 12207]
+
+* Mon Jul 25 2022 Jean-Philippe Pialasse 2.6.0-22.sme
+- reverting last change [SME: 9375]
+- add conflict on older ibays, php, horde, proxy, manager rpms
+
+* Sun Jul 24 2022 Jean-Philipe Pialasse 2.6.0-20.sme
+- removing mod_access_compat [SME: 9375]
+
+* Sat Apr 16 2022 Jean-Philippe Pialasse 2.6.0-19.sme
+- convert httpd 2.2 allow,deny to Require for 2.4 [SME: 9375]
+- use maxsize, not size [SME: 11867]
+
+* Fri Feb 18 2022 Jean-Philippe Pialasse 2.6.0-18.sme
+- use logrotate.d instead of event action [SME: 11867]
+ use size to force log rotate before normal delay
+
+* Mon Nov 15 2021 Jean-Philippe Pialasse 2.6.0-16.sme
+- add modules ldap authnz_ldap and proxy_wstunnel [SME: 11760]
+ previously provided by webapps-common
+
+* Thu Sep 16 2021 Jean-Philippe Pialasse 2.6.0-15.sme
+- fix httpd-e-smith failing to start on reboot in private server-gateway mode [SME: 11596]
+
+* Tue Mar 30 2021 Jean-Philippe Pialasse 2.6.0-14.sme
+- add possibility to force https on LAN only [SME: 11511]
+ usefull for VPN over port 443
+
+* Thu Dec 10 2020 Jean-Philipe Pialasse 2.6.0-13.sme
+- prevent httpd to fail if modSSL defined certs does not exist [SME: 10826]
+ default on self generated cert
+
+* Wed Dec 09 2020 Jean-Philipe Pialasse 2.6.0-12.sme
+- create-update event [SME: 11123]
+- move httpd-e-smith to systemd [SME: 11111]
+ changed sigusr1 used in events to reload as defined in the unit file
+- give a logger to httpd-e-smith : journald [SME: 1416]
+
+* Sat Jun 27 2020 Jean-Philipe Pialasse 2.6.0-11.sme
+- set default SSLStrictSNIVHostCheck to off [SME: 8693]
+
+* Sat Jun 27 2020 Jean-Philipe Pialasse 2.6.0-10.sme
+- add SNI support for individual certificates per VirtualHosts [SME: 8693]
+
+* Sat Jun 27 2020 Jean-Philipe Pialasse 2.6.0-9.sme
+- port 80 and 443 should not be hardcoded [SME: 9192]
+- e-smith-apache removing hardcoded ports [SME: 10966]
+
+* Tue Jun 23 2020 Jean-Philipe Pialasse 2.6.0-8.sme
+- remove php3 and php4 refs [SME: 10867]
+
+* Fri May 01 2020 Jean-Philipe Pialasse 2.6.0-7.sme
+- disable TLSv1 TLSv1.1 by default [SME: 10459]
+ * put strong ciphers first in default string
+ * cipher order and properties with periods
+
+* Fri May 01 2020 Jean-Philipe Pialasse 2.6.0-4.sme
+- add SSLHonorCipherOrder Directive [SME: 10916]
+
+* Tue Dec 10 2019 Jean-Philipe Pialasse 2.6.0-3.sme
+- update apache icon path [SME: 9591]
+
+* Wed Mar 23 2016 Jean-Philipe Pialasse 2.6.0-2.sme
+- fix syntax preventing httpd to launch [SME: 9364]
+- moved changelog at end of file
+
+* Thu Feb 4 2016 Daniel Berteaud 2.6.0-1.sme
+- Roll new stream for sme10
+
+* Sun Jan 17 2016 Daniel Berteaud 2.4.0-15.sme
+- Hook into the new ssl-update event [SME: 9152]
+
+* Thu Jan 7 2016 Daniel Berteaud 2.4.0-14.sme
+- Set TLSv1 back to enabled (but keep a prop to disable it if needed) [SME: 9154]
+
+* Wed Jan 6 2016 Daniel Berteaud 2.4.0-13.sme
+- Disable TLSv1 [SME: 9154]
+
+* Tue Dec 9 2014 Daniel Berteaud 2.4.0-12.sme
+- Disable SSLv3 [SME: 8722]
+
+* Fri Oct 31 2014 Daniel Berteaud 2.4.0-11.sme
+- Revert CRIME mitigation patch, as it's not needed [SME: 8613]
+
+* Fri Oct 24 2014 Daniel Berteaud 2.4.0-10.sme
+- Mitigate CVE-2012-4929 [SME: 8613]
+
+* Tue Jul 29 2014 Daniel Berteaud 2.4.0-9.sme
+- Turn SSLEngine on in the SSL vhost (ProxyPassVirtualHosts) [SME: 8501]
+
+* Tue Jan 28 2014 Ian Wells 2.4.0-8.sme
+- Remove insecure ciphers [SME: 8138]
+
+* Mon Oct 07 2013 John H. Bennett III 2.4.0-7.sme
+- Re-do patch to add missing default httpd.conf modules [SME: 7874]
+- Add authz_groupfile as a loadable Module [SME: 7875]
+
+* Fri Oct 04 2013 John H. Bennett III 2.4.0-6.sme
+- Patch to add missing default httpd.conf modules [SME: 7874]
+
+* Mon Sep 30 2013 John H. Bennett III 2.4.0-5.sme
+- Patch to correct issue with not being able to access a password protected ibay [SME: 7794]
+
+* Mon Mar 11 2013 Shad L. Lords 2.4.0-4.sme
+- Obsolete el5 version of distcache [SME: 7273]
+
+* Wed Mar 6 2013 Shad L. Lords 2.4.0-3.sme
+- Obsolete mod_auth_external and require mod_authnz_external [SME: 7319]
+- Change the way module is loaded and initialized
+
+* Mon Feb 18 2013 Daniel Berteaud 2.4.0-2.sme
+- Add missing dependency on mod_ssl [SME: 7234]
+
+* Wed Feb 13 2013 Shad L. Lords 2.4.0-1.sme
+- Roll new stream for sme9
+
+* Fri Jun 29 2012 Ian Wells 2.2.0-9.sme
+- Disable index listing of Apache icons folder [SME: 7015]
+
+* Fri Dec 23 2011 Jonathan Martens 2.2.0-8.sme
+- Fix server-resources redirect w/o trailing slash [SME: 6758]
+
+* Sat Mar 12 2011 Jonathan Martens 2.2.0-7.sme
+- Disable SSLv2 by default [SME: 6482]
+
+* Sun Apr 26 2009 Jonathan Martens 2.2.0-6.sme
+- Add option to disable SSLv2 [SME: 5034]
+
+* Sat Mar 28 2009 Jonathan Martens 2.2.0-5.sme
+- Add OpenOffice2 MIME Types [SME: 5112]
+
+* Sat Mar 7 2009 Jonathan Martens 2.2.0-4.sme
+- Add OpenOffice MIME Types [SME: 4848]
+- Add XML MIME Type [SME: 5035]
+
+* Thu Dec 11 2008 Jonathan Martens 2.2.0-3.sme
+- Fix issues in patch that adds Microsoft Office 2007 MIME types [SME: 4548]
+
+* Tue Dec 2 2008 Jonathan Martens 2.2.0-2.sme
+- Add Microsoft Office 2007 MIME types [SME: 4548]
+
+* Tue Oct 7 2008 Shad L. Lords 2.2.0-1.sme
+- Roll new stream to separate sme7/sme8 trees [SME: 4633]
+
+* Tue Oct 23 2007 Filippo Carletti 1.2.0-16
+- Add SSL support to ProxyPass. [SME: 3481]
+
+* Tue Sep 11 2007 Gavin Weight 1.2.0-15
+- Create/Move httpd logrotate.d directory. [SME: 3380]
+
+* Tue Sep 11 2007 Gavin Weight 1.2.0-14
+- Rename apache to httpd in templates2expand. [SME: 3380]
+
+* Wed Jun 6 2007 Shad L. Lords 1.2.0-13
+- Fix patch to exclude hosts if domains exist [SME: 2307]
+
+* Fri May 18 2007 Shad L. Lords 1.2.0-12
+- Use correct lib for modules
+
+* Sun Apr 29 2007 Shad L. Lords
+- Clean up spec so package can be built by koji/plague
+
+* Fri Feb 23 2007 Shad L. Lords 1.2.0-11
+- Fix patch so template expands [SME: 2307]
+
+* Fri Feb 23 2007 Shad L. Lords 1.2.0-10
+- Don't include host if domain exists [SME: 2307]
+
+* Tue Feb 13 2007 Charlie Brady 1.2.0-9
+- Gracefully handle differences in module names between apache
+ versions. [SME: 2471]
+- Add logrotate changes which should have been in 1.2.0-7 (patch
+ was provided but not applied).
+
+* Sat Jan 27 2007 Shad L. Lords 1.2.0-8
+- Remove proxypass fragment (now in e-smith-manager)
+
+* Sat Jan 27 2007 Shad L. Lords 1.2.0-8
+- Remove proxypass fragment (now in e-smith-manager)
+
+* Fri Jan 19 2007 Gordon Rowell 1.2.0-7
+- Move logrotate fragments from e-smith-base.
+
+* Thu Dec 21 2006 Gordon Rowell 1.2.0-6
+- Add support for optional modSSL{CertificateChainFile} [SME: 1779]
+
+* Thu Dec 07 2006 Shad L. Lords
+- Update to new release naming. No functional changes.
+- Make Packager generic
+
+* Wed Nov 29 2006 Gordon Rowell 1.2.0-04
+- Revert last change [SME: 2109]
+- TODO: Split dev stream for that change
+- Add Conflicts for latest e-smith-manager dev stream
+
+* Wed Nov 08 2006 Charlie Brady 1.2.0-03
+- Remove manager proxy pass fragment - moved to e-smith-manager.
+
+* Sat Jul 15 2006 Charlie Brady 1.2.0-02
+- Add ProxyPassReverse directives to allow redirects to work for proxy-
+ passed virtual domains. Also proxy pass https to https. [SME: 1735]
+
+* Tue Mar 14 2006 Charlie Brady 1.2.0-01
+- Roll stable stream version. [SME: 1016]
+
+* Mon Mar 13 2006 Charlie Brady 1.1.2-37
+- Fix lookup of 'httpd' props in a few templates. Service name is
+ httpd-e-smith. [SME: 1029]
+
+* Fri Feb 10 2006 Gordon Rowell 1.1.2-36
+- Deny access to files starting with .ht typically
+ .htaccess and .htpasswd [SME: 716]
+
+* Tue Jan 31 2006 Gavin Weight 1.1.2-35
+- Change modPerl from enabled to disabled [SME: 575]
+
+* Fri Jan 6 2006 Gordon Rowell 1.1.2-34
+- Add SVG filetype [SME: 374]
+
+* Thu Dec 15 2005 Gordon Rowell 1.1.2-33
+- And relocate the modSSL{CipherSuite} default to e-smith-base with
+ the other modSSL defaults [SME: 194]
+
+* Thu Dec 15 2005 Gordon Rowell 1.1.2-32
+- Change default CipherSuite [SME: 194]
+ Was: ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv2:-EXP
+ Is: ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
+
+* Thu Dec 15 2005 Gordon Rowell 1.1.2-31
+- Moved SSL CipherSuite into db default - modSSL{CipherSuite} [SME: 194]
+
+* Thu Dec 15 2005 Gordon Rowell 1.1.2-30
+- Remove inode from FileETag response [SME: 198]
+
+* Wed Dec 14 2005 Gordon Rowell 1.1.2-29
+- Use literal HERE document to ensure braces in TRACE/TRACK rewrite [SME: 196]
+
+* Wed Dec 14 2005 Gordon Rowell 1.1.2-28
+- Add type for XSL stylesheet (.xsl) files [SME: 76]
+
+* Wed Nov 30 2005 Gordon Rowell 1.1.2-27
+- Bump release number only
+
+* Wed Aug 17 2005 Charlie Brady
+- [1.1.2-26]
+- Add content from e-smith-apache-proxy, to enable apache to
+ also operate as a non-caching proxy server. Add Obsoletes:
+ header to ensure e-smith-apache-proxy RPM is removed on
+ upgrade.
+
+* Tue Aug 9 2005 Shad Lords
+- [1.1.2-25]
+- Add directive for icons directory
+- Fix newlines left on end of icons template
+- Update server aliases to reference all local hosts [SF: 1246172]
+
+* Wed Aug 3 2005 Shad Lords
+- [1.1.2-24]
+- Fix Rewrite rule to include trailing stuff
+
+* Wed Aug 3 2005 Shad Lords
+- [1.1.2-23]
+- Update ProxyPass to use httpd-admin{TCPPort} [SF: 1246986]
+
+* Wed Jul 27 2005 Charlie Brady
+- [1.1.2-22]
+- Disable HTTP TRACK and TRACE in each VirtualDomain (patch by Gordon
+ Rowell, with some further work by Shad Lords). [SF: 1240658]
+
+* Wed Jul 27 2005 Gordon Rowell
+- [1.1.2-21]
+- Disable all low grade ciphers for SSL. [SF: 1240654]
+
+* Tue Jul 19 2005 Charlie Brady
+- [1.1.2-20]
+- Don't load userdir module by default. It's not used, and causes
+ Nessus to complain. [SF: 1240657]
+
+* Mon Jul 18 2005 Charlie Brady
+- [1.1.2-19]
+- Patch from Shad: update rewrite and ProxyPass stuff for manager URLs.
+ [SF: 1172203]
+
+* Mon Jul 18 2005 Charlie Brady
+- [1.1.2-18]
+- Add GPL COPYING file.
+
+* Mon Jul 18 2005 Charlie Brady
+- [1.1.2-17]
+- Clean up apache templates to use current DB interfaces.
+- Make sure the single host ValidFrom specs for proxypass doesn't
+ upset apache.
+
+* Tue Jun 21 2005 Charlie Brady
+- [1.1.2-16]
+- Make sure that DocumentRoot directory exists - latest apache2
+ will not start up if not.
+
+* Fri Jun 17 2005 Charlie Brady
+- [1.1.2-15]
+- Do graceful restart of apache in domain-*, in case domain->ibay
+ assignments have changed. [SF: 1222433]
+
+* Wed Jun 8 2005 Charlie Brady
+- [1.1.2-14]
+- Add rewrite fragment for httpd.conf to disable TRACE and TRACK
+ requests.
+
+* Fri May 27 2005 Charlie Brady
+- [1.1.2-13]
+- Add support for TemplatePath => ProxyPassVirtualHost entries
+ in domains db.
+
+* Fri May 27 2005 Charlie Brady
+- [1.1.2-12]
+- Bring ProxyPass fragment up to latest e-smith-lib APIs.
+
+* Fri May 27 2005 Charlie Brady
+- [1.1.2-11]
+- Remove ProxyPass support for various deprecated URIs. [SF: 1172203]
+- Add content of e-smith-proxypass RPM. Add Obsoletes: header.
+
+* Wed Mar 30 2005 Charlie Brady
+- [1.1.2-10]
+- Add default TCPPort property to httpd-e-smith, so that correct
+ hole is punched in firewall.
+
+* Mon Mar 21 2005 Charlie Brady
+- [1.1.2-09]
+- Remove mangling of syslog and apache log filenames - just
+ retargeting the symlinks has the same effect. [MN00064132]
+
+* Sun Mar 20 2005 Charlie Brady
+- [1.1.2-08]
+- Remove logrotate-httpd which is obsoleted by generic_template_expand.
+
+* Wed Mar 16 2005 Charlie Brady
+- [1.1.2-07]
+- Fix dangling symlink in ibay-create. [MN00065576]
+
+* Mon Mar 14 2005 Charlie Brady
+- [1.1.2-06]
+- Use generic_template_expand action where possible, in place
+ of specific actions. Update e-smith-lib dependency. [MN00064130]
+- Replace all restart-* and most reload-* actions with calls to 'adjust-services'.
+ Update e-smith-lib version dependency. [MN00065576]
+
+* Tue Feb 22 2005 Charlie Brady
+- [1.1.2-05]
+- Don't attempt to configure httpd.conf in post-install and post-upgrade.
+ [MN00065717]
+
+* Tue Jan 25 2005 Charlie Brady
+- [1.1.2-04]
+- Remove stray ServiceLink sylinks. [MN00064757]
+
+* Tue Dec 28 2004 Charlie Brady
+- [1.1.2-03]
+- Add "chpst -P" to httpd-e-smith run script, to protect runsv/supervise
+ from term signals (wrongly) relayed by apache. [charlieb MN00051144]
+
+* Fri Dec 24 2004 Charlie Brady
+- [1.1.2-02]
+- Remove ValidFrom defaults fragment for httpd-admin - as it duplicates
+ one in e-smith-base. [MN00062533]
+
+* Wed Nov 17 2004 Mark Knox
+- [1.1.2-01]
+- Picking up new directory. MN00056429.
+
+* Wed Nov 17 2004 Mark Knox
+- [1.1.1-03]
+- Added empty ValidFrom defaults fragment [markk MN00056429]
+
+* Tue Nov 9 2004 Charlie Brady
+- [1.1.1-02]
+- Modify config and run script for compatibility with apache 2. Most of these
+ changes were contributed by Shad Lords. [charlieb MN00051144]
+
+* Mon Oct 4 2004 Charlie Brady
+- [1.1.1-01]
+- New development stream for apache 2 - 1.1.1
+
+* Fri Sep 3 2004 Charlie Brady
+- [1.1.0-23]
+- Clean BuildRequires. [charlieb MN00043055]
+
+* Tue Jul 13 2004 Michael Soulier
+- [1.1.0-22]
+- Updated modPerl templates to remove use of esmith::config.
+ [msoulier MN00039579]
+
+* Tue Jun 22 2004 Michael Soulier
+- [1.1.0-21]
+- Added RewriteCond statements to previous RewriteRules to exclude localhost,
+ so ssh port-forwarding is not broken. [msoulier MN00020885]
+
+* Fri Jun 18 2004 Tony Clayton
+- [1.1.0-20]
+- Fix LoadModule fragment from last patch [tonyc 11348]
+
+* Mon Jun 14 2004 Tony Clayton
+- [1.1.0-19]
+- Add modPerl service and httpd.conf templates [tonyc 11348]
+
+* Mon May 10 2004 Michael Soulier
+- [1.1.0-18]
+- Adding rewrite rules to prevent plaintext access to the server manager.
+ [msoulier MN00020885]
+
+* Thu May 6 2004 Michael Soulier
+- [1.1.0-17]
+- Added httpd-admin's remoteaccess list to permissible networks for
+ server-resources. [msoulier MN00024949]
+
+* Mon Feb 23 2004 Michael Soulier
+- [1.1.0-16]
+- Backing-out last change. [msoulier dpar-21489]
+
+* Mon Feb 23 2004 Michael Soulier
+- [1.1.0-15]
+- Added restart-httpd-graceful to domain-* events. [msoulier dpar-21489]
+
+* Wed Feb 18 2004 Michael Soulier
+- [1.1.0-14]
+- Updating requires to e-smith-daemontools. [msoulier 7629]
+
+* Wed Feb 18 2004 Michael Soulier
+- [1.1.0-13]
+- Updating restart-httpd-graceful to use new daemontools sigusr1 option.
+ [msoulier 7629]
+
+* Wed Jan 21 2004 Michael Soulier
+- [1.1.0-12]
+- Staggering the symlinks a little farther. [msoulier 9955]
+
+* Wed Jan 21 2004 Michael Soulier
+- [1.1.0-11]
+- Adding symlinks to the service-domain-create event for httpd restart.
+ [msoulier 9955]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-10]
+- Fixed another error in the specfile, resulting in incorrect file
+ permissions. [msoulier 7629]
+- Updated action scripts for supervise. [msoulier 7629]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-09]
+- Fixed an error in the specfile. [msoulier 7629]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-08]
+- Updated createlinks for daemontools. [msoulier 7629]
+
+* Tue Dec 9 2003 Michael Soulier
+- [1.1.0-07]
+- Putting httpd-e-smith under supervision. [msoulier 7629]
+
+* Thu Sep 18 2003 Michael Soulier
+- [1.1.0-06]
+- Added a null-string return value to the end of 00Setup, ensure no output
+ from that fragment. [msoulier 9803]
+
+* Wed Sep 3 2003 Charlie Brady
+- [1.1.0-05]
+- Use implementation class, not virtual class in VirtualHosts/00Setup fragment.
+ [charlieb 9803]
+
+* Wed Sep 3 2003 Michael Soulier
+- [1.1.0-04]
+- Added a 75AddType05.exe fragment to specify a proper mime-type for .exe
+ files. [msoulier 9866]
+
+* Fri Aug 29 2003 Charlie Brady
+- [1.1.0-03]
+- Allow TemplatePath property in domain record to specify an alternate template
+ subdir for virtual host content specification (e.g. to proxypass a domain).
+ [charlieb 8409]
+
+* Fri Aug 29 2003 Charlie Brady
+- [1.1.0-02]
+- Changed the VirtualHosts subtemplate to pass the domain object instead of db handle,
+ and modified VirtualHosts/00Setup fragment to convert it to the right class.
+ Fix scoping problem with the blessed object. [charlieb 9803]
+
+* Fri Aug 29 2003 Michael Soulier
+- [1.1.0-01]
+- rolling to dev stream - 1.1.0
+
+* Fri Aug 29 2003 Michael Soulier
+- [1.0.0-04]
+- Added a 00Setup fragment to VirtualHosts to process the %domainsdb hash back
+ into an esmith::DomainsDB object. [msoulier 9803]
+
+* Mon Aug 25 2003 Michael Soulier
+- [1.0.0-03]
+- Added a reference to the domains db in the extra data for processing the
+ VirtualHosts fragments. [msoulier 9803]
+
+* Fri Aug 1 2003 Michael Soulier
+- [1.0.0-02]
+- Fixed a precedence error that broke virtual hosts in apache.
+ [msoulier 9640]
+
+* Wed Jul 9 2003 Charlie Brady
+- [1.0.0-01]
+- Setting to release version number - 1.0.0
+
+* Wed Jul 9 2003 Michael Soulier
+- [0.2.0-04]
+- Fixed breakage in admin web server when a local network with a 32-bit subnet
+ mask is used. [msoulier 9259]
+
+* Thu Jul 3 2003 Charlie Brady
+- [0.2.0-03]
+- Fix log noise problem in expansion of httpd.conf template. [charlieb 9269]
+
+* Wed Jul 2 2003 Charlie Brady
+- [0.2.0-02]
+- List primary domain as first (default) virtual domain in apache config.
+ Include $SystemName.domain.name in ServerAlias directive. [charlieb 9241]
+
+* Thu Jun 26 2003 Charlie Brady
+- [0.2.0-01]
+- Changing version to stable stream number - 0.2.0
+
+* Thu Jun 12 2003 Gordon Rowell
+- [0.1.2-01]
+- Add order to migrate fragments [gordonr 9015]
+
+* Wed Jun 11 2003 Gordon Rowell
+- [0.1.1-02]
+- Fixed Conflicts header - should be <, not <= [gordonr 8903]
+
+* Fri Jun 6 2003 Gordon Rowell
+- [0.1.1-01]
+- Shuffled some httpd.conf fragments to e-smith-ibays [gordonr 8903]
+
+* Wed May 28 2003 Michael Soulier
+- [0.1.0-19]
+- Moving httpd-e-smith init script to e-smith-apache. [msoulier 8852]
+
+* Tue Apr 29 2003 Gordon Rowell
+- [0.1.0-18]
+- Do an explicit die if the httpd-e-smith record is missing from the
+ config db, rather than an implicit die due to an invalid object
+ reference [gordonr 8609]
+
+* Wed Apr 9 2003 Gordon Rowell
+- [0.1.0-17]
+- Relocated conf-httpd from e-smith-base [gordonr 8150]
+
+* Fri Apr 4 2003 Mark Knox
+- [0.1.0-16]
+- Moved restart-httpd-* actions from base [markk 5509]
+
+* Fri Apr 4 2003 Mark Knox
+- [0.1.0-15]
+- Moved db config fragments here from e-smith-base [markk 5509]
+
+* Tue Apr 1 2003 Gordon Rowell
+- [0.1.0-14]
+- Make /server-resources/ browsable from LAN [gordonr 6620]
+
+* Tue Apr 1 2003 Gordon Rowell
+- [0.1.0-13]
+- Delete Apache ReadmeName directive [gordonr 6313]
+
+* Tue Apr 1 2003 Gordon Rowell
+- [0.1.0-12]
+- Fixed broken conf-httpd-e-smith links in post-{install,upgrade} [gordonr 7960]
+
+* Tue Mar 18 2003 Lijie Deng
+- [0.1.0-11]
+- Deleted ./etc/httpd/conf/httpd.conf/template-begin
+ deleted ./etc/httpd/conf/srm.conf/template-begin
+ deleted ./etc/httpd/conf/access.conf/template-begin [lijied 3295]
+
+* Mon Mar 17 2003 Lijie Deng
+- [0.1.0-10]
+- Delete empty template-end file [lijied 3295]
+
+* Wed Mar 12 2003 Charlie Brady
+- [0.1.0-09]
+- Remove more references to primary and wwwpublic in favour
+ of the "Primary" i-bay. There is still some special case code,
+ which might go later if it turns out not to be needed.
+ [charlieb 5652]
+
+* Tue Mar 11 2003 Mark Knox
+- [0.1.0-08]
+- Fixed a missing quote in 27ManagerProxyPass [markk 7635]
+
+* Tue Mar 11 2003 Gordon Rowell
+- [0.1.0-07]
+- Pass externalSSLAccess and localAccess to VirtualDomains fragments so they don't
+ need to recalculate these values [gordonr 7635]
+- Use early return from 27ManagerProxyPass and new DB interface [gordonr 7635]
+
+* Mon Mar 10 2003 Charlie Brady
+- [0.1.0-06]
+- Remove special case handling for /home/e-smith/files/primary in Apache
+ configuration. Migrate code and db entries for wwwpublic to Public.
+ [charlieb 5652]
+
+* Fri Mar 7 2003 Charlie Brady
+- [0.1.0-05]
+- Replace deprecated CONFREF with MORE_DATA in processTemplate call in
+ VirtualHosts fragment of httpd.conf templates. Fixes template
+ expansion breakage (I'm not sure what broke it, but this fixes it.)
+ [charlieb]
+- Add default config db fragments to set type and status. Remove redundant
+ conf-httpd-e-smith script. [charlieb 1507]
+
+* Fri Jan 24 2003 Gordon Rowell
+- [0.1.0-04]
+- Move SSL initialisation to global context [gordonr 1432]
+
+* Fri Jan 24 2003 Gordon Rowell
+- [0.1.0-03]
+- Use default SSL certificate of $SystemName.$DomainName [gordonr 4874]
+
+* Wed Jan 8 2003 Mark Knox
+- [0.1.0-02]
+- Added conf-httpd-e-smith action linked to the same events as conf-startup
+ in e-smith-base [markk 6428]
+
+* Mon Jan 06 2003 Mark Knox
+- [0.1.0-01]
+- Initial release, split out from e-smith-base [markk 6428]
+
diff --git a/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/SSLv2 b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/SSLv2
new file mode 100644
index 0000000..7a68b11
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/SSLv2
@@ -0,0 +1 @@
+disabled
diff --git a/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/SSLv3 b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/SSLv3
new file mode 100644
index 0000000..7a68b11
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/SSLv3
@@ -0,0 +1 @@
+disabled
diff --git a/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/TCPPort b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/TCPPort
new file mode 100644
index 0000000..d15a2cc
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/TCPPort
@@ -0,0 +1 @@
+80
diff --git a/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/access b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/access
new file mode 100644
index 0000000..a48cf0d
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/access
@@ -0,0 +1 @@
+public
diff --git a/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/status b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/status
new file mode 100644
index 0000000..86981e6
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/status
@@ -0,0 +1 @@
+enabled
diff --git a/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/type b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/type
new file mode 100644
index 0000000..24e1098
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/httpd-e-smith/type
@@ -0,0 +1 @@
+service
diff --git a/root/etc/e-smith/db/configuration/defaults/modPerl/status b/root/etc/e-smith/db/configuration/defaults/modPerl/status
new file mode 100644
index 0000000..7a68b11
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/modPerl/status
@@ -0,0 +1 @@
+disabled
diff --git a/root/etc/e-smith/db/configuration/defaults/modPerl/type b/root/etc/e-smith/db/configuration/defaults/modPerl/type
new file mode 100644
index 0000000..24e1098
--- /dev/null
+++ b/root/etc/e-smith/db/configuration/defaults/modPerl/type
@@ -0,0 +1 @@
+service
diff --git a/root/etc/e-smith/db/domains/migrate/10DomainContent b/root/etc/e-smith/db/domains/migrate/10DomainContent
new file mode 100644
index 0000000..78a38f2
--- /dev/null
+++ b/root/etc/e-smith/db/domains/migrate/10DomainContent
@@ -0,0 +1,7 @@
+{
+ # Deprecate 'wwwpublic' special case, and migrate to i-bay 'Primary'
+ foreach my $domain ($DB->get_all_by_prop('Content' => 'wwwpublic'))
+ {
+ $domain->merge_props('Content' => 'Primary');
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/01localAccessString b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/01localAccessString
new file mode 100644
index 0000000..a8c307f
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/01localAccessString
@@ -0,0 +1,13 @@
+{
+ #------------------------------------------------------------
+ # Compute "localAccess" string for use in template below.
+ #------------------------------------------------------------
+ use esmith::NetworksDB;
+
+ my $ndb = esmith::NetworksDB->open_ro();
+
+ $localAccess = $ndb->local_access_spec();
+ $localAccess =~ s#/255\.255\.255\.255##g;
+
+ "";
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/02externalSSLAccessString b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/02externalSSLAccessString
new file mode 100644
index 0000000..40a5ae1
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/02externalSSLAccessString
@@ -0,0 +1,17 @@
+{
+ #---------------------------------------------------------------------
+ # Grab ValidFrom access list property of httpd-admin
+ # SSL enabled virtual hosts should only allow access from IP's in
+ # this list, as well as local networks.
+ #---------------------------------------------------------------------
+
+ $externalSSLAccess = '';
+ $OUT = '';
+
+ my $validFrom = ${'httpd-admin'}{'ValidFrom'};
+ return unless defined $validFrom;
+
+ $validFrom =~ s/,/ /g;
+ $validFrom =~ s:/255.255.255.255::g;
+ $externalSSLAccess = $validFrom;
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/03TCPPorts b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/03TCPPorts
new file mode 100644
index 0000000..0e8e06a
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/03TCPPorts
@@ -0,0 +1,5 @@
+{
+ $httpPort = ${'httpd-e-smith'}{TCPPort} || 80;
+ $httpsPort = $modSSL{TCCPort} || 443;
+ "";
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05NoHostLookups b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05NoHostLookups
new file mode 100644
index 0000000..955cdd2
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05NoHostLookups
@@ -0,0 +1,7 @@
+# HostnameLookups: Log the names of clients or just their IP numbers
+# e.g. www.apache.org (on) or 204.62.129.132 (off)
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on.
+
+HostnameLookups { ${'httpd-e-smith'}{HostnameLookups} || 'off'; }
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerAdmin b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerAdmin
new file mode 100644
index 0000000..8d28d29
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerAdmin
@@ -0,0 +1,5 @@
+# ServerAdmin: Your address, where problems with the server should be
+# e-mailed.
+
+ServerAdmin admin@{ $DomainName }
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerRoot b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerRoot
new file mode 100644
index 0000000..1aa35a0
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerRoot
@@ -0,0 +1,8 @@
+# ServerRoot: The directory the server's config, error, and log files
+# are kept in.
+# NOTE! If you intend to place this on a NFS (or otherwise network)
+# mounted filesystem then please read the LockFile documentation,
+# you will save yourself a lot of trouble.
+
+ServerRoot /etc/httpd
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerTokens b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerTokens
new file mode 100644
index 0000000..284663c
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05ServerTokens
@@ -0,0 +1,2 @@
+ServerTokens { ${'httpd-e-smith'}{ServerTokens} || 'ProductOnly'; }
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05UserGroup b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05UserGroup
new file mode 100644
index 0000000..4ae65f6
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/05UserGroup
@@ -0,0 +1,14 @@
+# If you wish httpd to run as a different user or group, you must run
+# httpd as root initially and it will switch.
+
+# User/Group: The name (or #number) of the user/group to run httpd as.
+# On SCO (ODT 3) use User nouser and Group nogroup
+# On HPUX you may not be able to use shared memory as nobody, and the
+# suggested workaround is to create a user www and use that user.
+# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
+# when the value of (unsigned)Group is above 60000;
+# don't use Group nobody on these systems!
+
+User www
+Group www
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/10ErrorLog b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/10ErrorLog
new file mode 100644
index 0000000..a9ea73d
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/10ErrorLog
@@ -0,0 +1,11 @@
+# ErrorLog: The location of the error log file. If this does not start
+# with /, ServerRoot is prepended to it.
+
+ErrorLog /var/log/httpd/error_log
+
+# LogLevel: Control the number of messages logged to the error_log.
+# Possible values include: debug, info, notice, warn, error, crit,
+# alert, emerg.
+
+LogLevel warn
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/15DSOstart b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/15DSOstart
new file mode 100644
index 0000000..1ea4b43
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/15DSOstart
@@ -0,0 +1,15 @@
+# Dynamic Shared Object (DSO) Support
+#
+# To be able to use the functionality of a module which was built as a DSO you
+# have to place corresponding `LoadModule' lines at this location so the
+# directives contained in it are actually available _before_ they are used.
+# Please read the file README.DSO in the Apache 1.3 distribution for more
+# details about the DSO mechanism and run `httpd -l' for the list of already
+# built-in (statically linked and thus always available) modules in your httpd
+# binary.
+#
+# Example:
+# LoadModule foo_module libexec/mod_foo.so
+#
+# Documentation for modules is in "/home/httpd/manual/mod" in HTML format.
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule00
new file mode 100644
index 0000000..b740513
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule00
@@ -0,0 +1,14 @@
+{
+ sub load_modules {
+ my @list = @_;
+ my $out = '';
+ foreach (@list)
+ {
+ next unless -f "/usr/lib/httpd/modules/mod_${_}.so" ||
+ -f "/usr/lib64/httpd/modules/mod_${_}.so";
+ $out .= "LoadModule ${_}_module modules/mod_${_}.so\n";
+ }
+ return $out;
+ }
+ '';
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule10 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule10
new file mode 100644
index 0000000..f1326a6
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule10
@@ -0,0 +1,3 @@
+{
+ $OUT .= load_modules(qw(env log_config));
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule15 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule15
new file mode 100644
index 0000000..8c75d92
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule15
@@ -0,0 +1,3 @@
+# notify for systemd
+LoadModule systemd_module modules/mod_systemd.so
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule30 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule30
new file mode 100644
index 0000000..b9d25c6
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule30
@@ -0,0 +1,16 @@
+{
+ $OUT .= load_modules(qw(
+ mime
+ negotiation
+ status
+ info
+ include
+ autoindex
+ dir
+ cgi
+ asis
+ imap
+ imagemap
+ actions
+ ));
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule50 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule50
new file mode 100644
index 0000000..82b649e
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule50
@@ -0,0 +1,23 @@
+{
+ $OUT .= load_modules(qw(
+ proxy
+ proxy_http
+ alias
+ rewrite
+ authn_core
+ authz_core
+ authz_host
+ authz_user
+ authn_file
+ authn_anon
+ auth_digest
+ auth_basic
+ authz_groupfile
+ authnz_ldap
+ ldap
+ proxy_wstunnel
+ mpm_prefork
+ socache_dbm
+ unixd
+ ));
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule60 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule60
new file mode 100644
index 0000000..ca11132
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule60
@@ -0,0 +1,7 @@
+{
+
+ $OUT .= load_modules(qw(
+ access_compat
+ ));
+}
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule70 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule70
new file mode 100644
index 0000000..7c13b53
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule70
@@ -0,0 +1,8 @@
+{
+ $OUT .= load_modules(qw(
+ expires
+ headers
+ usertrack
+ setenvif
+ ));
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80
new file mode 100644
index 0000000..9df3c0f
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80
@@ -0,0 +1,4 @@
+
+# Extra Modules
+LoadModule authnz_external_module modules/mod_authnz_external.so
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80mod_perl b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80mod_perl
new file mode 100644
index 0000000..6038419
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80mod_perl
@@ -0,0 +1,7 @@
+{
+ my $status = $modPerl{status};
+
+ return "# modPerl disabled" unless ($status and $status eq "enabled");
+
+ return "LoadModule perl_module modules/mod_perl.so";
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80mod_ssl b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80mod_ssl
new file mode 100644
index 0000000..7703fde
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule80mod_ssl
@@ -0,0 +1,8 @@
+{
+ # vim: ft=perl:
+ my $status = $modSSL{status} || 'disabled';
+ if ( $status eq "enabled" )
+ {
+ $OUT = "LoadModule ssl_module modules/mod_ssl.so";
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ExternalPwAuth b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ExternalPwAuth
new file mode 100644
index 0000000..de3fdd4
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ExternalPwAuth
@@ -0,0 +1,2 @@
+DefineExternalAuth pwauth pipe /usr/bin/pwauth
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35Listen80 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35Listen80
new file mode 100644
index 0000000..b82f818
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35Listen80
@@ -0,0 +1,22 @@
+{
+ my $listen_default = "Listen 0.0.0.0:$httpPort";
+
+ my $mode = $SystemMode || "serveronly";
+
+ return $listen_default if ($mode eq "serveronly");
+
+ my $httpdAccess = ${'httpd-e-smith'}{access} || 'private';
+
+ return $listen_default unless ($httpdAccess eq "private");
+
+ # Only selectively bind interfaces if we are in private server/gateway mode
+
+ my @ipAddresses = ("127.0.0.1", $LocalIP);
+
+ # Remove any duplicate IP addresses
+ my %ipAddresses = map { $_ => 1 } @ipAddresses;
+ foreach my $ip (sort keys %ipAddresses)
+ {
+ $OUT .= "Listen $ip:$httpPort\n";
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ProxyPass b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ProxyPass
new file mode 100644
index 0000000..9c7216c
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ProxyPass
@@ -0,0 +1,49 @@
+{
+ use esmith::AccountsDB;
+ my $db = esmith::AccountsDB->open_ro;
+ return "" unless $db;
+ foreach my $path ($db->get_all_by_prop(type => 'ProxyPass'))
+ {
+ my $key = $path->key;
+ my $target = $path->prop('Target');
+ unless (defined $target)
+ {
+ warn("No Target property specified for ProxyPath $key." .
+ " Skipping...");
+ next;
+ }
+ my $desc = $path->prop('Description');
+ if (defined $desc)
+ {
+ $OUT .= "# ProxyPass: $key\n";
+ $OUT .= "# Description: $desc\n";
+ }
+ $OUT .= "ProxyPass\t/$key\t$target\n";
+ $OUT .= "ProxyPassReverse\t/$key\t$target\n";
+ $OUT .= "\n";
+
+ my $proxyHTTP = $path->prop('HTTP') || "yes";
+ my $proxyHTTPS = $path->prop('HTTPS') || "yes";
+
+ if ( $proxyHTTP eq "no" )
+ {
+ $OUT .= " SSLRequireSSL\n";
+ }
+
+ if ( $proxyHTTPS eq "no" )
+ {
+ $OUT .= ' SSLRequire (%{HTTPS} eq "NULL")' . "\n";
+ }
+
+ my $valid = $path->prop('ValidFrom');
+ if (defined $valid)
+ {
+ # Convert from comma separated list to space separated
+ $valid =~ s/,/ /g;
+ # Make sure that /32 ValidFrom specs don't cause Apache problems.
+ $valid =~ s:/255.255.255.255::g;
+ $OUT .= " Require ip $valid\n";
+ }
+ $OUT .= "\n";
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00Begin b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00Begin
new file mode 100644
index 0000000..a3f25bf
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00Begin
@@ -0,0 +1,8 @@
+##########################################################
+## SSL Global Context Configuration
+##
+## All SSL configuration in this context applies both to
+## the main server and all SSL-enabled virtual hosts
+## (unless overridden by virtual hosts)
+##
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00Listen443 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00Listen443
new file mode 100644
index 0000000..cff3379
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00Listen443
@@ -0,0 +1,24 @@
+{
+ my $listen_default = "Listen 0.0.0.0:$httpsPort";
+
+ my $mode = $SystemMode || "serveronly";
+
+ return $listen_default if ($mode eq "serveronly");
+
+ my $httpdAccess = ${'httpd-e-smith'}{access} || 'private';
+
+ my $httpsOnlyLocal = ${'httpd-e-smith'}{httpsOnlyLocal} || 'disabled';
+
+ return $listen_default unless ($httpdAccess eq "private") || ($httpsOnlyLocal eq "enabled");
+
+ # Only selectively bind interfaces if we are in private server/gateway mode
+
+ my @ipAddresses = ("127.0.0.1", $LocalIP);
+
+ # Remove any duplicate IP addresses
+ my %ipAddresses = map { $_ => 1 } @ipAddresses;
+ foreach my $ip (sort keys %ipAddresses)
+ {
+ $OUT .= "Listen $ip:$httpsPort\n";
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL05SSLEngine b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL05SSLEngine
new file mode 100644
index 0000000..4092e0b
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL05SSLEngine
@@ -0,0 +1,4 @@
+{
+# Turn SSL on or off for this context
+}
+SSLEngine off
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL07SSLProxyEngine b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL07SSLProxyEngine
new file mode 100644
index 0000000..b3d5bf7
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL07SSLProxyEngine
@@ -0,0 +1,2 @@
+SSLProxyEngine On
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL10SSLCertificateChainFile b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL10SSLCertificateChainFile
new file mode 100644
index 0000000..1c23bf2
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL10SSLCertificateChainFile
@@ -0,0 +1,6 @@
+{
+ my $chain_file = $modSSL{CertificateChainFile}
+ or return "# modSSL{CertificateChainFile} not set";
+ return "# modSSL{CertificateChainFile} does not exist" unless -e $chain_file;
+ $OUT = "SSLCertificateChainFile $chain_file";
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL10SSLCertificateFile b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL10SSLCertificateFile
new file mode 100644
index 0000000..30a0674
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL10SSLCertificateFile
@@ -0,0 +1,14 @@
+{
+ my $defaultcrt = "/home/e-smith/ssl.crt/${SystemName}.${DomainName}.crt";
+ my $defaultkey = "/home/e-smith/ssl.key/${SystemName}.${DomainName}.key";
+ my $crt = $modSSL{'crt'} || $defaultcrt;
+ $crt = $defaultcrt unless -e $crt;
+ my $key = $modSSL{'key'} || $defaultkey;
+ $key = $defaultkey unless -e $key;
+
+ $OUT .= <
+#
+# END OF SSL GLOBAL CONTEXT CONFIGURATION
+#############################################
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40LockFile b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40LockFile
new file mode 100644
index 0000000..7ce1615
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40LockFile
@@ -0,0 +1,10 @@
+# The LockFile directive sets the path to the lockfile used when Apache
+# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
+# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
+# its default value. The main reason for changing it is if the logs
+# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
+# DISK. The PID of the main server process is automatically appended to
+# the filename.
+#
+#LockFile /var/lock/httpd.lock
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40PidFile b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40PidFile
new file mode 100644
index 0000000..26ecc6a
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40PidFile
@@ -0,0 +1,3 @@
+# PidFile: The file the server should log its pid to
+PidFile /var/run/httpd.pid
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40ScoreBoardFile b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40ScoreBoardFile
new file mode 100644
index 0000000..5db7eb3
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/40ScoreBoardFile
@@ -0,0 +1,6 @@
+# ScoreBoardFile: File used to store internal server process information.
+# Not all architectures require this. But if yours does (you'll know because
+# this file is created when you run Apache) then you *must* ensure that
+# no two invocations of Apache share the same scoreboard file.
+ScoreBoardFile /var/run/httpd.scoreboard
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CacheNegotiatedDocs b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CacheNegotiatedDocs
new file mode 100644
index 0000000..c513db0
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CacheNegotiatedDocs
@@ -0,0 +1,7 @@
+# CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each
+# document that was negotiated on the basis of content. This asks proxy
+# servers not to cache the document. Uncommenting the following line disables
+# this behavior, and proxies will be allowed to cache the documents.
+
+#CacheNegotiatedDocs
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CanonicalName b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CanonicalName
new file mode 100644
index 0000000..7277040
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CanonicalName
@@ -0,0 +1,8 @@
+# UseCanonicalName: (new for 1.3) With this setting turned on, whenever
+# Apache needs to construct a self-referencing URL (a url that refers back
+# to the server the response is coming from) it will use ServerName and
+# Port to form a "canonical" name. With this setting off, Apache will
+# use the hostname:port that the client supplied, when possible. This
+# also affects SERVER_NAME and SERVER_PORT in CGIs.
+UseCanonicalName off
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CustomLogs b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CustomLogs
new file mode 100644
index 0000000..a60b758
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45CustomLogs
@@ -0,0 +1,26 @@
+# The following directives define some format nicknames for use with
+# a CustomLog directive (see below).
+
+LogFormat "%h %l %u %t \"%r\" %>s %b \"%\{Referer\}i\" \"%\{User-Agent\}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %b" common
+LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%\{Referer\}i\" \"%\{User-Agent\}i\"" combined_virtual
+LogFormat "%\{Referer\}i -> %U" referer
+LogFormat "%\{User-agent\}i" agent
+
+# The location of the access logfile (Common Logfile Format).
+# If this does not start with /, ServerRoot is prepended to it.
+
+# CustomLog logs/access_log common
+CustomLog /var/log/httpd/access_log combined_virtual
+
+# If you would like to have an agent and referer logfile uncomment the
+# following directives.
+
+#CustomLog logs/referer_log referer
+#CustomLog logs/agent_log agent
+
+# If you prefer a single logfile with access, agent and referer information
+# (Combined Logfile Format) you can use the following directive.
+
+#CustomLog logs/access_log combined
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45FileETag b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45FileETag
new file mode 100644
index 0000000..77d4985
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45FileETag
@@ -0,0 +1 @@
+FileETag MTime Size
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45KeepAlive b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45KeepAlive
new file mode 100644
index 0000000..7a54ca7
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45KeepAlive
@@ -0,0 +1,15 @@
+# KeepAlive: Whether or not to allow persistent connections (more than
+# one request per connection). Set to "Off" to deactivate.
+
+KeepAlive On
+
+# MaxKeepAliveRequests: The maximum number of requests to allow
+# during a persistent connection. Set to 0 to allow an unlimited amount.
+# We reccomend you leave this number high, for maximum performance.
+
+MaxKeepAliveRequests 100
+
+# KeepAliveTimeout: Number of seconds to wait for the next request
+
+KeepAliveTimeout 15
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Limits b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Limits
new file mode 100644
index 0000000..b024302
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Limits
@@ -0,0 +1,17 @@
+# Limit on total number of servers running, i.e., limit on the number
+# of clients who can simultaneously connect --- if this limit is ever
+# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
+# It is intended mainly as a brake to keep a runaway server from taking
+# Unix with it as it spirals down...
+
+MaxClients 150
+
+# MaxRequestsPerChild: the number of requests each child process is
+# allowed to process before the child dies.
+# The child will exit so as to avoid problems after prolonged use when
+# Apache (and maybe the libraries it uses) leak. On most systems, this
+# isn't really needed, but a few (such as Solaris) do have notable leaks
+# in the libraries.
+
+MaxRequestsPerChild 100
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Proxy b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Proxy
new file mode 100644
index 0000000..7f35128
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Proxy
@@ -0,0 +1,5 @@
+# Proxy Server directives. Uncomment the following line to
+# enable the proxy server:
+
+#ProxyRequests On
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45ServerName b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45ServerName
new file mode 100644
index 0000000..dad832f
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45ServerName
@@ -0,0 +1,10 @@
+# ServerName allows you to set a host name which is sent back to clients for
+# your server if it's different than the one the program would get (i.e. use
+# "www" instead of the host's real name).
+#
+# Note: You cannot just invent host names and hope they work. The name you
+# define here must be a valid DNS name for your host. If you don't understand
+# this, ask your network administrator.
+
+ServerName www.{ $DomainName }
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45ServerPool b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45ServerPool
new file mode 100644
index 0000000..9f73bb8
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45ServerPool
@@ -0,0 +1,19 @@
+# Server-pool size regulation. Rather than making you guess how many
+# server processes you need, Apache dynamically adapts to the load it
+# sees --- that is, it tries to maintain enough server processes to
+# handle the current load, plus a few spare servers to handle transient
+# load spikes (e.g., multiple simultaneous requests from a single
+# Netscape browser).
+
+# It does this by periodically checking how many servers are waiting
+# for a request. If there are fewer than MinSpareServers, it creates
+# a new spare. If there are more than MaxSpareServers, some of the
+# spares die off. These values are probably OK for most sites ---
+
+MinSpareServers 8
+MaxSpareServers 20
+
+# Number of servers to start --- should be a reasonable ballpark figure.
+
+StartServers 10
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Timeout b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Timeout
new file mode 100644
index 0000000..913bd85
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/45Timeout
@@ -0,0 +1,4 @@
+# Timeout: The number of seconds before receives and sends time out
+
+Timeout 300
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DefaultIcon b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DefaultIcon
new file mode 100644
index 0000000..73f400f
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DefaultIcon
@@ -0,0 +1,5 @@
+# DefaultIcon is which icon to show for files which do not have an icon
+# explicitly set.
+
+DefaultIcon /icons/unknown.gif
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DirectoryIndex00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DirectoryIndex00
new file mode 100644
index 0000000..4408f1b
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DirectoryIndex00
@@ -0,0 +1,5 @@
+# DirectoryIndex: Name of the file or files to use as a pre-written HTML
+# directory index. Separate multiple entries with spaces.
+
+DirectoryIndex index.htm index.html index.shtml index.cgi
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DocRoot b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DocRoot
new file mode 100644
index 0000000..fb889dd
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50DocRoot
@@ -0,0 +1,5 @@
+# DocumentRoot: The directory out of which you will serve your
+# documents. By default, all requests are taken from this directory, but
+# symbolic links and aliases may be used to point to other locations.
+
+DocumentRoot /home/e-smith/files/ibays/Primary/html
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50FancyIndexingOn b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50FancyIndexingOn
new file mode 100644
index 0000000..2a6fe94
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50FancyIndexingOn
@@ -0,0 +1 @@
+IndexOptions FancyIndexing VersionSort NameWidth=*
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/55AddIconByEncoding00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/55AddIconByEncoding00
new file mode 100644
index 0000000..16f85bd
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/55AddIconByEncoding00
@@ -0,0 +1,5 @@
+# AddIcon tells the server which icon to show for different files or filename
+# extensions
+
+AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AccessFileName b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AccessFileName
new file mode 100644
index 0000000..b7e0e9d
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AccessFileName
@@ -0,0 +1,5 @@
+# AccessFileName: The name of the file to look for in each directory
+# for access control information.
+
+AccessFileName .htaccess
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AddDescription00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AddDescription00
new file mode 100644
index 0000000..d23ec2e
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AddDescription00
@@ -0,0 +1,4 @@
+# AddDescription allows you to place a short description after a file in
+# server-generated indexes.
+# Format: AddDescription "description" filename
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AddIconByType00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AddIconByType00
new file mode 100644
index 0000000..99ac9f2
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60AddIconByType00
@@ -0,0 +1,5 @@
+AddIconByType (TXT,/icons/text.gif) text/*
+AddIconByType (IMG,/icons/image2.gif) image/*
+AddIconByType (SND,/icons/sound2.gif) audio/*
+AddIconByType (VID,/icons/movie.gif) video/*
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60DefaultType b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60DefaultType
new file mode 100644
index 0000000..51c5848
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60DefaultType
@@ -0,0 +1,5 @@
+# DefaultType is the default MIME type for documents which the server
+# cannot find the type of from filename extensions.
+
+DefaultType none
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60IndexIgnore00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60IndexIgnore00
new file mode 100644
index 0000000..0dceafe
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60IndexIgnore00
@@ -0,0 +1,4 @@
+# IndexIgnore is a set of filenames which directory indexing should ignore
+# Format: IndexIgnore name1 name2...
+
+IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60TypesConfig b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60TypesConfig
new file mode 100644
index 0000000..d58d31a
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/60TypesConfig
@@ -0,0 +1,5 @@
+# TypesConfig describes where the mime.types file (or equivalent) is
+# to be found.
+
+TypesConfig /etc/mime.types
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddEncoding00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddEncoding00
new file mode 100644
index 0000000..578adaa
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddEncoding00
@@ -0,0 +1,6 @@
+# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
+# information on the fly. Note: Not all browsers support this.
+
+AddEncoding x-compress Z
+AddEncoding x-gzip gz
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddIcon00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddIcon00
new file mode 100644
index 0000000..8a97dad
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddIcon00
@@ -0,0 +1,22 @@
+AddIcon /icons/binary.gif .bin .exe
+AddIcon /icons/binhex.gif .hqx
+AddIcon /icons/tar.gif .tar
+AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
+AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
+AddIcon /icons/a.gif .ps .ai .eps
+AddIcon /icons/layout.gif .html .shtml .htm .pdf
+AddIcon /icons/text.gif .txt
+AddIcon /icons/c.gif .c
+AddIcon /icons/p.gif .pl .py
+AddIcon /icons/f.gif .for
+AddIcon /icons/dvi.gif .dvi
+AddIcon /icons/uuencoded.gif .uu
+AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
+AddIcon /icons/tex.gif .tex
+AddIcon /icons/bomb.gif core
+
+AddIcon /icons/back.gif ..
+AddIcon /icons/hand.right.gif README
+AddIcon /icons/folder.gif ^^DIRECTORY^^
+AddIcon /icons/blank.gif ^^BLANKICON^^
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddLanguage00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddLanguage00
new file mode 100644
index 0000000..c2f7e70
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/65AddLanguage00
@@ -0,0 +1,14 @@
+# AddLanguage allows you to specify the language of a document. You can
+# then use content negotiation to give a browser a file in a language
+# it can understand. Note that the suffix does not have to be the same
+# as the language keyword --- those with documents in Polish (whose
+# net-standard language code is pl) may wish to use "AddLanguage pl .po"
+# to avoid the ambiguity with the common suffix for perl scripts.
+
+AddLanguage en .en
+AddLanguage fr .fr
+AddLanguage de .de
+AddLanguage da .da
+AddLanguage el .el
+AddLanguage it .it
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/70LanguagePriority00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/70LanguagePriority00
new file mode 100644
index 0000000..bbd36c6
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/70LanguagePriority00
@@ -0,0 +1,6 @@
+# LanguagePriority allows you to give precedence to some languages
+# in case of a tie during content negotiation.
+# Just list the languages in decreasing order of preference.
+
+LanguagePriority en fr de
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType00
new file mode 100644
index 0000000..fe07272
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType00
@@ -0,0 +1,5 @@
+# AddType allows you to tweak mime.types without actually editing it, or to
+# make certain files to be certain types.
+# Format: AddType type/subtype ext1
+
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.docm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.docm
new file mode 100644
index 0000000..8cc9ee9
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.docm
@@ -0,0 +1,3 @@
+# Microsoft Office Word 2007 macro-enabled document
+AddType application/vnd.ms-word.document.macroEnabled.12 .docm
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.docx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.docx
new file mode 100644
index 0000000..f57cda4
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.docx
@@ -0,0 +1,2 @@
+# Microsoft Office Word 2007 document
+AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document .docx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.dotm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.dotm
new file mode 100644
index 0000000..68cf3ec
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.dotm
@@ -0,0 +1,2 @@
+# Microsoft Office Word 2007 macro-enabled document template
+AddType application/vnd.ms-word.template.macroEnabled.12 .dotm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.dotx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.dotx
new file mode 100644
index 0000000..fa30954
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.dotx
@@ -0,0 +1,2 @@
+# Microsoft Office Word 2007 template
+AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template .dotx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.exe b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.exe
new file mode 100644
index 0000000..8aeaf84
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.exe
@@ -0,0 +1,2 @@
+# Fix up default type for .exe files.
+AddType application/octet-stream .exe
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odb b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odb
new file mode 100644
index 0000000..83e7fdc
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odb
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.database .odb
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odc b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odc
new file mode 100644
index 0000000..0dceb75
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odc
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.chart .odc
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odf b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odf
new file mode 100644
index 0000000..5bbc081
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odf
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.formula .odf
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odg b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odg
new file mode 100644
index 0000000..4660442
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odg
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.graphics .odg
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odi b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odi
new file mode 100644
index 0000000..466b194
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odi
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.image .odi
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odm
new file mode 100644
index 0000000..31762ab
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odm
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.text-master .odm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odp b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odp
new file mode 100644
index 0000000..a368696
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odp
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.presentation .odp
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ods b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ods
new file mode 100644
index 0000000..b00a333
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ods
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.spreadsheet .ods
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odt b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odt
new file mode 100644
index 0000000..e14b8bc
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.odt
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.text .odt
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetmp b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetmp
new file mode 100644
index 0000000..c25da40
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetmp
@@ -0,0 +1,2 @@
+# Microsoft Office OneNote 2007 temporary file
+AddType application/onenote .onetmp
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetoc b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetoc
new file mode 100644
index 0000000..6ae5c3d
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetoc
@@ -0,0 +1,2 @@
+# Microsoft Office OneNote 2007 TOC
+AddType application/onenote .onetoc
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetoc2 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetoc2
new file mode 100644
index 0000000..6332ef1
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.onetoc2
@@ -0,0 +1,2 @@
+# Microsoft Office OneNote 2007 TOC
+AddType application/onenote .onetoc2
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.otg b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.otg
new file mode 100644
index 0000000..07f867b
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.otg
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.graphics-template .otg
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.oth b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.oth
new file mode 100644
index 0000000..b472e8a
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.oth
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.text-web .oth
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ots b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ots
new file mode 100644
index 0000000..04fb388
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ots
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.spreadsheet-template .ots
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ott b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ott
new file mode 100644
index 0000000..0b07a38
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ott
@@ -0,0 +1 @@
+AddType application/vnd.oasis.opendocument.text-template .ott
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.oxt b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.oxt
new file mode 100644
index 0000000..04c50f0
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.oxt
@@ -0,0 +1 @@
+AddType application/vnd.openofficeorg.extension .oxt
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pac b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pac
new file mode 100644
index 0000000..55eb128
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pac
@@ -0,0 +1,2 @@
+# Add type for Netscape proxy autoconfiguration
+AddType application/x-ns-proxy-autoconfig .pac
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.png b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.png
new file mode 100644
index 0000000..f945246
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.png
@@ -0,0 +1 @@
+AddType image/png .png
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.potm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.potm
new file mode 100644
index 0000000..29d3199
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.potm
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 macro-enabled presentation template
+AddType application/vnd.ms-powerpoint.template.macroEnabled.12 .potm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.potx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.potx
new file mode 100644
index 0000000..1758f09
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.potx
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 template
+AddType application/vnd.openxmlformats-officedocument.presentationml.template .potx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppam b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppam
new file mode 100644
index 0000000..bcc1d8f
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppam
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 add-in
+AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 .ppam
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppsm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppsm
new file mode 100644
index 0000000..569aa60
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppsm
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 macro-enabled slide show
+AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 .ppsm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppsx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppsx
new file mode 100644
index 0000000..e395c9d
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.ppsx
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 slide show
+AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow .ppsx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pptm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pptm
new file mode 100644
index 0000000..bfc5ecd
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pptm
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 macro-enabled presentation
+AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 .pptm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pptx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pptx
new file mode 100644
index 0000000..acb56ad
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.pptx
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 presentation
+AddType application/vnd.openxmlformats-officedocument.presentationml.presentation .pptx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.shtml b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.shtml
new file mode 100644
index 0000000..b95a9ca
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.shtml
@@ -0,0 +1,2 @@
+# To use server-parsed HTML files
+AddType text/html .shtml
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sldm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sldm
new file mode 100644
index 0000000..fd5edef
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sldm
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 macro-enabled slide
+AddType application/vnd.ms-powerpoint.slide.macroEnabled.12 .sldm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sldx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sldx
new file mode 100644
index 0000000..8c70ce7
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sldx
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 slide
+AddType application/vnd.openxmlformats-officedocument.presentationml.slide .sldx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.stc b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.stc
new file mode 100644
index 0000000..0abf606
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.stc
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.writer .sxw
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.std b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.std
new file mode 100644
index 0000000..8d024c0
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.std
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.draw.template .std
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sti b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sti
new file mode 100644
index 0000000..ac3e25e
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sti
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.impress.template .sti
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.stw b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.stw
new file mode 100644
index 0000000..9bb91f6
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.stw
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.writer.template .stw
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.svg b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.svg
new file mode 100644
index 0000000..61e698e
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.svg
@@ -0,0 +1 @@
+AddType image/svg+xml .svg
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxc b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxc
new file mode 100644
index 0000000..96aaba4
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxc
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.calc .sxc
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxd b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxd
new file mode 100644
index 0000000..3d9280a
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxd
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.draw .sxd
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxg b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxg
new file mode 100644
index 0000000..d17f37c
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxg
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.writer.global .sxg
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxi b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxi
new file mode 100644
index 0000000..a2bc849
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxi
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.impress .sxi
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxm
new file mode 100644
index 0000000..59813f4
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxm
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.math .sxm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxw b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxw
new file mode 100644
index 0000000..0abf606
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.sxw
@@ -0,0 +1 @@
+AddType application/vnd.sun.xml.writer .sxw
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.thmx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.thmx
new file mode 100644
index 0000000..68d91a7
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.thmx
@@ -0,0 +1,2 @@
+# Microsoft Office PowerPoint 2007 macro-enabled slide
+AddType application/vnd.ms-powerpoint.slide.macroEnabled.12 .thmx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlam b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlam
new file mode 100644
index 0000000..e228c3e
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlam
@@ -0,0 +1,2 @@
+# Microsoft Office Excel 2007 add-in
+AddType application/vnd.ms-excel.addin.macroEnabled.12 .xlam
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsb b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsb
new file mode 100644
index 0000000..46693dc
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsb
@@ -0,0 +1,2 @@
+# Microsoft Office Excel 2007 binary workbook
+AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 .xlsb
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsm
new file mode 100644
index 0000000..4315959
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsm
@@ -0,0 +1,2 @@
+# Microsoft Office Excel 2007 macro-enabled workbook
+AddType application/vnd.ms-excel.sheet.macroEnabled.12 .xlsm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsx
new file mode 100644
index 0000000..a48fbb7
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xlsx
@@ -0,0 +1,2 @@
+# Microsoft Office Excel 2007 workbook
+AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xltm b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xltm
new file mode 100644
index 0000000..5854c36
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xltm
@@ -0,0 +1,2 @@
+# Microsoft Office Excel 2007 macro-enabled workbook template
+AddType application/vnd.ms-excel.template.macroEnabled.12 .xltm
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xltx b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xltx
new file mode 100644
index 0000000..ed6f9e6
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xltx
@@ -0,0 +1,2 @@
+# Microsoft Office Excel 2007 template
+AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template .xltx
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xml b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xml
new file mode 100644
index 0000000..b00e8af
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xml
@@ -0,0 +1 @@
+AddType application/xml .xml
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xsl b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xsl
new file mode 100644
index 0000000..3c11805
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddType05.xsl
@@ -0,0 +1 @@
+AddType application/xml .xsl
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddTypes05.crl b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddTypes05.crl
new file mode 100644
index 0000000..d20a388
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddTypes05.crl
@@ -0,0 +1,10 @@
+{
+#
+# MIME-type for downloading CRLs
+#
+ my $status = $modSSL{status} || 'disabled';
+ if ( $status eq "enabled" )
+ {
+ $OUT = "AddType application/x-pkcs7-crl .crl\n";
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddTypes05.crt b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddTypes05.crt
new file mode 100644
index 0000000..a2657dc
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75AddTypes05.crt
@@ -0,0 +1,10 @@
+{
+#
+# MIME-type for downloading Certificates
+#
+ my $status = $modSSL{status} || 'disabled';
+ if ( $status eq "enabled" )
+ {
+ $OUT .= "AddType application/x-x509-ca-cert .crt\n";
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75BrowserMatch00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75BrowserMatch00
new file mode 100644
index 0000000..a5b0569
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/75BrowserMatch00
@@ -0,0 +1,18 @@
+# The following directives disable keepalives and HTTP header flushes.
+# The first directive disables it for Netscape 2.x and browsers which
+# spoof it. There are known problems with these.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler00
new file mode 100644
index 0000000..c64d4da
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler00
@@ -0,0 +1,8 @@
+# AddHandler allows you to map certain file extensions to "handlers",
+# actions unrelated to filetype. These can be either built into the server
+# or added with the Action command (see below)
+# Format: AddHandler action-name ext1
+
+# To use CGI scripts:
+AddHandler cgi-script .cgi
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler05 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler05
new file mode 100644
index 0000000..b95fb7a
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler05
@@ -0,0 +1 @@
+AddHandler server-parsed .shtml
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler10 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler10
new file mode 100644
index 0000000..5a41812
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80AddHandler10
@@ -0,0 +1,3 @@
+# If you wish to use server-parsed imagemap files, use
+AddHandler imap-file map
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80DenyHTAccess b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80DenyHTAccess
new file mode 100644
index 0000000..1437bc0
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80DenyHTAccess
@@ -0,0 +1,3 @@
+
+ Require all denied
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80VirtualHosts b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80VirtualHosts
new file mode 100644
index 0000000..0f09174
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80VirtualHosts
@@ -0,0 +1,49 @@
+{
+ #------------------------------------------------------------
+ # get a list of our virtual hosts and make a hash table so we
+ # can look up content later
+ #------------------------------------------------------------
+
+ $OUT = '';
+
+ use esmith::DomainsDB;
+
+ my $db = esmith::DomainsDB->open_ro;
+ unless ($db)
+ {
+ warn "Couldn't open domains DB in VirtualHosts template fragment";
+ return;
+ }
+
+ my @domains = $db->get_all_by_prop('type' => 'domain');
+ #------------------------------------------------------------
+ # generate VirtualHosts - primary domain first
+ #------------------------------------------------------------
+ foreach my $domain (
+ (grep { ($_->prop('SystemPrimaryDomain') || 'no') eq 'yes' } @domains),
+ (grep { ($_->prop('SystemPrimaryDomain') || 'no') ne 'yes' } @domains),
+ )
+ {
+ my $templatePath = $domain->prop('TemplatePath') || 'VirtualHosts';
+ foreach my $port ($httpPort, $httpsPort)
+ {
+ my %virtualHost = (
+ ipAddress => '0.0.0.0',
+ port => $port,
+ localAccess => $localAccess,
+ externalSSLAccess => $externalSSLAccess,
+ domain => $domain,
+ httpPort => $httpPort,
+ httpsPort => $httpsPort
+ );
+
+ $OUT .= esmith::templates::processTemplate (
+ {
+ MORE_DATA => \%virtualHost,
+ TEMPLATE_PATH =>
+ "/etc/httpd/conf/httpd.conf/$templatePath",
+ OUTPUT_TYPE => 'string',
+ });
+ }
+ }
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85DefaultAccess b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85DefaultAccess
new file mode 100644
index 0000000..8956948
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85DefaultAccess
@@ -0,0 +1,10 @@
+
+# First, we configure the "default" to be a very restrictive set of
+# permissions.
+
+
+ Options None
+ AllowOverride None
+ Require all denied
+
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85ServerResourcesAccess b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85ServerResourcesAccess
new file mode 100644
index 0000000..2aae5c2
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85ServerResourcesAccess
@@ -0,0 +1,6 @@
+# Server resources access configuration
+
+
+ Options +Indexes
+ Require ip { "$localAccess $externalSSLAccess"; }
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess00 b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess00
new file mode 100644
index 0000000..7d0273b
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess00
@@ -0,0 +1,5 @@
+# Note that from this point forward you must specifically allow
+# particular features to be enabled - so if something's not working as
+# you might expect, make sure that you have specifically enabled it
+# below.
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess10icons b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess10icons
new file mode 100644
index 0000000..507e4b8
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess10icons
@@ -0,0 +1,10 @@
+#------------------------------------------------------------
+# icons directory
+#------------------------------------------------------------
+
+
+ Options None
+ AllowOverride None
+ Require all granted
+
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/95ProxyService b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/95ProxyService
new file mode 100644
index 0000000..234878e
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/95ProxyService
@@ -0,0 +1,26 @@
+{
+#======================================================================
+# Create a non-caching proxy server, serving only the local network(s).
+#======================================================================
+
+ $OUT = '';
+
+ my $port = ${'httpd-e-smith'}{'ProxyPort'} || "none";
+
+ unless ($port eq "none")
+ {
+ $OUT .= "# Create a non-caching proxy server\n";
+ $OUT .= "# serving only the local network(s).\n";
+ $OUT .= "#\n";
+ $OUT .= "# ProxyPort: $port\n";
+ $OUT .= "Listen $LocalIP:$port\n";
+ $OUT .= "\n";
+ $OUT .= " ProxyRequests on\n";
+ $OUT .= " NoCache *\n";
+ $OUT .= " \n";
+ $OUT .= "\tRequire ip $localAccess\n";
+ $OUT .= " \n";
+ $OUT .= "\n";
+ }
+
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/00Setup b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/00Setup
new file mode 100644
index 0000000..e5db207
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/00Setup
@@ -0,0 +1,9 @@
+{
+ use esmith::DomainsDB;
+ # Convert the passed hash for the domain object back into an object.
+ $domain = bless \%domain, 'esmith::DB::db::Record';
+
+ # Make scalars from some of the properties of the domain
+ $virtualHost = $domain->key;
+ $OUT = "";
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/02ServerName b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/02ServerName
new file mode 100644
index 0000000..38f4ddf
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/02ServerName
@@ -0,0 +1 @@
+ ServerName {$virtualHost}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/03ServerAlias b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/03ServerAlias
new file mode 100644
index 0000000..a74076d
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/03ServerAlias
@@ -0,0 +1,8 @@
+ ServerAlias {
+
+ use esmith::HostsDB;
+ my $hdb = esmith::HostsDB->open_ro();
+ my @hosts = grep { $_->prop('HostType') eq 'Self' } $hdb->get_hosts_by_domain($virtualHost);
+ $OUT = join " ", map { $_->key } @hosts;
+}
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/26RewriteTraceAndTrack b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/26RewriteTraceAndTrack
new file mode 100644
index 0000000..424e168
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/26RewriteTraceAndTrack
@@ -0,0 +1,4 @@
+ RewriteEngine on
+ RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
+ RewriteRule .* - [F]
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/ProxyPassContent b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/ProxyPassContent
new file mode 100644
index 0000000..43e89a2
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/ProxyPassContent
@@ -0,0 +1,12 @@
+{
+ use esmith::DomainsDB;
+ my $db = esmith::DomainsDB->open_ro;
+ my $d = $db->get($virtualHost);
+ my $t = $d->prop('ProxyPassTarget');
+
+ $t =~ s|http://|https://| if ($port eq "$httpsPort");
+
+ $OUT .= " SSLEngine On\n" if ($port eq "$httpsPort");
+ $OUT .= " ProxyPass / $t\n";
+ $OUT .= " ProxyPassReverse / $t";
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/template-begin b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/template-begin
new file mode 100644
index 0000000..b050035
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/template-begin
@@ -0,0 +1,2 @@
+
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/template-end b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/template-end
new file mode 100644
index 0000000..50d3d92
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/ProxyPassVirtualHosts/template-end
@@ -0,0 +1,2 @@
+
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/00Setup b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/00Setup
new file mode 100644
index 0000000..3ebd485
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/00Setup
@@ -0,0 +1,10 @@
+{
+ use esmith::DomainsDB;
+ # Convert the passed hash for the domain object back into an object.
+ $domain = bless \%domain, 'esmith::DB::db::Record';
+
+ # Make scalars from some of the properties of the domain
+ $virtualHost = $domain->key;
+ $virtualHostContent = $domain->prop('Content');
+ $OUT = "";
+}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/02ServerName b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/02ServerName
new file mode 100644
index 0000000..38f4ddf
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/02ServerName
@@ -0,0 +1 @@
+ ServerName {$virtualHost}
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/03ServerAlias b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/03ServerAlias
new file mode 100644
index 0000000..480dba0
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/03ServerAlias
@@ -0,0 +1,13 @@
+ ServerAlias {
+
+ use esmith::HostsDB;
+ use esmith::DomainsDB;
+ my $hdb = esmith::HostsDB->open_ro();
+ my %domains = map { $_->key => 1 } esmith::DomainsDB->open_ro->domains;
+ my @hosts = grep {
+ my $h = $_;
+ ($h->prop('HostType') eq 'Self') && !$domains{$h->key}
+ } $hdb->get_hosts_by_domain($virtualHost);
+ $OUT = join " ", map { $_->key } @hosts;
+}
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/10SSLCert b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/10SSLCert
new file mode 100644
index 0000000..5eeb712
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/10SSLCert
@@ -0,0 +1,18 @@
+{
+ return " # skipping SSL certificate\n" unless $port eq "$httpsPort";
+
+ use esmith::DomainsDB;
+ my $domains = esmith::DomainsDB->open_ro;
+
+ $OUT = "";
+
+ my $ssl_file_crt = $domains->get_prop($virtualHost, "DomainSSLCertificateFile") || "disabled";
+ my $ssl_file_key = $domains->get_prop($virtualHost, "DomainSSLCertificateKeyFile") || "disabled";
+ my $ssl_file_chain = $domains->get_prop($virtualHost, "DomainSSLCertificateChainFile") || "disabled";
+
+ return unless ( $ssl_file_crt ne 'disabled' && $ssl_file_chain ne 'disabled' && -e $ssl_file_crt && -e $ssl_file_key );
+ $OUT .= " SSLCertificateFile $ssl_file_crt\n" unless $ssl_file_crt eq 'disabled';
+ $OUT .= " SSLCertificateChainFile $ssl_file_chain\n" unless $ssl_file_chain eq 'disabled';
+ $OUT .= " SSLCertificateKeyFile $ssl_file_key\n" unless ( $ssl_file_key eq 'disabled' || ! -e $ssl_file_chain );
+}
+
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/25SSLDirectives b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/25SSLDirectives
new file mode 100644
index 0000000..4585f67
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/25SSLDirectives
@@ -0,0 +1,10 @@
+{
+ return " # skipping SSL directives\n" unless $port eq "$httpsPort";
+
+ return "" unless $modSSL{'status'} eq 'enabled';
+
+ $OUT = <
diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/template-end b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/template-end
new file mode 100644
index 0000000..50d3d92
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/template-end
@@ -0,0 +1,2 @@
+
+
diff --git a/root/etc/e-smith/templates/etc/logrotate.d/httpd/10global b/root/etc/e-smith/templates/etc/logrotate.d/httpd/10global
new file mode 100644
index 0000000..8c0e4e9
--- /dev/null
+++ b/root/etc/e-smith/templates/etc/logrotate.d/httpd/10global
@@ -0,0 +1,14 @@
+/var/log/httpd/*log \{
+ create root root
+ missingok
+ notifempty
+ sharedscripts
+ rotate {${'httpd-e-smith'}{'KeepNumberLog'} || $rsyslog{'KeepNumber'} || 10 }
+ maxsize {${'httpd-e-smith'}{'MaxSizeLog'} || $rsyslog{'MaxSize'} || "100M";}
+ maxage {${'httpd-e-smith'}{'PurgeLengthLog'} || $rsyslog{'PurgeLength'} || 95;}
+ { $OUT = "#default compress see logrotate.conf" ; $OUT = "compress " unless ( (${'httpd-e-smith'}{'CompressLog'} || "disabled") eq "disabled" );}
+ delaycompress
+ postrotate
+ /bin/systemctl reload-or-restart httpd-*.service > /dev/null 2>/dev/null || true
+ endscript
+\}
diff --git a/root/etc/httpd/state b/root/etc/httpd/state
new file mode 120000
index 0000000..b16b28b
--- /dev/null
+++ b/root/etc/httpd/state
@@ -0,0 +1 @@
+../../var/state/httpd
\ No newline at end of file
diff --git a/root/etc/rc.d/init.d/.gitignore b/root/etc/rc.d/init.d/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/root/sbin/e-smith/systemd/httpd-e-smith-prepare b/root/sbin/e-smith/systemd/httpd-e-smith-prepare
new file mode 100644
index 0000000..1bd278e
--- /dev/null
+++ b/root/sbin/e-smith/systemd/httpd-e-smith-prepare
@@ -0,0 +1,13 @@
+#!/bin/sh
+#----------------------------------------------------------------------
+# copyright (C) 1999-2005 Mitel Networks Corporation
+#----------------------------------------------------------------------
+
+if ! test -e /home/e-smith/files/ibays/Primary/html
+then
+ # Make sure that DocumentRoot directory exists
+ mkdir -p /home/e-smith/files/ibays/Primary/html
+ chown admin.shared /home/e-smith/files/ibays/Primary/html
+ chmod 02750 /home/e-smith/files/ibays/Primary/html
+fi
+
diff --git a/root/usr/lib/systemd/system/httpd-e-smith.service b/root/usr/lib/systemd/system/httpd-e-smith.service
new file mode 100644
index 0000000..e1df6ec
--- /dev/null
+++ b/root/usr/lib/systemd/system/httpd-e-smith.service
@@ -0,0 +1,26 @@
+[Unit]
+Description=httpd-e-smith The Koozali SME Server Apache HTTP Service
+After=network-online.target remote-fs.target
+Documentation=man:httpd(8)
+Documentation=man:apachectl(8)
+
+[Service]
+Type=notify
+EnvironmentFile=/etc/sysconfig/httpd
+ExecStartPre=/sbin/e-smith/service-status httpd-e-smith
+ExecStartPre=/sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
+ExecStartPre=/sbin/e-smith/systemd/httpd-e-smith-prepare
+ExecStart=/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DFOREGROUND
+ExecReload=/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -k graceful
+ExecStop=/bin/kill -WINCH ${MAINPID}
+# We want systemd to give httpd some time to finish gracefully, but still want
+# it to kill httpd after TimeoutStopSec if something went wrong during the
+# graceful stop. Normally, Systemd sends SIGTERM signal right after the
+# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
+# httpd time to finish.
+KillSignal=SIGCONT
+PrivateTmp=true
+
+[Install]
+WantedBy=sme-server.target
+
diff --git a/root/var/state/httpd/.gitignore b/root/var/state/httpd/.gitignore
new file mode 100644
index 0000000..e69de29