Magento环境搭建

接下来会写一些有关Magento的博文,这一系列博文将主要参考Allan MacGregor的Magento PHP Developer’s Guide一书,但不会逐字翻译,只会截取一些精华内容,旨在学习和Magento的安装、代码结构及二次开发等相关知识。

这里通过使用VirtualBox的安装以及添加虚拟机来架设服务器环境,您也可以使用VMware,下载地址:https://www.virtualbox.org/wiki/Downloads。Linux使用较流行的Ubuntu,下载地址为:http://www.ubuntu.com/download/server/(根据实际情况下载32位或64位的)。

VirtualBox安装及配置

安装VirtualBox和安装普通软件的方法一样,双击所下载的.exe文件然后下一步下一步就可以了。

VirtualBox安装向导

安装后可通过File(管理)>Preferences(全局设定)>Language(语言)来修改界面语言,这里使用英文。点击左上方New弹出创建虚拟机窗口,Name为新建虚拟机的名称,Type在下拉列表中选择Linux,Version选择Ubuntu(32位还是64位取决于您所使用的机器是什么 版本),点击Next进入内存大小配置,可使用默认推荐的512M或更大的值,点击Next进入硬盘创建页面,使用默认勾选的Create a virtual hard drive now,点击Create进入下一步,使用默认的VirtualBox Disk Image (VDI),点击Next进入下一步,这一步包含动态分配大小Dynamically Allocated和固定大小Fixed Size两个选项(两者的共别顾名思义,前者会按实际文件大小动态的分配硬盘空间,而后者则直接分配指定大小的硬盘空间),点击Next进入下一步,选择保存位置和占用大小(通常Magento的安装会占用2 GB,另位数据库服务器会占用约3 GB,这里可使用默认的8 GB),点击Create完成安装。

完成虚拟机创建后,您会在VirtualBox界面的左侧看到新创建的虚拟机,先不要启动虚拟机(Virtual Machine,简称VM),选中新创建的虚拟机,点击Settings>Network>Adapter 2,勾选Enable Network Adapter,在Attached to后的下拉框中选中Bridged Adapter,这一步主要是为了能够通过SSH进行远程连接,在同一界面下点击左侧菜单中的System确保优先使用CD/DVD-ROM启动系统。

然后点击左侧菜单下的Storage,选择空的IDE Controller,点击右侧的光盘图标(Choose a virtual CD/DVD disk file…),载入之前下载的Ubuntu 32位或64位iso镜像文件(Alan的机器为32位,所以以下皆为32位的安装,可能与64位略有不同),然后点击Ok,这样我们就完成了VirtualBox的安装和配置。

VirtualBox Ubuntu服务器

启动虚拟机

完成了VirtualBox的安装与配置,下一步我们来起用所创建的虚拟机,选中左边栏中的虚拟机,点击上方的Start,稍等片刻就会进入语言选择界面,这里选择English,进入安装界面,选择Install Ubuntu Server,进入安装过程界面语言,这里还是选择English,下一步根据所选择语言出现国家列表供选择,这里选择United States,然后设置键盘(以上几步中您可以选择简体中文和中国,这里的选择只是为了避免之后与书中内容有冲突)。

完成上述步骤后进入一些自动扫描的页面,下一步设置主网卡,选择后会进行自动的扫描配置。网卡配置完毕后会进入主机名(hostname),设置页面,这里使用默认的名称ubuntu,然后设置用户名和密码,根据个人情况设置不同值。然后选择是否对主目录加密,下一步会读取系统的时间。下一步进行分区(partition)设置,这里选择Guided – use entire disk and set up LVM,然后选择分区磁盘,然后确认几步写入步骤后,即进入安装系统页面,这一步会耗时几分钟

VirtualBox Linus系统安装

下一步设置代理(proxy),这里留空,然后设置是否自动更新,下一步选择需要安装的软件,因为我们要自己安装LAMP各组件,所以这里仅安装OpenSSH server,中间会安装Grub,直接确定,最后会显示安装完成,continue启动,进入log in页面,输入在安装过程中设置的用户名和密码。登入后输入sudo apt-get update升级安装包,这里的APT是的Advanced Packaging Tool的缩写,是大部分Debian GNU/Linux版本的核心库,它简化了系统中软件的安装和维护流程。

VirtualBox Linux Login页面

LAMP组件安装

上面搭建好了Linux的环境,接下来需要安装Apache, MySQL和PHP,首先我们来安装Apache,Apache是HTTP服务器,当前有60%以上的网站都使用Apache,安装Apache仅需输入指令:sudo apt-get install apache2 -y,可通过如下指令来对Apache服务进行操作

$ sudo apache2ctl stop
$ sudo apache2ctl start
$ sudo apache2ctl restart

通过访问虚拟机ip地址如192.168.156.1来进行确认(可能是由于Alan的笔记本是通过wifi来连接网络的,在进行这一步测试过程中出现了故障,后面的内容采用的都是VMware来进行完成的)。

安装完Apache后,下一步就是PHP了,Magento会使用到多个PHP的扩展库(如GD库),因此需要安装所有需要用到的组件,具体的命令如下:

sudo apt-get install php5 php5-curl php5-gd php5-imagick php5-imap php5-mcrypt php5-mysql -y

sudo apt-get install php-pear php5-memcache -y

sudo apt-get install libapache2-mod-php5 -y

通过输入指令php -v可以检测安装情况。

PHP安装情况查询

一个好的Web应用程序自然少不了数据库,下面我们 就来安装MySQL:

sudo apt-get install mysql-server mysql-client -y

在安装过程中需要输入root账户的密码,安装完毕后可通过如下指令进行验证(请根据情况在-p后输入您所设置的密码):

sudo mysql -uroot -palanhou2014

出现mysql>字样则表示安装正常(可通过Ctrl+C来回到原界面)。

至此Magento所需用到的LAMP环境就安装完毕了,下一步我们开始进入Magento的安装

Magento安装相关问题

安装Magento前需要确定系统的相关配置是否满足相关要求,请参见:安装Magento系统要求。安装时要求以下目录的chmod权限至少为0755:

• /app/etc/
• /var/
• /media/

Note:chmod 是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数。只有文件所有者和超级用户可以修改文件或目录的权限。

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(user)的读、写、执行,用户组(group)的读、写、执行以及(other)其它用户的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

chmod的八进制语法的数字说明;

r 4

w 2

x 1

– 0

所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx ,也就是4+2+1 ,应该是7(即二进制的111)。

用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如rw- ,也就是4+2+0 ,应该是6(即二进制的110)。

其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-x ,也就是4+0+1 ,应该是5(即二进制的101)。

安装过程中会将/app/etc/目录下的local.xml.template复制一份并重命名为local.xml,然后根据图形化安装界面所填内容将相关值填入local.xml中。除了普通的手动安装(即按照图形化界面一步一步走)外,还可使用SSH和SVN方法进行安装。

SSH方法安装Magento

通过SSH(Secure Shell)连接服务器指令:
ssh username@server_address
通过cd(change directory)指令转向安装目录
cd /full/path/to/installation/directory/
以下1.3.2.4为magento的版本号
wget http://www.magentocommerce.com/downloads/assets/1.3.2.4/magento-
1.3.2.4.tar.gz
tar -zxvf magento-1.3.2.4.tar.gz
mv magento/* magento/.htaccess .
chmod o+w var var/.htaccess app/etc
chmod -R o+w media
./pear mage-setup .
./pear install magento-core/Mage_All_Latest-stable
rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*
rm -rf magento/ magento-1.3.2.4.tar.gz

Mac用户需将wget进行修改
curl http://www.magentocommerce.com/downloads/assets/1.3.2.3/magento-
1.3.2.3.tar.gz > magento-1.3.2.3.tar.gz

如果清楚所有变量值,可直接参照以下页面的方法
http://www.magentocommerce.com/wiki/groups/227/command_line_installation_wizard

  1. php-cli -f install.php — \
  2. –license_agreement_accepted “yes” \
  3. –locale “en_US” \
  4. –timezone “America/Los_Angeles” \
  5. –default_currency “USD” \
  6. –db_host “DB_HOST” \
  7. –db_name “DB_NAME” \
  8. –db_user “DB_USER” \
  9. –db_pass “DB_PASS” \
  10. –url “SITE_URL” \
  11. –use_rewrites “yes” \
  12. –use_secure “no” \
  13. –secure_base_url “” \
  14. –use_secure_admin “no” \
  15. –admin_firstname “FIRST_NAME” \
  16. –admin_lastname “LAST_NAME” \
  17. –admin_email “EMAIL_ADDRESS” \
  18. –admin_username “USERNAME” \
  19. –admin_password “PASSWORD”

升级指令
./pear mage-setup .
./pear install magento-core/Mage_All_Latest
rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*
如需清除缓存和session,使用如下指令:
rm –rf var/cache/* var/session/*

SVN方法安装Magento

SVN(Subversion Network)安装Magento用到指令如下:

svn export http://svn.magentocommerce.com/source/branches/1.3

其中1.3为Magento的版本号,trunk安装指令:

svn export http://svn.magentocommerce.com/source/branches/1.3-trunk