> CentOS > CentOS服务器 > webserver >

CentOS下LAMP环境搭建

一、安装 MySQL


    平时安装MySQL都是源码包安装,但是由于它的编译需要很长的时间,所以安装二进制免编译包。

    MySQL官方网站下载: http://dev.mysql.com/downloads/

    sohu镜像站下载:http://mirrors.sohu.com/

 

1、下载 mysql 包到 /usr/local/src/

[root@tpp ~]# cd /usr/local/src/
[root@tpp src]# wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

2、解压

 

[root@tpp src]# tar -zxvf /usr/local/src/mysql-5.1.73-linux-i686-glibc23.tar.gz

 

3、把解压后的数据移动到 /usr/local/mysql

 

[root@tpp src]# mv mysql-5.1.73-linux-i686-glibc23 /usr/local/mysql

4、创建 MySQL 用户

 

[root@tpp src]# useradd -s /sbin/nologin mysql

5、初始化数据库

 

[root@tpp src]# cd /usr/local/mysql
[root@tpp mysql]# mkdir -p /data/mysql           //创建datadir,数据库文件会放在这里
[root@tpp mysql]# chown -R mysql /data/mysql     //更改权限
[root@tpp mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql  //--user定义数据库所属主,--datadir定义数据库安装目录

6、拷贝配置文件

 

[root@tpp mysql]# cp support-files/my-large.cnf /etc/my.cnf

7、拷贝启动脚本并修改其属性

 

[root@tpp mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@tpp mysql]# chmod 755 /etc/init.d/mysqld

8、修改启动脚本

 

[root@tpp mysql]# vim /etc/init.d/mysqld   //进入后修改以下两个地方
    basedir=/usr/local/mysql 
    datadir=/data/mysql

9、把启动脚本加入系统服务项,并设定开机启动,启动mysql

 

[root@tpp mysql]# chkconfig --add mysqld
[root@tpp mysql]# chkconfig mysqld on
[root@tpp mysql]# service mysqld start

    若不能启动,可以到 /data/mysql/ 目录下查看错误日志,日志通常是主机名.err。检查MySQL是否启动的命令为:ps aux |gerp mysqld 。

 

 

二、安装 Apache


    Apache官方下载地址:http://www.apache.org/dyn/closer.cgi

    sohu镜像站下载地址:http://mirrors.sohu.com/

 

1、下载 httpd 包到 /usr/local/src/

 

[root@tpp mysql]# cd /usr/local/src/
[root@tpp src]# wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2

2、解压

 

[root@tpp src]# tar -jxvf httpd-2.2.31.tar.bz2

3、配置编译参数

 

[root@tpp src]# cd httpd-2.2.31
[root@tpp httpd-2.2.31]# ./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre

这里 --prefix 指定安装到目录, --enable-so 表示启用DSO, --enable-deflate=shared 表示共享的方式编译deflate,后面的参数同理。

4、编译

 

[root@tpp httpd-2.2.31]# make

5、安装

 

[root@tpp httpd-2.2.31]# make install

 

以上几步都可以使用 echo $? 来检查是否正确执行,0则表示执行成功。

 

若安装过程中出现报错,可参考http://1015489314.blog.51cto.com/8637744/1688271

 

 

三、安装 PHP


    PHP官方下载地址:http://www.php.net/downloads.php

    sohu镜像站下载地址:http://mirrors.sohu.com/php/php-5.3.27.tar.gz

 

1、下载 php 包到 /usr/local/src/

 

[root@tpp httpd-2.2.31]# cd /usr/local/src/
[root@tpp src]# wget http://mirrors.sohu.com/php/php-5.3.27.tar.gz

2、解压

 

[root@tpp src]# tar -zxvf php-5.3.27.tar.gz

3、为了防止后面编译后不能正常解析PHP,故先安装需要的软件或者库文件(亲试99%都会成功)

 

[root@tpp src]# yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool libtool-ltdl-devel
[root@tpp src]# rpm -ivh "http://www.aminglinux.com/bbs/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm"   
[root@tpp src]# yum install -y libmcrypt-devel

4、配置编译参数

 

[root@tpp src]# cd php-5.3.27
[root@tpp src]# useradd -s /sbin/nologin php-fpm    //可省略
[root@tpp 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

4、编译

 

[root@tpp php-5.3.27]# make

5、安装

 

[root@tpp php-5.3.27]# make install

6、拷贝配置文件

 

[root@tpp php-5.3.27]# cp php.ini-production /usr/local/php/etc/php.ini

 

若安装过程中出现报错,可参考http://1015489314.blog.51cto.com/8637744/1688284

 

 

四、Apache 结合 PHP


编辑Apache 的主配置文件为: /usr/local/apache2/conf/httpd.conf

 

[root@tpp ~]# vim /usr/local/apache2/conf/httpd.conf

①首先找到:

 

AddType application/x-gzip .gz .tgz   //在其下面增加如下一行:
AddType application/x-httpd-php .php

②再找到:

 

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

更改为:

 

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

③最后找到:

 

#ServerName www.example.com:80

更改为:

 

ServerName localhost:80

 

五、测试LAMP是否成功


    Apache、MySQL 和 PHP 安装之后,需要先检验 Apache 的配置文件是否正确,从而才能正确解析出php文件。

1、测试配置文件是否正确

①启动 Apache 之前需要先检验配置文件是否正确,如下所示:

 

[root@tpp ~]# /usr/local/apache2/bin/apachectl -t

(如果有错误,继续修改 httpd.conf,如果是正确的则显示为 “Syntax OK”)

②启动 Apache:

 

[root@tpp ~]# /usr/local/apache2/bin/apachectl start    //重新加载php:start改成graceful

③查看是否启动:

 

[root@tpp ~]# netstat -lnp |grep httpd    
tcp   0  0 :::80   :::*  LISTEN   7667/httpd      //如果显示这一行,则说明 Apache 启动了

另外我们也可以使用 curl 命令简单测试:

 

[root@tpp ~]# curl localhost
<html><body><h1>It works!</h1></body></html>     //如果显示了这一行,也说明测试成功了

2、测试是否正确解析PHP

首先编写一个脚本,如下所示:

 

[root@tpp ~]# vim /usr/local/apache2/htdocs/1.php
<?php
echo "php解析正常";
?>

保存脚本后继续测试,如下所示:

 

[root@tpp ~]# curl localhost/1.php

 

php解析正常     //如果能够显示这一行则说明 php 解析正确。

 

另外我们也可以用phpinfo参数测试出PHP界面:

[root@tpp ~]# vim /usr/local/apache2/htdocs/info.php
<?php
phpinfo();
?>

保存脚本后继续测试,如下图所示:

 

注:有时不能访问wab服务。需关闭防火墙 iptables -F 

 

 

安装过程报错的解决方案


安装Apache时可能会遇到的问题  http://1015489314.blog.51cto.com/8637744/1688271

安装PHP时可能会遇到的错误  http://1015489314.blog.51cto.com/8637744/1688284

(责任编辑:IT)