Linux下Apache+Mysql+PHP+libxml+libmcrypt+mhash+memcached安装_经过实践_没有问题


一、软件列表(所有安装文件均在附件中):

1. httpd-2.2.16 (apache server)

2. Mysql (数据库)

3. libxml2-2.6.30 (实现读、创建及操作xml数据功能的c语言库)

4. libmcrypt-2.5.8 (用于加密)

5. mhash-0.9.9.9 (支持多种哈希演算法的哈希函数库)

6. mcrypt-2.6.8(加密算法扩展库)

7. php-5.3.3

8. APC-3.1.5 (Alternative PHP Cache可选PHP缓存)

9. memcached-1.4.5(memcached服务)

10. memcache-2.2.6(php memcache扩展)


二、安装:

1. apache (httpd-2.2.16)                         安装apache

① 解压httpd压缩包,进入源码目录,进行编译以前的准备。

    tar –zxvf httpd -2.2.6.tar.gz

    cd httpd -2.2.6

    ./configure --prefix=/usr /local/apache --enable-module=so

    (动态使用mysql模块,安装到/usr/local/apache)

    *注:在linux环境下httpd是apache的守护进程!就像别名一样。

② 开始编译make 和编译安装make install

③ 输入/usr/local/apache/bin/apachectl  start 启动apache


2. mysql                                                   安装mysql

① 创建mysql组,并且创建用户mysql,加入mysql组。

    命令:groupadd mysql
               useradd –g mysql mysql

② 解压mysql源码安装包

        进入到压缩文件所在目录,查看详细信息后使用命令:tar –zxvf XXXXX.tar.gz解压

③ 解压后进入mysql进行进一步操作,进入到mysql目录

        命令:cd ./mysql-5.0.13-rc

④ 解压成功,‘ls’告诉我们安装包成功解压,“cd./mysql-5.0.13-rc”进入安装目录中,
       执行 “./configure --prefix=/usr/local/mysql” 此命令用来检测安装目录的所在环境是否适合,后面一部分则是指定的安装目录。

⑤ 开始检测安装目录环境,提示Thank you for choosing MySQL!时表示安装目录环境通 过你检测,可以进行安装了

⑥ 这样就可以开始源码包的编译,先后输入“make”、“make install”命令,两项命令会执行源码包编译和编译安装

⑦ 接下来我需要将MySQL的配置文件复制到/etc这个保存配置文件的目录下面,起一个固定的名称,然后进入MySQL安装目录来对数据库进行初始化。

        三条命令:cp support-files/my-medium.cnf       /etc/my.cnf
                         cd /usr/local /mysql/
                         bin/mysql_install_db     --user=mysql
 (第三条命令用的是相对路径,若用绝对路径则是/usr/local/mysql/ bin/mysql_install_db --user=mysql 表示用MySQL这个用户来初始化数据库)

⑧ linux系统对权限的要求很高,一般都是给的最低权限。而且每个用户或者每个组对各个文件拥有的权限也是 有很大的不同的,因而安装完成MySQL后需要对MySQL数据库的用户和组进行一下权限分配。

⑨ 一次运行如下命令:
    chown -R  root    .                            (将当前目录所有内容的属主改为root)
    chown -R mysql  var                      (将/var下目录所有内容的属主改为mysql)
    chgrp -R mysql   .                            (将当前目录所有内容的属主组改为mysql)
    -R表示递归,即由上至下依次改变
⑩ 最后启动mysql
       bin/mysqld_safe --user=mysql &

       此命令用于启动mysql服务,并且在后台启动,以减少过多占用前台资源。

       之所以启动mysql服务是因为在后面的安装php服务需要调用mysql.& 表示后台启动


3. libxml2-2.6.30

# tar -zxf libxml2-2.6.30.tar.gz

# cd libxml2-2.6.30

# ./configure

# make 

# make install


4. libmcrypt-2.5.8

    #tar zxvf libmcrypt-2.5.8.tar.gz

    #cd libmcrypt-2.5.8

    #./configure

    #make

    #make install

    说明:libmcript默认安装在/usr/local


5. mhash-0.9.9.9

    #tar zxvf mhash-0.9.9.9.tar.gz

    #cd mhash-0.9.9.9

    #./configure

    #make

    #make install


6. mcrypt-2.6.8

   #tar zxvf mcrypt-2.6.8.tar.gz

    #cd mcrypt-2.6.8

    #LD_LIBRARY_PATH=/usr/local ./configure

    #make

    #make install

    说明:由于在配置mcrypt时,会找不到libmcrypt的链接库,导致无法编译,因为Libmcrypt的链接库在/usr/local/文件夹下。
 因些在配置mcrypt时要加入LD_LIBRARY_PATH=/usr/local导入键接库。

 PS:以上3个为PHP添加加密扩展模块mcrypt,关系图如下:

 
7. php-5.3.3                                                 安装PHP
    #tar xzvf php-5.3.3.tar.gz
    #cd php-5.3.3
    #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pdo-sqlite --without-sqlite3 --without-sqlite --enable-mbstring --with-openssl --with-mhash --with-mcrypt --with-openssl --with-gd --with-gettext --with-zlib --enable-zip --enable-sockets --enable-soap --with-xmlrpc 
     #make
     #make install
     #cp php.ini-development /usr/local/php/lib/php.ini

     修改httpd.conf
     #vi /usr/local/apache/conf/httpd.conf
     加载php模块,去掉注释“#”,如没有此行,请加上。
     LoadModule php5_module        modules/libphp5.so
     加上此两行
     AddType application/x-httpd-php .php .phtml
     AddType application/x-httpd-php-source .phps


  

8. APC-3.1.5

    用phpize编译共享PECL扩展库:
 # tar -xzvf APC-3.0.19.tgz
 #cd  APC-3.0.19
    # /usr/local/php5/bin/phpize
 # ./configure --enable-apc --enable-mmap --enable-apc-spinlocks --disable-apc-pthreadmutex
 #make
 #make install
 然后修改php.ini
 把 
  extension_dir = "./"
 修改为
  extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626"

 并添加apc配置
 extension=apc.so
 apc.enabled = 1
 apc.cache_by_default = on
 apc.shm_segments = 1
 apc.shm_size = 128
 apc.ttl = 7200
 apc.user_ttl = 7200
 apc.num_files_hint = 1024
 apc.write_lock = On
 apc.gc_ttl=3600
 apc.ttl=0
 apc.mmap_file_mask=/tmp/apc.XXXXXX

 最后重启APACHE服务


9. memcached-1.4.5 (memcached 服务)

# tar zxvf memcached-1.4.5.tar.gz

# cd memcached-1.4.5

# ./configure --prefix=/usr/local/memcached

# make

# make install


运行memcached守护程序

    # /usr/local/memcached/bin/memcached -d -m 128 -l 192.168.1.200 -p 11211 -u daemon -P /var/run/memcached.pid -c 1024 


   相关参数说明:

   -p memcached监听的TCP端口

   -l 监听的ip地址

   -d 以daemon方式运行,将程序放入后台

   -u memcached的运行用户,我设定的是nobody

   -P memcached的pid文件路径

   -m memcached可以使用的最大内存数量

   -c memcached同时可以接受的最大的连接数


10. memcache-2.2.6 (php memcache 扩展)

    用phpize编译共享PECL扩展库:

    # tar vxzf memcache-2.2.6.tgz

    # cd memcache-2.2.6

    # /usr/local/php5/bin/phpize

    #./configure --with-php-config=/usr/local/php5/bin/php-config

    # make

    # make install

    提示:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/memcache.so


然后修改php.ini

extension_dir = "./"

修改为

extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626"

并添加一行

extension=memcache.so

最后重启APACHE服务


三、安装说明:

1、安装PHP扩展模块 (mcrypt例子)

1)静态编译

        在任意PHP文件中加入函数 phpinfo(),即可取得目前PHP的配置

        在这些配置后面新增需要加入的配置:’–with-mcrypt=/usr/local/include’

        然后进入php源代码目录,执行这条完整的configure命令


       配置完成,下面进行源码包的制作和安装

       make clean (一定需要)

      make

      make install


2)动态加载

    使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是 因为安装php后又装了一些东西如PEAR等,不想删除目录重装,可以用phpize 编译共享PECL扩展库:

    # tar vxzf memcache-2.2.6.tgz

    # cd memcache-2.2.6

    # /usr/local/php5/bin/phpize

    #./configure --with-php-config=/usr/local/php5/bin/php-config

    # make

    # make install

    提示:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/memcache.so


     然后修改php.ini

     把

               extension_dir = "./"

     修改为

             extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626"

      并添加一行

             extension=memcache.so

      最后重启APACHE服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值