# File lib_ctrl/rucy/params.rb, line 42
    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') # IPv4 localhost
        access.add_allow_address('::1')              # IPv6 localhost
        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