You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.7 KiB
93 lines
3.7 KiB
#!/usr/bin/python
|
|
#-*- coding: utf-8 -*-
|
|
|
|
# Copyright 2008-2010 Mir Calculate. http://www.calculate-linux.org
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import sys
|
|
import os
|
|
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-lib/pym'))
|
|
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-server/pym'))
|
|
import cl_base
|
|
tr = cl_base.lang()
|
|
tr.setGlobalDomain('cl_server')
|
|
tr.setLanguage(sys.modules[__name__])
|
|
import cl_ldap
|
|
|
|
if __name__ == "__main__":
|
|
ldapObj = cl_ldap.cl_ldap("cl-setup")
|
|
optObj = cl_ldap.tsOpt(ldapObj,[])
|
|
flagError = False
|
|
if not optObj.flagHelp and 'service' in optObj.params:
|
|
# Настройка сервера LDAP
|
|
flagError = True
|
|
if optObj.params['service'] == "ldap" and \
|
|
ldapObj.checkPkgs('net-nds/openldap','sys-auth/pam_ldap',
|
|
'sys-auth/nss_ldap'):
|
|
obj = cl_ldap.servLdap()
|
|
if obj.setupLdapServer(optObj.opt):
|
|
flagError = False
|
|
elif optObj.params['service'] == "unix" and \
|
|
ldapObj.checkPkgs('net-nds/openldap','sys-auth/pam_ldap',
|
|
'sys-auth/nss_ldap'):
|
|
obj = cl_ldap.servUnix()
|
|
if obj.setupUnixServer(optObj.opt):
|
|
flagError = False
|
|
# Настройка сервера Samba
|
|
elif optObj.params['service'] == "samba" and \
|
|
ldapObj.checkPkgs('net-fs/samba'):
|
|
obj = cl_ldap.servSamba()
|
|
if obj.setupSambaServer(optObj.opt):
|
|
flagError = False
|
|
# Настройка сервера Mail
|
|
elif optObj.params['service'] == "mail" and \
|
|
ldapObj.checkPkgs('net-mail/dovecot','mail-mta/postfix'):
|
|
obj = cl_ldap.servMail()
|
|
if obj.setupMailServer(optObj.opt):
|
|
flagError = False
|
|
# Настройка сервера jabber
|
|
elif optObj.params['service'] == "jabber" and \
|
|
ldapObj.checkPkgs('net-im/ejabberd'):
|
|
obj = cl_ldap.servJabber()
|
|
if obj.setupJabberServer(optObj.opt):
|
|
flagError = False
|
|
# Настройка сервера ftp
|
|
elif optObj.params['service'] == "ftp" and \
|
|
ldapObj.checkPkgs('net-ftp/proftpd'):
|
|
obj = cl_ldap.servFtp()
|
|
if obj.setupFtpServer(optObj.opt):
|
|
flagError = False
|
|
# Настройка сервера proxy
|
|
elif optObj.params['service'] == "proxy" and \
|
|
ldapObj.checkPkgs('net-proxy/squid'):
|
|
obj = cl_ldap.servProxy()
|
|
if obj.setupProxyServer(optObj.opt):
|
|
flagError = False
|
|
# Настройка сервера dns
|
|
elif optObj.params['service'] == "dns" and \
|
|
ldapObj.checkPkgs('net-dns/bind'):
|
|
obj = cl_ldap.servDns()
|
|
if obj.setupDnsServer(optObj.opt):
|
|
flagError = False
|
|
# Настройка сервера dhcp
|
|
elif optObj.params['service'] == "dhcp" and \
|
|
ldapObj.checkPkgs('net-misc/dhcp'):
|
|
obj = cl_ldap.servDhcp()
|
|
if obj.setupDhcpServer(optObj.opt):
|
|
flagError = False
|
|
if flagError:
|
|
sys.exit(1)
|
|
else:
|
|
sys.exit(0)
|