zoukankan      html  css  js  c++  java
  • 【Lamp】 Linux 下安装PHP+Apache+Mysql 手记

    【0】写在最前

      由于准备实习原因,今天又重温了Lamp的搭建过程,之前一直是看燕十八老师2012年的教程学习,因此今天也是拿了十八哥的lamp搭建笔记作参考。但这次按照笔记重新搭建,发现了很多问题,由于该笔记已时隔多年,部分软件已经更新几代,网上也少有部分问题的解决方法,因此趁刚搭建好lamp环境,于此整理一下步骤。

    【0.1】本人操作环境

      ubuntu 15.04

      软件存放路径 /root/lamp_need/

      安装路径 /usr/local/

    【0.2】软件准备

    1. zlib-1.2.7.tar.gz   zlib压缩库
    2. httpd-2.2.29.tar.gz  apache
    3. mysql-5.5.40-linux2.6-i686.tar.gz mysql5.5 (选择Linux - Generic 2.? (x86, ??-bit), Compressed TAR Archive)
    4. libxml2-2.7.8.tar.gz
    5. libpng-1.4.3.tar.bz
    6. freetype-2.3.5.tar.bz2
    7. jpegsrc.v7.tar.gz
    8. libgd-2.1.1.tar.bz2 GD库(选择2.1以上版本)
    9. php-5.6.8.tar.bz2 PHP

    【0.2】基本解压命令

    //tar.gz格式
    tar -zxvf xxx
    //tar.bz2格式
    tar -jxvf xxx

    【1】安装Mysql

     1 groupadd mysql
     2 useradd -r -g mysql mysql
     3 cd /usr/local
     4 tar -zxvf /root/lamp_need/mysql-5.5.40-linux2.6-i686.tar.gz -C ./mysql5.5
     5 ln -s /usr/local/mysql5.5 mysql
     6 cd mysql
     7 chown -R mysql .
     8 chgrp -R mysql .
     9 scripts/mysql_install_db --user=mysql
    10 
    11 
    12 #如果提示error while loading shared libraries: libaio.so.1等错误
    13 #是缺少了libaio 安装即可
    14 #sudo apt-get install libaio-dev
    15
    16 
    17 chown -R root .
    18 chown -R mysql data
    19 #可选
    20 cp support-files/my-medium.cnf /etc/my.cnf
    21 bin/mysqld_safe --user=mysql &
    22 #可选
    23 cp support-files/mysql.server /etc/init.d/mysql.server

    【1.1】以下是手册中的说明:

    如果想开机启动mysqld,可以复制support-files/mysql.server文件到你系统的正确位置(按照手册翻译,具体位置不清楚)

    你可以用下面方法设置mysql密码:

    ./bin/mysqladmin -u root password 'new-password'

    ./bin/mysqladmin -u root -h ubuntu password 'new-password'

    或者也可以运行:
    ./bin/mysql_secure_installation

    你也可以删除测试数据库和匿名用户,作为产品服务时,强烈推荐此做法

    使用下面命令启动mysql进程:
    cd . ; ./bin/mysqld_safe &

    可以使用下面命令测试mysql进程:
    cd ./mysql-test ; perl mysql-test-run.pl

    【1.2】测试登录mysql,修改登录密码

    #登录mysql
    ./bin/mysql -uroot -p
    
    #显示数据库,当你看到此表,则mysql已经安装成功
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    
    
    #用户名和登录密码都存储在mysql数据库中
    #因此可以通过update直接修改登录密码
    
    
    #切换数据库
    mysql> use mysql;
    
    #展示所需的列
    mysql> select Host,User,Password from user;
    +-----------+------+-------------------------------------------+
    | Host      | User | Password                                  |
    +-----------+------+-------------------------------------------+
    | localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    | ubuntu    | root |                                           |
    | 127.0.0.1 | root |                                           |
    | ::1       | root |                                           |
    | localhost |      |                                           |
    | ubuntu    |      |                                           |
    +-----------+------+-------------------------------------------+
    
    #修改密码
    mysql> update user set Password=password('123') where Host='localhost' and User='root';
    
    #刷新权限
    mysql> flush privileges;

    #重新登录即可

    至此Mysql 暂告一段落。

    【2】安装apache

    【2.1】编译安装 zlib压缩库

    cd /root/lamp_need
    tar -zxvf zlib-1.2.7.tar.gz
    cd zlib-1.2.7
    ./configure     #这个配置编译命令不要加目录参数
    make && make install

    【2.2】编译安装httpd2(apache)

    cd /root/lamp_need
    tar -zxvf httpd-2.2.29.tar.gz
    cd httpd-2.2.29
    ./configure --prefix=/usr/local/httpd2  
        --enable-modules=all 
        --enable-rewrite 
        --enable-mods-shared=all 
        --enable-so
    make && make install

    【2.3】启动apache 

    /usr/local/httpd2/bin/apachectl start

    默认使用127.0.0.1

    【2.4】测试apache

    浏览器打开: http://虚拟机IP
    看到 "it works!",即为成功

    至此Apache暂告一段落

    【3】安装图形库

    【3.1】libxml2

    cd /root/lamp_need
    tar -zxvf libxml2-2.7.8.tar.gz 
    cd libxml2-2.7.8
    ./configure --prefix=/usr/local/libxml2
    make && make install

    【3.2】jpeg7

    cd /root/lamp_need
    tar -zxvf jpegsrc.v7.tar.gz 
    cd jpeg-7 
    ./configure --prefix=/usr/local/jpeg7/ --enable-shared --enable-static 
    make && make install

    【3.3】libpng

    cd /root/lamp_need
    tar -jvxf libpng-1.4.3.tar.bz2 
    cd libpng-1.4.3 
    ./configure  #和zlib一样不要带参数,让它默认安装到相应目录
    make && make install

    【3.4】freetype

    cd /root/lamp_need
    tar -jvxf freetype-2.3.5.tar.bz2 
    cd freetype-2.3.5
    mkdir -p /usr/local/freetype 
    ./configure --prefix=/usr/local/freetype 
    make && make install

    上面几个基本都是一气呵成。

    【3.5】编译安装GD库

    cd /root/lamp_need
    tar -jvxf libgd-2.1.1.tar.bz2
    cd libgd-2.1.1
    mkdir -p /usr/local/gd 
    ./configure --prefix=/usr/local/gd 
        --with-jpeg=/usr/local/jpeg7/ 
        --with-png --with-zlib 
        --with-freetype=/usr/local/freetype
    make && make install

    至此,图形库基本安装完成。

    【4】编译安装PHP

    cd /root/lamp_need
    tar -jxvf php-5.6.8.tar.bz2
    cd php-5.6.8
    ./configure --prefix=/usr/local/php5.6 
        --with-apxs2=/usr/local/httpd2/bin/apxs 
        --with-mysql=mysqlnd 
        --with-pdo-mysql=mysqlnd 
        --with-mysqli=mysqlnd 
        --with-freetype-dir=/usr/local/freetype 
        --with-gd=/usr/local/gd 
        --with-zlib --with-llsibxml-dir=/usr/local/libxml2 
        --with-jpeg-dir=/usr/local/jpeg7 
        --with-png-dir 
        --enable-mbstring=all 
        --enable-mbregex 
        --enable-shared 
    make && make install 

    【4.1注】遇到问题了。在./configure没有提示错误警告的下 make install 中途提示:

    ext/gd/.libs/gd.o: In function `zm_info_gd':
    /root/phpneed/php-5.6.8/ext/gd/gd.c:1345: undefined reference to `XpmLibraryVersion'
    collect2: error: ld returned 1 exit status
    Makefile:255: recipe for target 'sapi/cli/php' failed
    make: *** [sapi/cli/php] Error 1

    【4.2】安装libXpm后再编译安装PHP

    无奈,只能安装libXpm

    apt-get install libXpm-dev

    查找出libXpm的安装位置

    shell>dpkg -L libxpm-dev
    /.
    /usr
    /usr/lib
    /usr/lib/i386-linux-gnu
    /usr/lib/i386-linux-gnu/pkgconfig
    /usr/lib/i386-linux-gnu/pkgconfig/xpm.pc
    /usr/lib/i386-linux-gnu/libXpm.a
    /usr/include
    /usr/include/X11
    /usr/include/X11/xpm.h
    /usr/share
    /usr/share/lintian
    /usr/share/lintian/overrides
    /usr/share/lintian/overrides/libxpm-dev
    /usr/share/doc
    /usr/share/doc/libxpm-dev                   #此处就是安装位置(以你的系统查找出的目录为准)
    /usr/share/doc/libxpm-dev/copyright
    /usr/share/doc/libxpm-dev/xpm.PS.gz
    /usr/lib/i386-linux-gnu/libXpm.so
    /usr/share/doc/libxpm-dev/changelog.Debian.gz

    于是make clean,再重新configure

    cd /root/lamp_need
    tar -jxvf php-5.6.8.tar.bz2
    cd php-5.6.8
    ./configure --prefix=/usr/local/php5.6 
        --with-apxs2=/usr/local/httpd2/bin/apxs 
        --with-mysql=mysqlnd 
        --with-pdo-mysql=mysqlnd 
        --with-mysqli=mysqlnd 
        --with-freetype-dir=/usr/local/freetype 
        --with-gd=/usr/local/gd 
        --with-zlib --with-llsibxml-dir=/usr/local/libxml2 
        --with-jpeg-dir=/usr/local/jpeg7 
        --with-png-dir 
        --enable-mbstring=all 
        --enable-mbregex 
        --enable-shared 
        #------------加上下面这句----------------
        --with-xpm-dir=/usr/share/doc/libxpm-dev
    make && make install 

    OK,一顿饭时间,完成。

    【4.3】复制php.ini到安装目录

    #复制后缀为development的php.ini文件到php的etc目录
    cp /root/lamp_need/php-5.6.8/php.ini-development /usr/local/php5.6/etc/php.ini
    #有的教程说是放到lib目录,鉴于此,我都复制到这两个目录下
    cp /root/lamp_need/php-5.6.8/php.ini-development /usr/local/php5.6/lib/php.ini

    【4.4】检查PHP是否安装完成

    cd /usr/local/php5.6
    ./bin/php -v

    正常显示:

    PHP 5.6.8 (cli) (built: Mar 6 2016 04:53:35)
    Copyright (c) 1997-2015 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

    如果正常显示php版本信息,则安装成功。

    【5】配置Apache的httpd.conf使其支持PHP

    vi /usr/local/httpd2/conf/httpd.conf

    【5.1】在httpd.conf(Apache主配置文件)中增加:
       AddType application/x-httpd-php .php

    【5.2】找到下面这段话:
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>

    在index.html 前面添加index.php


    【5.3】建立php测试网页
    vi /usr/local/httpd2/htdocs/index.php
    输入如下内容:
    <?php
    phpinfo();
    ?>

    【5.4】重启apache
    /usr/local/httpd2/bin/apachectl restart

    【5.5】再次浏览器查看http://虚拟机IP
    如果看到php信息,工作就完成了!

      

  • 相关阅读:
    最小生成树
    BZOJ3894:文理分科(最大流)(同BZoj3438)
    BZOJ3438:小M的作物 (最大闭合权图->最小割)
    BZOJ 1305:dance跳舞(二分+最大流)
    BZOJ1266:上学路线route (最短路+最小割)
    BZOJ1854:游戏(二分图匹配)
    【PowerOJ1738】最小路径覆盖
    【SPOJ839】Optimal Marks 网络流
    【USACO】AC自动机
    【国家集训队2011】聪聪可可 树分治
  • 原文地址:https://www.cnblogs.com/GaZeon/p/5249155.html
Copyright © 2011-2022 走看看