LAMP环境完全搭建

摘要:摘要: 配了N多次了,还是再来一次,完整记录一下,方便后来人~

一,下载必要的包:

par,apr-util:http://archive.apache.org/dist/apr/

(http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz)

(http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz)

pcre:http://sourceforge.net/projects/pcre/files/pcre/

(http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download)

apache:http://httpd.apache.org/download.cgi

(http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.29.tar.gz)

mysql:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz

php:http://php.net/get/php-5.4.36.tar.gz/from/a/mirror

注:以上给出的链接地址,在linux下都可以直接使用wget命令来下载

然后在安装之前,最好能够保证下面这些包都安装好,不然中途出错也是需要安装这些东西,所以提前装好还是有必要的,当然不安装等着报错之后再对应的去安装,这是一样的!

yum -y install gcc automake autoconf libtool make

yum -y install cmake gcc-c++ ncurses-devel

yum -y install zlib-devel openssl-devel

1 (14).jpg

二,安装apache

首先先解压包,使用tar命令

在安装httpd服务之前,需要先安装apr,apr-util,pcre包,如下:

进入到apr源码目录下,执行:

./configure --prefix=/usr/local/apr1.5.0

make && make install

进入到apr-util目录下,执行:

./configure --prefix=/usr/local/apr-util1.5.2 --with-apr=/usr/local/apr1.5.0/

make && make install

进入到pcre目录下,执行:

./configure --prefix=/usr/local/pcre8.32

make && make install

进入到httpd目录下,执行:(这里最好不要指定pcre的目录,可能会报错)

./configure --prefix=/usr/local/httpd --enable-mods-shared=all --enable-so --enable-rewrite --with-apr=/usr/local/apr1.5.0 --with-apr-util=/usr/local/apr-util1.5.2 --with-pcre=/usr/local/pcre8.32

configure出错:

解决方案:

./configure --prefix=/usr/local/httpd --enable-mods-shared=all --enable-so --enable-rewrite --with-apr=/usr/local/apr1.5.0--with-apr-util=/usr/local/apr-util1.5.2--with-pcre

configure出错:

解决方案:

yum -y install zlib-devel openssl-devel

再继续:

./configure --prefix=/usr/local/httpd --enable-mods-shared=all --enable-so --enable-rewrite --with-apr=/usr/local/apr1.5.0--with-apr-util=/usr/local/apr-util1.5.2--with-pcre

make && make install

生成apache控制脚本,方便后期加入到系统服务中:

grep -v "#" /usr/local/httpd/bin/apachectl > /etc/init.d/apache

增加可执行权限:

chmod auo+x /etc/init.d/apache

添加到系统服务:

chkconfig --add apache

如果报错:

则需要 vim /etc/init.d/apache,然后在最文件的最上面增加如代码:

#!/bin/sh

#chkconfig:2345 85 15

效果如下:

然后再执行:chkconfig --add apache 就可以了,引起这个错误的原因是因为我们生存的apache脚本使用了grep -v "#" 这种方式,如果你是直接:mv /usr/local/httpd/bin/apachectl /etc/init.d/apache 那么便不会有问题了!

查看是否加入成功:

chkconfig --list apache

启动apache,执行:

service apache start

访问http://127.0.0.1:

至此,apache的安装完成,以后就是配置,这个后面再说!

三,安装mysql

这里请参看我的另外一篇博客:http://my.oschina.net/u/1156660/blog/346768

四,安装php

需要提前安装好的包:

yum install -y libxml2 libxml2-devel

说明:php安装完成之后,请一定要把这个php的源码包留在系统中,因为后期给php加扩展的时候需要!

进入到php的安装目录,执行:

./configure

--prefix=/usr/local/php

--with-apxs2=/usr/local/httpd/bin/apxs

--with-mysql

--with-mysqli

--enable-pdo

--with-pdo-mysql

--enable-sockets

出现如下提示,表示编译成功:

然后继续执行:

make && make install

出现下面这个情况:

不清楚为什么会有这个出现,不过总算是完成了。

复制设置php的配置文件,执行:

cp php.ini-development /usr/local/php/lib/php.ini

然后开始配置apache:

vim /usr/local/httpd/conf/httpd.conf

加入如下几句,如果有的话则不需要,如果不一样则对比那里需要增加:

<IfModule dir_module>

DirectoryIndex index.php index.html

</IfModule>

<FilesMatch ".php$">

SetHandler application/x-httpd-php

</FilesMatch>

然后保存退出,重启apache:service apache restart

来到/usr/local/httpd/htdocs/ 目录下,新建一个php文件,命名为index.php,代码如下:

保存退出,在浏览器中输入:http://127.0.0.1 如果出现phpinfo的界面则表示配置成功!

至此,整个的PHP的安装已经完成,那如果你后期还需要给php增加一些扩展,则可以参考我的另外一篇博客:http://my.oschina.net/u/1156660/blog/343408

五,配置apache(修改www目录,配置虚拟主机)

修改www目录,只需要在apache的配置文件中,做简单更改即可,如下:

然后重启apache使配置文件生效即可!

配置虚拟机:

修改apache的配置文件,如下:

打开这一项,然后保存退出!

然后来到 cd /usr/local/httpd/conf/extra/ 目录下,打开 httpd-vhosts.conf 文件,添加选项,如下:

<VirtualHost *:80>

ServerAdmin koma@example.com

DocumentRoot "/usr/local/www/koma"

ServerName koma.com

ServerAlias *.koma.com

ErrorLog "logs/dummy-host.example.com-error_log"

CustomLog "logs/dummy-host.example.com-access_log" common

</VirtualHost>

最终 httpd-vhosts.conf 文件中的内容如下:

然后修改hosts文件:

vim /etc/hosts

添加如下选项:

然后重启apache,在浏览器中输入:http://koma.com/ 如果显示出来的是你自己的内容,则配置成功,当然前提是你在对应的目录下有文件存在!!!

如果报错,则需要在apache的配置文件中增加这么一行:ServerName localhost

 

OK,The End!