http://lq2419.blog.51cto.com/1365130/1177925

源码编译LAMP环境_源码编译LAMPLAMP是什么呢?就像SHE、羽泉、凤凰传奇等众多著名歌手组合一样,LAMP其实也是一个组合。这个组合在linux界甚至整个IT界可是相当的出名,其实现的功能很是强大。待会给你个图表,你看一下就知道LAMP有多强大了。说了这么多,那LAMP到底是什么呢?既然是组合,那就先介绍下各自代表什么吧。L,即linux操作系统;A,即Apache服务器;M,即MySQL数据库;P,即PHP/Perl/Python等脚本语言。Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

下面是一个图表,介绍几个比较出名的网站的架构。


System

Server

Storage

Script

Yahoo

FreeBSD   + Linux

Apache

MySQL

PHP

Facebook

FreeBSD

Apache

MySQL   + Memcached

PHP

Wikimedia

Linux

Apache   + Lighttpd

MySQL   + Memcached

PHP

Flickr

Redhat   Linux

Apache

MySQL   + Memcached

PHP+   Perl

Sina

FreeBSD   + Solaris

Apache   + Nginx

MySQL   + Memcached

PHP

YouTube

Suse   Linux

Apache   + Lighttpd

MySQL

Python


从上表你应该已经看出来LAMP的强大之处了吧。因为是源码编译安装,下面就介绍下我们所使用的各个软件。此次介绍的源码编译安装LAMP,这里我们是在VMware虚拟机里实现的。linux系统使用的是RedHat5.8发行版;Apache服务器主要提供http服务,使用的是 httpd-2.4.4.tar.bz2源码包,httpd-2.4.4需要较新版本的apr和apr-util,这里我们使用的是apr-1.4.6.tar.bz2源码包,及apr-util-1.5.2.tar.bz2源码包;MySQL用来提供数据库支持,使用的是mysql-5.6.10-linux-glibc2.5-i686.tar.gz源码包;这里我们使用PHP脚本语言,主要用来提供动态网页效果,使用的版本为php-5.4.13.tar.bz2源码包。各源码包这里不再提供,请各位自行搜索下载。既然都是一个个的源码包,这里我们先来介绍下各自的安装次序,这可不是随便安装哪个都可以的,所以请各位看好了,记好了,不按要求安装,弄错了自行负责啊。 安装次序为:apr --> apr-util --> httpd --> MySQL --> Php --> XCache

下面介绍下为何是这样的安装次序。上边已经提到了,在linux上安装httpd,但其依赖apr和apr-util,所以我们需先安装apr和apr-util。而apr-util是apr的工具包。安装过apr和apr-util及httpd后,因php安装时需mysql的支持,所以需先安装mysql然后安装php。XCache是为php提供加速功能的。到时候我们看情况,如何允许介绍如何安装。在安装mysql后会介绍一个软件,该软件可实现在图形化界面下管理我们linux中的数据库。php安装完成后介绍一个基于php的开源的动态网站,该网站所显示的界面我们在很多地方都见过。在开始我们的源码编译安装前,请确保你的linux系统已经安装过开发工具和开发库,即:Development Libraries和Development Tools。安装方法为,先确保本机有yum源然后使用该命令yum groupinstall "Development Libraries" "Development Tools"即可。因我们是在虚拟机里实现,因此,请确保你的虚拟机时间正确,因我们使用的各个软件版本基本上都是最新版的,如果你虚拟机的时间不对,可能会显示该软件来自未来,无法识别。因此,在编译安装前请确保你的时间是正确的。下面我们就开始吧。这里我们先下载好所有我们需要的各源码包,包括:apr-1.4.6.tar.bz2,apr-util-1.5.2.tar.bz2,httpd-2.4.4.tar.bz2,mysql-5.6.10-linux-glibc2.5-i686.tar.gz,php-5.4.13.tar.bz2,xcache-2.0.0.tar.bz2。还有两个我们先下载下来,phpMyAdmin-3.4.10.1-all-languages.tar.bz2和Discuz_X2.5_SC_GBK.zip。这里我将各源码包放在了/root目录下了,放哪个目录下无所谓,好,下面我们一步步来编译安装各软件包。首先解压apr-1.4.6.tar.bz2软件包。

tar xf apr-1.4.6.tar.bz2   #解压软件包cd apr-1.4.6#进入该目录./configure --prefix=/usr/local/apr   #指定我们源码编译的软件包安装目录make  make install

注意,这里我们之所以将我们的软件包安装在/usr/local/apr目录下,是因为我们的linux上自带有apr软件包,可使用rpm -q apr命令查看下,只是版本比较老而已。可能有些人会问,为什么不先卸载了在安装或者干脆升级呢,这样不会冲突么?其实我们是不能卸载自带的apr的,因为可能有些其他软件需要依赖老版本的apr,如果我们卸载了,可能导致这些依赖老版本apr的软件无法使用。这里我们采用的是多版本共存的方式编译安装的,只要将我们编译安装的新版本安装在不同目录下即可。因此,这里我们选择安装在/usr/local目录下。同样的方式解压apr-util-1.5.2.tar.bz2源码包。

tar xf apr-util-1.5.2.tar.bz2cd apr-util-1.5.2./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr   #指定我们该软件包的安装目录,这个是工具包,还需使用另一个选项告诉它apr软件包的位置makemake install

这两个安装完毕,下面我们去安装我们的httpd源码包。在安装该软件包之前,先解决其依赖关系,首先安装pcre-devel开发包。可使用yum命令,即yum install pcre-devel,或先用rpm -q pcre-devel查看是否已安装过该软件包。这里不再介绍。下面解压源码包。

tar xf httpd-2.4.4.tar.bz2   #解压该源码包cd httpd-2.4.4./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=eventmake && make install  #上边的两个命令也可写成这样介绍下部分选项的含义:--prefix                                 #指定安装目录--sysconfdir                             #指定配置文件安装目录--enable-so                              #支持动态共享对象--enable-ssl                             #支持ssl认证--enable-cgi                             #支持cgi模块--enable-rewrite                         #支持URL重写--with-zlib                              #使用特殊的zlib库--with-pcre                              #支持扩展pcre库--enable-mpms-shared=all                 #构建MPM为动态模块,指定所有模块为共享模块--with-mpm=event                         #默认使用event,这里我们主要介绍event模型,可以自行修改为其他模型,如worker想了解更多选项含义,可在该目录下使用如下命令:./configure --help | less    #less是分频显示,可去掉好吧,插播个广告,补充个知识点:MPM: Multi Path Modules,多道处理模块(至关重要),包含以下几个模块:   mpm_winnt:windows专用,这里不再介绍;   prefork:一个请求用一个进程响应;   worker:一个请求用一个线程响应。系统启动多个进程,每个进程生成多个线程。该模型下,每个web服务器会生成多个进程,而每个进程还可以生成多个线程,用每个线程来响应用户请求,默认web服务器启动两个进程。因linux对线程支持不好,测试发现在linux上worker没有prefork性能好,因此默认在linux上启用prefork。   event:一个进程处理多个请求,该模型是基于事件驱动模型实现,在所有模型中该模型最强大。想深入了解以上各模型请查阅相关资料,或关注我的博客,这里不再介绍。回归正题,继续来完成编译安装我们的httpd。修改httpd的主配置文件,设置其Pid文件的路径vim /etc/httpd/httpd.conf     #修改配置文件,在配置文件中添加如下信息PidFile "/var/run/httpd.pid"#添加该行信息,指定我们的httpd进程文件所在位置我们知道,在我们启动RedHat5.8时,当开机启动某个服务时,会显示OK的字样,现在我们也实现这种效果。为我们的httpd提供SysV服务脚本。vim /etc/rc.d/init.d/httpd    #编辑该文件,添加如下内容#!/bin/bash          #脚本首行,必须有,其他‘#’的均为注释信息## httpd        Startup script for the Apache HTTP Server## chkconfig: - 85 15       #SysV风格脚本必须有该行信息,指定在2345级别写启动该服务# description: Apache is a World Wide Web server.  It is used to serve \     #SysV风格脚本必须有该行信息#          HTML files and CGI.# processname: httpd# config: /etc/httpd/conf/httpd.conf      # config: /etc/sysconfig/httpd# pidfile: /var/run/httpd.pid      #这三行均为httpd配置文件相关信息,帮助理解该脚本# Source function library.. /etc/rc.d/init.d/functions      #调用系统自带函数if [ -f /etc/sysconfig/httpd ]; then    #如果存在该文件,读取该文件   . /etc/sysconfig/httpd      fi# Start httpd in the C locale by default.HTTPD_LANG=${HTTPD_LANG-"C"}# This will prevent initlog from swallowing up a pass-phrase prompt if# mod_ssl needs a pass-phrase from the user.INITLOG_ARGS=""# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server# with the thread-based "worker" MPM; BE WARNED that some modules may not# work correctly with a thread-based MPM; notably PHP will refuse to start.# Path to the apachectl script, server binary, and short-form for messages.apachectl=/usr/local/apache/bin/apachectlhttpd=${HTTPD-/usr/local/apache/bin/httpd}prog=httpdpidfile=${PIDFILE-/var/run/httpd.pid}          #如果PIDFILE为空或未定义,则使用/var/run/httpd.pid,假如上边配置的进程文件不在该目录下,此处需修改lockfile=${LOCKFILE-/var/lock/subsys/httpd}    #锁文件RETVAL=0start() {       echo -n $"Starting $prog: "       LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS       RETVAL=$?    #取上条命令的执行状态结果       echo       [ $RETVAL = 0 ] && touch ${lockfile}   #命令执行成功就创建锁文件return $RETVAL}stop() {   echo -n $"Stopping $prog: "   killproc -p ${pidfile} -d 10 $httpd   RETVAL=$?   echo   [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}}reload() {   echo -n $"Reloading $prog: "if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then       RETVAL=$?       echo $"not reloading due to configuration syntax error"       failure $"not reloading $httpd due to configuration syntax error"else       killproc -p ${pidfile} $httpd -HUP       RETVAL=$?   fi   echo}# See how we were called.case "$1"in start)   start    #调用start函数   ;; stop)   stop         ;; status)       status -p ${pidfile} $httpd       RETVAL=$?   ;; restart)   stop   start   ;; condrestart)if [ -f ${pidfile} ] ; then       stop       start   fi   ;; reload)       reload   ;; graceful|help|configtest|fullstatus)   $apachectl $@   RETVAL=$?   ;; *)   echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"   exit 1esacexit $RETVAL保存退出后,为此脚本赋予执行权限。chmod +x /etc/rc.d/init.d/httpd     #为脚本服务赋予执行权限记得在开启httpd服务前,关闭本机的selinux,否则有影响。使用如下命令:getenforce    #查看本机的selinux情况,如果为permissive就不必修改setenforce 0#关闭selinux,立即生效vim /etc/selinux/config   #修改如下内容,可永久生效SELINUX=permissive  保存退出。编辑添加环境变量vim /etc/profile.d/httpd.sh  编辑该文件,添加如下一行信息export PATH=$PATH:/usr/local/apache/bin    #添加环境变量,让系统可直接使用httpd命令chkconfig --add httpd   #将httpd加入服务列表chkconfig --list httpd   #可查看该服务脚本在各级别下的启动情况service httpd start    #启动httpd服务进行测试netstat -tunlp    #查看下本机的tcp/udp各端口监听情况,可以看到我们的80端口已开启,且处于监听状态介绍httpd的几个命令:httpd -l       #能列出当前服务器上编译时所支持的核心模块httpd -t       #测试修改过httpd.conf文件后有没有语法错误httpd -M       #表示显示所有额外装载的模块

至此,我们的http服务就建好了。一块来测试下效果吧。本虚拟机的IP地址为172.16.32.1,因此,我们打开浏览器,在地址栏输入172.16.32.1,然后回车,可以看到显示有‘It works!’字样,证明我们的http服务可以正常使用了。查看下你使用的linux的IP地址,在地址栏输入你linux的IP,即可显示。

源码编译LAMP环境_源码编译LAMP_02


接下来,该安装我们的mysql了。

tar xf mysql-5.6.10-linux-glibc2.5-i686.tar.gz -C /usr/local   #将该源码包解压到指定的目录下cd /usr/local    #进入该目录ln -sv mysql-5.6.10-linux-glibc2.5-i686 mysql  #创建mysql到mysql-5.6.10-linux-glibc2.5-i686的符号链接,这里我们不采用修改文件名的方式,而是创建链接cd mysql   #进入该目录

在该目录下,有个data的目录,一看名字就知道,这个目录是存放我们的数据的地方。但请各位想想,数据存放在这个目录下会回很不安全,假如某个不法分子攻破我们的mysql服务器,就可以随便查看我们的数据了,这是很危险的,而且,我们的数据文件是动态增涨的,假如哪天我们分的磁盘满了那就不好办了。因此,这里,我们建议将我们的数据文件单独存放在一个磁盘中,且该磁盘格式为逻辑卷,因为,当我们的数据增涨很快时,如果我们的磁盘空间不够,我们可以修改逻辑卷,增大其容量。另一个问题就是,mysql目录下的所有文件都是root属主,root属组,当我们的mysql进程运行时,是以mysql的身份运行的,而mysql对该目录下的文件没有执行权限,因此我们就需要修改该目录下的所有文件及目录,让mysql具有执行权限,但目前我们系统现在还没有mysql用户,因此我们还需要创建mysql用户,mysql组。

先创建我们的逻辑卷。fdisk /dev/sda  #创建一个新磁盘分区,将其格式修改为8e,即LVM格式。本机为/dev/sda5partprobe /dev/sda   #让内核重读磁盘分区pvcreate /dev/sda5     #创建物理卷vgcreate myvg /dev/sda5    #创建卷组,卷组名为myvglvcreate -n mydata -L 5G myvg    #在卷组上创建逻辑卷,大小为5G,卷标为mydatalvs     #查看创建的逻辑卷信息mke2fs -j /dev/myvg/mydata    #格式化该逻辑卷mkdir /mydata#创建该目录,用于挂载我们的逻辑卷vim /etc/fstab   #编辑该文件,添加如下该行信息,将我们的创建的逻辑卷挂载至/mydata目录下/dev/myvg/mydata       /mydata          ext3    defaults    00mkdir /mydata/data       #创建该目录,用于存放我们mysql的数据文件然后创建mysql用户mysql组。groupadd -r -g 300 mysql    #创建系统组,并设置gid为300,系统组gid均小于500,可自行修改useradd -r -g 300 -u 300 mysql   #创建mysql系统用户,并设置其gid、uid均为300id mysql    #可查看我们刚创建的用户信息cd /usr/local/mysql   #进入该目录chown -R mysql.mysql .   #修改该目录下的所有文件和目录,及目录下的子目录子文件均为mysql属主属组chown -R mysql.mysql /mydata/data    #修改该文件及子文件为mysql属主属组,方便mysql写入数据cd /usr/local/mysql    #进入该目录scripts/mysql_install_db --user=mysql --datadir=/mydata/data   #--user指定我们的mysql服务器创建的文件及目录以哪个用户运行,--datadir指定我们的数据文件所在目录,这里mysql不需要执行./configure命令完成后,为我们的mysql提供配置文件,执行完上面的命令后,在我们的/etc目录下会生成一个文件叫my.cnf,这就是我们的mysql的配置文件,我们只需对其稍加修改即可使用。vim /etc/my.cnfdatadir = /mydata/data   #修改我们的数据文件存放位置保存退出。同样,为我们的mysql服务提供服务脚本。这里我们使用系统自带的,我们不需修改即可使用。cp support-files/mysql.server  /etc/rc.d/init.d/mysqld   #将该目录下的脚本拷贝到指定目录下,并重命名chmod +x /etc/rc.d/init.d/mysqld  #为我们创建的服务脚本赋予执行权限,如果该脚本已有执行权限,可不用执行该命令,这里本机显示有执行权限,没有执行此命令vim /etc/profile.d/mysql      #编辑该文件,添加环境变量export PATH=$PATH:/usr/local/mysql/bin  #添加环境变量,让系统直接使用mysql的命令同样,将该服务脚本添加到服务列表。chkconfig --add mysql     #添加该服务脚本至服务列表chkconfig mysql on    #设置开机启动,默认级别为2345service mysql start   #开启mysql服务netstat -tunlp     #查看我们的mysql服务端口是否已开启,默认mysql监听在3306端口现在为我们的mysql创建帮助手册,并添加其开发组件至系统。在我们的mysql目录下,有个man目录,其下就是mysql的帮助手册了。vim /etc/man.config   #编辑该文件,添加如下一行信息MANPATH  /usr/local/mysql/manln -sv /usr/local/mysql/include /usr/include/mysql  #创建符号链接,输出mysql的头文件至系统头文件路径echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf   #添加该行信息,输出mysql的库文件给系统库查找路径ldconfig     #让系统重新载入系统库同样,介绍几个mysql的命令。mysql     -u USERNAME :中间的空格可省,不指定默认为root   -P:指定密码,不指定默认为空   -h MYSQL_SERVER :指定连接的服务器地址,不指定默认为本机如:mysql -uroot -p12345 -hlocalhost    #通过本机以root身份登录mysql,root密码为12345

执行完该命令就进入了mysql的命令行界面,在里边就可以进行mysql的操作了。想了解mysql的一些命令,可搜索相关资料。

源码编译LAMP环境_源码编译LAMP_03

至此,我们的mysql源码编译安装也已完毕。在命令上边提到,我们可以使用phpMyAdmin进入到图形界面来管理我们的mysql数据,但是这个需要php的支持,因此,我们先来安装php,然后再介绍如何用phpMyAdmin来管理我们的mysql数据。在安装我们的php之前,先解决依赖关系,安装X Software Development,命令为yum -y groupinstall "X Software Development"。同时,为了让我们的php支持mcrypt扩展,安装libmcrypt-2.5.7-5.el5.i386.rpm和libmcrypt-devel-2.5.7-5.el5.i386.rpm两个库文件。可先使用rpm -q libmcrypt和rpm -q libmcrypt-devel命令查看下有没有安装这两个库。准备工作完成后,开始安装我们的php。

tar xf php-5.4.13.tar.bz2cd php-5.4.13./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts部分选项含义如下所示:--prefix=/usr/local/php        #指定安装文件目录--with-mysql=/usr/local/mysql     #指定所使用的mysql数据库的所在位置,现在知道为什么要先安装mysql了吧--with-openssl                   #支持openssl--with-mysqli=/usr/local/mysql/bin/mysql_config    #支持mysqli--enable-mbstring              #启用多字节字符串支持--with-freetype-dir             #设定到FreeType 2的安装路径--with-jpeg-dir                  #设定到libjpeg的安装路径--with-png-dir                   #设定到libpng的安装路径--with-zlib                        #支持zlib--with-libxml-dir=/usr            #指定libxml2安装目录--enable-xml           #支持xml扩展--enable-sockets          #启用套接字支持--with-apxs2=/usr/local/apache/bin/apxs    #指定共享的Apache 2.0的处理器模块所在目录--with-mcrypt                #支持mcrypt扩展--with-config-file-path=/etc                   #指定配置文件所在目录--with-config-file-scan-dir=/etc/php.d         #设定在哪个路径下扫描配置文件--with-bz2              #支持BZip2本人英语水平有限,以上如果解释你不懂,或想了解更多可在该目录下使用./configure --help命令查看。make  make test      #执行完上面的命令后,系统会提示你执行该命令,这是测试命令,切记,不要忘记,一定要执行该命令make install    为我们的php提供配置文件,我们依然选用安装php时生成的配置文件,这个可不用修改,直接拿来用。先确保还在php-5.4.13目录下cp php.ini-production /etc/php.ini    #将该目录下的文件复制到/etc下,并重命名作为我们的配置文件vim /etc/httpd/httpd.conf    #编辑该文件,让apache支持phpAddType application/x-httpd-php  .phpAddType application/x-httpd-php-source  .phps   #添加该两行信息同时找到DircetoryIndex,添加index.php,即修改为:DircetoryIndex index.php index.html至此,php安装成功,重启httpd服务即可实现支持php了。php安装完成了,那我们的php能否连接数据库呢?现在我们来测试下我们的php是否能够连接mysql数据库吧。cd /usr/local/apache     #进入该目录下vim htdocs/index.html   #编辑该文件,修改如下信息,你刚才测试httpd时,显示的内容就是这里定义的<html><body><h1>Welcome to my LAMP!!!</h1><?php         #添加php脚本$conn=mysql_connect('langdu','root','123456');    #调用mysql_connect函数,三个参数含义分别为主机名、登录数据库的用户名、登录数据库用户的用户密码if ($conn)      #将上边函数的执行状态结果保存到conn中,然后判断  echo "Success...";     #如果连接成功,输出Success...else  echo "Failure...";     #如果连接失败,输出Failure... ,使用‘;’结尾,不要忘记?></body></html>既然是php了,所以,修改后缀名。mv htdocs/index.html htdocs/index.php

修改完毕。好了,现在打开我们的浏览器,在地址栏输入linux的IP地址,本机为172.16.32.1,因此,在地址栏输入172.16.32.1,回车,一切显示正常。

源码编译LAMP环境_源码编译LAMP_04

现在我们的php已经安装好了,刚才介绍说可以通过phpMyAdmin来实现在图形化界面下管理我们的数据库,现在介绍如何配置phpMyAdmin。这里我们在虚拟主机中实现。下面介绍如何启用虚拟主机。

vim /etc/httpd/httpd.conf   #编辑httpd的主配置文件,找到Virtual hosts,修改如下信息# Virtual hosts    #找到该行信息,这里就是用来定义虚拟主机的Include /etc/httpd/extra/httpd-vhosts.conf   #启用该行,直接去掉前面的注释符即可保存退出。编辑上边提到的文件httpd-vhosts.conf。vim /etc/httpd/extra/httpd-vhosts.conf  #编辑该文件,修改如下信息<VirtualHost *:80>    #表示监听本机所有地址的80端口,这是http的端口   DocumentRoot "/www/1.com"#新建该目录,指定虚拟主机文档根目录,网页文件的存放位置,此目录可自行修改,修改后重启服务即可生效。   ServerName www.1.com#指定服务器主机名,待会在地址栏输入该名称即可   <Directory "/www/1.com">       #定义该路径如何被访问       Options none         #定义/var/www/html目录下所有的网页文档在被访问时的访问属性,有多个时可用空格隔开              AllowOverride none       Require all granted    #定义允许所有人访问,否则待会我们在浏览器就打不开网页了  </Directory>   ErrorLog "logs/1.com-error_log"#定义错误日志存放文件,该目录是相对于ServerRoot的目录,查看httpd.conf配置文件可看到ServerRoot为"/usr/local/apache   CustomLog "logs/1.com-access_log" combined   #定义访问日志文件,文件记录格式为combined,可在httpd.conf配置文件中查看包含哪些信息</VirtualHost>

你会看到里边定义有两个虚拟主机样例,我们只修改这一个,另一个不管它。但待会检查及重启服务时可能会报错,与我们无关先不管它,你要真不想重启服务时报错可删掉。保存退出。因为我们这里是在虚拟机上实现的,现在修改我们windows上的hosts文件,目录为C:\Windows\System32\drivers\etc添加如下信息:172.16.32.1www.1.com   #添加该信息,实现本地解析保存退出,在DOC命令界面,输入ping www.1.com,可以解析成功。

源码编译LAMP环境_源码编译LAMP_05

mkdir /www/1.com -pv    #创建该目录httpd -t     #检查配置文件有没有语法错误,因我们另一个虚拟主机没有配置,会报错,不用管它service httpd restart  #重启服务,也可以待会我们配置好再重启现在去解压我们的phpMyAdmin软件包。软件包我们已下载完毕,直接解压。tar xf phpMyAdmin-3.4.10.1-all-languages.tar.bz2  #解压该软件包mv phpMyAdmin-3.5.1-all-languages /www/1.com/pma   #将解压得到的目录文件移动到该目录下,并命名为pmaservice httpd restart  #为了确保万无一失,我们在重启下服务

现在打开浏览器,在地址栏输入www.1.com/pma,然后回车。下面是显示效果。下图是登陆界面:

源码编译LAMP环境_源码编译LAMP_06

下图是登录后的主界面:

源码编译LAMP环境_源码编译LAMP_07

现在我们再来看另外一个基于php的动态网站。我们先去修改配置文件。

vim /etc/httpd/extra/httpd-vhosts.conf  #编辑该文件,将另一个虚拟主机配置修改如下信息<VirtualHost *:80>   DocumentRoot "/www/2.com"   ServerName www.2.com   <Directory "/www/2.com">       Options none       AllowOverride none       Require all granted  </Directory>   ErrorLog "logs/2.com-error_log"   CustomLog "logs/2.com-access_log" combined</VirtualHost>修改完后保存退出。httpd -t   #检查语法有没有错误unzip Discuz_X2.5_SC_GBK.zip   #解压该文件,会发现目录下多了三个目录,readme、upload和utilities。我们只需要将upload里的文件复制出来即可。mv upload/* /www/2.com/   #移动upload目录下的所有文件到该目录下来。因为我们这里是在虚拟机上实现的,现在修改我们windows上的hosts文件,目录为C:\Windows\System32\drivers\etc添加如下信息:172.16.32.1     www.2.com#添加该信息,实现本地解析保存退出,在DOC命令界面,输入ping www.2.com,可以解析成功。service httpd restart  #重启服务

现在在浏览器地址栏输入www.2.com就可以打开Discuz了,但还是安装向导界面。本想贴出所有截图,但是图片总显示有问题,只显示一半。这里就贴出部分图片吧。下面有附件,想查看显示效果的,可下载图片查看下。

进入安装向导界面1后,会显示有一些目录我们没有写权限,我们现在去修改各目录,让其具有写权限。请先确保当前处于/www/2.com目录下。

chmod 777 config/ data/ data/cache/ data/avatar/ data/plugindata/ data/download/ data/addonmd5/ data/template/ data/threadcache/ data/p_w_upload/ data/p_w_upload/album/ data/p_w_upload/forum/ data/p_w_upload/group/ data/log/chmod 777 uc_client/data/cache/ uc_server/data/ uc_server/data/cache/ uc_server/data/avatar/ uc_server/data/backup/ uc_server/data/logs/ uc_server/data/tmp/ uc_server/data/view/

修改完毕后点击下一步,进入如下界面:源码编译LAMP环境_源码编译LAMP_08修改完毕,点击下一步,填好点下一步即可完成安装。完毕后我们点暂不开通,就进入主界面了。如下图。

源码编译LAMP环境_源码编译LAMP_09

貌似Xcache还没介绍如何安装嘞。这里就暂不介绍了。想知道如何安装可关注我的博客或查找相关资料。