zoukankan      html  css  js  c++  java
  • CentOS5.5 下编译安装 LAMP

    大纲

    1.安装gcc编译器

    2.卸载rpm安装的http和mysql软件
    3.编译安装php依赖包
    4.安装apache软件
    5.安装mysql软件
    6.安装php软件
    7.安装memcache php模块软件
    8.安装pdo mysql模块软件
    9.安装zend加速器
    10.安装memcache服务器软件
     
     
     
    1、安装编译工具gcc、gcc-c++、make
     
    注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源
    1)编辑yum配置文件:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Mount /dev/cdrom /media
    vi /etc/yum.repos.d/CentOS-Media.repo
    [c5-media]
    name=CentOS-$releasever - Media
    baseurl=file:///media
    //修改为光盘挂载点
    enabled=1
    //改为1意为启用
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    2)设置alias值:
    1
    2
    3
    4
    Vi /etc/bashrc
    alias yum="yum --disablerepo=* --enablerepo=c5-media"
    3)依次安装gcc、gcc-c++
    Yum -y install gcc*
     
    2、卸载系统Apache、MySQL和PHP的RPM安装包
     
    1
    2
    3
    4
    5
    6
    7
    下载前需关闭启动的服务,如httpd、mysqld
    service httpd stop
    service mysqld stop
    卸载RPM包的Apache、MySQL、PHP
    yum remove httpd
    yum remove mysql
    建议使用rpm –e http-1.2.3.rpm --nodeps (截断这个rpm包的依赖性)
     
    3、关闭SELinux,允许防火墙80端口访问
     
    1
    2
    3
    1)关闭SELinux
    vi /etc/selinux/config
    SELINUX=disabled
    若安装时没有禁用SELinux,将enforcing改为disabled,修改后需重新启动Linux方可生效!
    2)关闭防火墙Netfilter/iptables
    因尚未做防火墙讲解,直接简单的关闭所有防火墙设置:
    1
    2
    iptables -F * 如果没有禁用防火墙,默认80端口禁止访问
    service iptables save 防火墙策略写到/etc/sysconfig/iptables,以后计算机重启再加载这个文件时,防火墙策略就会永久清空.
     
    4、编译安装php依赖包
     
    每个源码包配置编译安装完成后,确认安装目录下是否生成安装文件
     
    # 安装libxml2
    1
    2
    3
    4
    cd /lamp/libxml2-2.6.30
    ./configure --prefix=/usr/local/libxml2/
    make
    make install
     
    # 安装libmcrypt
    1
    2
    3
    4
    cd /lamp/libmcrypt-2.5.8
    ./configure --prefix=/usr/local/libmcrypt/
    make
    make install
    需调用gcc-c++编译器,未安装会报错
     
    # 安装libltdl,也在libmcrypt源码目录中,非新软件
    1
    2
    3
    4
    cd /lamp/libmcrypt-2.5.8/libltdl
    ./configure --enable-ltdl-install
    make
    make install
     
    # 安装zlib
    1
    2
    3
    4
    cd /lamp/zlib-1.2.3
    ./configure
    make
    make install
    zlib指定安装目录可能造成libpng安装失败,故不指定,为卸载方便,建议make install执行结果输出到安装日志文件,便于日后卸载
     
    # 安装libpng
    1
    2
    3
    4
    cd /lamp/libpng-1.2.31
    ./configure --prefix=/usr/local/libpng/
    make
    make install
     
    # 安装jpeg6
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mkdir /usr/local/jpeg6
    mkdir /usr/local/jpeg6/bin
    mkdir /usr/local/jpeg6/lib
    mkdir /usr/local/jpeg6/include
    mkdir -p /usr/local/jpeg6/man/man1
    cd /lamp/jpeg-6b
    ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
    make
    make install
    --enable-shared与--enable-static  参数分别为建立共享库和静态库使用的libtool
     
    # 安装freetype
    1
    2
    3
    4
    cd /lamp/freetype-2.3.5
    ./configure --prefix=/usr/local/freetype/
    make
    make install
     
    # 安装autoconf
    1
    2
    3
    4
    cd /lamp/autoconf-2.61
    ./configure
    make
    make install
    # 安装GD库
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mkdir /usr/local/gd2
    cd /lamp/gd-2.0.35
    #png错误,修改方法:
    vi gd_png.c
    #include “png.h”替换
    #include "/usr/local/libpng/include/png.h"
    ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
    --with-png=/usr/local/libpng/
    Make
    #如果出现错误,把上面的两步重新执行一次.
    make install
    若前面配置zlib时没有指定安装目录,gd配置时不要添加--with-zlib=/usr/local/zlib/参数
     
    # 安装Apache
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    cd /lamp/httpd-2.2.9
    ./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared
    make
    make install
    启动Apache测试:
    /usr/local/apache2/bin/apachectl restart
    查看进程:
    ps -le | grep httpd
    查看apache模块:
    /usr/local/apache2/bin/apachectl –h
    #share 动态模块或动态库文件
    Php5 rewrite
    #static 静态模块或表态库文件
    Server-status
    Userdir
    Virtual host
    测试:
    http://localhost/index.html
    “it works”
    设置Apache随机启动
    Vi /etc/rc.local
    /usr/local/apache2/bin/apachectl restart
     
    # 安装ncurses
    1
    2
    3
    4
    5
    6
    7
    1.yum –y install ncurses*
    2.源代码编译:
    cd /lamp/ncurses-5.6
    ./configure --with-shared --without-debug --without-ada --enable-overwrite
    make
    make install
    若不安装ncurses编译MySQL时会报错
     
    5、安装MySQL
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    useradd mysql
    添加用户组mysql ,将mysql用户默认组设置为mysql用户组
    cd /lamp/mysql-5.0.41
    ./configure --prefix=/usr/local/mysql --without-debug --enable-thread-safe-client --with-pthread --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-extra-charsets=all --with-plugins=all --with-mysqld-user=mysql --without-embedded-server --with-server-suffix=-community --with-unix-socket-path=/tmp/mysql.sock
    make
    make install
    --with-extra-charsets=all参数为安装所有字符集
    #如果不行的话,make clean 后再make ;make install,这样去试一下,默认是不支持innodb存储引擎的.其中--with-plugins=all可以把innodb加载进来.
    1.cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
    修改mysql配置文件
    1.[client]
    default-character-set=utf8
    #客户端字符集
    #连接字符集
    2.[ mysqld]
    character-set-server = utf8
    #服务器字符集
    #数据库字符集
    collation-server = utf8_general_ci
    #服务器,库,表的校验字符集
    #default-storage-engine=innodb
    #把默认的表引擎改为innodb
    生成MySQL配置文件
    Setfacl –m u:mysql:rwx –R /usr/local/mysql
    Setfacl –m d:u:mysql:rwx –R /usr/local/mysql
    用acl来让mysql用户对/usr/local/mysql有所有权限
    /usr/local/mysql/bin/mysql_install_db --user=mysql
    创建数据库授权表
    启动MySQL服务
    1.用原本源代码的方式去使用和启动mysql
    /usr/local/mysql/bin/mysqld_safe --user=mysql &
    2.重启以后还要生效:
    Vi /etc/rc.local
    /usr/local/mysql/bin/mysqld_safe --user=mysql &
    4./usr/local/mysql/bin/mysqladmin -uroot password kkk
    #给mysql用户root加密码.密码为kkk
    /usr/local/mysql/bin/mysql -u root -pkkk test
    mysql>show databases;
    mysql>use test
    mysql>show tables;
    #进入mysql以后用set来改密码.
    mysql> exit
    登录MySQL客户端控制台设置指定root密码
     
    6、安装PHP
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    编译前确保系统已经安装了libtool和libtool-ltdl软件包,若没有安装使用yum或rpm安装下:
    yum install libtool*
    yum install libtool-ltdl*
    cd /lamp/php-5.2.6
    ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
    若前面配置zlib时没有指定安装目录,PHP配置时不要添加--with-zlib-dir=/usr/local/zlib/参数
    make
    make install
    生成php.ini(php的配置文件)
    cp /lamp/php-5.2.6/php.ini-dist /usr/local/php/etc/php.ini
    测试apache与php的连通性,看apache是否能解析php文件
    让apache支持php代码 :
    vi /usr/local/apache2/etc/httpd.conf
    AddType application/x-httpd-php .php .phps
    重启Apache服务:
    /usr/local/apache2/bin/apachectl restart
    测试:vi /usr/local/apache2/htdocs/test.php
    <?php
    phpinfo();
    ?>
    通过浏览器测试:
    http://localhost/test.php
     
    7、编译安装memcache模块
    1
    2
    3
    4
    5
    tar zxvf memcache-2.2.5.tgz
    cd memcache-2.2.5
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make && make install
     
    8、编译安装 PDO_MYSQL
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    tar zxvf /lamp/PDO_MYSQL-1.0.2.tgz
    cd /lamp/PDO_MYSQL-1.0.2/
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
    make && make install
    修改php.ini
    extension_dir = "/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/"
    extension="memcache.so";
    extension="pdo_mysql.so";
    修改php文件生效:
    /usr/local/apache2/bin/apachectl restart
     
    9、安装Zend加速器
    1
    2
    cd /lamp/ZendOptimizer-3.2.6-linux-glibc21-i386
    ./install.sh
     

    10、安装memcache服务器软件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz
    首先安装依赖包libevent
    yum –y install libevent*
    #主包已经安装,别忘记安装libevent-devel*,不然./configure过不去
    Tar xzf /lamp/memcached-1.4.10.tar.gz
    Cd /lamp/memcached-1.4.10
    ./configure --prefix=/usr/local/memcache
    Make && make install
    Useradd memcache
    #因为系统不能用root运行memcache软件
    /usr/local/memcache/bin/memcached -umemcache & #后台运行
    Netstat –tunpl|grep :11211
    telnet 192.168.10.1 11211
    stats
    写入自启动:
    Vi /etc/rc.local
    /usr/local/memcache/bin/memcached -umemcache &
    #如何杀掉后台进程,用kill %1,查看进程用jobs
  • 相关阅读:
    C#面试题
    C# 安装部署
    Ribbon菜单栏布局和调整大小
    Dev GridControl使用小结
    C#多线程学习(一) 多线程的相关概念
    PDF转换成图片——11种方案
    C#多线程学习(二) 如何操纵一个线程
    C# 截屏方式
    dev中gridview控件
    (转载) 如何降低project压缩文件的大小? (Quartus II)
  • 原文地址:https://www.cnblogs.com/timssd/p/4332327.html
Copyright © 2011-2022 走看看