fix a bunch of svn props (no functional changes):

- add svn:eol-style native where needed, seems that we forgot some files last time
- nuke svn:keywords from some files where it is not used
This commit is contained in:
Robert Foerster (Dessa)
2010-03-28 15:57:53 +00:00
parent 70dc03098c
commit 2b2d44166d
58 changed files with 1911 additions and 1911 deletions

562
COPYING
View File

@@ -1,281 +1,281 @@
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 2, June 1991 Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA 675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
Preamble Preamble
The licenses for most software are designed to take away your The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free 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 software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to the GNU Library General Public License instead.) You can apply it to
your programs, too. your programs, too.
When we speak of free software, we are referring to freedom, not When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for 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 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 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. in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid 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. anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it. distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether 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 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 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 source code. And you must show them these terms so they know their
rights. rights.
We protect your rights with two steps: (1) copyright the software, and We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy, (2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software. distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we 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 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 that any problems introduced by others will not reflect on the original
authors' reputations. authors' reputations.
Finally, any free program is threatened constantly by software Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any 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. patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. modification follow.
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains 0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below, 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" 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: 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, that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you". the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program). Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does. Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's 1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty; 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 and give any other recipients of the Program a copy of this License
along with the Program. along with the Program.
You may charge a fee for the physical act of transferring a copy, and 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. 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 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 of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1 distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions: above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change. 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 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 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 part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License. parties under the terms of this License.
c) If the modified program normally reads commands interactively c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on does not normally print such an announcement, your work based on
the Program is not required to print an announcement.) the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program, identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you 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 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 on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it. 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 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 your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or exercise the right to control the distribution of derivative or
collective works based on the Program. collective works based on the Program.
In addition, mere aggregation of another work not 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 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 a storage or distribution medium does not bring the other work under
the scope of this License. the scope of this License.
3. You may copy and distribute the Program (or a work based on it, 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 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: Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or, 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 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 years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or, customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such received the program in object code or executable form with such
an offer, in accord with Subsection b above.) an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component operating system on which the executable runs, unless that component
itself accompanies the executable. itself accompanies the executable.
If distribution of executable or object code is made by offering If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not distribution of the source code, even though third parties are not
compelled to copy the source along with the object code. compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program 4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License. void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such this License will not have their licenses terminated so long as such
parties remain in full compliance. parties remain in full compliance.
5. You are not required to accept this License, since you have not 5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying all its terms and conditions for copying, distributing or modifying
the Program or works based on it. the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the 6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein. restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to You are not responsible for enforcing compliance by third parties to
this License. this License.
7. If, as a consequence of a court judgment or allegation of patent 7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues), infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then 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 the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program. refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other apply and the section as a whole is intended to apply in other
circumstances. circumstances.
It is not the purpose of this section to induce you to infringe any 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 patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is integrity of the free software distribution system, which is
implemented by public license practices. Many people have made implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that 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 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 to distribute software through any other system and a licensee cannot
impose that choice. impose that choice.
This section is intended to make thoroughly clear what is believed to This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License. be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in 8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License. the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions 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 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 be similar in spirit to the present version, but may differ in detail to
address new problems or concerns. address new problems or concerns.
Each version is given a distinguishing version number. If the Program Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any 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 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 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 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 this License, you may choose any version ever published by the Free Software
Foundation. Foundation.
10. If you wish to incorporate parts of the Program into other free 10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals 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 preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally. of promoting the sharing and reuse of software generally.
NO WARRANTY NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS 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 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION. REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 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 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, REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 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 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 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 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS

View File

@@ -1,68 +1,68 @@
##VERSION: $Id: authdaemonrc.in,v 1.8 2001/10/07 02:16:22 mrsam Exp $ ##VERSION: $Id: authdaemonrc.in,v 1.8 2001/10/07 02:16:22 mrsam Exp $
# #
# Copyright 2000-2001 Double Precision, Inc. See COPYING for # Copyright 2000-2001 Double Precision, Inc. See COPYING for
# distribution information. # distribution information.
# #
# authdaemonrc created from authdaemonrc.dist by sysconftool # authdaemonrc created from authdaemonrc.dist by sysconftool
# #
# Do not alter lines that begin with ##, they are used when upgrading # Do not alter lines that begin with ##, they are used when upgrading
# this configuration. # this configuration.
# #
# This file configures authdaemond, the resident authentication daemon. # This file configures authdaemond, the resident authentication daemon.
# #
# Comments in this file are ignored. Although this file is intended to # Comments in this file are ignored. Although this file is intended to
# be sourced as a shell script, authdaemond parses it manually, so # be sourced as a shell script, authdaemond parses it manually, so
# the acceptable syntax is a bit limited. Multiline variable contents, # the acceptable syntax is a bit limited. Multiline variable contents,
# with the \ continuation character, are not allowed. Everything must # with the \ continuation character, are not allowed. Everything must
# fit on one line. Do not use any additional whitespace for indentation, # fit on one line. Do not use any additional whitespace for indentation,
# or anything else. # or anything else.
##NAME: authmodulelist:0 ##NAME: authmodulelist:0
# #
# The authentication modules that are linked into authdaemond. The # The authentication modules that are linked into authdaemond. The
# default list is installed. You may selectively disable modules simply # default list is installed. You may selectively disable modules simply
# by removing them from the following list. The available modules you # by removing them from the following list. The available modules you
# can use are: authcustom authcram authuserdb authldap authmysql authpam # can use are: authcustom authcram authuserdb authldap authmysql authpam
authmodulelist="authmysql" authmodulelist="authmysql"
##NAME: authmodulelistorig:1 ##NAME: authmodulelistorig:1
# #
# This setting is used by Courier's webadmin module, and should be left # This setting is used by Courier's webadmin module, and should be left
# alone # alone
authmodulelistorig="authcustom authcram authuserdb authldap authmysql authpam" authmodulelistorig="authcustom authcram authuserdb authldap authmysql authpam"
##NAME: daemons:0 ##NAME: daemons:0
# #
# The number of daemon processes that are started. authdaemon is typically # The number of daemon processes that are started. authdaemon is typically
# installed where authentication modules are relatively expensive: such # installed where authentication modules are relatively expensive: such
# as authldap, or authmysql, so it's better to have a number of them running. # as authldap, or authmysql, so it's better to have a number of them running.
# PLEASE NOTE: Some platforms may experience a problem if there's more than # PLEASE NOTE: Some platforms may experience a problem if there's more than
# one daemon. Specifically, SystemV derived platforms that use TLI with # one daemon. Specifically, SystemV derived platforms that use TLI with
# socket emulation. I'm suspicious of TLI's ability to handle multiple # socket emulation. I'm suspicious of TLI's ability to handle multiple
# processes accepting connections on the same filesystem domain socket. # processes accepting connections on the same filesystem domain socket.
# #
# You may need to increase daemons if as your system load increases. Symptoms # You may need to increase daemons if as your system load increases. Symptoms
# include sporadic authentication failures. If you start getting # include sporadic authentication failures. If you start getting
# authentication failures, increase daemons. However, the default of 5 # authentication failures, increase daemons. However, the default of 5
# SHOULD be sufficient. Bumping up daemon count is only a short-term # SHOULD be sufficient. Bumping up daemon count is only a short-term
# solution. The permanent solution is to add more resources: RAM, faster # solution. The permanent solution is to add more resources: RAM, faster
# disks, faster CPUs... # disks, faster CPUs...
daemons=5 daemons=5
##NAME: version:0 ##NAME: version:0
# #
# When you have multiple versions of authdaemond.* installed, authdaemond # When you have multiple versions of authdaemond.* installed, authdaemond
# just picks the first one it finds. Set "version" to override that. # just picks the first one it finds. Set "version" to override that.
# For example: version=authdaemond.plain # For example: version=authdaemond.plain
version="" version=""
##NAME: authdaemonvar:0 ##NAME: authdaemonvar:0
# #
# authdaemonvar is here, but is not used directly by authdaemond. It's # authdaemonvar is here, but is not used directly by authdaemond. It's
# used by various configuration and build scripts, so don't touch it! # used by various configuration and build scripts, so don't touch it!
authdaemonvar=/var/run/courier/authdaemon authdaemonvar=/var/run/courier/authdaemon

View File

@@ -1,13 +1,13 @@
MYSQL_SERVER <SQL_HOST> MYSQL_SERVER <SQL_HOST>
MYSQL_USERNAME <SQL_UNPRIVILEGED_USER> MYSQL_USERNAME <SQL_UNPRIVILEGED_USER>
MYSQL_PASSWORD <SQL_UNPRIVILEGED_PASSWORD> MYSQL_PASSWORD <SQL_UNPRIVILEGED_PASSWORD>
MYSQL_PORT 3306 MYSQL_PORT 3306
MYSQL_DATABASE <SQL_DB> MYSQL_DATABASE <SQL_DB>
MYSQL_USER_TABLE mail_users MYSQL_USER_TABLE mail_users
MYSQL_CRYPT_PWFIELD password_enc MYSQL_CRYPT_PWFIELD password_enc
MYSQL_UID_FIELD uid MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD username MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD homedir MYSQL_HOME_FIELD homedir
MYSQL_MAILDIR_FIELD maildir MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD (quota*1024*1024) MYSQL_QUOTA_FIELD (quota*1024*1024)

View File

@@ -1,8 +1,8 @@
# #
# Set PATH, otherwise restart-scripts won't find start-stop-daemon # Set PATH, otherwise restart-scripts won't find start-stop-daemon
# #
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# #
# Regular cron jobs for the froxlor package # Regular cron jobs for the froxlor package
# #
*/5 * * * * root /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php */5 * * * * root /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php

View File

@@ -1,5 +1,5 @@
driver = mysql driver = mysql
connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD> connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD>
default_pass_scheme = CRYPT default_pass_scheme = CRYPT
password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE username = '%u' OR email = '%u' password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE username = '%u' OR email = '%u'
user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('maildir:storage=', (quota*1024)) as quota FROM mail_users WHERE username = '%u' OR email = '%u' user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('maildir:storage=', (quota*1024)) as quota FROM mail_users WHERE username = '%u' OR email = '%u'

View File

@@ -1,30 +1,30 @@
### auth/30_froxlor-config ### auth/30_froxlor-config
################################# #################################
plain_server: plain_server:
driver = plaintext driver = plaintext
public_name = PLAIN public_name = PLAIN
server_condition = "${if and { \ server_condition = "${if and { \
{!eq{$2}{}} \ {!eq{$2}{}} \
{!eq{$3}{}} \ {!eq{$3}{}} \
{crypteq{$3}{${lookup mysql{FROXLOR_AUTH_PLAIN}{$value}fail}}} \ {crypteq{$3}{${lookup mysql{FROXLOR_AUTH_PLAIN}{$value}fail}}} \
} {yes}{no}}" } {yes}{no}}"
server_set_id = $2 server_set_id = $2
server_prompts = : server_prompts = :
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}} # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif # .endif
login_server: login_server:
driver = plaintext driver = plaintext
public_name = LOGIN public_name = LOGIN
server_prompts = "Username:: : Password::" server_prompts = "Username:: : Password::"
server_condition = "${if and { \ server_condition = "${if and { \
{!eq{$1}{}} \ {!eq{$1}{}} \
{!eq{$2}{}} \ {!eq{$2}{}} \
{crypteq{$2}{${lookup mysql{FROXLOR_AUTH_LOGIN}{$value}fail}}} \ {crypteq{$2}{${lookup mysql{FROXLOR_AUTH_LOGIN}{$value}fail}}} \
} {yes}{no}}" } {yes}{no}}"
server_set_id = $1 server_set_id = $1
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}} # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif # .endif

View File

@@ -1,20 +1,20 @@
hide mysql_servers = <SQL_HOST>/<SQL_DB>/<SQL_UNPRIVILEGED_USER>/<SQL_UNPRIVILEGED_PASSWORD> hide mysql_servers = <SQL_HOST>/<SQL_DB>/<SQL_UNPRIVILEGED_USER>/<SQL_UNPRIVILEGED_PASSWORD>
FROXLOR_LOCAL_DOMAIN = SELECT domain FROM panel_domains WHERE domain = '${quote_mysql:$domain}' AND isemaildomain = '1' FROXLOR_LOCAL_DOMAIN = SELECT domain FROM panel_domains WHERE domain = '${quote_mysql:$domain}' AND isemaildomain = '1'
FROXLOR_MAILALIAS = SELECT REPLACE(destination,' ',',') FROM mail_virtual WHERE \ FROXLOR_MAILALIAS = SELECT REPLACE(destination,' ',',') FROM mail_virtual WHERE \
(( email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' ) \ (( email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' ) \
OR ( email = '@${quote_mysql:$domain}' AND iscatchall > 0 )) \ OR ( email = '@${quote_mysql:$domain}' AND iscatchall > 0 )) \
AND destination <> '' AND destination <> ' ' ORDER BY iscatchall ASC LIMIT 1 AND destination <> '' AND destination <> ' ' ORDER BY iscatchall ASC LIMIT 1
FROXLOR_MAILUSER = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE \ FROXLOR_MAILUSER = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE \
email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' AND postfix = 'y' email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' AND postfix = 'y'
FROXLOR_PARENT_DOMAIN = SELECT parent.domain FROM `panel_domains` AS parent INNER JOIN panel_domains AS alias \ FROXLOR_PARENT_DOMAIN = SELECT parent.domain FROM `panel_domains` AS parent INNER JOIN panel_domains AS alias \
ON alias.domain = '${quote_mysql:$domain}' AND parent.id = alias.aliasdomain ON alias.domain = '${quote_mysql:$domain}' AND parent.id = alias.aliasdomain
FROXLOR_AUTH_PLAIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$2}' FROXLOR_AUTH_PLAIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$2}'
FROXLOR_AUTH_LOGIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$1}' FROXLOR_AUTH_LOGIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$1}'
domainlist froxlor_domain = mysql;FROXLOR_LOCAL_DOMAIN domainlist froxlor_domain = mysql;FROXLOR_LOCAL_DOMAIN

View File

@@ -1,12 +1,12 @@
froxlor_mailalias: froxlor_mailalias:
debug_print = "R: froxlor_mailalias for $local_part@$domain" debug_print = "R: froxlor_mailalias for $local_part@$domain"
driver = redirect driver = redirect
domains = +froxlor_domain domains = +froxlor_domain
data = ${lookup mysql {FROXLOR_MAILALIAS}{$value}fail} data = ${lookup mysql {FROXLOR_MAILALIAS}{$value}fail}
froxlor_mailuser: froxlor_mailuser:
debug_print = "R: froxlor_mailuser for $local_part@$domain" debug_print = "R: froxlor_mailuser for $local_part@$domain"
driver = redirect driver = redirect
domains = +froxlor_domain domains = +froxlor_domain
data = ${lookup mysql {FROXLOR_MAILUSER}{$value}fail} data = ${lookup mysql {FROXLOR_MAILUSER}{$value}fail}
directory_transport = maildir_froxlor directory_transport = maildir_froxlor

View File

@@ -1,13 +1,13 @@
maildir_froxlor: maildir_froxlor:
debug_print = "T: maildir_froxlor for $local_part@$domain" debug_print = "T: maildir_froxlor for $local_part@$domain"
driver = appendfile driver = appendfile
create_directory create_directory
delivery_date_add delivery_date_add
envelope_to_add envelope_to_add
return_path_add return_path_add
maildir_format maildir_format
directory_mode = 0770 directory_mode = 0770
mode = 0660 mode = 0660
mode_fail_narrower = false mode_fail_narrower = false
user = 2000 user = 2000
group = 2000 group = 2000

View File

@@ -1,20 +1,20 @@
# Make sure that `passwd`, `group` and `shadow` have mysql in their lines # Make sure that `passwd`, `group` and `shadow` have mysql in their lines
# You should place mysql at the end, so that it is queried after the other mechanisams # You should place mysql at the end, so that it is queried after the other mechanisams
# #
passwd: compat mysql passwd: compat mysql
group: compat mysql group: compat mysql
shadow: compat mysql shadow: compat mysql
hosts: files dns hosts: files dns
networks: files dns networks: files dns
services: db files services: db files
protocols: db files protocols: db files
rpc: db files rpc: db files
ethers: db files ethers: db files
netmasks: files netmasks: files
netgroup: files netgroup: files
bootparams: files bootparams: files
automount: files automount: files
aliases: files aliases: files

View File

@@ -1,56 +1,56 @@
############################################################################### ###############################################################################
# Default lighttpd.conf for Froxlor. # Default lighttpd.conf for Froxlor.
############################################################################### ###############################################################################
var.basedir = "/var/www" var.basedir = "/var/www"
var.logdir = "/var/log/lighttpd" var.logdir = "/var/log/lighttpd"
var.statedir = "/var/lib/lighttpd" var.statedir = "/var/lib/lighttpd"
server.modules = ( server.modules = (
"mod_rewrite", "mod_rewrite",
"mod_redirect", "mod_redirect",
"mod_alias", "mod_alias",
"mod_access", "mod_access",
"mod_auth", "mod_auth",
"mod_fastcgi", "mod_fastcgi",
"mod_accesslog" "mod_accesslog"
) )
server.username = "www-data" server.username = "www-data"
server.groupname = "www-data" server.groupname = "www-data"
server.document-root = var.basedir server.document-root = var.basedir
server.pid-file = "/var/run/lighttpd.pid" server.pid-file = "/var/run/lighttpd.pid"
accesslog.filename = var.logdir + "/access.log" accesslog.filename = var.logdir + "/access.log"
server.errorlog = var.logdir + "/error.log" server.errorlog = var.logdir + "/error.log"
server.indexfiles = ("index.php", "index.html", server.indexfiles = ("index.php", "index.html",
"index.htm", "default.htm") "index.htm", "default.htm")
server.name = "<SERVERNAME>" server.name = "<SERVERNAME>"
server.port = 80 server.port = 80
server.bind = "<SERVERIP>" server.bind = "<SERVERIP>"
url.access-deny = ("~", ".inc") url.access-deny = ("~", ".inc")
fastcgi.server = ( fastcgi.server = (
".php" => ( ".php" => (
"localhost" => ( "localhost" => (
"socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd", "socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd",
"broken-scriptfilename" => "enable", "broken-scriptfilename" => "enable",
"bin-path" => "/usr/bin/php5-cgi", "bin-path" => "/usr/bin/php5-cgi",
"min-procs" => 1, "min-procs" => 1,
"max-procs" => 1, "max-procs" => 1,
"max-load-per-proc" => 4, "max-load-per-proc" => 4,
"idle-timeout" => 60, "idle-timeout" => 60,
"bin-environment" => ( "bin-environment" => (
"UID" => "www-data", "UID" => "www-data",
"GID" => "www-data", "GID" => "www-data",
"PHP_FCGI_CHILDREN" => "0", "PHP_FCGI_CHILDREN" => "0",
"PHP_FCGI_MAX_REQUESTS" => "10000" "PHP_FCGI_MAX_REQUESTS" => "10000"
), ),
"bin-copy-environment" => ( "" ) "bin-copy-environment" => ( "" )
) )
) )
) )
#### external configuration files #### external configuration files
## mimetype mapping ## mimetype mapping
include_shell "/usr/share/lighttpd/create-mime.assign.pl" include_shell "/usr/share/lighttpd/create-mime.assign.pl"

View File

@@ -1,93 +1,93 @@
# Postfix programs paths settings # Postfix programs paths settings
command_directory = /usr/sbin command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix program_directory = /usr/lib/postfix
sendmail_path = /usr/sbin/sendmail sendmail_path = /usr/sbin/sendmail
## General Postfix configuration ## General Postfix configuration
# should be the default domain from your provider eg. "server100.provider.tld" # should be the default domain from your provider eg. "server100.provider.tld"
mydomain = <SERVERNAME> mydomain = <SERVERNAME>
# should be different from $mydomain eg. "mail.$mydomain" # should be different from $mydomain eg. "mail.$mydomain"
myhostname = <SERVERNAME> myhostname = <SERVERNAME>
mydestination = $myhostname, mydestination = $myhostname,
$mydomain, $mydomain,
localhost.$myhostname, localhost.$myhostname,
localhost.$mydomain, localhost.$mydomain,
localhost localhost
mynetworks = 127.0.0.0/8 mynetworks = 127.0.0.0/8
inet_interfaces = all inet_interfaces = all
append_dot_mydomain = no append_dot_mydomain = no
biff = no biff = no
# Postfix performance settings # Postfix performance settings
default_destination_concurrency_limit = 20 default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2 local_destination_concurrency_limit = 2
# SMTPD Settings # SMTPD Settings
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_helo_required = yes smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unauth_destination, reject_unauth_destination,
reject_unauth_pipelining, reject_unauth_pipelining,
reject_non_fqdn_recipient reject_non_fqdn_recipient
smtpd_sender_restrictions = permit_mynetworks, smtpd_sender_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_hostname, reject_unknown_hostname,
reject_unknown_recipient_domain, reject_unknown_recipient_domain,
reject_unknown_sender_domain reject_unknown_sender_domain
smtpd_client_restrictions = permit_mynetworks, smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_client reject_unknown_client
# Maximum size of Message in bytes (50MB) # Maximum size of Message in bytes (50MB)
message_size_limit = 52428800 message_size_limit = 52428800
## SASL Auth Settings ## SASL Auth Settings
smtpd_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes broken_sasl_auth_clients = yes
## Dovecot Settings for deliver, SASL Auth and virtual transport ## Dovecot Settings for deliver, SASL Auth and virtual transport
## uncomment those line to use Dovecot ## uncomment those line to use Dovecot
#mailbox_command = /usr/lib/dovecot/deliver #mailbox_command = /usr/lib/dovecot/deliver
#virtual_transport = dovecot #virtual_transport = dovecot
#dovecot_destination_recipient_limit = 1 #dovecot_destination_recipient_limit = 1
# Virtual delivery settings # Virtual delivery settings
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE> virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_uid_maps = static:<VIRTUAL_UID_MAPS> virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
virtual_gid_maps = static:<VIRTUAL_GID_MAPS> virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
# Local delivery settings # Local delivery settings
local_transport = local local_transport = local
alias_database = hash:/etc/aliases alias_database = hash:/etc/aliases
alias_maps = $alias_database alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited! # Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0 mailbox_size_limit = 0
virtual_mailbox_limit = 0 virtual_mailbox_limit = 0
### TLS settings ### TLS settings
### ###
## TLS for outgoing mails from the server to another server ## TLS for outgoing mails from the server to another server
#smtp_use_tls = yes #smtp_use_tls = yes
#smtp_tls_note_starttls_offer = yes #smtp_tls_note_starttls_offer = yes
## TLS for email client ## TLS for email client
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem #smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem #smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org #smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
#smtpd_tls_auth_only = no #smtpd_tls_auth_only = no
#smtpd_tls_loglevel = 1 #smtpd_tls_loglevel = 1
#smtpd_tls_received_header = yes #smtpd_tls_received_header = yes
#smtpd_tls_session_cache_timeout = 3600s #smtpd_tls_session_cache_timeout = 3600s
#tls_random_source = dev:/dev/urandom #tls_random_source = dev:/dev/urandom
debugger_command = debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5 ddd $daemon_directory/$process_name $process_id & sleep 5

View File

@@ -1,8 +1,8 @@
user = <SQL_UNPRIVILEGED_USER> user = <SQL_UNPRIVILEGED_USER>
password = <SQL_UNPRIVILEGED_PASSWORD> password = <SQL_UNPRIVILEGED_PASSWORD>
dbname = <SQL_DB> dbname = <SQL_DB>
table = mail_virtual table = mail_virtual
select_field = destination select_field = destination
where_field = email where_field = email
additional_conditions = and TRIM(destination) <> '' additional_conditions = and TRIM(destination) <> ''
hosts = <SQL_HOST> hosts = <SQL_HOST>

View File

@@ -1,8 +1,8 @@
user = <SQL_UNPRIVILEGED_USER> user = <SQL_UNPRIVILEGED_USER>
password = <SQL_UNPRIVILEGED_PASSWORD> password = <SQL_UNPRIVILEGED_PASSWORD>
dbname = <SQL_DB> dbname = <SQL_DB>
table = panel_domains table = panel_domains
select_field = domain select_field = domain
where_field = domain where_field = domain
additional_conditions = and isemaildomain = '1' additional_conditions = and isemaildomain = '1'
hosts = <SQL_HOST> hosts = <SQL_HOST>

View File

@@ -1,7 +1,7 @@
user = <SQL_UNPRIVILEGED_USER> user = <SQL_UNPRIVILEGED_USER>
password = <SQL_UNPRIVILEGED_PASSWORD> password = <SQL_UNPRIVILEGED_PASSWORD>
dbname = <SQL_DB> dbname = <SQL_DB>
table = mail_users table = mail_users
select_field = maildir select_field = maildir
where_field = email where_field = email
hosts = <SQL_HOST> hosts = <SQL_HOST>

View File

@@ -1,11 +1,11 @@
pwcheck_method: auxprop pwcheck_method: auxprop
auxprop_plugin: sql auxprop_plugin: sql
allowanonymouslogin: no allowanonymouslogin: no
allowplaintext: yes allowplaintext: yes
mech_list: plain login cram-md5 digest-md5 mech_list: plain login cram-md5 digest-md5
sql_engine: mysql sql_engine: mysql
sql_hostnames: <SQL_HOST> sql_hostnames: <SQL_HOST>
sql_user: <SQL_UNPRIVILEGED_USER> sql_user: <SQL_UNPRIVILEGED_USER>
sql_passwd: <SQL_UNPRIVILEGED_PASSWORD> sql_passwd: <SQL_UNPRIVILEGED_PASSWORD>
sql_database: <SQL_DB> sql_database: <SQL_DB>
sql_select: SELECT password FROM mail_users WHERE username='%u@%r' OR email='%u@%r' sql_select: SELECT password FROM mail_users WHERE username='%u@%r' OR email='%u@%r'

View File

@@ -1,17 +1,17 @@
allow-recursion=127.0.0.1 allow-recursion=127.0.0.1
config-dir=/etc/powerdns config-dir=/etc/powerdns
daemon=yes daemon=yes
guardian=yes guardian=yes
launch=bind launch=bind
lazy-recursion=yes lazy-recursion=yes
local-port=53 local-port=53
master=yes master=yes
module-dir=/usr/lib/powerdns module-dir=/usr/lib/powerdns
setgid=pdns setgid=pdns
setuid=pdns setuid=pdns
socket-dir=/var/run socket-dir=/var/run
version-string=powerdns version-string=powerdns
bind-config=/etc/bind/named.conf bind-config=/etc/bind/named.conf
bind-check-interval=300 bind-check-interval=300
include=/etc/powerdns/pdns_froxlor.conf include=/etc/powerdns/pdns_froxlor.conf

View File

@@ -1,34 +1,34 @@
# #
# This file is used to manage DSO modules and features. # This file is used to manage DSO modules and features.
# #
# This is the directory where DSO modules resides # This is the directory where DSO modules resides
ModulePath /usr/lib/proftpd ModulePath /usr/lib/proftpd
# Allow only user root to load and unload modules, but allow everyone # Allow only user root to load and unload modules, but allow everyone
# to see which modules have been loaded # to see which modules have been loaded
ModuleControlsACLs insmod,rmmod allow user root ModuleControlsACLs insmod,rmmod allow user root
ModuleControlsACLs lsmod allow user * ModuleControlsACLs lsmod allow user *
#LoadModule mod_ctrls_admin.c #LoadModule mod_ctrls_admin.c
LoadModule mod_tls.c LoadModule mod_tls.c
LoadModule mod_sql.c LoadModule mod_sql.c
#LoadModule mod_ldap.c #LoadModule mod_ldap.c
LoadModule mod_sql_mysql.c LoadModule mod_sql_mysql.c
#LoadModule mod_sql_postgres.c #LoadModule mod_sql_postgres.c
#LoadModule mod_quotatab.c #LoadModule mod_quotatab.c
#LoadModule mod_quotatab_file.c #LoadModule mod_quotatab_file.c
#LoadModule mod_quotatab_ldap.c #LoadModule mod_quotatab_ldap.c
#LoadModule mod_quotatab_sql.c #LoadModule mod_quotatab_sql.c
#LoadModule mod_radius.c #LoadModule mod_radius.c
LoadModule mod_wrap.c LoadModule mod_wrap.c
LoadModule mod_rewrite.c LoadModule mod_rewrite.c
# keep this module the last one # keep this module the last one
LoadModule mod_ifsession.c LoadModule mod_ifsession.c
<IfModule mod_delay.c> <IfModule mod_delay.c>
DelayEngine off DelayEngine off
</IfModule> </IfModule>

View File

@@ -1,63 +1,63 @@
Include /etc/proftpd/modules.conf Include /etc/proftpd/modules.conf
ServerName "<SERVERNAME> FTP Server" ServerName "<SERVERNAME> FTP Server"
ServerType standalone ServerType standalone
DeferWelcome off DeferWelcome off
MultilineRFC2228 on MultilineRFC2228 on
DefaultServer on DefaultServer on
ShowSymlinks on ShowSymlinks on
AllowOverwrite on AllowOverwrite on
TimeoutNoTransfer 600 TimeoutNoTransfer 600
TimeoutStalled 600 TimeoutStalled 600
TimeoutIdle 1200 TimeoutIdle 1200
DisplayLogin welcome.msg DisplayLogin welcome.msg
DisplayFirstChdir .message DisplayFirstChdir .message
ListOptions "-l" ListOptions "-l"
DenyFilter \*.*/ DenyFilter \*.*/
Port 21 Port 21
MaxInstances 30 MaxInstances 30
UseIPv6 off UseIPv6 off
TransferLog /var/log/proftpd/xferlog TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log SystemLog /var/log/proftpd/proftpd.log
# make proftpd faster / do not perform ident and reverse dns lookup # make proftpd faster / do not perform ident and reverse dns lookup
UseReverseDNS off UseReverseDNS off
# Set the user and group that the server normally runs at. # Set the user and group that the server normally runs at.
User nobody User nobody
Group nogroup Group nogroup
<Directory /*> <Directory /*>
# Umask 022 is a good standard umask to prevent new files and dirs # Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable. # (second parm) from being group and world writable.
Umask 022 022 Umask 022 022
# Normally, we want files to be overwriteable. # Normally, we want files to be overwriteable.
AllowOverwrite on AllowOverwrite on
</Directory> </Directory>
DefaultRoot ~ DefaultRoot ~
RequireValidShell off RequireValidShell off
AuthOrder mod_sql.c AuthOrder mod_sql.c
SQLAuthTypes Crypt SQLAuthTypes Crypt
SQLAuthenticate users* groups* SQLAuthenticate users* groups*
SQLConnectInfo <SQL_DB>@<SQL_HOST> <SQL_UNPRIVILEGED_USER> <SQL_UNPRIVILEGED_PASSWORD> SQLConnectInfo <SQL_DB>@<SQL_HOST> <SQL_UNPRIVILEGED_USER> <SQL_UNPRIVILEGED_PASSWORD>
SQLUserInfo ftp_users username password uid gid homedir shell SQLUserInfo ftp_users username password uid gid homedir shell
SQLGroupInfo ftp_groups groupname gid members SQLGroupInfo ftp_groups groupname gid members
SQLUserWhereClause "login_enabled = 'y'" SQLUserWhereClause "login_enabled = 'y'"
SQLLog PASS login SQLLog PASS login
SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users
SQLLog RETR download SQLLog RETR download
SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users
SQLLog STOR upload SQLLog STOR upload
SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users

View File

@@ -1,22 +1,22 @@
service froxlor service froxlor
{ {
id = froxlor id = froxlor
socket_type = stream socket_type = stream
protocol = tcp protocol = tcp
wait = no wait = no
user = root user = root
server = /usr/bin/php server = /usr/bin/php
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
bind = 127.0.0.1 bind = 127.0.0.1
only_from = 127.0.0.1 only_from = 127.0.0.1
type = UNLISTED type = UNLISTED
port = <REALTIME_PORT> port = <REALTIME_PORT>
disable = no disable = no
log_type = SYSLOG daemon info log_type = SYSLOG daemon info
log_on_success = HOST DURATION log_on_success = HOST DURATION
log_on_failure = HOST ATTEMPT log_on_failure = HOST ATTEMPT
} }

View File

@@ -1,8 +1,8 @@
# #
# Set PATH, otherwise restart-scripts won't find start-stop-daemon # Set PATH, otherwise restart-scripts won't find start-stop-daemon
# #
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# #
# Regular cron jobs for the froxlor package # Regular cron jobs for the froxlor package
# #
*/5 * * * * root /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php */5 * * * * root /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php

View File

@@ -1,5 +1,5 @@
driver = mysql driver = mysql
connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD> connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD>
default_pass_scheme = CRYPT default_pass_scheme = CRYPT
password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE username = '%u' OR email = '%u' password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE username = '%u' OR email = '%u'
user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('maildir:storage=', (quota*1024)) as quota FROM mail_users WHERE username = '%u' OR email = '%u' user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('maildir:storage=', (quota*1024)) as quota FROM mail_users WHERE username = '%u' OR email = '%u'

View File

@@ -1,30 +1,30 @@
### auth/30_froxlor-config ### auth/30_froxlor-config
################################# #################################
plain_server: plain_server:
driver = plaintext driver = plaintext
public_name = PLAIN public_name = PLAIN
server_condition = "${if and { \ server_condition = "${if and { \
{!eq{$2}{}} \ {!eq{$2}{}} \
{!eq{$3}{}} \ {!eq{$3}{}} \
{crypteq{$3}{${lookup mysql{FROXLOR_AUTH_PLAIN}{$value}fail}}} \ {crypteq{$3}{${lookup mysql{FROXLOR_AUTH_PLAIN}{$value}fail}}} \
} {yes}{no}}" } {yes}{no}}"
server_set_id = $2 server_set_id = $2
server_prompts = : server_prompts = :
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}} # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif # .endif
login_server: login_server:
driver = plaintext driver = plaintext
public_name = LOGIN public_name = LOGIN
server_prompts = "Username:: : Password::" server_prompts = "Username:: : Password::"
server_condition = "${if and { \ server_condition = "${if and { \
{!eq{$1}{}} \ {!eq{$1}{}} \
{!eq{$2}{}} \ {!eq{$2}{}} \
{crypteq{$2}{${lookup mysql{FROXLOR_AUTH_LOGIN}{$value}fail}}} \ {crypteq{$2}{${lookup mysql{FROXLOR_AUTH_LOGIN}{$value}fail}}} \
} {yes}{no}}" } {yes}{no}}"
server_set_id = $1 server_set_id = $1
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}} # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif # .endif

View File

@@ -1,20 +1,20 @@
hide mysql_servers = <SQL_HOST>/<SQL_DB>/<SQL_UNPRIVILEGED_USER>/<SQL_UNPRIVILEGED_PASSWORD> hide mysql_servers = <SQL_HOST>/<SQL_DB>/<SQL_UNPRIVILEGED_USER>/<SQL_UNPRIVILEGED_PASSWORD>
FROXLOR_LOCAL_DOMAIN = SELECT domain FROM panel_domains WHERE domain = '${quote_mysql:$domain}' AND isemaildomain = '1' FROXLOR_LOCAL_DOMAIN = SELECT domain FROM panel_domains WHERE domain = '${quote_mysql:$domain}' AND isemaildomain = '1'
FROXLOR_MAILALIAS = SELECT REPLACE(destination,' ',',') FROM mail_virtual WHERE \ FROXLOR_MAILALIAS = SELECT REPLACE(destination,' ',',') FROM mail_virtual WHERE \
(( email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' ) \ (( email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' ) \
OR ( email = '@${quote_mysql:$domain}' AND iscatchall > 0 )) \ OR ( email = '@${quote_mysql:$domain}' AND iscatchall > 0 )) \
AND destination <> '' AND destination <> ' ' ORDER BY iscatchall ASC LIMIT 1 AND destination <> '' AND destination <> ' ' ORDER BY iscatchall ASC LIMIT 1
FROXLOR_MAILUSER = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE \ FROXLOR_MAILUSER = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE \
email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' AND postfix = 'y' email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' AND postfix = 'y'
FROXLOR_PARENT_DOMAIN = SELECT parent.domain FROM `panel_domains` AS parent INNER JOIN panel_domains AS alias \ FROXLOR_PARENT_DOMAIN = SELECT parent.domain FROM `panel_domains` AS parent INNER JOIN panel_domains AS alias \
ON alias.domain = '${quote_mysql:$domain}' AND parent.id = alias.aliasdomain ON alias.domain = '${quote_mysql:$domain}' AND parent.id = alias.aliasdomain
FROXLOR_AUTH_PLAIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$2}' FROXLOR_AUTH_PLAIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$2}'
FROXLOR_AUTH_LOGIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$1}' FROXLOR_AUTH_LOGIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$1}'
domainlist froxlor_domain = mysql;FROXLOR_LOCAL_DOMAIN domainlist froxlor_domain = mysql;FROXLOR_LOCAL_DOMAIN

View File

@@ -1,12 +1,12 @@
froxlor_mailalias: froxlor_mailalias:
debug_print = "R: froxlor_mailalias for $local_part@$domain" debug_print = "R: froxlor_mailalias for $local_part@$domain"
driver = redirect driver = redirect
domains = +froxlor_domain domains = +froxlor_domain
data = ${lookup mysql {FROXLOR_MAILALIAS}{$value}fail} data = ${lookup mysql {FROXLOR_MAILALIAS}{$value}fail}
froxlor_mailuser: froxlor_mailuser:
debug_print = "R: froxlor_mailuser for $local_part@$domain" debug_print = "R: froxlor_mailuser for $local_part@$domain"
driver = redirect driver = redirect
domains = +froxlor_domain domains = +froxlor_domain
data = ${lookup mysql {FROXLOR_MAILUSER}{$value}fail} data = ${lookup mysql {FROXLOR_MAILUSER}{$value}fail}
directory_transport = maildir_froxlor directory_transport = maildir_froxlor

View File

@@ -1,13 +1,13 @@
maildir_froxlor: maildir_froxlor:
debug_print = "T: maildir_froxlor for $local_part@$domain" debug_print = "T: maildir_froxlor for $local_part@$domain"
driver = appendfile driver = appendfile
create_directory create_directory
delivery_date_add delivery_date_add
envelope_to_add envelope_to_add
return_path_add return_path_add
maildir_format maildir_format
directory_mode = 0770 directory_mode = 0770
mode = 0660 mode = 0660
mode_fail_narrower = false mode_fail_narrower = false
user = 2000 user = 2000
group = 2000 group = 2000

View File

@@ -1,20 +1,20 @@
# Make sure that `passwd`, `group` and `shadow` have mysql in their lines # Make sure that `passwd`, `group` and `shadow` have mysql in their lines
# You should place mysql at the end, so that it is queried after the other mechanisams # You should place mysql at the end, so that it is queried after the other mechanisams
# #
passwd: compat mysql passwd: compat mysql
group: compat mysql group: compat mysql
shadow: compat mysql shadow: compat mysql
hosts: files dns hosts: files dns
networks: files dns networks: files dns
services: db files services: db files
protocols: db files protocols: db files
rpc: db files rpc: db files
ethers: db files ethers: db files
netmasks: files netmasks: files
netgroup: files netgroup: files
bootparams: files bootparams: files
automount: files automount: files
aliases: files aliases: files

View File

@@ -1,56 +1,56 @@
############################################################################### ###############################################################################
# Default lighttpd.conf for Froxlor. # Default lighttpd.conf for Froxlor.
############################################################################### ###############################################################################
var.basedir = "/var/www" var.basedir = "/var/www"
var.logdir = "/var/log/lighttpd" var.logdir = "/var/log/lighttpd"
var.statedir = "/var/lib/lighttpd" var.statedir = "/var/lib/lighttpd"
server.modules = ( server.modules = (
"mod_rewrite", "mod_rewrite",
"mod_redirect", "mod_redirect",
"mod_alias", "mod_alias",
"mod_access", "mod_access",
"mod_auth", "mod_auth",
"mod_fastcgi", "mod_fastcgi",
"mod_accesslog" "mod_accesslog"
) )
server.username = "www-data" server.username = "www-data"
server.groupname = "www-data" server.groupname = "www-data"
server.document-root = var.basedir server.document-root = var.basedir
server.pid-file = "/var/run/lighttpd.pid" server.pid-file = "/var/run/lighttpd.pid"
accesslog.filename = var.logdir + "/access.log" accesslog.filename = var.logdir + "/access.log"
server.errorlog = var.logdir + "/error.log" server.errorlog = var.logdir + "/error.log"
server.indexfiles = ("index.php", "index.html", server.indexfiles = ("index.php", "index.html",
"index.htm", "default.htm") "index.htm", "default.htm")
server.name = "<SERVERNAME>" server.name = "<SERVERNAME>"
server.port = 80 server.port = 80
server.bind = "<SERVERIP>" server.bind = "<SERVERIP>"
url.access-deny = ("~", ".inc") url.access-deny = ("~", ".inc")
fastcgi.server = ( fastcgi.server = (
".php" => ( ".php" => (
"localhost" => ( "localhost" => (
"socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd", "socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd",
"broken-scriptfilename" => "enable", "broken-scriptfilename" => "enable",
"bin-path" => "/usr/bin/php5-cgi", "bin-path" => "/usr/bin/php5-cgi",
"min-procs" => 1, "min-procs" => 1,
"max-procs" => 1, "max-procs" => 1,
"max-load-per-proc" => 4, "max-load-per-proc" => 4,
"idle-timeout" => 60, "idle-timeout" => 60,
"bin-environment" => ( "bin-environment" => (
"UID" => "www-data", "UID" => "www-data",
"GID" => "www-data", "GID" => "www-data",
"PHP_FCGI_CHILDREN" => "0", "PHP_FCGI_CHILDREN" => "0",
"PHP_FCGI_MAX_REQUESTS" => "10000" "PHP_FCGI_MAX_REQUESTS" => "10000"
), ),
"bin-copy-environment" => ( "" ) "bin-copy-environment" => ( "" )
) )
) )
) )
#### external configuration files #### external configuration files
## mimetype mapping ## mimetype mapping
include_shell "/usr/share/lighttpd/create-mime.assign.pl" include_shell "/usr/share/lighttpd/create-mime.assign.pl"

View File

@@ -1,93 +1,93 @@
# Postfix programs paths settings # Postfix programs paths settings
command_directory = /usr/sbin command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix program_directory = /usr/lib/postfix
sendmail_path = /usr/sbin/sendmail sendmail_path = /usr/sbin/sendmail
## General Postfix configuration ## General Postfix configuration
# should be the default domain from your provider eg. "server100.provider.tld" # should be the default domain from your provider eg. "server100.provider.tld"
mydomain = <SERVERNAME> mydomain = <SERVERNAME>
# should be different from $mydomain eg. "mail.$mydomain" # should be different from $mydomain eg. "mail.$mydomain"
myhostname = <SERVERNAME> myhostname = <SERVERNAME>
mydestination = $myhostname, mydestination = $myhostname,
$mydomain, $mydomain,
localhost.$myhostname, localhost.$myhostname,
localhost.$mydomain, localhost.$mydomain,
localhost localhost
mynetworks = 127.0.0.0/8 mynetworks = 127.0.0.0/8
inet_interfaces = all inet_interfaces = all
append_dot_mydomain = no append_dot_mydomain = no
biff = no biff = no
# Postfix performance settings # Postfix performance settings
default_destination_concurrency_limit = 20 default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2 local_destination_concurrency_limit = 2
# SMTPD Settings # SMTPD Settings
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_helo_required = yes smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unauth_destination, reject_unauth_destination,
reject_unauth_pipelining, reject_unauth_pipelining,
reject_non_fqdn_recipient reject_non_fqdn_recipient
smtpd_sender_restrictions = permit_mynetworks, smtpd_sender_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_hostname, reject_unknown_hostname,
reject_unknown_recipient_domain, reject_unknown_recipient_domain,
reject_unknown_sender_domain reject_unknown_sender_domain
smtpd_client_restrictions = permit_mynetworks, smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_client reject_unknown_client
# Maximum size of Message in bytes (50MB) # Maximum size of Message in bytes (50MB)
message_size_limit = 52428800 message_size_limit = 52428800
## SASL Auth Settings ## SASL Auth Settings
smtpd_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes broken_sasl_auth_clients = yes
## Dovecot Settings for deliver, SASL Auth and virtual transport ## Dovecot Settings for deliver, SASL Auth and virtual transport
## uncomment those line to use Dovecot ## uncomment those line to use Dovecot
#mailbox_command = /usr/lib/dovecot/deliver #mailbox_command = /usr/lib/dovecot/deliver
#virtual_transport = dovecot #virtual_transport = dovecot
#dovecot_destination_recipient_limit = 1 #dovecot_destination_recipient_limit = 1
# Virtual delivery settings # Virtual delivery settings
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE> virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_uid_maps = static:<VIRTUAL_UID_MAPS> virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
virtual_gid_maps = static:<VIRTUAL_GID_MAPS> virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
# Local delivery settings # Local delivery settings
local_transport = local local_transport = local
alias_database = hash:/etc/aliases alias_database = hash:/etc/aliases
alias_maps = $alias_database alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited! # Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0 mailbox_size_limit = 0
virtual_mailbox_limit = 0 virtual_mailbox_limit = 0
### TLS settings ### TLS settings
### ###
## TLS for outgoing mails from the server to another server ## TLS for outgoing mails from the server to another server
#smtp_use_tls = yes #smtp_use_tls = yes
#smtp_tls_note_starttls_offer = yes #smtp_tls_note_starttls_offer = yes
## TLS for email client ## TLS for email client
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem #smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem #smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org #smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
#smtpd_tls_auth_only = no #smtpd_tls_auth_only = no
#smtpd_tls_loglevel = 1 #smtpd_tls_loglevel = 1
#smtpd_tls_received_header = yes #smtpd_tls_received_header = yes
#smtpd_tls_session_cache_timeout = 3600s #smtpd_tls_session_cache_timeout = 3600s
#tls_random_source = dev:/dev/urandom #tls_random_source = dev:/dev/urandom
debugger_command = debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5 ddd $daemon_directory/$process_name $process_id & sleep 5

View File

@@ -1,8 +1,8 @@
user = <SQL_UNPRIVILEGED_USER> user = <SQL_UNPRIVILEGED_USER>
password = <SQL_UNPRIVILEGED_PASSWORD> password = <SQL_UNPRIVILEGED_PASSWORD>
dbname = <SQL_DB> dbname = <SQL_DB>
table = mail_virtual table = mail_virtual
select_field = destination select_field = destination
where_field = email where_field = email
additional_conditions = and TRIM(destination) <> '' additional_conditions = and TRIM(destination) <> ''
hosts = <SQL_HOST> hosts = <SQL_HOST>

View File

@@ -1,17 +1,17 @@
allow-recursion=127.0.0.1 allow-recursion=127.0.0.1
config-dir=/etc/powerdns config-dir=/etc/powerdns
daemon=yes daemon=yes
guardian=yes guardian=yes
launch=bind launch=bind
lazy-recursion=yes lazy-recursion=yes
local-port=53 local-port=53
master=yes master=yes
module-dir=/usr/lib/powerdns module-dir=/usr/lib/powerdns
setgid=pdns setgid=pdns
setuid=pdns setuid=pdns
socket-dir=/var/run socket-dir=/var/run
version-string=powerdns version-string=powerdns
bind-config=/etc/bind/named.conf bind-config=/etc/bind/named.conf
bind-check-interval=300 bind-check-interval=300
include=/etc/powerdns/pdns_froxlor.conf include=/etc/powerdns/pdns_froxlor.conf

View File

@@ -1,23 +1,23 @@
service froxlor service froxlor
{ {
id = froxlor id = froxlor
socket_type = stream socket_type = stream
protocol = tcp protocol = tcp
wait = no wait = no
user = root user = root
server = /usr/bin/php server = /usr/bin/php
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
bind = 127.0.0.1 bind = 127.0.0.1
only_from = 127.0.0.1 only_from = 127.0.0.1
type = UNLISTED type = UNLISTED
port = <REALTIME_PORT> port = <REALTIME_PORT>
disable = no disable = no
log_type = SYSLOG daemon info log_type = SYSLOG daemon info
log_on_success = HOST DURATION log_on_success = HOST DURATION
log_on_failure = HOST ATTEMPT log_on_failure = HOST ATTEMPT
} }

View File

@@ -1,10 +1,10 @@
# #
# Set PATH, otherwise restart-scripts won't find start-stop-daemon # Set PATH, otherwise restart-scripts won't find start-stop-daemon
# #
PATH=/sbin:/bin:/usr/sbin:/usr/bin PATH=/sbin:/bin:/usr/sbin:/usr/bin
# #
# Regular cron jobs for the froxlor package # Regular cron jobs for the froxlor package
# #
# Please check that all following paths are correct # Please check that all following paths are correct
# #
*/5 * * * * root /usr/lib/php5/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php */5 * * * * root /usr/lib/php5/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php

View File

@@ -1,10 +1,10 @@
# #
# !!! DO NOT REPLACE THE ORIGINAL CONFIG WITH THIS FILE !!! # !!! DO NOT REPLACE THE ORIGINAL CONFIG WITH THIS FILE !!!
# #
# Instead, just set the shown values in the file to the # Instead, just set the shown values in the file to the
# given values ;-) # given values ;-)
# #
Syslog yes Syslog yes
Domain /etc/postfix/dkim/domains Domain /etc/postfix/dkim/domains
KeyList /etc/postfix/dkim/dkim-keys.conf KeyList /etc/postfix/dkim/dkim-keys.conf

View File

@@ -1,2 +1,2 @@
username <SQL_UNPRIVILEGED_USER> username <SQL_UNPRIVILEGED_USER>
password <SQL_UNPRIVILEGED_PASSWORD> password <SQL_UNPRIVILEGED_PASSWORD>

View File

@@ -1,38 +1,38 @@
getpwnam SELECT username,'x',uid,gid,'MySQL User',homedir,shell \ getpwnam SELECT username,'x',uid,gid,'MySQL User',homedir,shell \
FROM ftp_users \ FROM ftp_users \
WHERE username='%1$s' \ WHERE username='%1$s' \
LIMIT 1 LIMIT 1
getpwuid SELECT username,'x',uid,gid,'MySQL User',homedir,shell \ getpwuid SELECT username,'x',uid,gid,'MySQL User',homedir,shell \
FROM ftp_users \ FROM ftp_users \
WHERE uid='%1$u' \ WHERE uid='%1$u' \
LIMIT 1 LIMIT 1
getspnam SELECT username,password,UNIX_TIMESTAMP()-10,'1','2','7','-1','-1','0' \ getspnam SELECT username,password,UNIX_TIMESTAMP()-10,'1','2','7','-1','-1','0' \
FROM ftp_users \ FROM ftp_users \
WHERE username='%1$s' \ WHERE username='%1$s' \
LIMIT 1 LIMIT 1
getpwent SELECT username,'x',uid,gid,'MySQL User',homedir,shell \ getpwent SELECT username,'x',uid,gid,'MySQL User',homedir,shell \
FROM ftp_users FROM ftp_users
getspent SELECT username,password,UNIX_TIMESTAMP()-10,'1','2','7','-1','-1','0' \ getspent SELECT username,password,UNIX_TIMESTAMP()-10,'1','2','7','-1','-1','0' \
FROM ftp_users FROM ftp_users
getgrnam SELECT groupname,'x',gid \ getgrnam SELECT groupname,'x',gid \
FROM ftp_groups \ FROM ftp_groups \
WHERE groupname='%1$s' \ WHERE groupname='%1$s' \
LIMIT 1 LIMIT 1
getgrgid SELECT groupname,'x',gid \ getgrgid SELECT groupname,'x',gid \
FROM ftp_groups \ FROM ftp_groups \
WHERE gid='%1$u' \ WHERE gid='%1$u' \
LIMIT 1 LIMIT 1
getgrent SELECT groupname,'x',gid \ getgrent SELECT groupname,'x',gid \
FROM ftp_groups FROM ftp_groups
memsbygid SELECT username \ memsbygid SELECT username \
FROM ftp_users \ FROM ftp_users \
WHERE gid='%1$u' WHERE gid='%1$u'
gidsbymem SELECT gid \ gidsbymem SELECT gid \
FROM ftp_users \ FROM ftp_users \
WHERE username='%1$s' WHERE username='%1$s'
host <SQL_HOST> host <SQL_HOST>
database <SQL_DB> database <SQL_DB>
username <SQL_UNPRIVILEGED_USER> username <SQL_UNPRIVILEGED_USER>
password <SQL_UNPRIVILEGED_PASSWORD> password <SQL_UNPRIVILEGED_PASSWORD>
socket /var/run/mysqld/mysqld.sock socket /var/run/mysqld/mysqld.sock

View File

@@ -1,20 +1,20 @@
# Make sure that `passwd`, `group` and `shadow` have mysql in their lines # Make sure that `passwd`, `group` and `shadow` have mysql in their lines
# You should place mysql at the end, so that it is queried after the other mechanisams # You should place mysql at the end, so that it is queried after the other mechanisams
# #
passwd: compat mysql passwd: compat mysql
group: compat mysql group: compat mysql
shadow: compat mysql shadow: compat mysql
hosts: files dns hosts: files dns
networks: files dns networks: files dns
services: db files services: db files
protocols: db files protocols: db files
rpc: db files rpc: db files
ethers: db files ethers: db files
netmasks: files netmasks: files
netgroup: files netgroup: files
bootparams: files bootparams: files
automount: files automount: files
aliases: files aliases: files

View File

@@ -1,54 +1,54 @@
############################################################################### ###############################################################################
# Default lighttpd.conf for Froxlor. # Default lighttpd.conf for Froxlor.
############################################################################### ###############################################################################
var.basedir = "/var/www" var.basedir = "/var/www"
var.logdir = "/var/log/lighttpd" var.logdir = "/var/log/lighttpd"
var.statedir = "/var/lib/lighttpd" var.statedir = "/var/lib/lighttpd"
server.modules = ( server.modules = (
"mod_rewrite", "mod_rewrite",
"mod_redirect", "mod_redirect",
"mod_alias", "mod_alias",
"mod_access", "mod_access",
"mod_auth", "mod_auth",
"mod_fastcgi", "mod_fastcgi",
"mod_accesslog" "mod_accesslog"
) )
server.username = "lighttpd" server.username = "lighttpd"
server.groupname = "lighttpd" server.groupname = "lighttpd"
server.document-root = var.basedir server.document-root = var.basedir
server.pid-file = "/var/run/lighttpd.pid" server.pid-file = "/var/run/lighttpd.pid"
accesslog.filename = var.logdir + "/access.log" accesslog.filename = var.logdir + "/access.log"
server.errorlog = var.logdir + "/error.log" server.errorlog = var.logdir + "/error.log"
server.indexfiles = ("index.php", "index.html", server.indexfiles = ("index.php", "index.html",
"index.htm", "default.htm") "index.htm", "default.htm")
server.name = "<SERVERNAME>" server.name = "<SERVERNAME>"
server.port = 80 server.port = 80
server.bind = "<SERVERIP>" server.bind = "<SERVERIP>"
url.access-deny = ("~", ".inc") url.access-deny = ("~", ".inc")
include "mime-types.conf" include "mime-types.conf"
fastcgi.server = ( fastcgi.server = (
".php" => ( ".php" => (
"localhost" => ( "localhost" => (
"socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd", "socket" => "<CUSTOMER_TMP>lighttpd-fcgi-sock-lighttpd",
"broken-scriptfilename" => "enable", "broken-scriptfilename" => "enable",
"bin-path" => "/usr/bin/php-cgi", "bin-path" => "/usr/bin/php-cgi",
"min-procs" => 1, "min-procs" => 1,
"max-procs" => 1, "max-procs" => 1,
"max-load-per-proc" => 4, "max-load-per-proc" => 4,
"idle-timeout" => 60, "idle-timeout" => 60,
"bin-environment" => ( "bin-environment" => (
"UID" => "lighttpd", "UID" => "lighttpd",
"GID" => "lighttpd", "GID" => "lighttpd",
"PHP_FCGI_CHILDREN" => "0", "PHP_FCGI_CHILDREN" => "0",
"PHP_FCGI_MAX_REQUESTS" => "10000" "PHP_FCGI_MAX_REQUESTS" => "10000"
), ),
"bin-copy-environment" => ( "" ) "bin-copy-environment" => ( "" )
) )
) )
) )

View File

@@ -1,112 +1,112 @@
# Postfix programs paths settings # Postfix programs paths settings
command_directory = /usr/sbin command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix program_directory = /usr/lib/postfix
sendmail_path = /usr/sbin/sendmail sendmail_path = /usr/sbin/sendmail
## General Postfix configuration ## General Postfix configuration
# should be the default domain from your provider eg. "server100.provider.tld" # should be the default domain from your provider eg. "server100.provider.tld"
mydomain = <SERVERNAME> mydomain = <SERVERNAME>
# should be different from $mydomain eg. "mail.$mydomain" # should be different from $mydomain eg. "mail.$mydomain"
myhostname = <SERVERNAME> myhostname = <SERVERNAME>
mydestination = $myhostname, mydestination = $myhostname,
$mydomain, $mydomain,
localhost.$myhostname, localhost.$myhostname,
localhost.$mydomain, localhost.$mydomain,
localhost localhost
mynetworks = 127.0.0.0/8 mynetworks = 127.0.0.0/8
inet_interfaces = all inet_interfaces = all
append_dot_mydomain = no append_dot_mydomain = no
biff = no biff = no
# Postfix performance settings # Postfix performance settings
default_destination_concurrency_limit = 20 default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2 local_destination_concurrency_limit = 2
# SMTPD Settings # SMTPD Settings
smtpd_banner = $myhostname ESMTP $mail_name (Gentoo/GNU) smtpd_banner = $myhostname ESMTP $mail_name (Gentoo/GNU)
smtpd_helo_required = yes smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unauth_destination, reject_unauth_destination,
reject_unauth_pipelining, reject_unauth_pipelining,
reject_non_fqdn_recipient reject_non_fqdn_recipient
smtpd_sender_restrictions = permit_mynetworks, smtpd_sender_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_hostname, reject_unknown_hostname,
reject_unknown_recipient_domain, reject_unknown_recipient_domain,
reject_unknown_sender_domain reject_unknown_sender_domain
smtpd_client_restrictions = permit_mynetworks, smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_client reject_unknown_client
# Maximum size of Message in bytes (50MB) # Maximum size of Message in bytes (50MB)
message_size_limit = 52428800 message_size_limit = 52428800
## SASL Auth Settings ## SASL Auth Settings
smtpd_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes broken_sasl_auth_clients = yes
## Dovecot Settings for deliver, SASL Auth and virtual transport ## Dovecot Settings for deliver, SASL Auth and virtual transport
## uncomment those line to use Dovecot ## uncomment those line to use Dovecot
#mailbox_command = /usr/libexec/dovecot/deliver #mailbox_command = /usr/libexec/dovecot/deliver
#smtpd_sasl_type = dovecot #smtpd_sasl_type = dovecot
#smtpd_sasl_path = private/auth #smtpd_sasl_path = private/auth
#virtual_transport = dovecot #virtual_transport = dovecot
#dovecot_destination_recipient_limit = 1 #dovecot_destination_recipient_limit = 1
# Virtual delivery settings # Virtual delivery settings
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE> virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_uid_maps = static:<VIRTUAL_UID_MAPS> virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
virtual_gid_maps = static:<VIRTUAL_GID_MAPS> virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
# Local delivery settings # Local delivery settings
local_transport = local local_transport = local
alias_database = hash:/etc/mail/aliases alias_database = hash:/etc/mail/aliases
alias_maps = $alias_database alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited! # Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0 mailbox_size_limit = 0
virtual_mailbox_limit = 0 virtual_mailbox_limit = 0
### TLS settings ### TLS settings
### ###
## TLS for outgoing mails from the server to another server ## TLS for outgoing mails from the server to another server
#smtp_use_tls = yes #smtp_use_tls = yes
#smtp_tls_note_starttls_offer = yes #smtp_tls_note_starttls_offer = yes
## TLS for email client ## TLS for email client
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem #smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.pem
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem #smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.pem
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org #smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
#smtpd_tls_auth_only = no #smtpd_tls_auth_only = no
#smtpd_tls_loglevel = 1 #smtpd_tls_loglevel = 1
#smtpd_tls_received_header = yes #smtpd_tls_received_header = yes
#smtpd_tls_session_cache_timeout = 3600s #smtpd_tls_session_cache_timeout = 3600s
#tls_random_source = dev:/dev/urandom #tls_random_source = dev:/dev/urandom
### Quota Settings with vda useflag ### Quota Settings with vda useflag
## I use only virtual as localdelivery... This permit me to have full ## I use only virtual as localdelivery... This permit me to have full
## virtual domain hosting without using a lots of maps ## virtual domain hosting without using a lots of maps
#virtual_transport = virtual #virtual_transport = virtual
## Generate maildirsize files or not ## Generate maildirsize files or not
#virtual_create_maildirsize = yes #virtual_create_maildirsize = yes
## I use Courier IMAP compatibles files. ## I use Courier IMAP compatibles files.
#virtual_mailbox_extended = yes #virtual_mailbox_extended = yes
## Limits only INBOX part (usefull when ## Limits only INBOX part (usefull when
## using when you have IMAP users) ## using when you have IMAP users)
#virtual_mailbox_limit_inbox = yes #virtual_mailbox_limit_inbox = yes
## maps of soft disk quotas ## maps of soft disk quotas
#virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf #virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf
#virtual_mailbox_limit_override = yes #virtual_mailbox_limit_override = yes
#virtual_maildir_limit_message = Sorry, this user has overdrawn their diskspace quota. Please try again later. #virtual_maildir_limit_message = Sorry, this user has overdrawn their diskspace quota. Please try again later.
#virtual_overquota_bounce = yes #virtual_overquota_bounce = yes
debugger_command = debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5 ddd $daemon_directory/$process_name $process_id & sleep 5

View File

@@ -1,8 +1,8 @@
user = <SQL_UNPRIVILEGED_USER> user = <SQL_UNPRIVILEGED_USER>
password = <SQL_UNPRIVILEGED_PASSWORD> password = <SQL_UNPRIVILEGED_PASSWORD>
dbname = <SQL_DB> dbname = <SQL_DB>
table = mail_virtual table = mail_virtual
select_field = destination select_field = destination
where_field = email where_field = email
additional_conditions = and TRIM(destination) <> '' additional_conditions = and TRIM(destination) <> ''
hosts = <SQL_HOST> hosts = <SQL_HOST>

View File

@@ -1,92 +1,92 @@
# Server settings # Server settings
ServerName "<SERVERNAME> FTP Server" ServerName "<SERVERNAME> FTP Server"
ServerType standalone ServerType standalone
ServerIdent off ServerIdent off
DefaultServer on DefaultServer on
Port 21 Port 21
MaxInstances 50 MaxInstances 50
# General settings # General settings
DeferWelcome on DeferWelcome on
MultilineRFC2228 on MultilineRFC2228 on
ShowSymlinks on ShowSymlinks on
AllowOverwrite on AllowOverwrite on
AllowStoreRestart on AllowStoreRestart on
AllowRetrieveRestart on AllowRetrieveRestart on
UseReverseDNS off UseReverseDNS off
ListOptions "-al" ListOptions "-al"
DisplayChdir .message DisplayChdir .message
UseIPv6 off UseIPv6 off
# Modules settings # Modules settings
#DelayEngine off #DelayEngine off
# Timeout settings # Timeout settings
TimeoutLogin 120 TimeoutLogin 120
TimeoutNoTransfer 600 TimeoutNoTransfer 600
TimeoutStalled 600 TimeoutStalled 600
TimeoutIdle 600 TimeoutIdle 600
# Security settings # Security settings
RootLogin off RootLogin off
RequireValidShell off RequireValidShell off
User froxlorftpd User froxlorftpd
Group froxlorftpd Group froxlorftpd
Umask 133 022 Umask 133 022
DefaultRoot ~ DefaultRoot ~
DenyFilter \*.*/ DenyFilter \*.*/
# Per-Directory settings # Per-Directory settings
<Directory /*> <Directory /*>
Umask 133 022 Umask 133 022
AllowOverwrite on AllowOverwrite on
</Directory> </Directory>
# SQL settings # SQL settings
SQLAuthTypes Crypt SQLAuthTypes Crypt
SQLAuthenticate users* groups* SQLAuthenticate users* groups*
SQLConnectInfo <SQL_DB>@<SQL_HOST> <SQL_UNPRIVILEGED_USER> <SQL_UNPRIVILEGED_PASSWORD> SQLConnectInfo <SQL_DB>@<SQL_HOST> <SQL_UNPRIVILEGED_USER> <SQL_UNPRIVILEGED_PASSWORD>
SQLUserInfo ftp_users username password uid gid homedir shell SQLUserInfo ftp_users username password uid gid homedir shell
SQLGroupInfo ftp_groups groupname gid members SQLGroupInfo ftp_groups groupname gid members
SQLUserWhereClause "login_enabled = 'y'" SQLUserWhereClause "login_enabled = 'y'"
SQLLog PASS login SQLLog PASS login
SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users
SQLLog RETR download SQLLog RETR download
SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users
SQLLog STOR upload SQLLog STOR upload
SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users
# TLS settings # TLS settings
#<IfModule mod_tls.c> #<IfModule mod_tls.c>
#TLSEngine on #TLSEngine on
#TLSLog /var/log/proftpd-tls.log #TLSLog /var/log/proftpd-tls.log
#TLSProtocol SSLv23 #TLSProtocol SSLv23
#TLSTimeoutHandshake 120 #TLSTimeoutHandshake 120
# Really important for WinClients # Really important for WinClients
#TLSOptions NoCertRequest #TLSOptions NoCertRequest
#TLSRSACertificateFile /etc/ssl/server/<SERVERNAME>.crt #TLSRSACertificateFile /etc/ssl/server/<SERVERNAME>.crt
#TLSRSACertificateKeyFile /etc/ssl/server/<SERVERNAME>.key #TLSRSACertificateKeyFile /etc/ssl/server/<SERVERNAME>.key
# Authenticate client that want to use FTP over TLS? # Authenticate client that want to use FTP over TLS?
#TLSVerifyClient off #TLSVerifyClient off
# Uncomment the following line to force tls login # Uncomment the following line to force tls login
#TLSRequired off #TLSRequired off
#</IfModule> #</IfModule>
# LOG settings # LOG settings
# Logging Formats # Logging Formats
LogFormat default "%h %1 %u %t \"%r\" %s %b" LogFormat default "%h %1 %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s" LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b" LogFormat write "%h %l %u %t \"%r\" %s %b"
# Activate Logging # Activate Logging
# all logins # all logins
ExtendedLog /var/log/proftpd-auth.log AUTH auth ExtendedLog /var/log/proftpd-auth.log AUTH auth
# file/dir access # file/dir access
ExtendedLog /var/log/proftpd-access.log WRITE,READ write ExtendedLog /var/log/proftpd-access.log WRITE,READ write
# everything (be careful, generates_ very_ big logfiles) # everything (be careful, generates_ very_ big logfiles)
#ExtendedLog /var/log/proftpd-all.log ALL default #ExtendedLog /var/log/proftpd-all.log ALL default
# make proftpd faster / do not perform ident and reverse dns lookup # make proftpd faster / do not perform ident and reverse dns lookup
UseReverseDNS off UseReverseDNS off

View File

@@ -1,23 +1,23 @@
service froxlor service froxlor
{ {
id = froxlor id = froxlor
socket_type = stream socket_type = stream
protocol = tcp protocol = tcp
wait = no wait = no
user = root user = root
server = /usr/bin/php server = /usr/bin/php
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
bind = 127.0.0.1 bind = 127.0.0.1
only_from = 127.0.0.1 only_from = 127.0.0.1
type = UNLISTED type = UNLISTED
port = <REALTIME_PORT> port = <REALTIME_PORT>
disable = no disable = no
log_type = SYSLOG daemon info log_type = SYSLOG daemon info
log_on_success = HOST DURATION log_on_success = HOST DURATION
log_on_failure = HOST ATTEMPT log_on_failure = HOST ATTEMPT
} }

View File

@@ -1,8 +1,8 @@
# #
# Set PATH, otherwise restart-scripts won't find start-stop-daemon # Set PATH, otherwise restart-scripts won't find start-stop-daemon
# #
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# #
# Regular cron jobs for the froxlor package # Regular cron jobs for the froxlor package
# #
*/5 * * * * root /usr/bin/php5 -q /srv/www/htdocs/froxlor/scripts/froxlor_master_cronjob.php */5 * * * * root /usr/bin/php5 -q /srv/www/htdocs/froxlor/scripts/froxlor_master_cronjob.php

View File

@@ -1,64 +1,64 @@
queue_directory = /var/spool/postfix queue_directory = /var/spool/postfix
command_directory = /usr/sbin command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix daemon_directory = /usr/lib/postfix
mail_owner = postfix mail_owner = postfix
inet_interfaces = all inet_interfaces = all
unknown_local_recipient_reject_code = 550 unknown_local_recipient_reject_code = 550
debug_peer_level = 2 debug_peer_level = 2
debugger_command = debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5 xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq mailq_path = /usr/bin/mailq
setgid_group = maildrop setgid_group = maildrop
html_directory = /usr/share/doc/packages/postfix/html html_directory = /usr/share/doc/packages/postfix/html
manpage_directory = /usr/share/man manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/packages/postfix/samples sample_directory = /usr/share/doc/packages/postfix/samples
readme_directory = /usr/share/doc/packages/postfix/README_FILES readme_directory = /usr/share/doc/packages/postfix/README_FILES
inet_protocols = all inet_protocols = all
biff = no biff = no
append_dot_mydomain = no append_dot_mydomain = no
mail_spool_directory = /var/mail mail_spool_directory = /var/mail
canonical_maps = hash:/etc/postfix/canonical canonical_maps = hash:/etc/postfix/canonical
virtual_mailbox_base = /var/kunden/mail/ virtual_mailbox_base = /var/kunden/mail/
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_domains = virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_uid_maps = static:<VIRTUAL_UID_MAPS> virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
virtual_gid_maps = static:<VIRTUAL_GID_MAPS> virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
virtual_maps = hash:/etc/postfix/virtual virtual_maps = hash:/etc/postfix/virtual
relocated_maps = hash:/etc/postfix/relocated relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient masquerade_classes = envelope_sender, header_sender, header_recipient
myhostname = <SERVERNAME> myhostname = <SERVERNAME>
mydomain = <SERVERNAME> mydomain = <SERVERNAME>
program_directory = /usr/lib/postfix program_directory = /usr/lib/postfix
masquerade_domains = masquerade_domains =
mydestination = $myhostname $mydomain localhost localhost.$mydomain mydestination = $myhostname $mydomain localhost localhost.$mydomain
mynetworks = 127.0.0.0/8 mynetworks = 127.0.0.0/8
defer_transports = defer_transports =
disable_dns_lookups = no disable_dns_lookups = no
relayhost = relayhost =
mailbox_command = mailbox_command =
mailbox_transport = mailbox_transport =
strict_8bitmime = no strict_8bitmime = no
disable_mime_output_conversion = no disable_mime_output_conversion = no
smtpd_client_restrictions = smtpd_client_restrictions =
smtpd_helo_required = no smtpd_helo_required = no
smtpd_helo_restrictions = smtpd_helo_restrictions =
strict_rfc821_envelopes = no strict_rfc821_envelopes = no
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes broken_sasl_auth_clients = yes
#smtpd_use_tls = no #smtpd_use_tls = no
#smtp_use_tls = no #smtp_use_tls = no
alias_maps = $alias_database alias_maps = $alias_database
mailbox_size_limit = 0 mailbox_size_limit = 0
virtual_mailbox_limit = 0 virtual_mailbox_limit = 0
message_size_limit = 10240000 message_size_limit = 10240000

View File

@@ -1,8 +1,8 @@
user = <SQL_UNPRIVILEGED_USER> user = <SQL_UNPRIVILEGED_USER>
password = <SQL_UNPRIVILEGED_PASSWORD> password = <SQL_UNPRIVILEGED_PASSWORD>
dbname = <SQL_DB> dbname = <SQL_DB>
table = mail_virtual table = mail_virtual
select_field = destination select_field = destination
where_field = email where_field = email
additional_conditions = and TRIM(destination) <> '' additional_conditions = and TRIM(destination) <> ''
hosts = <SQL_HOST> hosts = <SQL_HOST>

View File

@@ -1,69 +1,69 @@
Include /etc/proftpd/modules.conf Include /etc/proftpd/modules.conf
ServerName "<SERVERNAME> FTP Server" ServerName "<SERVERNAME> FTP Server"
ServerType standalone ServerType standalone
DeferWelcome off DeferWelcome off
MultilineRFC2228 on MultilineRFC2228 on
DefaultServer on DefaultServer on
ShowSymlinks on ShowSymlinks on
AllowOverwrite on AllowOverwrite on
TimeoutNoTransfer 600 TimeoutNoTransfer 600
TimeoutStalled 600 TimeoutStalled 600
TimeoutIdle 1200 TimeoutIdle 1200
DisplayLogin welcome.msg DisplayLogin welcome.msg
DisplayChdir .message DisplayChdir .message
ListOptions "-l" ListOptions "-l"
DenyFilter \*.*/ DenyFilter \*.*/
Port 21 Port 21
MaxInstances 30 MaxInstances 30
UseIPv6 off UseIPv6 off
TransferLog /var/log/proftpd/xferlog TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log SystemLog /var/log/proftpd/proftpd.log
# make proftpd faster / do not perform ident and reverse dns lookup # make proftpd faster / do not perform ident and reverse dns lookup
UseReverseDNS off UseReverseDNS off
# Set the user and group that the server normally runs at. # Set the user and group that the server normally runs at.
User nobody User nobody
Group nogroup Group nogroup
<Directory /*> <Directory /*>
# Umask 022 is a good standard umask to prevent new files and dirs # Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable. # (second parm) from being group and world writable.
Umask 022 022 Umask 022 022
# Normally, we want files to be overwriteable. # Normally, we want files to be overwriteable.
AllowOverwrite on AllowOverwrite on
</Directory> </Directory>
<Global> <Global>
# CH-Root all users # CH-Root all users
DefaultRoot ~ DefaultRoot ~
# Reject rootlogin (just for security) # Reject rootlogin (just for security)
RootLogin off RootLogin off
# Noo need to require valid shell, because user is virtual # Noo need to require valid shell, because user is virtual
RequireValidShell off RequireValidShell off
</Global> </Global>
AuthOrder mod_sql.c AuthOrder mod_sql.c
SQLAuthTypes Crypt Plaintext SQLAuthTypes Crypt Plaintext
SQLAuthenticate users* groups* SQLAuthenticate users* groups*
SQLConnectInfo <SQL_DB>@<SQL_HOST> <SQL_UNPRIVILEGED_USER> <SQL_UNPRIVILEGED_PASSWORD> SQLConnectInfo <SQL_DB>@<SQL_HOST> <SQL_UNPRIVILEGED_USER> <SQL_UNPRIVILEGED_PASSWORD>
SQLUserInfo ftp_users username password uid gid homedir shell SQLUserInfo ftp_users username password uid gid homedir shell
SQLGroupInfo ftp_groups groupname gid members SQLGroupInfo ftp_groups groupname gid members
SQLUserWhereClause "login_enabled = 'y'" SQLUserWhereClause "login_enabled = 'y'"
SQLLog PASS login SQLLog PASS login
SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_users
SQLLog RETR download SQLLog RETR download
SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_users
SQLLog STOR upload SQLLog STOR upload
SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_users

View File

@@ -1,8 +1,8 @@
# #
# Set PATH, otherwise restart-scripts won't find start-stop-daemon # Set PATH, otherwise restart-scripts won't find start-stop-daemon
# #
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# #
# Regular cron jobs for the froxlor package # Regular cron jobs for the froxlor package
# #
*/5 * * * * root /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php */5 * * * * root /usr/bin/php5 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php

View File

@@ -1,5 +1,5 @@
driver = mysql driver = mysql
connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD> connect = host=<SQL_HOST> dbname=<SQL_DB> user=<SQL_UNPRIVILEGED_USER> password=<SQL_UNPRIVILEGED_PASSWORD>
default_pass_scheme = CRYPT default_pass_scheme = CRYPT
password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE username = '%u' OR email = '%u' password_query = SELECT username AS user, password_enc AS password, CONCAT(homedir, maildir) AS userdb_home, uid AS userdb_uid, gid AS userdb_gid, CONCAT('maildir:', homedir, maildir) AS userdb_mail, CONCAT('maildir:storage=', (quota*1024)) as userdb_quota FROM mail_users WHERE username = '%u' OR email = '%u'
user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('maildir:storage=', (quota*1024)) as quota FROM mail_users WHERE username = '%u' OR email = '%u' user_query = SELECT CONCAT(homedir, maildir) AS home, CONCAT('maildir:', homedir, maildir) AS mail, uid, gid, CONCAT('maildir:storage=', (quota*1024)) as quota FROM mail_users WHERE username = '%u' OR email = '%u'

View File

@@ -1,30 +1,30 @@
### auth/30_froxlor-config ### auth/30_froxlor-config
################################# #################################
plain_server: plain_server:
driver = plaintext driver = plaintext
public_name = PLAIN public_name = PLAIN
server_condition = "${if and { \ server_condition = "${if and { \
{!eq{$2}{}} \ {!eq{$2}{}} \
{!eq{$3}{}} \ {!eq{$3}{}} \
{crypteq{$3}{${lookup mysql{FROXLOR_AUTH_PLAIN}{$value}fail}}} \ {crypteq{$3}{${lookup mysql{FROXLOR_AUTH_PLAIN}{$value}fail}}} \
} {yes}{no}}" } {yes}{no}}"
server_set_id = $2 server_set_id = $2
server_prompts = : server_prompts = :
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}} # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif # .endif
login_server: login_server:
driver = plaintext driver = plaintext
public_name = LOGIN public_name = LOGIN
server_prompts = "Username:: : Password::" server_prompts = "Username:: : Password::"
server_condition = "${if and { \ server_condition = "${if and { \
{!eq{$1}{}} \ {!eq{$1}{}} \
{!eq{$2}{}} \ {!eq{$2}{}} \
{crypteq{$2}{${lookup mysql{FROXLOR_AUTH_LOGIN}{$value}fail}}} \ {crypteq{$2}{${lookup mysql{FROXLOR_AUTH_LOGIN}{$value}fail}}} \
} {yes}{no}}" } {yes}{no}}"
server_set_id = $1 server_set_id = $1
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS # .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}} # server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif # .endif

View File

@@ -1,20 +1,20 @@
hide mysql_servers = <SQL_HOST>/<SQL_DB>/<SQL_UNPRIVILEGED_USER>/<SQL_UNPRIVILEGED_PASSWORD> hide mysql_servers = <SQL_HOST>/<SQL_DB>/<SQL_UNPRIVILEGED_USER>/<SQL_UNPRIVILEGED_PASSWORD>
FROXLOR_LOCAL_DOMAIN = SELECT domain FROM panel_domains WHERE domain = '${quote_mysql:$domain}' AND isemaildomain = '1' FROXLOR_LOCAL_DOMAIN = SELECT domain FROM panel_domains WHERE domain = '${quote_mysql:$domain}' AND isemaildomain = '1'
FROXLOR_MAILALIAS = SELECT REPLACE(destination,' ',',') FROM mail_virtual WHERE \ FROXLOR_MAILALIAS = SELECT REPLACE(destination,' ',',') FROM mail_virtual WHERE \
(( email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' ) \ (( email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' ) \
OR ( email = '@${quote_mysql:$domain}' AND iscatchall > 0 )) \ OR ( email = '@${quote_mysql:$domain}' AND iscatchall > 0 )) \
AND destination <> '' AND destination <> ' ' ORDER BY iscatchall ASC LIMIT 1 AND destination <> '' AND destination <> ' ' ORDER BY iscatchall ASC LIMIT 1
FROXLOR_MAILUSER = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE \ FROXLOR_MAILUSER = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE \
email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' AND postfix = 'y' email = '${quote_mysql:$local_part}@${quote_mysql:$domain}' AND postfix = 'y'
FROXLOR_PARENT_DOMAIN = SELECT parent.domain FROM `panel_domains` AS parent INNER JOIN panel_domains AS alias \ FROXLOR_PARENT_DOMAIN = SELECT parent.domain FROM `panel_domains` AS parent INNER JOIN panel_domains AS alias \
ON alias.domain = '${quote_mysql:$domain}' AND parent.id = alias.aliasdomain ON alias.domain = '${quote_mysql:$domain}' AND parent.id = alias.aliasdomain
FROXLOR_AUTH_PLAIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$2}' FROXLOR_AUTH_PLAIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$2}'
FROXLOR_AUTH_LOGIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$1}' FROXLOR_AUTH_LOGIN = SELECT password_enc FROM mail_users WHERE username = '${quote_mysql:$1}'
domainlist froxlor_domain = mysql;FROXLOR_LOCAL_DOMAIN domainlist froxlor_domain = mysql;FROXLOR_LOCAL_DOMAIN

View File

@@ -1,12 +1,12 @@
froxlor_mailalias: froxlor_mailalias:
debug_print = "R: froxlor_mailalias for $local_part@$domain" debug_print = "R: froxlor_mailalias for $local_part@$domain"
driver = redirect driver = redirect
domains = +froxlor_domain domains = +froxlor_domain
data = ${lookup mysql {FROXLOR_MAILALIAS}{$value}fail} data = ${lookup mysql {FROXLOR_MAILALIAS}{$value}fail}
froxlor_mailuser: froxlor_mailuser:
debug_print = "R: froxlor_mailuser for $local_part@$domain" debug_print = "R: froxlor_mailuser for $local_part@$domain"
driver = redirect driver = redirect
domains = +froxlor_domain domains = +froxlor_domain
data = ${lookup mysql {FROXLOR_MAILUSER}{$value}fail} data = ${lookup mysql {FROXLOR_MAILUSER}{$value}fail}
directory_transport = maildir_froxlor directory_transport = maildir_froxlor

View File

@@ -1,13 +1,13 @@
maildir_froxlor: maildir_froxlor:
debug_print = "T: maildir_froxlor for $local_part@$domain" debug_print = "T: maildir_froxlor for $local_part@$domain"
driver = appendfile driver = appendfile
create_directory create_directory
delivery_date_add delivery_date_add
envelope_to_add envelope_to_add
return_path_add return_path_add
maildir_format maildir_format
directory_mode = 0770 directory_mode = 0770
mode = 0660 mode = 0660
mode_fail_narrower = false mode_fail_narrower = false
user = 2000 user = 2000
group = 2000 group = 2000

View File

@@ -1,20 +1,20 @@
# Make sure that `passwd`, `group` and `shadow` have mysql in their lines # Make sure that `passwd`, `group` and `shadow` have mysql in their lines
# You should place mysql at the end, so that it is queried after the other mechanisams # You should place mysql at the end, so that it is queried after the other mechanisams
# #
passwd: compat mysql passwd: compat mysql
group: compat mysql group: compat mysql
shadow: compat mysql shadow: compat mysql
hosts: files dns hosts: files dns
networks: files dns networks: files dns
services: db files services: db files
protocols: db files protocols: db files
rpc: db files rpc: db files
ethers: db files ethers: db files
netmasks: files netmasks: files
netgroup: files netgroup: files
bootparams: files bootparams: files
automount: files automount: files
aliases: files aliases: files

View File

@@ -1,93 +1,93 @@
# Postfix programs paths settings # Postfix programs paths settings
command_directory = /usr/sbin command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix program_directory = /usr/lib/postfix
sendmail_path = /usr/sbin/sendmail sendmail_path = /usr/sbin/sendmail
## General Postfix configuration ## General Postfix configuration
# should be the default domain from your provider eg. "server100.provider.tld" # should be the default domain from your provider eg. "server100.provider.tld"
mydomain = <SERVERNAME> mydomain = <SERVERNAME>
# should be different from $mydomain eg. "mail.$mydomain" # should be different from $mydomain eg. "mail.$mydomain"
myhostname = mail.<SERVERNAME> myhostname = mail.<SERVERNAME>
mydestination = $myhostname, mydestination = $myhostname,
$mydomain, $mydomain,
localhost.$myhostname, localhost.$myhostname,
localhost.$mydomain, localhost.$mydomain,
localhost localhost
mynetworks = 127.0.0.0/8 mynetworks = 127.0.0.0/8
inet_interfaces = all inet_interfaces = all
append_dot_mydomain = no append_dot_mydomain = no
biff = no biff = no
# Postfix performance settings # Postfix performance settings
default_destination_concurrency_limit = 20 default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2 local_destination_concurrency_limit = 2
# SMTPD Settings # SMTPD Settings
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu/GNU) smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu/GNU)
smtpd_helo_required = yes smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unauth_destination, reject_unauth_destination,
reject_unauth_pipelining, reject_unauth_pipelining,
reject_non_fqdn_recipient reject_non_fqdn_recipient
smtpd_sender_restrictions = permit_mynetworks, smtpd_sender_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_hostname, reject_unknown_hostname,
reject_unknown_recipient_domain, reject_unknown_recipient_domain,
reject_unknown_sender_domain reject_unknown_sender_domain
smtpd_client_restrictions = permit_mynetworks, smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated, permit_sasl_authenticated,
reject_unknown_client reject_unknown_client
# Maximum size of Message in bytes (50MB) # Maximum size of Message in bytes (50MB)
message_size_limit = 52428800 message_size_limit = 52428800
## SASL Auth Settings ## SASL Auth Settings
smtpd_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes broken_sasl_auth_clients = yes
## Dovecot Settings for deliver, SASL Auth and virtual transport ## Dovecot Settings for deliver, SASL Auth and virtual transport
## uncomment those line to use Dovecot ## uncomment those line to use Dovecot
#mailbox_command = /usr/lib/dovecot/deliver #mailbox_command = /usr/lib/dovecot/deliver
#virtual_transport = dovecot #virtual_transport = dovecot
#dovecot_destination_recipient_limit = 1 #dovecot_destination_recipient_limit = 1
# Virtual delivery settings # Virtual delivery settings
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE> virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_uid_maps = static:<VIRTUAL_UID_MAPS> virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
virtual_gid_maps = static:<VIRTUAL_GID_MAPS> virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
# Local delivery settings # Local delivery settings
local_transport = local local_transport = local
alias_database = hash:/etc/aliases alias_database = hash:/etc/aliases
alias_maps = $alias_database alias_maps = $alias_database
# Default Mailbox size, is set to 0 which means unlimited! # Default Mailbox size, is set to 0 which means unlimited!
mailbox_size_limit = 0 mailbox_size_limit = 0
virtual_mailbox_limit = 0 virtual_mailbox_limit = 0
### TLS settings ### TLS settings
### ###
## TLS for outgoing mails from the server to another server ## TLS for outgoing mails from the server to another server
#smtp_use_tls = yes #smtp_use_tls = yes
#smtp_tls_note_starttls_offer = yes #smtp_tls_note_starttls_offer = yes
## TLS for email client ## TLS for email client
#smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.crt #smtpd_tls_cert_file = /etc/ssl/server/<SERVERNAME>.crt
#smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.key #smtpd_tls_key_file = /etc/ssl/server/<SERVERNAME>.key
#smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org #smtpd_tls_CAfile = /etc/ssl/cacert.class3.crt # Just an example for CACert.org
#smtpd_tls_auth_only = no #smtpd_tls_auth_only = no
#smtpd_tls_loglevel = 1 #smtpd_tls_loglevel = 1
#smtpd_tls_received_header = yes #smtpd_tls_received_header = yes
#smtpd_tls_session_cache_timeout = 3600s #smtpd_tls_session_cache_timeout = 3600s
#tls_random_source = dev:/dev/urandom #tls_random_source = dev:/dev/urandom
debugger_command = debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5 ddd $daemon_directory/$process_name $process_id & sleep 5

View File

@@ -1,8 +1,8 @@
user = <SQL_UNPRIVILEGED_USER> user = <SQL_UNPRIVILEGED_USER>
password = <SQL_UNPRIVILEGED_PASSWORD> password = <SQL_UNPRIVILEGED_PASSWORD>
dbname = <SQL_DB> dbname = <SQL_DB>
table = mail_virtual table = mail_virtual
select_field = destination select_field = destination
where_field = email where_field = email
additional_conditions = and TRIM(destination) <> '' additional_conditions = and TRIM(destination) <> ''
hosts = <SQL_HOST> hosts = <SQL_HOST>

View File

@@ -1,17 +1,17 @@
allow-recursion=127.0.0.1 allow-recursion=127.0.0.1
config-dir=/etc/powerdns config-dir=/etc/powerdns
daemon=yes daemon=yes
guardian=yes guardian=yes
launch=bind launch=bind
lazy-recursion=yes lazy-recursion=yes
local-port=53 local-port=53
master=yes master=yes
module-dir=/usr/lib/powerdns module-dir=/usr/lib/powerdns
setgid=pdns setgid=pdns
setuid=pdns setuid=pdns
socket-dir=/var/run socket-dir=/var/run
version-string=powerdns version-string=powerdns
bind-config=/etc/bind/named.conf bind-config=/etc/bind/named.conf
bind-check-interval=300 bind-check-interval=300
include=/etc/powerdns/pdns_froxlor.conf include=/etc/powerdns/pdns_froxlor.conf

View File

@@ -1,23 +1,23 @@
service froxlor service froxlor
{ {
id = froxlor id = froxlor
socket_type = stream socket_type = stream
protocol = tcp protocol = tcp
wait = no wait = no
user = root user = root
server = /usr/bin/php server = /usr/bin/php
server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php server_args = -q /var/www/froxlor/scripts/froxlor_master_cronjob.php
bind = 127.0.0.1 bind = 127.0.0.1
only_from = 127.0.0.1 only_from = 127.0.0.1
type = UNLISTED type = UNLISTED
port = <REALTIME_PORT> port = <REALTIME_PORT>
disable = no disable = no
log_type = SYSLOG daemon info log_type = SYSLOG daemon info
log_on_success = HOST DURATION log_on_success = HOST DURATION
log_on_failure = HOST ATTEMPT log_on_failure = HOST ATTEMPT
} }

View File

@@ -1,69 +1,69 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta name="Publisher" content="Froxlor" /> <meta name="Publisher" content="Froxlor" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Style-Type" content="text/css" />
<title>Froxlor Defaultpage</title> <title>Froxlor Defaultpage</title>
<style type="text/css"> <style type="text/css">
body { body {
font-family: Verdana, Helvetica, sans-serif; font-family: Verdana, Helvetica, sans-serif;
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
color: #fff; color: #fff;
margin: 0; margin: 0;
padding: 0; padding: 0;
background-color: #fff; background-color: #fff;
} }
.default { .default {
width: 500px; width: 500px;
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
height: 70px; height: 70px;
padding: 1em; padding: 1em;
margin: -100px 0 0 -258px; margin: -100px 0 0 -258px;
background-color: #2d6b85; background-color: #2d6b85;
border: 1px solid #254f76; border: 1px solid #254f76;
-moz-border-radius-bottomleft:20px; -moz-border-radius-bottomleft:20px;
-moz-border-radius-bottomright:20px; -moz-border-radius-bottomright:20px;
-moz-border-radius-topleft:20px; -moz-border-radius-topleft:20px;
-moz-border-radius-topright:20px; -moz-border-radius-topright:20px;
} }
.default ul { list-style: none; padding: 0; margin: .75em; } .default ul { list-style: none; padding: 0; margin: .75em; }
.default ul li { margin-bottom: 1em; } .default ul li { margin-bottom: 1em; }
.default ul li a { text-decoration: underline; font-weight: bold; color: #fff; } .default ul li a { text-decoration: underline; font-weight: bold; color: #fff; }
.default ul li a:hover { text-decoration: none; font-weight: bold; color: #cccccc; } .default ul li a:hover { text-decoration: none; font-weight: bold; color: #cccccc; }
.footer { .footer {
width: 500px; width: 500px;
position: absolute; position: absolute;
top: 70%; top: 70%;
left: 50%; left: 50%;
height: 25px; height: 25px;
padding: 1em; padding: 1em;
margin: -100px 0 0 -258px; margin: -100px 0 0 -258px;
color: #cccccc; color: #cccccc;
font-size: 10pt; font-size: 10pt;
} }
.footer ul { list-style: none; padding: 0; margin: 0; } .footer ul { list-style: none; padding: 0; margin: 0; }
.footer ul li a { text-decoration: none; color: #cccccc; } .footer ul li a { text-decoration: none; color: #cccccc; }
.footer ul li a:hover { text-decoration: none; color: #bbbbbb; } .footer ul li a:hover { text-decoration: none; color: #bbbbbb; }
</style> </style>
</head> </head>
<body> <body>
<div class="default"> <div class="default">
<ul> <ul>
<li>This domain was created using <a href="http://www.froxlor.org">Froxlor</a>.</li> <li>This domain was created using <a href="http://www.froxlor.org">Froxlor</a>.</li>
<li>There is no content on this domain yet.</li> <li>There is no content on this domain yet.</li>
</ul> </ul>
</div> </div>
<div class="footer"> <div class="footer">
<ul><li>&copy; 2009-2010 by <a href="http://www.froxlor.org">the Froxlor Team</a></li></ul> <ul><li>&copy; 2009-2010 by <a href="http://www.froxlor.org">the Froxlor Team</a></li></ul>
</div> </div>
</body> </body>
</html> </html>