注:此操作是在centos 5.4_x86_64的linux系统下进行的;
一、安装apache
1.下载apache
cd /usr/local/srcwget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.27.tar.bz
2.解压
tar jxvf httpd-2.2.27.tar.bz2 #若是解压不了,请安装bzip2的包,我的系统是最小化安装的所以这些都需要安装; cd httpd-2.2.27
3.配置编译参数
在配置参数前,需要先安装 pcre、pcre-devel、apr、apr-devel、zlib-devel这些包,要不然会报错,(我的配置编译参数的时候,把所有的包都安装上了,可以还是报错,什么原因呢,找了半天忽然想起了,最小化系统是不带gcc支持的,所以需要安装gcc gcc-c++这两个包)
yum install -y pcre pcre-devel apr apr-devel zlib-devel cd httpd-2.2.24 ./configure \--prefix=/usr/local/apache2 \--with-included-apr \--enable-so \--enable-deflate=shared \--enable-expires=shared \--enable-rewrite=shared \--with-pcre
4.编译和安装
make #我的系统里连make也没有,所以需要安装yum install -y make;
make install
以上两个步骤都可以使用 echo$? 来检查是否正确执行,否则需要根据错误提示去解决问题。
二、安装mysql
1.下载
这个是mysql的官网里的一些下载地址,可以根据自己的系统下载相应的包,x86_64表示64位, i386表示32位,而且这些包名中都带有linux_glibc,这说明这些名都是需要编译安装的,解压后可直接使用,下载后可以使用md5sum 文件名,会现在一串数字,用这串数字和官网的比对,或是相当刚可以放心使用了。
2.解压
我下载的是 mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 这个包,所以后面都会使用这个版本
cd /usr/local/src #先进到存放包的目录 tar zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
3.把解压后的包移动到/usr/local/mysql
mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
4.创建mysql用户
useradd -s /sbin/nologin mysql //-s /sbin/nologin #不允许mysql登陆linux;
5.初始化数据库
cd /usr/local/mysql mkdir -p /data/mysql chown -R mysql:mysql /data/mysql ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql #执行这一步后,在显示的内容若是看到两个 OK 则说明正确,反之则安装提示的错误信息修改;
6.复制配置文件
cp support-files/my-large.cnf /etc/my.cnf
7.复制启动脚本
cp support-files/mysql.server /etc/init.d/mysqld vim /etc/init.d/mysql
在打开的mysql启动脚本中找到“datadir=”修改成“datadir=/data/mysql”;
8.启动mysql
chkconfig -add mysqld #把mysql添加到系统服务中; chkconfig mysqld on #开机启动mysql,若是不想则可以忽略此步; service mysqld start
9.设置mysql
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile #设置变量 source /etc/profile #使变量生效 mysqladmin -uroot password '密码' #设置mysql的root密码
三、安装php
1.下载
cd /usr/local/src wget http://am1.php.net/distributions/php-5.3.27.tar.gz
2.解压
tar zxvf php-5.3.27.tar.gz
3.配置编译参数
cd php-5.3.27./configure \--prefix=/usr/local/php \--with-apxs2=/usr/local/apache2/bin/apxs \--with-config-file-path=/usr/local/php/etc \--with-mysql=/usr/local/mysql \--with-libxml-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-iconv-dir \--with-zlib-dir \--with-bz2 \--with-openssl \--with-mcrypt \--enable-soap \--enable-gd-native-ttf \--enable-mbstring \--enable-sockets \--enable-exif \--disable-ipv6
在配置编译参数前,需要安装yum install -y libxml2-devel gd gd-devel oppenssl openssl-devel bzip2-devel 其中libmcrypt-devel需要安装扩展源后才能用yum安装(扩展源地址
http://www.lishiming.net/data/p_w_upload/forum/month_1211/epel-release-6-7.noarch.rpm)
配置参数配置完成后,可以用echo $?检测是否为0,若为0则配置正常,否则根据提示修改;
4.编译
make #php编译大概需要10分钟左右,完成后使用 echo $? 检测;
5.安装
make install #完成后使用 echo $? 检测;
6.复制配置文件
cp php.ini-production /usr/local/php/etc/php.ini
四、apache结合php
修改apache的配置文件httpd.conf
vim /usr/local/apache2/conf/httpd.conf
#在httpd.conf中找到: “AddType application/x-gzip .gz .tgz” 在该行下面添加 “AddType application/x-httpd-php .php” #再找继续找到:“DirectoryIndex index.html”,把此行修改成 “DirectoryIndex index.html index.htm index.php” # 再找到: “#ServerName www.example.com:80”把此行修改成 “ServerName localhost:80” 保存后退出。
五、测试解析是否正常
/usr/local/apache2/bin/apachectl start //启动apache ps aux |grep httpd #查看ahache是否启动 netstat -lnp |grep 80 #查看80端口是否被httpd所占用
curl localhost #执行这操作后必须出现下行红色字体和格式一样的字段才说明正确(若是没有curl这条命令,需要安装yum install -y curl);
<html><body><h1>It works!</h1></body></html>[root@LAMP php-5.3.27]#
测试是否能正常解析php文件:
vim /usr/local/apache2/htdocs/1.php //在些目录下创建一个.php文件;
写入如下内容:
保存后,使用curl测试
curl localhost/1.php //执行这操作后必须出现下行红色字体和格式一样的字段才说明正确;
解析正常[root@LAMP php-5.3.27]# //若是不一样,则需要重新修改配置文件;
至些 LAMP 环境就搭建好了!!!