Linux下Apache+Mysql+PHP安装

发表于2017-08-28 11:40  |  次阅读  |  0条评论  |   作者:admin

一、软件列表(所有安装文件均在附件中):
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)
① 解压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组。
            命令: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
   #tar xzvf php-5.3.3.tar.gz
#cd php-5.3.3
#./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=mysqlnd  --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服务
本站关键字:sunny90 web开发 数据库 移动开发 服务器 Nginx Mysql PHP
Copyright © sunny90版权所有 power by sunny90.com  
湘ICP备14012284号-1,粤公网安备 44030602000307号