今天跟ecshop客服胡娇沟通后知道ecmall基本配置是【LAMP】 linux+apache+mysql+php,然后自己开始在linux下安装ecmall并做迁移,整理了一下中间碰到的问题。 

1、系统选择的环境是centos6.3,安装不做介绍。 


2、安装 MySQL 

首先来进行 MySQL 的安装。打开超级终端,输入: 

[root@localhost ~]# yum install mysql mysql-server 

安装完毕,让 MySQL 能够随系统自动启动: 

[root@localhost ~]# chkconfig --levels 235 mysqld on 

[root@localhost ~]# /etc/init.d/mysqld start 

设置 MySQL 数据 root 账户的密码: 

[root@localhost ~]# mysql_secure_installation 

当出现如下提示时候直接按回车: 

Enter current password for root 

出现如下再次回车: 

Set root password? [Y/n] 

出现如下提示输入你需要设置的密码,回车后在输入一次确认: 

New password: 

接下来还会有四个确认,分别是: 

Remove anonymous users? [Y/n] 

Disallow root login remotely? [Y/n] 

Remove test database and access to it? [Y/n] 

Reload privilege tables now? [Y/n] 

直接回车即可。 


3.安装 Apache 组件 

由于 CentOS 已经封装了 Apache,直接运行安装: 

[root@localhost ~]# yum install httpd 

同样配置系统让 Apache 随系统启动: 

[root@localhost ~]# chkconfig --levels 235 httpd on 

配置完毕,启动 Apache: 

[root@localhost ~]# /etc/init.d/httpd start 

此时已经可以访问你的服务器,不出意外的话,能够看到 “Apache 2 Test Page powered by CentOS” 的测试页面。注意,如果其他机器访问这台服务无法显示这个页面,而直接在这台服务器上可以访问的话,一般情况下是 CentOS 自带的防火墙禁止了。你只需要进入防火墙,将 “WWW” 对应的 “80” 端口打开即可。 

注意:在 CentOS 中 Apache 的默认根目录是 /var/www/html,配置文件 /etc/httpd/conf/httpd.conf。其他配置存储在 /etc/httpd/conf.d/ 目录。 



4.安装PHP 

[color=#ff0000]本人测试ecmall2.3必须安装在php5.3.3以前的版本包含5.3.3,如果是以后的版本会出现错误,很多方法都被去掉了。 

输入如下指令安装 PHP: 

[root@localhost ~]# yum install php 

需要重新启动 Apache 服务: 

[root@localhost ~]# /etc/init.d/httpd restart 

测试 PHP 相关信息 

这步实际上可以省略,但是为了测试是否安装成功,你可以新建一个 PHP 页面进行测试,使用 vim 编辑器新建: 

[root@localhost ~]# vi /var/www/html/info.php 

按 “i” 键进行编辑,输入: 

<?php 

phpinfo(); 

?> 

编辑完毕,按 “ESC” 键退出编辑模式,接着输入: 

:wq 

然后回车,即保存并退出。 

此时你可以访问你的站点地址,例如 “http://192.168.1.2/info.php”,查看是否能看到相关的 PHP 信息。 

看到就说明 PHP 安装成功了。 



5.将 PHP 模块和 MySQL 模块关联起来 


还需要将 PHP 和 MySQL 关联起来,才能正常工作。搜索模块: 

[root@localhost ~]# yum search php 

安装相关模块: 

[root@localhost ~]# yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc 

需要重启 Apache 模块才能生效: 

[root@localhost ~]# /etc/init.d/httpd restart 

再次刷新刚才建立的 “info.php” 页面,往下拉找到相关 MySQL 模块,看是否检测到相关信息。 


[color=#ff0000]php.ini文件需要特别注意需要指定默认的时区(Asia/Chongqing[color=#ff00])否则安装后首页为空白。 

vi /etc/php.ini 

找到946行修改为 date.timezone = Asia/Chongqing 

!wq保存退出 


6.安装ecmall 

上传文件ecmall230-0918-scutf8\sc-utf-8\upload下的文件到服务器上我的路径是/var/www/html/ 

执行chomod -R 777 /var/www/html/ 

输入IP地址开始接受一步一步安装很多帖子都有了这里不做介绍。 


7.迁移ecmall到另外一台服务器 

备份数据库:mysqldump -u root -p ecmall>/var/www/html/ecmall.sql 

备份网站:tar zcvf ecmall.tar.gz /var/www/html/  

ftp上传到新服务器上解压缩tar zxvf ecmall.tar.gz  到 /var/www/html/  

恢复数据库:mysql -uroot -p ecmall < /var/www/html/ecmall.sql 

网站就可以访问了. 


8.总结几个常用方法 

mysql新建用户命令: 

insert into user(Host,User,Password)values('localhost','ecmalluser',password('password ')); 

flush privileges;[第一次刷新] 

grant select,insert,update,delete on ecmalldb.* to ecmalluser @'localhost' identified by "password"; 

flush privileges;[第二次刷新]  

[color=#ff0000]刷新一次可能会报错,或者登录时候提示没有权限。 


如果迁移了mysqldb的目录需要做设置: 

将拷贝过去的文件的属主改为mysql:mysql,权限改为660  

chown mysql:mysql /var/lib/mysql/mydb/*  

chmod 660 /var/lib/mysql/mydb/*  


ecmall如果运行时候有各种问题大家可以查看一下ecmall运行日志目录在./temp/logs内容如下: 


Tue, 11 Feb 2014 11:29:17 +0800 [2]date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead  /eccore/model/mysql.php 162 

这个错误是因为忘记修改php.ini的时区,解决办法如下: 

vi /etc/php.ini 找到946行修改为 date.timezone = Asia/Chongqing 



总结一下:ecmall2.3功能都很实用,但是缺少了常用的比如产品自定义属性等功能,希望以后能够增加进来。 

如果大家在使用过程中有什么问题欢迎回帖交流。