Chinaunix首页 | 论坛 | 博客
  • 博客访问: 397995
  • 博文数量: 60
  • 博客积分: 1082
  • 博客等级: 上士
  • 技术积分: 648
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-24 18:24
个人简介

奋斗的人,交心的人,碰见喷子,绝对不手软。

文章分类
文章存档

2015年(1)

2014年(18)

2013年(17)

2012年(21)

2011年(3)

分类: LINUX

2012-10-30 19:05:23




前提条件
  • 高于4.2版本的PHP。由于PHP可以做为一个CGI(Common Gateway Interface公共网关接口)模块在MS IIS上运行,或者作为Apache的一个模块运作在在Windows(NT,2000,或者XP)或者Unix/Linux平台上。因此本软件是独立于操作系统的。它已经在Windows(NT和XP)以及Linux环境下做过测试。

     

  • MySQL版本高于4,且有Innodb传输表支持功能并且需要外键限制Foreign Key constraints.他们是在2003年加进Innob的。 Innodb在2001年被引入MySQL.并且有和甲骨文类似的功能行水平锁定和类似速度的数据库交换。(只要稍微修改,本软件也可以运行于甲骨文或者其他的数据库系统。)

    在Mysql的文档中,您通常可以在/usr/local/mysql/var路径下找到配置文件范本my.cnf那里您可以看到Innodb的典型配置设定。虽然在Mysql 4中,默认设置为Innodb可以创建一个自动扩展的数据文件,设置数据的期望大小是有用的。在2.8版本中,所有的表都被定义为Innodb表。

  • 网页服务器:我们建议使用Apache这款软件服务于大多网页,但是PHP以各种格式支持非常多的服务器。在Windows平台下,最流行的选择可能是MS IIS.

  • 如果网页服务器是通过互联网浏览,而不是仅限于内联网,这时需要加密传输。我们可以选择Mysql中的Openssl和mod-ssl模块,他们使用方便,且可以保证用加密的形式传送。关于MySQL和PHP的安装详情,您可以从如下资源获得:






重要:首先确保php.ini的设定session.auto_start=0。有些rpm发行版把这个值设为1,这导致在PHP代码中无法使用类。类在系统中被广泛地应用,且系统在需要时会随时启动会话sessions因此将其设定为0是安全的。

 

看来安装PHP的首要问题是:
  1. 有些在Windows上安装后,设定结果是session.save_path=/tmp.这对window而言是不合适的。应该改为session.save_path=c:\temp或者更合适的路径。
  2. 当系统安装在一个多用户的网页服务器农场时,这个session需要指定一个长期的路径。否则的话,其他可选择的服务器提供后续页面的时候,由于依赖这个载入值,它就无法找到sessioncookie了。配置文件config.php中的$SessionSavePath需要针对网页服务器主机作适当设定。
  3. 由于未知的原因,有些服务器,在使用如下设定时$rootpath=dirnam($_SERVER[PHP_SEL’])不能自动取得正确的路径。这由系统的不同选项无法找到页面链接而得到证明。如果出现了这种情况,可以将$rootpath变量直接设定为脚本文件的根目录

     

    本软件可以运行于很多其他的数据库服务器, 然而它是基于MySQL开发和测试的。如果系统管理员有偏好可以使用Postgres数据库。本软件提供了Postgres ConnectDB.inc,且在config.php文件中设置了数据库种类变量$dbtype供系统管理员使用。本系统提供了 Postgres Database dump,供安装一个基于Postgres WebERP使用。独立的研究显示,Mysql是处理普通数据库任务最快的软件之一发起连接方面尤其迅速。由于网络的无政府性,每页都需要建立新的连接。这使MySQL特别适合以网络为基础的程序。

    如果要与公司的知识基地整合,必须在同一个网页服务器上安装Wacko Wiki. 这个完全由您自行决定,但是非常建议您采用这种方式,在整个公司范围内分享自由格式的信息。



    PHP的ftp库只是在需要为远距离的仓库服务,向以无线通讯方式的ftp服务器发送订单时采用。

    假设带有PHP功能的网页服务器已经可以使用,一个MySQL数据库服务器也已经装在同一机器或者网络上,一个新的安装包括如下5个步骤


    • 将所有的PHP脚本和头文件(include file)复制到网络服务器的根目录中的一个目录下。

    •  创建数据库,并且加入初始数据。

    • 编辑config.php设置数据库连接信息和其他的要求。
    • 首次登入系统
    • 设置系统参数
    • 系统中设置公司的特定信息

    复制PHP脚本

    除了INSTALL.txt中的安装指示,web-erp-demo.sql 和 web-erp-new.sql外,档案中所有文件都需要复制到网页服务器的根目录。这个根目录依据不同的操作系统,不同的发行版本而不同,但是:

    /srv/www/htdocs 是apache在SuSE版下的默认根目录。将归档文件复制到这个路径,然后解开档案。这时会产生一个webERP目录,所有脚本和其他目录都会被复制到这个路径。

    创建数据库

下列信息假设您使用MySQL数据库服务器。一个适用于Postgres的sql dump文件也一并提供了。然而,这些操作指南是指使用MySQL时的必须设置。

你需要知道MySQL服务器的用户名和密码。如果你没有设置,默认值是:用户名 root  密码 “”(指没有任何密码)
user root
password ""
  1. 所有关于如何使用MySQL的解说请参照MySQL附属的命令行客户端。为了在Windows模式下运行它,必须打开DOS窗口。在XP或者2000,按开始,运行,输入cmd并且按运行。Mysql.exe二进制码默认存放的路径是c:\mysql\bin\mysql.exe.这些大概就是要运行mysql客户端的命令行说明了。需要时,下面讨论的选项可以添加。

    摘自MySQL手册(编辑过):MySQL的根用户被创建成一个超级用户,他可以做任何事情。必须从localhost本地主机建立链接。注:最初的根密码是空,所以任何人都可以连接而成为根用户,从而他不需任何密码而拥有所有权限。因为你初始安装是处于广泛的开放状态。所以第一件事情就是需要指定MySQL根用户的密码。你可以通过下面方法完成:(注意,你可以用PASSWORD()函数指定密码.

    在MySQL 3.22或以上版本,你可以用SET PASSWORD(设置密码)命令:

    shell> mysql -u root mysql
    mysql> SET PASSWORD FOR root=PASSWORD('new_password');"

    这里newpassword是你为根用户指定的新密码。

    同样来自MySQL手册(编辑过):同时,如果你已经变更了根用户root user的密码,你必须使用下面的方法为mysql命令指定。你可以通过使用GRANT命令增加新用户

    shell> mysql --user=root -p 'new_password' mysql
    mysql> GRANT ALL PRIVILEGES ON *.* TO weberp@localhost IDENTIFIED BY 'some_pass' WITH GRANT OPTION;"

    这里some_pass是你为新用户weberp选择的密码。

    注意,这里用户weberp只能从本地机器连接.如果网页服务器是和MySQL服务器位于不同的机器,那么你需要授权连接的MySQL服务器就来自于不同的机器。参见MySQL手册


    Innodb表必须在MySQL中设置为可用。这些表允许数据库的交换,他们是ERP软件的一个关键组成部分。Innodb表需要在my.cnf中设定一些参数。在MySQL手册中,表的类型Innodb表--中有一些例子

    如果你已经在MySQL中设定好了账户,并且Innodb表已经启用,你需要做的就是运行其中的一个脚本。

    共两个脚本可用:

    1. Web-erp-demo.sql 设置了一个虚拟公司,和很少数量的演示数据。可以试着进行交易,以观察系统是如何运作的。

    2.  Web-erp-new.sql :这个脚本只有建立一个新公司的基础数据。如果你想使用webERP软件设置你的一个公司,你可以使用这个脚本。它创立了webERP的数据库,并且输入了最基本的初始化数据


      文件Web-erp-demo.sql和web-erp-new.sql应该和所有的PHP脚本放在同一目录。如所要求的那样:进入脚本所在的目录或者使用完整路径,然后回车:

    shell > mysql --user=weberp --password='some_pass' < /path_to_the_sql_script/weberp-demo.sql

    or

    shell > mysql --user=weberp --password='some_pass' < /path_to_the_sql_script/weberp-new.sql

    把这里输入的用户weberp变更为你在MySQL中为此目的而创建的用户,并且把这里的“some_pass"变更为相关用户的密码。并且变更脚本放置的路径path_to_the_sql_script为适用的路径可能象这样:/srv/www/htdocs/webERP/

      编辑 config.php

    config.php包含了一系列用户定义的变量,以决定系统如何运作。最重要的是要包括主机host(电脑名称,为连接数据库服务器而需要的用户名,密码。也有一个选项供选择使用何种数据库服务器。目前,只可以选择mysql和postgres.没有这些数据是无法做下一步的工作的。

    默认的config.php文件的内容如下。这个文件必须用字处理编辑器如KATE,Wordpad等编辑。然后,把config.php存到脚本所在的网络路径中。注意:系统在持续进化,可能在这些写完之后已经有了很多变化。



    ============================================
    beginning of config.php config.php 开始
    ============================================



    // User configurable variables 用户设置的变量
    //---------------------------------------------------

    //DefaultLanguage to use for the login screen and the setup of new users - the users language selection will override 登入屏幕的默认语言,新用户的设置--用户语言的选择会被覆盖默认的语言
    $DefaultLanguage ='en_GB';

    // Whether to display the demo login and password or not on the login screen 在登录屏幕上是否显示演示版登录和密码
    $allow_demo_mode = false;

    // webERP version webERP的版本
    $Version = '3.04';

    // The timezone of the business - this allows the possibility of having业务的时区--这项设置允许web-服务器放在海外
    // the web-server on a overseas machine but record local time但是记录当地的时间
    // this is not necessary if you have your own server locally如果你有自己本地的服务器,这是不必要的
    // putenv('TZ=Europe/London');
    // putenv('Australia/Melbourne');
    // putenv('Australia/Sydney');
    // putenv('TZ=Pacific/Auckland');

    // Connection information for the database 数据库的连接信息
    // $host is the computer ip address or name where the database is located $host是数据库所在的电脑的ip地址或者名称
    // assuming that the web server is also the sql server 假设网络服务器也是sql服务器
    $host = 'localhost';

    //The type of db server being used - currently only postgres or mysql 使用的数据库服务器种类-目前只有postgres 或者 mysql
    $dbType = 'mysql';
    //$dbType = 'mysqli';

    // sql user & password sql 用户和密码
    $dbuser = 'weberp_db_user';
    $dbpassword = 'weberp_db_pwd';

    //It would probably be inappropriate to allow selection of the company in a hosted environment so this option can be turned off with this parameter 在主机环境中允许选择公司可能并不合适,因此这个选项可以用这个参数关闭
    $AllowCompanySelectionBox = true;

    //If $AllowCompanySelectionBox = false above then the $DefaultCompany string is entered in the login screen as a default - otherwise the user is expected to know the name of the company to log into and a selection is required from the company selection box which is populated from the list of directories under the companies directory. These directories are created automatically each time a company is created from the Z_MakeNewCompany.php script - this script also creates the company databases.如果上述$AllowCompanySelectionBox=false,那么$DefaultCompany字符串作为默认值输入到登录屏幕-否则的话,用户需要知道要登入的公司的名字,他需要从公司选项中选择公司,他们都存放在公司目录下。每次用 Z_MakeNewCompany.php脚本创建公司时,这些目录会被自动创建--这些脚本也创建了公司数据库。
    $DefaultCompany = 'weberp';

    //The maximum time that a login session can be idle before automatic logout在自动登出之前,登入会话处于闲置状态的最长时间,单位为秒。即是一个小时内允许的闲置时间。3600秒每小时
    //time is in seconds 3600 seconds in an hour
    $SessionLifeTime = 3600;

    //The maximum time that a script can execute for before the web-server should terminate it脚本可以执行而不会被系统服务器终止的最大时间为
    $MaximumExecutionTime =120;

    //The path to which session files should be stored in the server - useful for some multi-host web servers 会话文件需要存放在服务器里面的路径对于某些多主机服务器而言是有用的。这个选项可以被注解掉。
    //this can be left commented out
    //$SessionSavePath = '/tmp';

    // which encryption function should be used 使用哪种加密功能
    //$CryptFunction = "md5"; // MD5 Hash MD5哈西表
    $CryptFunction = "sha1"; // SHA1 Hash SHA1哈西表
    //$CryptFunction = ""; // Plain Text 普通文字



    // END OF USER CONFIGURABLE VARIABLES 用户配置变量结束





    $rootpath = dirname($_SERVER['PHP_SELF']);
    if ($rootpath == "/" OR $rootpath == "\") {
    $rootpath = "";
    }
    //$rootpath = '/web-erp';

    报告所有的错误,E_NOTICE除外。这对大多的安装而言,是php.ini中的默认设定值。但是,确保这里是强制的,打开造成破坏的通知。

    error_reporting (E_ALL & ~E_NOTICE);

    ?>确保这里没任何的东西,甚至这以后的空格。
    ============================================
    end of config.php
    ============================================
      首次登录


    打开一个在线的浏览器,网页服务器也同样连线。输入网页服务器的URL--webERP安装的网页服务器路径。如果浏览器和网页服务器安装在同一台机器,那么URL就可能是:


    enter user name 'demo' 输入用户名 ‘demo'
    enter password 'weberp' 输入密码 ’weberp'



    上面不需要输入单引号。要新增其他的用户,到主 菜单 Main Menu>Setup>User Accounts. (主菜单>设置>用户帐号。用户可以随时更改他们自己的密码,只要点击屏幕左上角显示的他们的用户名即可。例如:"webERP Demo: administrator".注意:在设置了新的系统管理员之前,不要删除演示用户。如果没有定义用户,下次在你尝试登录时,你就无法登入!在这种情形下,创建一个可登录用户的唯一方法是手动编辑SQL表WWW_User来插入一个用户。如果在网络服务器上安装了phpMyAdmin,可以通过往 WWW_User中增加新记录来达到同样目的。

    注意:为MySQL的根用户设置一个密码非常重要,否则的话,任何人都可以修改WWW_Users并且获得接触公司机密信息的权限。
  增加新公司

     至此,在完成了上述所有的指示之后,您应该可以登入您上述设置的单个公司的数据库。然而,您可能希望增加另外的公司。如果系统已经设置好,且运行网页服务器的用户对webERP目录有写入权限,那么可以输入URL:


  1. 此脚本允许您设置新增任意数量的公司-如webERP/companies下目录结构所要求的,一个新的数据库被设置起来。每次您登入时,公司的名单会出现,您必须选择您要求登入的公司。
    这个脚本可能无法运行,因为他要求网页服务器有写入脚本目录的权限,在那种情况下,你可能需要用下列描述的手动方法:    在上述默认的安装下,你创建了一个数据库称为weberp,并且在webERP/companies下也有个目录称为weberp.为了增加另一个公司,你需要复制配置参数。


    在3.0版本之前,配置参数存放在config.php文件里面需要手动编辑系统的参数。从3.0版开始,为系统参数开发了一个新画面,它允许设置系统范围内的参数。这些数据现存放在数据库里面以供升级,可以让我们无须重新编辑config.php文件。系统参数屏幕在Main Menu>Setup>Configuration Settings.所有的设定需要仔细地审视。描述函数的备注就显示在参数旁边。

    关于webERP安装的其他信息在文件webERP/doc/INSTALL.txt中。
    皮肤和GUI变更


    通常情况下,看上去吸引一个人的东西未必会引起另一个人的兴趣。尽管会计软件最重要的是功能但是外观也是非常重要的!通过使用css,系统为GUI(用户图形界面)提供了一些颜色方案和字体尺寸方面的灵活性


    可以通过采用一个已经定义的主题修改用户,或者制定一个新的主题.目前共定义了四种主题:'silverwold', 'default', 'professional' and 'fresh'.

    每个用户都可以从用户设置屏幕选择他们自己的偏好。这个通过点击显示在屏幕左上角的用户名来显示。例如:webERP Demo: administrato.

     为创建一个新的主题,复制定义好的主题的目录为一个新名字。主题存放在发行版的css目录下。在css目录下,每个主题都有一个目录,例如‘New_theme',他们需要被编辑以反映期望的外表。新的主题目录会自动在用户设置屏幕显示,用户因此可以选择定制的主题。                                                                                                                                                                     设置用户

    用用户名‘demo登录后,应该定义一个有管理权限的新用户,同时要删除用户‘demo。从菜单上点击设置Setup标签然后点击“用户账号User Accounts.定义的用户就显示了出来。用户名必须是五个字符或者以上。密码也必须是五个字符或者以上。密码不可以是用户名或者是包含用户名。不必输入完整的名字,电话和其他的细节。帐号权限的选择是非常重要的,由于这些决定了用户可以取得的页面。对任何企业,当员工不是业主的时候,建议在职员之间将职能分开,这样可以使任何用户都无法完成整个交易. 在企业里,有时这是不可行的。但是,系统有足够的灵活性让用户最终定义权限。见安全安排计划部分。


    除了限制授权之外,也有一些其他的灵活性供用户选择。在‘用户账户屏幕上,系统管理员可以定义主菜单上哪些标签是可用的,哪些标签是不可用的。


    也有设施让顾客设定他们自己的登录界面。这些限定他们可以查询他们的账户包括发票重新打印和输入新销售订单。顾客登入不允许修改价格。为达成此目的,登入权限必须设置,并且config.php在的顾客登入必须设定为不可修改。例如只允许$PageSecurity=1。另外,必须输入适用于登录人的顾客编码和分支机构编码                                                             


阅读(2646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~