Web主程序安装

一、数据库安装

  1. 创建空数据库,注意数据库存储路径选择在非系统盘。
  2. 创建登录名,服务器角色为 Public,数据库角色成员身份也为 Public。在确保数据库安全的前提下,也可以简单配置运行账号为管理员,省去第5步对单个表的权限配置。
  3. 导入所有的表、存储过程、全文索引、用户函数和自定义数据类型,一般执行安装程序提供的 script.sql即可。
  4. 导入数据,一般执行安装程序提供的 data.sql即可,手动在生成数据库对象的脚本时,导出选项仅限数据,涉及到的表包括:
    • 账务处理表:e_accounting_category, e_accounting_direction, e_accounting_entry_sort, e_accounting_industry, e_accounting_invoice_sort, e_accounting_subject_balance, e_accounting_subject_base
    • 地址表:e_address_*
    • 银行表:e_bank
    • 联系人定义表 e_contact_*
    • 客户行业表:e_customer_contact_relation, e_customer_industry_base, e_customer_account_sort
    • 上级部门表 e_dept_super
    • 活动表:e_event_article_sort, e_event_join_identity
    • 假期表:e_holiday_sort
    • 信息表:e_message_body_format, e_message_kind, e_message_push_sort, e_message_recipient_kind
    • 差旅申请类型表:e_oa_travel_application_sort
    • 订单类型表:e_order_sort, e_order_fmcg_reason
    • 机构接口协议表:e_organization_account_sort, e_organization_external_provider, e_organization_external_protocol, e_organization_report,  e_organization_report_sort
    • 权限项目表 e_permission_group_base, e_permission_item
    • 采购类型表:e_po_sort
    • 进度步骤类型表:e_process_step_kind
    • 出入库表:e_stock_kind, e_stock_tray_size
    • 除去日志 e_system_log, e_system_cache, e_system_port 和 e_system_setting 的其他系统参数表 e_system_
    • 翻译表:e_translation_*
    • 网站:e_website_article_theme,e_website_article_theme_para,e_website_tab_theme,e_website_tab_theme_para
    • 用户:e_user_account_sort, e_user_contact_relation
  5. 授予所有表的 执行(Execute) 和 选择(Select) 权限,扩展列表的 修改(Alter),分类表的 添加(Insert)、修改(Update)和删除(Delete)权限给登陆账号,打开安装程序提供的 permissions.sql替换数据库登陆账号名后执行即可。
  6. 初始化其他配置数据,比如文章的图标分类等,一般执行安装程序提供的setup.sql即可。
  7. 对于云平台,确保 e_system_setting 的 cloud_service = 1,该设置会影响机构层级计算。

二、IIS 配置

  1. 启用asp.net服务:dism /online /enable-feature /featurename:IIS-ASPNET45 /all
  2. 在非系统目录根目录下创建 saas 文件夹和平台文件夹(如 abc.etsoo.com)。
  3. 创建应用程序池 abc.etsoo.com 和 api 程序池 api.abc.etsoo.com。两个程序池对平台文件夹要有读取执行等3项默认全选,在文件夹属性,“安全”、“编辑”、“添加”,输入“iis apppool\\api.abc.etsoo.com”,需要重启程序池生效。
  4. 添加网站,选择刚创建的应用程序池。
  5. SmartERP的主目录必须设置为应用程序。
  6. 添加 FTP 站点发布,修改端口21为其他值,配合防火墙(对于FTP服务的TCP端口,建议指定一个端口其他值起始的范围)提高系统安全性,启用虚拟主机名 abc.etsoo.com,SSL选择无。
  7. 身份验证选择:基本,允许访问:指定用户,添加系统账户 abc_etsoo_com_ftp,设置强密码,并对网站目录赋予读写权限,勾选读取写入权限。
  8. FTP访问的用户名可以通过增加网站访问域名地址加竖线来区分,密码为系统账号密码,注意指定端口。

三、数据库网站运行账号

  1. 隔离网站运行和主程序的权限差异,提高数据安全。
  2. 修改默认连接端口,进入 SQL Server 网络配置,启用 TCP/IP ,设置需要使用的IP地址端口并启用。
  3. 新建用于网站的登录名,服务器角色为 Public,数据库角色成员身份也为 Public
  4. 通过指定特定表的 选择(Select) 权限和特定存储过程的 执行(Execute) 权限,一般执行安装程序提供的 website.sql即可。

四、Web.config配置

  1. <section name="erp" type="com.etsoo.SmartERP.AppConfigurationSection, com.etsoo.SmartERP" requirePermission="false" /> 自定义节点说明。
  2. <erp customer_id="ETSOO" private_key="*" domains="*" modules="*" users="*" register_code="*" default_language="zh-CN" connectiong_string_id="smarterp" service_user_id="1001" ssl_only="false" />
    customer_id: ETSOO客户编号
    private_key: 随机码加密私匙
    domains: 以竖杠隔开的授权运行域名,不带www
    users: 授权的用户数,大于等于1000不会进行授权用户探测,无用户限制
    register_code: 注册码
    default_language: 默认语言
    connection_string_id: 数据库连接定义的节点编号
    service_userid: 服务模拟运行账号
    ssl_only: 是否仅支持在HTTPS下访问
  3. <connectionStrings><add name="smarterp" providerName="System.Data.SqlClient" connectionString="Initial Catalog=smarterp;Server=(local);User ID=smarterp;Password=smarterp;Enlist=false" /></connectionStrings> 配置数据库访问信息。
  4. <modules><add name="FluorineGateway" type="FluorineFx.FluorineGateway, FluorineFx" preCondition="managedHandler" /> </modules>配置Flex前端访问接口
  5. <handlers><add name="SmartERPHandler" verb="*" path="erp/h/*" type="com.etsoo.SmartERP.Handlers.HandlerFactory" /></handlers> 自定义请求处理接口
  6. <requestLimits maxAllowedContentLength="10240000" /> HTTP请求的数据大小,单位为字节。
  7. <pages><controls><add tagPrefix="erp" namespace="com.etsoo.SmartERP.SiteBase" assembly="com.etsoo.SmartERP" /></controls></pages> 自定义用户控件前缀申明

五、测试

  • 访问 erp 目录下的 Default.aspx?init_debug=true,传递调试参数,可以验证注册码和数据库连接是否正常工作,一旦发生运行时错误或者无法通过验证,请按照提示修复。