2010年(23)
分类: LINUX
2010-06-01 14:35:11
一.搭建环境
1. 配置GCC
a. 使用YUM
[root@localhost ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo
更改内容
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///media/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
~
b.挂在光盘
c.yum list
yum –y install *gcc*
二.安装
1. 安装mysql
a. tar –zxvf mysql*
cd mysql*
yum –y install *termcap*
./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql -with-charset=gbk-with-extral-charsets=all
然后 root权限下安装
make WITH_CHARSET=gbk WITH_XCHARSET=all install clean
make install
cp support-files/my-medium.cnf /etc/my.cnf
useradd mysql
cd /usr/local
chown mysql:mysql mysql –R
cd /mysql
bin/mysql_install_db –user=mysql
chown mysql:mysql /usr/local/mysql/var -R
bin/mysqld_safe –user=mysql &
b. 设置自动启动mysql
cd mysql-5.0.22
cp support-files/mysql.server /etc/rc.d/init.d/mysql
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig –add mysqld
chkconfig –level 35 mysqld on
chkconfig –list mysqld
MYSQL完毕!!!
2. 安装Apache
a. tar –zxvf httpd*
cd httpd*
./configure --prefix=/usr/local/apache --with-mysql=/usr/local/mysql --enable-module=so --enable-shared=max
make
make install
3. 安装PHP
a. Yum –y install *libxml2*
tar -zxvf php-*
cd php-*
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
make
make install
cp php.ini-dist /usr/local/php/lib/php.ini
vi /usr/local/php/lib/php.ini
修改 register_globals=On
(位于414)
4. 配置httpd.conf
a. vi /usr/local/apache/conf/httpd.conf
找到"AddType application/x-gzip .tgz"
(第294行),在它的下面添加
LoadModule php5_module modules/libphp5.so
......
AddType application/x-httpd-php .php
#"AddType application/x-httpd-php .php"和
#"AddType application/x-httpd-php-source .phps"
找到"DirectoryIndex index.html
" 在index.html 前添加 index.php
b. 启动httpd
/usr/local/apache/bin/apachectl start
Iptables -F (清空防火墙配置)
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
解决方法:
1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
2不关闭SELINUX的方法:
# setenforce 0
# chcon -t shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
三. 安装ECshop
1. cp upload /usr/local/apache/htdocs
2. chmod 777 load
关于apache的编译选项
如:--enable-module=status --disable-module=status,则status不会编译进去。
2、--enable-shared和--enable-module的区别
--enable-shared是生成dso动态模块
--enable-module是静态编译进apache
对某个模块来说,若--enable-shared和--enable-module选项同时存在,则--enable-shared优先,即只生成mod_status.so动态模块,不会静态编译进apache
3、--enable-module=so
当编译选项中存在--enable-shared时,so模块是默认静态编译进apache的,不用添加此选项。
4、
–enable-shared=max
max是指所有已配置模块都编译成DSO模块(除了so以外的,so不能被编译成DSO的)
使用动态加载方式会带来5%的性能下降,但和带来的好处相比更本不算什么:比如模块升级方便,系统升级风险降低,安装过程标准化。
--enable-module=most
用most可以将一些不常用的,不在缺省常用模块中的模块编译进来
根据2中的说话可知,对于编译选项
./configure --prefix=/home/apache/ --enable-shared=max --enable-module=most
来说,所有模块都会编译为动态dso模块,只有so模块被静态编译进apache。