首页 > 代码库 > 编译安装LAMP+phpMyAdmin

编译安装LAMP+phpMyAdmin


一、准备工作

    关闭防火墙、selinux,配置yum源,并移出系统已安装的httpd,mysql,php

    wKiom1PrELvhQC2ZAAM-fNhJrDI080.jpg


二、安装apache

    ttpd-2.4.10需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里使用源码编译演示。

    1、安装apr    

            [root@90sec /]# tar xf apr-1.5.1.tar.bz2 -C /usr/src/

            [root@90sec /]# cd /usr/src/apr-1.5.1/

            [root@90sec apr-1.5.1]# ./configure --prefix=/usr/local/apr

            [root@90sec apr-1.5.1]# make && make install

    2、安装apr-util

            

            [root@90sec /]# tar xf apr-util-1.5.3.tar.bz2 -C /usr/src/

            [root@90sec /]# cd /usr/src/apr-util-1.5.3/

            [root@90sec apr-util-1.5.3]# ./configure --prefix=/usr/local/apr-util

                                         --with-apr=/usr/local/apr/

            [root@90sec apr-util-1.5.3]# make && make install

    3、安装httpd

             

            [root@90sec /]# tar xf httpd-2.4.10.tar.bz2  -C /usr/src/

            [root@90sec /]# cd /usr/src/httpd-2.4.10/

            [root@90sec httpd-2.4.10]# ./configure --prefix=/usr/local/apache 

            --sysconfdir=/etc/httpd24 --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-modules=most 

            --enable-mpms-shared=all --with-mpm=event

            [root@90sec httpd-2.4.10]# make && make install

    

补充:


(1)构建MPM为静态模块

        在全部平台中,MPM都可以构建为静态模块。在构建时选择一种MPM,链接到服务器中。如果要改变MPM,必须重新构建。为了使用指定的MPM,请在执行configure脚本 时,使用参数 --with-mpm=NAME。NAME是指定的MPM名称。编译完成后,可以使用 ./httpd -l 来确定选择的MPM。 此命令会列出编译到服务器程序中的所有模块,包括 MPM。


(2)构建 MPM 为动态模块


        在Unix或类似平台中,MPM可以构建为动态模块,与其它动态模块一样在运行时加载。 构建 MPM 为动态模块允许通过修改LoadModule指令内容来改变MPM,而不用重新构建服务器程序。在执行configure脚本时,使用--enable-mpms-shared选项即可启用此特性。当给出的参数为all时,所有此平台支持的MPM模块都会被安装。还可以在参数中给出模块列表。默认MPM,可以自动选择或者在执行configure脚本时通过--with-mpm选项来指定,然后出现在生成的服务器配置文件中。编辑LoadModule指令内容可以选择不同的MPM。


4、修改httpd的主配置文件,设置其Pid文件路径


        [root@90sec ~]# vim /etc/httpd24/httpd.conf 

    wKioL1PrJAPA3XSiAAC8lcYgSlE895.jpg

   

 提供服务脚本

        [root@90sec ~]# vim /etc/rc.d/init.d/httpd24

        #!/bin/bash

        #

        # httpd        Startup script for the Apache HTTP Server

        #

        # chkconfig: - 85 15

        # description: Apache is a World Wide Web server.  It is used to serve \

        #        HTML files and CGI.

        # processname: httpd

        # config: /etc/httpd/conf/httpd.conf

        # config: /etc/sysconfig/httpd

        # pidfile: /var/run/httpd.pid

        

        # 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/apachectl

        httpd=${HTTPD-/usr/local/apache/bin/httpd}

        prog=httpd

        pidfile=${PIDFILE-/var/run/httpd.pid}

        lockfile=${LOCKFILE-/var/lock/subsys/httpd}

        RETVAL=0

        

        start() {

                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

          ;;

          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 1

        esac

        

        exit $RETVAL

  赋权并开启服务测试

    wKiom1PrJKiQ42R5AAGqCib8reQ862.jpg

         wKiom1PrJd7iG0SUAAC2PU-9DNM566.jpg     


    三、在centos7上安装mysql



























































本文出自 “断了的军刀” 博客,请务必保留此出处http://90sec.blog.51cto.com/7404127/1539510