历时两日,终于在CentOS 6.0上搭建好了完整的LAMP开发环境,中间有很多麻烦,但还是一点点解决了。并且写好了这份安装文档,留给自己和以后再安装中遇到问题的人。予人玫瑰,手留余香。
一、搭建环境:
1、CentOS 6.0虚拟机(最小安装)
2、putty
3、ssh shell
二、准备工作:
1、源码包
2、安装gcc、gcc-c++编译器(yum安装)
若虚拟机能联网,直接输入命令yum install gcc和yum install gcc-c++;若不能联网,将centos光盘镜像挂载上,修改yum的本地源,使机器从本地源yum方式安装
3、检查机器上是否已经安装了mysql、php、apache,使用命令rpm -qa mysql。若安装了,则使用命令rpm -e 包的全名 --nodeps卸载
4、关闭selinux,清空防火墙规则
5、开放80、3306、22端口
因为默认情况下,防火墙的80、3306、22端口是关闭的,这样的话对于客户机访问虚拟机上的web,会出现访问不到的现象。所以要开启。
service iptables stop
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT //那是大写的英文字母I,不是数字1
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
然后保存:
#/etc/rc.d/init.d/iptables save
重启防火墙
service iptables restart
6、在linux下建立目录lamp,存放上传的源码
7、使用ssh shell将windows下下载好的14个源码包上传到/lamp
8、解包
因为包很多,这里编写shell脚本/lamp/tar.sh进行解包
tar.sh
- #!/bin/sh
- cd /lamp
- ls *.tar.gz > ls.list
-
- for TAR in `cat ls.list`
- do
- tar -zxvf $YAR
- done
执行脚本tar.sh进行解包
9、将源码包*.tar.gz全都删除
三、安装过程:
1、为方便操作,编写安装脚本/lamp/lamp.sh进行安装
lamp.sh
- cd /lamp/libxml2-2.6.30
- ./configure --prefix=/usr/local/libxml2/
- make
- make install
-
- cd /lamp/libmcrypt-2.5.8
- ./configure --prefix=/usr/local/libmcrypt/
- make
- make install
-
- cd /lamp/libmcrypt-2.5.8/libltdl
- ./configure --enable-ltdl-install
- make
- make install
-
- cd /lamp/zlib-1.2.3
- ./configure
- make
- make install
-
- cd /lamp/libpng-1.2.31
- ./configure --prefix=/usr/local/libpng/
- make
- make install
-
- mkdir /usr/local/jpeg6
- mkdir /usr/local/jpeg6/bin
- mkdir /usr/local/jpeg6/lib
- mkdir /usr/local/jpeg6/include
- mkdir -p /usr/local/jpeg6/man/man1
- cd /lamp/jpeg-6b
- ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
- make
- make install
-
- cd /lamp/freetype-2.3.5
- ./configure --prefix=/usr/local/freetype/
- make
- make install
-
- cd /lamp/autoconf-2.61
- ./configure
- make
- make install
-
- cd /lamp/gd-2.0.35
- ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
- make
- make install
-
- 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
-
- cd /lamp/ncurses-5.6
- ./configure --with-shared --without-debug --without-ada --enable-overwrite
- make
- make install
-
- groupadd mysql
- useradd -g mysql mysql
- cd /lamp/mysql-5.0.41
- ./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
- make
- make install
-
- cp support-files/my-medium.cnf /etc/my.cnf
- /usr/local/mysql/bin/mysql_install_db --user=mysql
- chown -R root /usr/local/mysql
- chown -R mysql /usr/local/mysql/var
- chgrp -R mysql /usr/local/mysql
-
- /usr/local/mysql/bin/mysqld_safe --user=mysql &
-
- cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
- chown root.root /etc/rc.d/init.d/mysqld
- chmod 755 /etc/rc.d/init.d/mysqld
- chkconfig --add mysqld
- chkconfig --list mysqld
- chkconfig --levels 245 mysqld off
-
- 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/apx --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
- echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf
- /usr/local/apache2/bin/apachectl restart
执行脚本,进行安装(时间很长,可以去睡觉了
)