magento -- 建立符合magento运行的LAMP服务器环境
2009-08-13 13:31
239 查看
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来测试是否正常:
评为最优秀的新开源项目(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,创建目录来保存源代码
cd /usr/local/ mkdir src cd src
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命令输出类似下面
ls -al -rw-r--r-- 1 root root 6678149 Aug 5 06:03 httpd-2.2.12.tar.gz -rw-r--r-- 1 root root 11597944 Aug 5 20:32 php-5.2.10.tar.gz tar -xvzf httpd-2.2.12.tar.gz ls -al drwxr-xr-x 11 root root 4096 Jul 20 16:24 httpd-2.2.12 -rw-r--r-- 1 root root 6678149 Aug 5 06:03 httpd-2.2.12.tar.gz -rw-r--r-- 1 root root 11597944 Aug 5 20:32 php-5.2.10.tar.gz cd httpd-2.2.12 ../httpd-2.2.12/configure / --enable-rewrite / --enable-cache / --enable-mem-cache / --enable-so / --enable-mods-shared=all
这个命令将编译apache,并将所有的模块以动态链接的方式编译,这样是为了有最大的灵活性,事后若需要哪个模块,只需要修改下配置文件就可以,而无需再重新编译。当然静态编译可能性能会好一点,如果你对此比较在意可以,修改成静态的。
另外,我直接启用了cache,mem-cache模块,是想获得好一点的性能,你可以在安装后调整相关的的配置指令。
还有,最好是新建一个目录,然后在这个空目录中编译,如:
cd /usr/local/ mkdir apache2 cd apache2
然后执行
"../httpd-2.2.12/configure" / "--enable-rewrite" / "--enable-cache" / "--enable-mem-cache" / "--enable-so" / "--enable-mods-shared=all"
你也可以把上面的这个命令保存在一个文本中以备以后重新编译,事实上当你编译后,编译会在当前目录下生成一个config.nice文件 ,其中就包含了最后一次成功编译的命令。
接着在当前目录继续执行
make make install 或 make && make install
这样安装完apache2.你可以通过
/usr/local/apache2/bin/httpd -k start
来启动apache服务器,可以通过elinks,lynx来测试是否正常:
elinks http://localhost 或 lynx http://localhost[/code]
这样就安装完了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 rootcentos 下编译安装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的支持。
在这个编译过程中,根据不同的安装环境有可能会碰到下面这些问题:
相关文章推荐
- php excel导出在本地lamp环境可以运行,阿里云服务器上报错,linux文件夹权限修改
- ubuntu LAMP 下laravel5.0 运行环境设置
- CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
- LAMP平台部署及应用(1)――构建PHP运行环境
- 3.1 安装与建立 Qt 桌面运行环境 出现的问题以及排错
- 关于windows server 2003服务器搭建正式dedecms运行环境的问题
- 利用docker搭建LAMP运行环境教程详解
- CentOS 5.5使用yum来安装LAMP(php运行环境)
- 建立Windows环境下的Linux打印服务器
- 阿里云服务器下安装LAMP环境(CentOS Linux 6.3) 安装与配置 Apache 服务
- 阿里云服务器下安装LAMP环境(CentOS Linux 6.3) 安装与配置 php
- vsftpd在opensuse环境下建立ftp服务器
- CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
- linux CentOS 7.2 服务器配置apache+mysql+php环境 (linux 系统下LAMP部署)
- ubantu16 服务器下lamp环境
- 【centos6.5】CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境(linux公社)
- 阿里云学生版轻量服务器使用教程与LAMP环境配置
- apache五合一程序建立PHP+CGI运行环境
- 如何在适合OpenCart系统运行的美国服务器空间建立SMTP服务
- Android客户端基于XMPP的IM(openfire+asmack)的聊天工具之环境搭建及与服务器建立连接(一)