*************************************************
win7下的vm8.0虚拟机
centos6.0(最小安装)
filezilla 上传软件
参考教材:兄弟连李明老师的lamp编译视频教程,在此感谢李明老师的详细教程
关于解压的Shell脚本和编译安装的脚本下载地址: http://download.csdn.net/detail/wang02011/3939392 经测试全部可用,编译可一次完成。
我保存的是UNIX格式,即便你是win系统,下载下来后,上传到linux也可直接使用。如果你要在win下编辑shell脚本,记得要改变文件格式为UNIX,要不然脚本在linux上不执行。
*************************************************
前期准备工作
1、检查安装工具是否已经安装 gcc、 gcc-c++、 make(yum安装)
检测:gcc -v
yum install gcc
2、检查是否已经安装apache mysql php 如果已经安装 卸载掉
检测:rpm -qa|grep hpptd、rpm -qa|grep mysql、rpm -qa|grep php
卸载:rpm -e [软件名]
3、查看防火墙的状态,端口80 3306 22是否开启 默认关闭。需要开启,开启方法见http://blog.csdn.net/wang02011/article/details/7065997
# /etc/init.d/iptables status
开启端口后重启防火墙
service iptables restart
4、上传软件到/lamp下 并解压软件包
# tar -zxf [软件名]
//为了方便,使用shell脚本解压。
编译开始: //为了方便,可用脚本安装,我的机器不到1个半小时安装完毕
========================================================
1、安装 libxml2 库文件
cd /lamp/libxml2-2.6.30
./configure --prefix=/usr/local/libxml2/
make
make install
2、安装libmcrypt 库文件
cd /lamp/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt/
make
make install
3、安装libmcrypt库下的libltdl
cd /lamp/libmcrypt-2.5.8/libltdl
./configure --enable-ltdl-install
make
make install
4、安装zlib 库文件
cd /lamp/zlib-1.2.3
./configure 不要指定安装路径,否则安装libpng时会出错。安装到默认位置。
make 可以定义下 安装日志。make install > /test/backup/zlib_20111218.install.log
make install
5、安装 libpng 库文件
cd /lamp/libpng-1.2.31
./configure --prefix=/usr/local/libpng/
make
make install
6、安装jpeg6 库文件
mkdir /usr/local/jpeg6 //jpeg6软件安装目录
mkdir /usr/local/jpeg6/bin //存放命令的目录
mkdir /usr/local/jpeg6/lib //jpeg6库文件所在目录
mkdir /usr/local/jpeg6/include //存放头文件目录
mkdir -p /usr/local/jpeg6/man/man1 //存放手册目录 -p是创建连续的目录
cd /lamp/jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install
7、安装freetype 库文件
cd /lamp/freetype-2.3.5
./configure --prefix=/usr/local/freetype/
make
make install
8、安装autoconf 库文件
cd /lamp/autoconf-2.61
./configure //不要指定目录
make
make install
9、安装GD库文件
cd /lamp/gd-2.0.35 //zlib没有指定安装目录,所以安装GD2不需要指定zlib的位置
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
make
make install
10、安装apache2
cd /lamp/httpd-2.2.9
./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make
make install
/usr/local/apache2/bin/apachectl start //启动
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit //加入开机自启动
#开启 /usr/local/apache2/bin/apachectl start
#关闭 /usr/local/apache2/bin/apachectl stop
#重启 /usr/local/apache2/bin/apachectl restart
#测试 在宿主机上输入192.168.1.11
11、安装mysql数据库的关联软件
cd /lamp/ncurses-5.6 //这个一定要先安装,否则安装mysql会出错
./configure --with-shared --without-debug --without-ada --enable-overwrite
make
make install
12、安装mysql数据库
groupadd mysql /添加一个mysql标准组
useradd -g mysql mysql //添加mysql用户并加到mysql组中
cd /lamp/mysql-5.0.41
./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
make
make install
设置mysql
cp support-files/my-medium.cnf /etc/my.cnf //拷贝配置文件
/usr/local/mysql/bin/mysql_install_db --user=mysql //以mysql用户的身份建立数据表(多一个var目录)
chown -R root /usr/local/mysql //将mysql的主目录(即/usr/local/mysql)的属主设为root用户
chown -R mysql /usr/local/mysql/var //将var目录的属主设为mysql用户
chgrp -R mysql /usr/local/mysql //将mysql的主目录的属主设为mysql用户组
/usr/local/mysql/bin/mysqld_safe --user=mysql & //启动mysql
cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld //将mysql.server这个文件copy到/etc/init.d/目录下,并更名为mysqld
chown root.root /etc/rc.d/init.d/mysqld //将mysqld的属主设置为root
chmod 755 /etc/rc.d/init.d/mysqld //给/etc/init.d/mysqld这个文件赋予“执行”权限
chkconfig --add mysqld //加入到开机自动运行
chkconfig --list mysqld
chkconfig --levels 245 mysqld off //运行级别为2 4 5
13、安装php
cd /lamp/php-5.2.6
./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
make
make install
cp php.ini-dist /usr/local/php/etc/php.ini // 拷贝php配置文件到/usr/local/php/etc/下 并命名为php.ini
echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf //作用是 让apache解析php
/usr/local/apache2/bin/apachectl restart //重启apache
14、配置mysql
cd /usr/local/mysql
bin/mysqladmin version //简单的测试
bin/mysqladmin varibles //查看所有mysql参数
bin/mysql -u root //没有密码可以直接登录本机服务器
#查看授权表的所有用户
#mysql> select * from mysql.user \G;
#删除除localhost之外的所有用户(提高安全性)
#mysql>delete from mysql.user where host!='localhost';
#修改root用户的密码,这里的root用户指的是mysql的root用户,与Linux的root用户无关
#mysql>set password for 'root'@'localhost'=password('123456');
#刷新权限
#mysql> FLUSH PRIVILEGES;
15、安装zend加速器
这个软件不是源代码,是二进制的bin文件 只需执行./install.sh即可
然后根据提示安装
如果./install.sh不能安装就用 ./install-tty安装
这里需要填写配置文件的地址
php:/usr/local/php/etc/
apache:自动锁定
16、安装phpadmin
将解压的源码包拷贝到存放网站的目录下,并重命名为phpmyadmin
[root@feng soft]# cp -a phpMyAdmin-3.0.0-rc1-all-languages /web/phpmyadmin
建立配置文件
[root@feng phpmyadmin]# cp config.sample.inc.php config.inc.php
打开配置文件
[root@feng phpmyadmin]# vi ./config.inc.php
编辑配置文件,将cookie改为http
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
重启apache
#/usr/local/apache2/bin/apachectl restart
17、安装完成后见到的错误
1)、apache重启错误: httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/
解决方法:http://blog.csdn.net/wang02011/article/details/7082815
2)、 httpd: Could not reliably determine the server's fully qualified domain name
解决方法: #检查端口 netstat -tnl,如果没开启80端口
vi /etc/httpd/httpd.conf 将里面的#ServerName localhost:80注释去掉即可。
3)、上传一个项目到/web下,安装失败,提示config.inc.php设置失败
查看权限 [root@feng web]# ll
结果:drwxr-xr-x. 12 root root 4096 12月 15 04:22 cms_demo
查看apache的用户进程 [root@feng web]#ps -aux|grep httpd
结果:daemon 30930 0.0 1.4 20172 7536 ?
修改cms_demo项目的属主
chown -R daemon.daemon cms_demo //将项目和其所有子目录的用户改为daemon 用户组改为daemon