magento -- 建立符合magento运行的LAMP服务器环境

magento去年被sourceforge 评为最优秀的新开源项目(Best New Open Source Project ),尽管Varien因为种种原因,口碑不是很好,但是他们确实不是吹,magento无论从哪个方面来讲都是比较优秀出色的,只要客户能想到的功能基本上都具备了,没有的功能也可以通常开发新的模块无缝集成到magento中,灵活开放是其一大特点。但是magento为了给用户,给开发人员以最大的灵活性,垂牺牲了性能,这是一大瓶颈。然而其企业级的功能和界面让越来越多的人加入了使用它的队伍中,要想获得较好的使用效果,我们要从服务器环境配置就开始专门对magento做优化。不过相对于大多数的人来说,首先是如何才能建立起一个能够运行magento的环境。

 

 在开如服务器架设之前,要了解magento安装运行的系统需求,这个在magento官方网站上有一篇文章 -- magento系统需求 ,这里面已经说的很清楚,只是有几点需要特别指出:

第一,magento要求php5.2以上版本,但是即使是magento最新版的1.3.2.3也不能在php5.3上运行。

第二,mysql要支付innodb存储引擎,否则可能magento不能安装,或即使可以运行也会有问题,这和magento版本有关

第三,magento可以运行在window平台上,如果你使用wamp,xamp那应该是没问题的。不过个人认为最好不想让它跑在iis加php的环境下

第四,官方还提供了一个脚本以帮助你测试你的服务回是否满足magento的要求,不过不能依赖于些脚本的判断

第五,官方的"magento系统需求“并末说明所有细节要求,也有可能你用脚本测试服务回符合安装magento的条件,却还会有问题,这个在后面我会提到

 

我选择centos linux操作系统来架设,并自己编译apache和php,mysql的安装使用yum安装预编译好的软件包:

 

1,创建目录来保存源代码

2,使用wget或elinks直接在服务器上下载apache,php的源代码

从www.apache.org网站下载apache    httpd-2.2.12.tar.gz

从www.php.net网站下载php的     php-5.2.10.tar.gz

从www.phpmyadmin.net网站下载phpmyadmin   phpMyAdmin-3.2.0.1-all-languages.tar.bz2

 

3,安装顺序,先安装apache,mysql再安装php

在当前目录,假设你已经在/usr/local/src目录下,并且已经下载了apache和php,ls -al命令输出类似下面

这个命令将编译apache,并将所有的模块以动态链接的方式编译,这样是为了有最大的灵活性,事后若需要哪个模块,只需要修改下配置文件就可以,而无需再重新编译。当然静态编译可能性能会好一点,如果你对此比较在意可以,修改成静态的。

 

另外,我直接启用了cache,mem-cache模块,是想获得好一点的性能,你可以在安装后调整相关的的配置指令。

 

还有,最好是新建一个目录,然后在这个空目录中编译,如:

然后执行

你也可以把上面的这个命令保存在一个文本中以备以后重新编译,事实上当你编译后,编译会在当前目录下生成一个config.nice文件 ,其中就包含了最后一次成功编译的命令。

 

接着在当前目录继续执行

 

这样安装完apache2.你可以通过

/usr/local/apache2/bin/httpd -k start

来启动apache服务器,可以通过elinks,lynx来测试是否正常:

这样就安装完了apache,你迈出了使用magento的第一步。

安装mysql

这边不是编译安装,而是直接使用yum安装预编译好的软件包。之所以这样,是因为编译mysql所花的时间比较长,而实际意义却并不是太大,个人观点,因为预编译好的已经符合我们的需求,而且magento对mysql的要求不是太严格,只要支持innodb存储引擎就可以了。

 

yum install mysql mysql-devel

 

这样mysql就被安装为一个service,你可以通过

 

chkconfig --list

查看,可以通过下列命令来设置mysql服务在系统启动时自动执行

chkconfig --levels  345 mysqld on

 

现在你可以重启系统或才通过下列命令来启动mysql:

 

/etc/init.d/mysqld start

service mysqld start

 

之后可以通过mysql客户端测试,刚安装完mysql管理员root账户没设置密码

mysql -u root

centos 下编译安装php

编译安装php,首先要了解magento对php的要求,版本的选择不要认为最新版的最好,因为到目前为止magento都还不支持php5.3版本,另外就是要编译magento所需要的各个php扩展模块。

 

tar -xvzf php-5.2.10.tar.gz

 

同样,创建一个新的目录,而不要直接在源码目录中编译

 

cd /usr/local/src/

mkdir php5

cd php5

 

../php-5.2.10/configure /
--prefix=/usr/local/php /
--with-apxs2=/usr/local/apache2/bin/apxs /
--with-mysql=/usr/bin/mysql /
--with-curl /
--with-gd /
--with-jpeg-dir=/usr/local/jpeg6/ /
--with-png-dir=/usr/local/lib/ /
--with-zlib-dir=/usr/local/lib/ /
--with-iconv /
--with-mhash=shared /
--with-mcrypt /
--with-zlib=shared /
--enable-pdo /
--with-pdo-mysql /
--with-sqlite=shared /
--with-pdo-sqlite=shared /
--enable-ftp /
--enable-bcmath /
--enable-sockets /
--enable-soap /

 

其中,

--with-gd /
--with-jpeg-dir=/usr/local/jpeg6/ /
--with-png-dir=/usr/local/lib/ /
--with-zlib-dir=/usr/local/lib/ /

 

这几个选项我认为是必须的,而在magento官方网站上的说明去只是提到gd的安装,事实上,如果没有了--with-jpeg-dir,--with-png-dir这两个选项,magento的安装程序是能够正常的进行的,用magento测试脚本进行测试,它也会显示服务器环境满足magento需求,然而,在安装完后正常使用的时候问题来了,magento前台不能够显示产品图片。所以,在碰到magento网站无法显示产品图片时,这个要作为一个可能的原因来考虑。

 

--enable-soap /

 

这个选项只在你需要使用magento web service api时启用。

 

--with-mhash=shared /

这个选项是我添加的,不是必须的。它并不是magento系统要求中提到的hash,php现在的版本已经默认包含了对hash的支持。

 

在这个编译过程中,根据不同的安装环境有可能会碰到下面这些问题:

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值