Home  >  Article  >  Database  >  编译配置LAMP环境

编译配置LAMP环境

WBOY
WBOYOriginal
2016-06-07 16:34:22948browse

Google Docs版本在此,欢迎参与完善文档 https://docs.google.com/document/d/14ed599Rn9yQvt_V_Bi8uKWBfPmtwZ3la73-KIpWf4_M/edit 发现Google Docs没法像Zoho那样把文档嵌入HTML,所以只好粘贴一份在这里。 编译安装 安装Apache依赖库PCRE 8.3: 解压源码,

Google Docs版本在此,欢迎参与完善文档 :)

https://docs.google.com/document/d/14ed599Rn9yQvt_V_Bi8uKWBfPmtwZ3la73-KIpWf4_M/edit

发现Google Docs没法像Zoho那样把文档嵌入HTML,所以只好粘贴一份在这里。

编译安装

安装Apache依赖库PCRE 8.3:

  1. 解压源码,运行命令
    $./configure –prefix=/data/cherrotluo/local/pcre
  2. $make
  3. $make install

安装Apache Httpd 2.4:

  1. 下载apache httpd源码解压,然后下载apr和apr-utils分别放置在httpd源码目录的srclib/apr和srclib/apr-util目录。
  2. 执行命令
    $./configure –prefix=/data/cherrotluo/local/httpd –with-included-apr –with-pcre=/data/cherrotluo/local/pcre
  3. $make
  4. $make install

安装MySQL 5.5.25a:

  1. 安装cmake。MySQL 5.5 使用cmake代替configure脚本配置安装过程。所以需要实现安装或编译安装cmake,很简单,不再赘述。
  2. 使用cmake配置MySQL。参考mysql官方文档:http://forge.mysql.com/wiki/CMake#Very_quick_how-to-build
    和这篇教程: http://www.cnblogs.com/church/archive/2012/07/17/2595749.html
    最终我的配置命令是:
    $mkdir build-cherrot
    $cd build-cherrot
    $/cmake \
    #安装目录
    -DCMAKE_INSTALL_PREFIX=/data/cherrotluo/local/mysql \
    #数据库存放目录
    -DMYSQL_DATADIR=~/data/mysql \
    #Unix Socket文件路径
    -DMYSQL_UNIX_ADDR=~/data/mysql/mysql.socket \
    #安装MYISAM存储引擎
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    #安装InnoBase存储引擎
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    #安装Archieve存储引擎
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    #安装BlackHole存储引擎
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    #安装数据库分区存储引擎
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    #允许从本地导入数据
    -DENABLED_LOCAL_INFILE=1 \
    #使用MySQL源码中自带的ZLIB库。我的系统Zlib库版本较老,如果没有这一句,虽然可以通过cmake,但make到56%时会出错误:storage/innobase/page/page0zip.c:2968: error: `Z_BLOCK’ undeclared (first use in this function) (参见: http://bugs.mysql.com/bug.php?id=65856)
    -DWITH_ZLIB=bundled \
    #使用系统READLINE库实现快捷键功能
    -DWITH_READLINE=system \
    #使用系统自带SSL库
    -DWITH_SSL=system \
    #使用UTF-8字符集
    -DDEFAULT_CHARSET=utf8 \
    #校验字符集
    -DDEFAULT_COLLATION=utf8_general_ci \
    #安装全部扩展字符集
    -DEXTRA_CHARSETS=all \
    #设定监听端口
    -DMYSQL_TCP_PORT=8600 ..

安装MySQL 5.1

因为机器上已经有一个mysql 5.0了,和5.5大大的不兼容(https://discussions.apple.com/thread/2698727),于是退回5.1重新编译

  1. ./configure –prefix=/data/cherrotluo/local/mysql5.1 –localstatedir=/data/cherrotluo/data/mysql –enable-local-infile –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=all ?–with-unix-socket-path=/data/cherrotluo/data/mysql/mysql.socket –with-tcp-port=8600 ?–with-mysqld-user=cherrotluo –with-zlib-dir=bundled
  2. make; make install
  3. 初始化数据库:
    ./bin/mysql_install_db –datadir=/data/cherrotluo/data/mysql
  4. 使用自己的配置文件启动mysqld:
    ./bin/mysqld_safe –defaults-file=~/source/mysql-5.1.63/support-files/my-large.cnf
  5. 修改密码:
    mysqladmin -u root -h 127.0.0.1 password ‘new-password’ #使用localhost代替127.0.0.1时还需要使用 -S 指定socket路径

安装PHP5.4.5

  1. ./configure –prefix=/data/cherrotluo/local/php –with-apxs2=/data/cherrotluo/local/httpd… –with-mysql=/data/cherrot/local/mysql5.1/ –with-mysql-sock=/data/cherrotluo/data/mysql/ –with-pdo-mysql=/data/cherrot/local/mysql5.1/
  2. make; make install

多实例运行

多实例运行主要涉及到是MySQL多实例和Apache多实例。

MySQL多实例运行

$mysqld_safe –defaults-file=~/data/mysql/my.cnf
$mysql -h localhost -P 8600 -S ~/data/mysql/mysql.socket -u root -p
#或者 $mysql -h 127.0.0.1 -P 8600 -u root -p, 下面命令同理可以替换
$mysqladmin -h localhost -P 8600 -S ~/data/mysql/mysql.socket -u root -p shutdown

默认开启了匿名用户,因此只能使用root或者不指定用户密码匿名登录,使用其他用户登录会提示Access Denied。删除匿名用户后就可以使用其他用户登录mysql了。

编辑配置文件(my.cnf),将no-auto-rehash改为auto-rehash以支持自动补全。客户端连接数据库时多加一个 –auto-rehash 参数就可以TAB自动补全了,但只能补全表、列名。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn