• Linux系统下 Apache+PHP 环境安装搭建


    一、安装Apache2.2.22
    1、到官网下载  http://httpd.apache.org/download.cgi ,选择相应的版本

    可以先下载到windows系统中,上传到linux, 

    也可以直接下载到linux :  wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.20.tar.gz

    2、解压 tar  -zxvf httpd-2.4.20.tar.gz

    3、创建 Ahache 的安装目录

    mkdir /usr/local/Apache2

    4、回到httpd-2.4.20目录下配置, ./configure --prefix=/usr/local/Apache2 --enable-module=shared

    出现错误: 

    configure: error: APR not found. Please read the documentation.
    解决办法:
    先安装 yum install gcc

    1.下载所需软件包:
      1.wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz  

      2.wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz  

      3.wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip  
     
    2.编译安装:(可选择操作)
      yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs 

    3.具体步骤如下:
      a:解决apr not found问题>>>>>>
        1.[root@xt test]# tar -zxf apr-1.4.5.tar.gz  

        2.[root@xt test]# cd  apr-1.4.5  

        3.[root@xt apr-1.4.5]# ./configure --prefix=/usr/local/apr  

        4.[root@xt apr-1.4.5]# make && make install  

      b:解决APR-util not found问题>>>>
        1.[root@xt test]# tar -zxf apr-util-1.3.12.tar.gz  

        2.[root@xt test]# cd apr-util-1.3.12  

        3.[root@xt apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with- apr=/usr/local/apr/

        4.[root@xt apr-util-1.3.12]# make && make install

      c:解决pcre-config for libpcre not found问题>>>>>>>>>

        安装c++编译器g++的命令为:yum install gcc-c++

        1.[root@www.linuxidc.com httpd-2.4.1]# yum -y install pcre-devel

        或者

        1.[root@xt test]#unzip -o pcre-8.10.zip  

        2.[root@xt test]#cd pcre-8.10  

        3.[root@xt pcre-8.10]#./configure --prefix=/usr/local/pcre  

        4.[root@xt pcre-8.10]#make && make install 


    4.最后编译Apache时加上:
      --with-apr=/usr/local/apr

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

      --with-pcre=/usr/local/pcre(如未安装pcre则不用写)

      **********************************************************************************************************************
      ./configure --prefix=/usr/local/Apache2 --enable-module=shared --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
      make && make install
      编译安装成功
      **********************************************************************************************************************

      切换到安装完成后的目录/usr/local/apache2/bin  启动,重启和停止 apache
          ./apachectl -k start
          ./apachectl -k restart
          ./apachectl -k stop

      a:如果出现 httpd启动问题:httpd: apr_sockaddr_info_get() failed for 
        则:修改 ../conf/httpd.conf
        修改ServerName www.example.com:80 为 ServerName localhost:80

      b:启动报错:
        [root@www.linuxidc.com bin]# service apache start
        AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress     this message
        httpd (pid 912) already running
      其实在这里并不是报错,只是个提醒信息,可修改主配置文件,找到ServerName这一行写入本机主机名


      **********************************************************************************************************************
      配置文件
      编辑 /usr/local/apache2/conf/httpd.conf 文件     
           找到:
            AddType  application/x-compress .Z
            AddType application/x-gzip .gz .tgz
          在后面添加:
            AddType application/x-httpd-php .php(使Apcche支持PHP)
            AddType application/x-httpd-php-source .php5   
          找到:
            <IfModule dir_module>
              DirectoryIndex index.html
            </IfModule>
          添加:
            <IfModule dir_module>
              DirectoryIndex index.html index.php
            </IfModule>    
          找到:
            #ServerName www.example.com:80
          修改为:
            ServerName 127.0.0.1:80或者ServerName localhost:80
          记得要去掉前面的“#”
      **********************************************************************************************************************
    5、测试
      找个浏览器,本地的或者 远程的都可以,我用的远程的,本地的IP地址是192.168.0.212
      如:It Works!
      说明成功。
      ******************************************************************************************************************
      修改默认的Web站点目录
      默认的目录为  "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个 /home/gyw/WebSite的目录作为apache的站点目录
      找到DocumentRoot这一行修改为:DocumentRoot "/home/gyw/WebSite"
      找到 <Directory> 这一行修改为:<Directory "/home/gyw/WebSite">
      ============================================================================


    二、安装PHP
    1、 下载
        http://www.php.net/downloads.php
    2、解压
        tar -zxvf php-5.3.16.tar.gz
    3、建立目标文件夹
        mkdir /usr/local/php5
        也就是说等下安装的php要安装到这个文件夹里面
    4、配置
        回到原来解压后的文件夹
        ./configure --prefix=/usr/local/php5  --with-apxs2=/usr/local/Apache2/bin/apxs
        注意这里有一个-with-apxs2=/usr/local/Apache2/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中
      出现错误:configure: error: xml2-config not found. Please check your libxml2 installation.
      运行yum install libxml2(可以先执行,就不会报错了),然后再运行yum install libxml2-devel安装完毕后,重新运行上面的./configure命令。
    5、编译安装
      make && make install
    6、配置文件
      cp /usr/local/src/php-5.3.16/php.ini-development  /usr/local/php/lib/php.ini
      把原来位于源代码里面的php.ini-development拷贝到/usr/local/php/lib/php.ini下,并且重命名为php.ini
    7、重启apache
    8、测试
      在apache的htdocs下建立一个php文件test.php,里面的内容如下:

      <?php
        phpinfo();
      ?>

      然后在浏览器里输入http://192.168.0.212/test.php(注: http://127.0.0.1/test.php 本地用这个也可)

      如果出现php的相关配置,成功,如果什么都没有输入,说明失败,重新以上步骤或者查找原因

      如果决定在安装后改变配置选项,只需重复最后的三步configure, make, 以及 make install,然后需要重新启动 Apache 使新模块生效。Apache不需要重新编译。

  • 相关阅读:
    spring boot 中使用redis session
    关于 JVM 内存的 N 个问题(转)
    在JAVA中记录日志的十个小建议
    spring boot jpa 多数据源配置
    python高性能web框架——Japronto
    毕业 3 年,为何技术能力相差越来越大?——转自阿里技术人生
    如何成为技术大牛——阿里CodeLife
    布式之数据库和缓存双写一致性方案解析(转)
    海量数据存储--分库分表策略详解 (转)
    Linux内核模块简单示例
  • 原文地址:https://www.cnblogs.com/haw2106/p/9839655.html
Copyright © 2020-2023  润新知