centos+lamp+magento

来源:互联网 发布:js事件三个阶段 编辑:程序博客网 时间:2024/06/09 14:16

基本环境安装

http://os.chinaunix.net/a2008/0920/985/000000985420.shtml
yum -y install gcc gcc-c++ gcc-g77 flex bison autoconf automake libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libxml2 libxml2-devel libtiff libtiff-devel pam pam-devel libmcrypt libmcrypt-devel mhash mhash-devel

lamp安装

apache

magento要求apache1.x或2.x,本文用2.2.9,下载httpd-2.2.9.tar.gz并放入opt目录下

安装过程如下:

[root@localhost opt]# tar zxvf httpd-2.2.9[root@localhost opt]# cd httpd-2.2.9[root@localhost httpd-2.2.9]# ./configure --prefix=/opt/apache2 \--sysconfdir=/etc/httpd --with-z --with-included-apr --enable-so \--enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support [root@localhost httpd-2.2.9]# make && make install  

安装完后通过如下指令启动和关闭

[root@localhost httpd-2.2.9]# /opt/apache2/bin/apachectl start
[root@localhost httpd-2.2.9]# /opt/apache2/bin/apachectl stop

在浏览器中输入:http://localhost/访问,可得到如下返回


为了方便,可以将apache服务设定为开机自动启动:

echo "/opt/apache2/bin/apachectl start" >> /etc/rc.d/rc.local 

mysql

magento对mysql的要求:

  • MySQL 4.1.20 or newer
  • InnoDB storage engine
本文选择的版本mysql-5.0.41.tar.gz
[root@localhost httpd-2.2.9]# cd ..
[root@localhost op]# cd cd mysql-5.0.41[root@localhost mysql-5.0.41]# groupadd mysql[root@localhost mysql-5.0.41]# useradd -g mysql mysql[root@localhost mysql-5.0.41]# ./configure --prefix=/opt/mysql --with-extra-charsets=all --with-charset=utf8 --with-plugins=all -with-pthread[root@localhost mysql-5.0.41]# make[root@localhost mysql-5.0.41]# make install

说明:

  • 如果从源代码编译安装mysql,缺省安装时,是没有innodb引擎的.所以,在configure的时候,要加入--with-plugins=all(或者max),这样才会支持innodb.在mysql里可以执行showengines命令来查看当前的mysql服务器所支持的存储引擎.
  • 多线程支持方面只要注意选择--with-pthread和--enable-thread-safe-client选项就可以了。
  • 为了更好支持中文,通常将字符集设置为utf8,通过--with-charset=utf8实现

安装好后,需要进行一些设置

[root@localhost mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf [root@localhost mysql-5.0.41]# cd /opt/mysql[root@localhost mysql]# bin/mysql_install_db --user=mysql  [root@localhost mysql]# chown -R root .[root@localhost mysql]# chown -R mysql var[root@localhost mysql]# chgrp -R mysql .

上面的指令依次是:

  • 考本配置文件

  • 切换到mysql安装目录

  • 创建授权表 

  • 将文件的所有属性改为root用户

  • 将数据目录的所有属性改为mysql用户

  • 将组属性改为mysql组

接下来就可以启动mysql了

[root@localhost mysql]# bin/mysqld_safe --user=mysql &[1] 31635[root@localhost mysql]# Starting mysqld daemon with databases from /opt/mysql/var

简单测试一下:

[root@localhost mysql]# bin/mysqladmin versionbin/mysqladmin  Ver 8.41 Distrib 5.0.41, for pc-linux-gnu on i686  

mysql安装好后的root是没有密码的,可以直接进入。所以现在需要进入root用户并为其创建密码

同时,mysql默认的用户还有127.0.0.1等,它们的密码也都为空,本文将这些非root用户全部删除,只留root,并这是密码为123456

登录mysql:

[root@localhost mysql]# bin/mysql -u rootWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.0.41-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> 

设置用户

mysql>  DELETE FROM mysql.user WHERE Host='localhost' AND User='';Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');Query OK, 0 rows affected (0.00 sec)mysql> exitBye[root@localhost mysql]# 

测试用户和密码

[root@localhost mysql]# bin/mysql -u root -h localhost -p Enter password: 

输入123456后回车

Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.0.41-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> 


最后可以关闭mysql,语法:

bin/mysqladmin -u root -p shutdown  

php

 magento对php的要求

  • 5.2.0 及其以上
  • PDO/MySQL
  • MySQLi
  • mcrypt
  • mhash
  • simplexml
  • DOM

本文选择php-5.2.6.tar.gz,除了magento要求的扩展以外,还添加了一些常用的扩展。

安装:

[root@localhost mysql]# cd /opt/[root@localhost opt]# tar zxvf php-5.2.6.tar.gz [root@localhost opt]# cd php-5.2.6[root@localhost php-5.2.6]# ./configure --prefix=/opt/php   --with-config-file-path=/opt/php/etc  \--with-apxs2=/opt/apache2/bin/apxs  --with-mysql=/opt/mysql/  \--with-gd  --with-zlib=shared  --with-sqlite=shared --with-mcrypt --with-curl --with-iconv \--with-mhash=shared --with-mysqli=/opt/mysql/bin/mysql_config  --enable-soap --enable-mbstring=all  \--enable-sockets --enable-ftp --enable-bcmath   --with-pdo-mysql [root@localhost php-5.2.6]# make && make install

配置

[root@localhost php-5.2.6]# cp php.ini-dist /opt/php/etc/php.ini[root@localhost php-5.2.6]# vi /etc/httpd/httpd.conf[root@localhost php-5.2.6]# /opt/apache2/bin/apachectl stop[root@localhost php-5.2.6]# /opt/apache2/bin/apachectl start

上面是配置好文件,重启apache服务器

下面些个测试

[root@localhost php-5.2.6]# vi /opt/apache2/htdocs/test.php
写好后,在浏览器中输入:http://localhost/test.php

可以在浏览器中看到解析完后的php信息

其他安装

到此,lamp已经搭建好了。下面安装一些辅助软件。

ZendOptimizer

[root@localhost php-5.2.6]# cd /opt/[root@localhost opt]# tar zxvf ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz [root@localhost opt]# cd ZendOptimizer-3.2.6-linux-glibc21-i386[root@localhost ZendOptimizer-3.2.6-linux-glibc21-i386]# ./install.sh 

之后为图像华界面安装,安提示操作即可。

phpmyadmin

phpmyadmin的安装其实就是一个解压和拷贝的过程
[root@localhost ZendOptimizer-3.2.6-linux-glibc21-i386]# cd /opt/[root@localhost opt]# tar zxvf phpMyAdmin-3.0.0-rc1-all-languages.tar.gz [root@localhost opt]# cp -a  phpMyAdmin-3.0.0-rc1-all-languages /opt/apache2/htdocs/phpmyadmin [root@localhost opt]# cd /opt/apache2/htdocs/phpmyadmin[root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php

phpmyadmin有三种模式:http、cookie、config

这个可以在config.inc.php中进行配置

这里要强调的是,如果用cookie配置,则要注意在这个配置文件中的提示:

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

本文修改为:

$cfg['blowfish_secret'] = '****'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
只有,输入http://localhost/phpmyadmin/index.php即可使用

也可以配置apache的配置文件

vi /etc/httpd/httpd.conf
<IfModule dir_module>    DirectoryIndex index.html</IfModule>

修改为:

<IfModule dir_module>    DirectoryIndex index.php index.html</IfModule>

以后输入http://localhost/phpmyadmin即可访问phpmyadmin。

magento安装

在http://www.magentocommerce.com/download上下载 magento1.6

我下载的是tar.gz格式

在安装之前,还应该下载官方提供的测试数据,并创建一个数据库,将测试数据库的sql语句导入

本文创建的数据库为magento

mysql> create database magento;Query OK, 1 row affected (0.00 sec)mysql> use magento;Database changedmysql> source /opt/apache2/htdocs/magento-sample-data-1.6.1.0/magento_sample_data_for_1.6.1.0.sql;

将下载的magento1.6压到apahce的发布目录下面,本文的是/opt/apache2/htdocs/,把样列的media文件夹也拷贝到magento的对应目录下。本文是/opt/apache2/htdocs/magento/media

设置magento的权限:

[root@localhost htdocs]# chmod -R 777 magento
输入http://127.0.0.1/magento,页面会自动跳转到安装界面,根据提示操作

遇到如下问题:

PHP Extensions "pdo_mysql" must be loaded.

这是之前装php网络添加--with-pdo-mysql ,即没有安装pdo-mysql扩展

没关系,php可以单独安张这些扩展:

本文还是采用源码包里面的程序来安装:

首先进入/opt/php-5.2.6/ext/pdo_mysql目录,进行如下操作(php-5.2.6是php源码的位置)

[root@localhost pdo_mysql]# /opt/php/bin/phpize Configuring for:PHP Api Version:         20041225Zend Module Api No:      20060613Zend Extension Api No:   220060519[root@localhost pdo_mysql]# ./configure --with-php-config=/opt/php/bin/php-config --with-pdo-mysql=/opt/mysql/[root@localhost pdo_mysql]# make [root@localhost pdo_mysql]# make installInstalling shared extensions:     /opt/php/lib/php/extensions/no-debug-non-zts-20060613/
生成的扩展放在/opt/php/lib/php/extensions/no-debug-non-zts-20060613/目录下

修改配置文件:

vi /opt/php/etc/php.ini

将:extension_dir = "./"

改为:extension_dir = "/opt/php/lib/php/extensions/no-debug-non-zts-20060613/"

并添加extension=pdo_mysql.so

重启服务后,继续安装即可

这里安装都采用模认设置。之后会继续讨论如何加入ssl