zoukankan      html  css  js  c++  java
  • centos6.5搭建LAMP

    实验前准备

       1service iptables stop   #关闭防火墙

          service iptables status   #查看防火墙是否已经关闭

          iptables: Firewall is not running. 这说明防火墙     已经关闭

       2 setenforce 0  关闭selinux

            通过sestatus查看selinux是否关闭

      

                         

       3)确认没有使用RPM方式源代码安装php及相关依赖包

    [root@crushlinux ~]# rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common php-mysql  mysql-server mysql dovecot –nodeps

     

    实验部分

     

    一、安装httpd

     

    1、下载apache

       wget http://archive.apache.org/dist/httpd/httpd-2.2.17.tar.gz

    2、解压压缩包

       tar xf httpd-2.2.17.tar.gz

    3、编译源码包,并且安装

       (1)cd httpd-2.2.17

       (2)./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

     

     

                        1

    编译完成后,如上图,说明已经编译成功

    如果出现以下错误

     

    则在编译时入加 --with-included-apr 即可解决。

     

    4、安装

     make && make install

     

                        2

    编译完成后,如上图,说明已经编译成功

      (1)ln -s /usr/local/httpd/bin/* /usr/local/bin/

          

      (2)cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

          #复制启动脚本

     3vi /etc/init.d/httpd  #编辑启动脚本,增加红色部分内容

       #!/bin/sh

       #chkconfig:345 66 88

       #description:http apache

    解释:

       345 66 88表示345运行级别是开启的,66为服务启动顺序,88服务为停止顺序。

     

       4chmod +x /etc/init.d/httpd

            chkconfig --add httpd

            chkconfig --list httpd

    5、启动服务

       service httpd start

       报错1httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName

       解决:vim /usr/local/httpd/conf/httpd.conf

          97 #ServerName www.example.com:80

          98 ServerName localhost:80

       在配置文件中加入97行下加入98行显示内容

     

       报错2

    /usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

    有很多so模块在/usr/local/lib目录下,所以在/etc/ld.so.conf中加入/usr/local/lib这一行

    [root@crushlinux conf]# vi /etc/ld.so.conf

    /usr/local/lib

    [root@crushlinux conf]# /sbin/ldconfig -v

    现在您已经将 Apach源代码安装在 /usr/local/apache。本源代码安装支持可装载模块

    和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:

    /usr/local/httpd/bin/apachectl start

     

    二、安装mysql

    准备工作:

    [root@Centos2 mysql]# rpm -q mysql-server mysql

    package mysql-server is not installed

    package mysql is not installed

     

    如果已经安装,先卸载,以免发生端口或是程序冲突

     

    mysql5.5以上的版本都需要cmake编译。而不是./configure

    所以需要安装cmake

    tar xf  cmake-2.8.6.tar.gz

    cd cmake-2.8.6

    ./configure

    gmake && gmake install

    或这是

    yum -y install cmake

     

     

       1、创建mysql用户

          groupadd mysql

          useradd -M  -s /sbin/nologin -g mysql mysql

       2、解压,编译、安装

          tar xf mysql-5.5.22.tar.gz

          cd mysql-5.5.22

     

       [root@Centos2 mysql-5.5.22]#

        cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all

     

    -DCMAKE_INSTALL_PREFIX: 指定数据库安装目录

    -DSYSCONFDIR=/etc :指定配置文件目录

    -DDEFAULT_CHARSET:指定默认使用的字符集编码。如utf8

    -DDEFAULT_COLLATION=utf8_general_ci:设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)

    -DEXTRA_CHARSETS=all:启用额外的字符集类型(默认为all)

     

    如下图表示编译完成

     

     

                        1

    配置

    make && make install

    3、权限调整

    chown -R mysql:mysql /usr/local/mysql

    4、建立配置文件

    rm -rf /etc/my.cnf

    cd mysql-5.5.22

    cp support-files/my-medium.cnf /etc/my.cnf

    5、初始化数据库

    cd /usr/local/mysql

    scripts/mysql_install_db

    --user=mysql

     --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

     

    初始化数据库成功

    6.设置软连接

    为了在任何目录下都能使用mysql命令。可以创建软连接

    ln -s /usr/local/mysql/bin/* /usr/local/bin/

    7、将mysql添加为系统服务

    cd mysql-5.5.22/support-files

    cp mysql.server /etc/init.d/mysqld

    chmod +x /etc/init.d/mysqld

    chkconfig --add mysqld

    8、启动mysql服务

    service mysqld start

    Starting  MySQL..          [  OK  ]

     

    [root@Centos2 ~]# netstat -antp |grep mysqld

    tcp 0   0 0.0.0.0:3306  . 0.0.0:*     LISTEN    13611/mysqld 

     

    9、登陆验证

     

     

     

    mysql搭建完成

    三、安装php

    1.源代码安装libmcrypt

    [root@crushlinux ~]# tar zxf libmcrypt-2.5.8.tar.gz [root@crushlinux ~]# cd libmcrypt-2.5.8/

    [root@crushlinux libmcrypt-2.5.8]# ./configure

    [root@crushlinux libmcrypt-2.5.8]# make && make install

    [root@crushlinux libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

    2.源代码安装mhash

    [root@crushlinux ~]# tar zxf mhash-0.9.9.9.tar.gz

    [root@crushlinux ~]# cd mhash-0.9.9.9/

    [root@crushlinux mhash-0.9.9.9]# ./configure

    [root@crushlinux mhash-0.9.9.9]# make && make install

    [root@crushlinux mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/

     

    3、源代码安装mcrypt

    [root@crushlinux ~]# tar zxf mcrypt-2.6.8.tar.gz

    [root@crushlinux ~]# cd mcrypt-2.6.8/

    [root@crushlinux mcrypt-2.6.8]# ./configure

    [root@crushlinux mcrypt-2.6.8]# make && make install

     

    编译时候报错:

    configure: error: *** libmcrypt was not found

     

    解决办法:

    第一步ln -s   

    /usr/local/bin/libmcrypt_config   /usr/bin/libmcrypt_config

     

    第二步:

    export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH

     

    4、编译php

    root@crushlinux ~]# tar zxf php-5.3.6.tar.gz

    [root@crushlinux ~]# cd /php-5.3.6

    [root@crushlinux php-5.3.6]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring

     

    编译参数解释:

    --prefix=/usr/local/php5                  //指定安装目录

    --with-mcrypt                             //加载扩展工具支持

    --with-apxs2=/usr/local/httpd/bin/apxs //设置Apache提供的apxs模块                                               程序文件位置

    --with-mysql=/usr/local/mysql              //指定mysql服务的安装路径

    --with-config-file-path=/usr/local/php5 //指定php配置文件“php.ini”                                              的存放路径

    --enable-mbstring                      //启用多字节字符串功能

     

    如下图表示编译成功

     

     

                          1

    Make && make install

    如下图表示安装成功:

     

     

     

       到此apachemysqlphp源码包安装完成。

     

    四、整合LANMP环境

       [root@crushlinux php-5.3.6]# cd php-5.3.6

        [root@crushlinux php-5.3.6]# ls php.ini-*

    /usr/src/php-5.3.6/php.ini-development //开发版样例文件,用户学习,测试

    /usr/src/php-5.3.6/php.ini-production //生产版样例文件,用户实际运用

     

    1复制样例文件

    [root@crushlinux php-5.3.6]#

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

     

    2)php.ini配置调整

     

    [root@crushlinux php-5.3.6]# vi /usr/local/php5/php.ini

    773 default_charset = "utf-8"       //设置默认字符集为utf-8

    871 file_uploads = On              //允许通过PHP网页上传文件

    880 upload_max_filesize = 2M       //允许上传的文件大小限制

    883 max_file_uploads = 20          //每个HTTP请求最多允许上传的文件数

    728 post_max_size = 8M             //每次通过表单POST提交的数据量限制

    226 short_open_tag = On             //允许识别PHP短语法标记,即<? … ?>

     

    3)调整Apache配置

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

    53 LoadModule php5_module        modules/libphp5.so  

         配置加载PHP程序的模块文件

    54 AddType application/x-httpd-php .php .phtml             

         添加对“.php”类型网页支持

    169  DirectoryIndex index.php index.html       

         识别常见的php首页文件

    [root@crushlinux ~]# /usr/local/httpd/bin/apachectl restart

     

     

    五、测试

    1)测试PHP能否正常提供服务

    [root@crushlinux ~]# vim /usr/local/httpd/htdocs/test1.php

    <?php

    phpinfo();    内建函数用于显示PHP环境信息

    ?>

    [root@crushlinux ~]# /usr/local/httpd/bin/apachectl restart

    浏览器输入:http://10.3.0.209/test1.php

     

     

     

    有如上信息为正确

     

    2)测试PHP能否正常访问mysql数据库

    [root@crushlinux ~]# vi /usr/local/httpd/htdocs/test2.php

     

    <?php

    $link=mysql_connect('localhost','root','');

    if($link) echo "OK!!";

    else echo "FAILD!!";

    ?>

       

  • 相关阅读:
    Shiro入门学习之shi.ini实现授权(三)
    Shiro入门学习之shi.ini实现认证及源码分析(二)
    猜字母游戏(Java)
    二维数组的语法
    鸡兔同笼问题(Java)
    成绩统计程序(Java)
    18位身份证验证(Java)加入身份证输入验证是否满足18位代码(修订稿)
    18位身份证验证(Java)
    键盘输入字符插入定义数组中并按顺序排列
    一个随机验证码且不重复的小程序以及求随机输入一组数组中的最大值(Java)
  • 原文地址:https://www.cnblogs.com/pangbing/p/6531463.html
Copyright © 2011-2022 走看看