def server_setup(control, err_mon, server, loader, doc_factory, pw_enc, page_path)
writer = @rep.fetch(:WPMWriter)
writer.base_dir = page_path
writer.main_page = 'ControlPanel'
writer.set_page_option(:control, control)
writer.set_page_option(:factory, doc_factory)
writer.set_page_option(:pw_enc, pw_enc)
writer.set_page_option(:base_dir, File.dirname($0))
if (@params['japanese_handling']) then
jconv = @rep.fetch(:Jconv)
writer.set_input_filter{|data| jconv.jtou8(data) }
writer.set_output_filter{|data| jconv.u8toeuc(data) }
writer.charset = 'euc-jp'
end
page_maker = @rep.fetch(:WebPageMakerDocument, writer)
server.mount(page_maker, '/control')
if (@params['localhost_only']) then
access = loader.RemoteAddressAllowAccessFilter.new
access.add_allow_address('127.0.0.1')
access.add_allow_address('::1')
server.attach(access, '/control')
end
if (@params['admin_user'] && ! @params['admin_user'].empty? &&
@params['admin_password'] && ! @params['admin_password'].empty?)
then
passwd = PasswordVerifier.new(pw_enc)
passwd.add_encrypted_user(@params['admin_user'], @params['admin_password'])
auth = loader.BasicAuthFilter.new(passwd, "Administrator of Rucy")
server.attach(auth, '/control')
end
nil
end