mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-23 15:40:01 -06:00
ipa-server-install now renders UI assets
This commit is contained in:
parent
bd619adb5c
commit
5782b882a7
@ -17,10 +17,13 @@ install-exec-local:
|
|||||||
chmod 700 $(DESTDIR)$(localstatedir)/lib/ipa/sysrestore
|
chmod 700 $(DESTDIR)$(localstatedir)/lib/ipa/sysrestore
|
||||||
mkdir -p $(DESTDIR)$(localstatedir)/cache/ipa/sessions
|
mkdir -p $(DESTDIR)$(localstatedir)/cache/ipa/sessions
|
||||||
chmod 700 $(DESTDIR)$(localstatedir)/cache/ipa/sessions
|
chmod 700 $(DESTDIR)$(localstatedir)/cache/ipa/sessions
|
||||||
|
mkdir -p $(DESTDIR)$(localstatedir)/cache/ipa/assets
|
||||||
|
chmod 700 $(DESTDIR)$(localstatedir)/cache/ipa/assets
|
||||||
|
|
||||||
uninstall-local:
|
uninstall-local:
|
||||||
-rmdir $(DESTDIR)$(localstatedir)/lib/ipa/sysrestore
|
-rmdir $(DESTDIR)$(localstatedir)/lib/ipa/sysrestore
|
||||||
-rmdir $(DESTDIR)$(localstatedir)/lib/ipa
|
-rmdir $(DESTDIR)$(localstatedir)/lib/ipa
|
||||||
|
-rmdir $(DESTDIR)$(localstatedir)/cache/ipa/assets
|
||||||
-rmdir $(DESTDIR)$(localstatedir)/cache/ipa/sessions
|
-rmdir $(DESTDIR)$(localstatedir)/cache/ipa/sessions
|
||||||
-rmdir $(DESTDIR)$(localstatedir)/cache/ipa
|
-rmdir $(DESTDIR)$(localstatedir)/cache/ipa
|
||||||
|
|
||||||
|
@ -64,6 +64,15 @@ Alias /ipa/crl "/var/lib/pki-ca/publish"
|
|||||||
PythonAutoReload Off
|
PythonAutoReload Off
|
||||||
</Location>
|
</Location>
|
||||||
|
|
||||||
|
Alias /ipa-assets/ "/var/cache/ipa/assets/"
|
||||||
|
<Directory "/var/cache/ipa/assets">
|
||||||
|
Allow from all
|
||||||
|
AllowOverride None
|
||||||
|
Options Indexes FollowSymLinks
|
||||||
|
ExpiresActive On
|
||||||
|
ExpiresDefault A31536000
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
|
||||||
# Do no authentication on the directory that contains error messages
|
# Do no authentication on the directory that contains error messages
|
||||||
<Directory "/usr/share/ipa/html">
|
<Directory "/usr/share/ipa/html">
|
||||||
|
@ -53,10 +53,13 @@ from ipapython import sysrestore
|
|||||||
from ipapython.ipautil import *
|
from ipapython.ipautil import *
|
||||||
from ipalib import api, util
|
from ipalib import api, util
|
||||||
|
|
||||||
|
import ipawebui
|
||||||
|
|
||||||
pw_name = None
|
pw_name = None
|
||||||
|
|
||||||
# Used to determine the the highest possible uid/gid
|
# Used to determine the the highest possible uid/gid
|
||||||
MAXINT_32BIT = 2147483648
|
MAXINT_32BIT = 2147483648
|
||||||
|
ASSETS_DIR = '/var/cache/ipa/assets'
|
||||||
|
|
||||||
def parse_options():
|
def parse_options():
|
||||||
namespace = random.randint(1000000, (MAXINT_32BIT - 1000000))
|
namespace = random.randint(1000000, (MAXINT_32BIT - 1000000))
|
||||||
@ -387,6 +390,15 @@ def uninstall(ca = False):
|
|||||||
fstore.restore_all_files()
|
fstore.restore_all_files()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
def render_assets():
|
||||||
|
"""
|
||||||
|
Render CSS and JavaScript assets.
|
||||||
|
"""
|
||||||
|
ui = ipawebui.create_wsgi_app(api)
|
||||||
|
ui.render_assets()
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
global ds
|
global ds
|
||||||
global pw_name
|
global pw_name
|
||||||
@ -410,15 +422,17 @@ def main():
|
|||||||
global fstore
|
global fstore
|
||||||
fstore = sysrestore.FileStore('/var/lib/ipa/sysrestore')
|
fstore = sysrestore.FileStore('/var/lib/ipa/sysrestore')
|
||||||
|
|
||||||
if options.uninstall:
|
|
||||||
api.bootstrap(in_server=True)
|
|
||||||
else:
|
|
||||||
if options.ca:
|
|
||||||
ca_type = 'dogtag'
|
|
||||||
else:
|
|
||||||
ca_type = 'selfsign'
|
|
||||||
|
|
||||||
api.bootstrap(in_server=True, ra_plugin=ca_type)
|
cfg = dict(
|
||||||
|
in_server=True,
|
||||||
|
webui_assets_dir=ASSETS_DIR,
|
||||||
|
)
|
||||||
|
if not options.uninstall:
|
||||||
|
if options.ca:
|
||||||
|
cfg['ra_plugin'] = 'dogtag'
|
||||||
|
else:
|
||||||
|
cfg['ra_plugin'] = 'selfsign'
|
||||||
|
api.bootstrap(**cfg)
|
||||||
api.finalize()
|
api.finalize()
|
||||||
|
|
||||||
if options.uninstall:
|
if options.uninstall:
|
||||||
@ -440,7 +454,7 @@ def main():
|
|||||||
print " * Create and configure an instance of Directory Server"
|
print " * Create and configure an instance of Directory Server"
|
||||||
print " * Create and configure a Kerberos Key Distribution Center (KDC)"
|
print " * Create and configure a Kerberos Key Distribution Center (KDC)"
|
||||||
print " * Configure Apache (httpd)"
|
print " * Configure Apache (httpd)"
|
||||||
print " * Configure TurboGears"
|
print " * Render web UI JavaScript and CSS assets"
|
||||||
if options.setup_dns:
|
if options.setup_dns:
|
||||||
print " * Configure DNS (bind)"
|
print " * Configure DNS (bind)"
|
||||||
if not options.conf_ntp:
|
if not options.conf_ntp:
|
||||||
@ -660,6 +674,9 @@ def main():
|
|||||||
krb = krbinstance.KrbInstance(fstore)
|
krb = krbinstance.KrbInstance(fstore)
|
||||||
krb.create_instance(ds_user, realm_name, host_name, domain_name, dm_password, master_password)
|
krb.create_instance(ds_user, realm_name, host_name, domain_name, dm_password, master_password)
|
||||||
|
|
||||||
|
# Render webui assets:
|
||||||
|
render_assets()
|
||||||
|
|
||||||
# Create a HTTP instance
|
# Create a HTTP instance
|
||||||
|
|
||||||
if options.http_pin:
|
if options.http_pin:
|
||||||
@ -696,6 +713,7 @@ def main():
|
|||||||
fd.write("enable_ra=True\n")
|
fd.write("enable_ra=True\n")
|
||||||
if options.ca:
|
if options.ca:
|
||||||
fd.write("ra_plugin=dogtag\n")
|
fd.write("ra_plugin=dogtag\n")
|
||||||
|
fd.write('webui_assets_dir=' + ASSETS_DIR + '\n')
|
||||||
fd.close()
|
fd.close()
|
||||||
|
|
||||||
# Apply any LDAP updates. Needs to be done after the configuration file
|
# Apply any LDAP updates. Needs to be done after the configuration file
|
||||||
|
@ -395,6 +395,7 @@ fi
|
|||||||
%attr(700,root,root) %dir %{_localstatedir}/lib/ipa/sysrestore
|
%attr(700,root,root) %dir %{_localstatedir}/lib/ipa/sysrestore
|
||||||
%dir %{_localstatedir}/cache/ipa
|
%dir %{_localstatedir}/cache/ipa
|
||||||
%attr(700,apache,apache) %dir %{_localstatedir}/cache/ipa/sessions
|
%attr(700,apache,apache) %dir %{_localstatedir}/cache/ipa/sessions
|
||||||
|
%attr(700,apache,apache) %dir %{_localstatedir}/cache/ipa/assets
|
||||||
%attr(700,root,root) %dir %{_localstatedir}/cache/ipa/kpasswd
|
%attr(700,root,root) %dir %{_localstatedir}/cache/ipa/kpasswd
|
||||||
%{_mandir}/man1/ipa-replica-install.1.gz
|
%{_mandir}/man1/ipa-replica-install.1.gz
|
||||||
%{_mandir}/man1/ipa-replica-manage.1.gz
|
%{_mandir}/man1/ipa-replica-manage.1.gz
|
||||||
|
@ -109,12 +109,11 @@ DEFAULT_CONFIG = (
|
|||||||
('mount_xmlserver', 'xml'),
|
('mount_xmlserver', 'xml'),
|
||||||
('mount_jsonserver', 'json'),
|
('mount_jsonserver', 'json'),
|
||||||
('mount_webui', 'ui/'),
|
('mount_webui', 'ui/'),
|
||||||
('mount_webui_assets', '_/'),
|
('mount_webui_assets', '/ipa-assets/'),
|
||||||
|
|
||||||
# WebUI stuff:
|
# WebUI stuff:
|
||||||
('webui_prod', True),
|
('webui_prod', True),
|
||||||
('webui_assets_dir', None),
|
('webui_assets_dir', None),
|
||||||
('webui_assets_dburi', None),
|
|
||||||
|
|
||||||
# Debugging:
|
# Debugging:
|
||||||
('verbose', False),
|
('verbose', False),
|
||||||
|
@ -39,10 +39,11 @@ except ImportError:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# START code from paste
|
||||||
# This module is from paste:
|
# Red Hat does not hold the copyright to the following code. The following code
|
||||||
|
# is from paste:
|
||||||
# http://pythonpaste.org/
|
# http://pythonpaste.org/
|
||||||
# Which in turn was based on Robert Brewer's:
|
# Which in turn was based on Robert Brewer's modpython_gateway:
|
||||||
# http://projects.amor.org/misc/svn/modpython_gateway.py
|
# http://projects.amor.org/misc/svn/modpython_gateway.py
|
||||||
|
|
||||||
class InputWrapper(object):
|
class InputWrapper(object):
|
||||||
@ -185,7 +186,7 @@ class Handler(object):
|
|||||||
self.started = True
|
self.started = True
|
||||||
self.request.write(data)
|
self.request.write(data)
|
||||||
|
|
||||||
# END module from paste
|
# END code from paste
|
||||||
|
|
||||||
|
|
||||||
def adapter(req, app):
|
def adapter(req, app):
|
||||||
|
Loading…
Reference in New Issue
Block a user