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.
calculate-utils-2.1-server/scripts/cl-setup

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)