1、安装apr和apr-util依赖
1.1安装apr
[root@test src]# tar -zxvf apr-1.5.2.tar.gz
[root@test src]# cd apr-1.5.2
[root@test apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@test apr-1.5.2]# make && make install
1.2安装apr-util
[root@test src]# tar -jxvf apr-util-1.5.4.tar.bz2
[root@test src]# cd apr-util-1.5.4
[root@test apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
1.3安装pcre
[root@test src]# tar -jxvf pcre-8.37.tar.bz2
[root@test pcre-8.37]# ./configure --prefix=/usr/local/pcre
[root@test pcre-8.37]# make && make install
2、编译安装apache
[root@test src]# tar -jxvf httpd-2.4.16.tar.bz2
[root@test src]# cd httpd-2.4.16
[root@test httpd-2.4.16]# ./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
报错1:
解决方法:yum -y install openssl-devel
[root@test httpd-2.4.16]# make && make install
注:编译参数
--prefix=/usr/local/apache2.4 #指定安装路径
--enable-so #支持动态加载模块
--enable-rewrite #支持网站地址重写
--enable-ssl #支持ssl加密
--with-pcre=/usr/local/pcre #pcre路径
--with-apr=/usr/local/apr #apr路径
--with-apr-util=/usr/local/apr-util
apache的启动脚本为:
[root@test httpd-2.4.16]# /usr/local/apache2.4/bin/apachectl start
3、编译安装mysql
3.1安装相关依赖
[root@test httpd-2.4.16]# yum -y install cmake ncurses-devel
3.2安装MySQL
[root@test src]# tar -zxvf mysql-5.6.26.tar.gz
[root@test src]# cd mysql-5.6.26
[root@test mysql-5.6.26]# cmake
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
> -DDEFAULT_CHARSET=utf8
> -DDEFAULT_COLLATION=utf8_general_ci
> -DWITH_EXTRA_CHARSETS=all
> -DWITH_MYISAM_STORAGE_ENGINE=1
> -DWITH_INNOBASE_STORAGE_ENGINE=1
> -DWITH_MEMORY_STORAGE_ENGINE=1
> -DWITH_READLINE=1
> -DENABLED_LOCAL_INFILE=1
> -DMYSQL_DATADIR=/usr/local/mysql/data
> -DMYSQL-USER=mysql
[root@test mysql-5.6.26]# make && make install
编译参数解释:
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定mysql的安装根目录,目录在安装的时候回自动创建,这个值也可以在服务器启动时,用--basedir来设置
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock #服务器与本地客户端进行通信的unix套接字文件,必须是绝对路径,默认位置/tmp/mysql.sock,可以在服务器启动时用--socket 改变
> -DDEFAULT_CHARSET=utf8 #mysql 默认使用的字符集,不指定将默认使用latin1西欧字符集
> -DDEFAULT_COLLATION=utf8_general_ci #默认字符校对
> -DWITH_EXTRA_CHARSETS=all #指定mysql扩展字符集,默认值也是all支持所有的字符集
> -DWITH_MYISAM_STORAGE_ENGINE=1
> -DWITH_INNOBASE_STORAGE_ENGINE=1
> -DWITH_MEMORY_STORAGE_ENGINE=1 #静态编译myisqm、innobase、memory存储引擎到mysql服务器,这样mysql就支持者三种存储引擎
> -DWITH_READLINE=1 #支持readline库
> -DENABLED_LOCAL_INFILE=1 #允许本地导入数据,启用加载本地数据
> -DMYSQL_DATADIR=/usr/local/mysql/data #mysql数据库存放路径
> -DMYSQL-USER=mysql #运行MySQL的用户
3.2 配置MySQL
[root@test mysql-5.6.26]# useradd -M -s /sbin/nologin mysql #创建管理mysql的用户
[root@test mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/ #修改文件夹的属主属组
[root@test mysql-5.6.26]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #复制配置文件
[root@test mysql-5.6.26]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #复制启动脚本文件
[root@test mysql-5.6.26]# vim /etc/init.d/mysqld #修改配置脚本文件如下内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
3.3初始化数据库
[root@test mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
[root@test mysql-5.6.26]# service mysqld start #启动MySQL
四、编译安装PHP
[root@test php-5.6.13]# yum -y install libxml2-devel
[root@test src]# tar -xvf php-5.6.13.tar.bz2
[root@test src]# cd php-5.6.13
[root@test php-5.6.13]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php
参数解释:
--prefix= #指定安装路径
--with-apxs2 #用apache的apxs工具将php编译成apache的一个模块
--with-mysql #与mysql结合,如果不跟路径,编译出来的版本将是低版本
--with-config-file-path #php的主配置文件php.ini路径
[root@test php-5.6.13]# make -j 3 && make install
[root@test php-5.6.13]# cp php.ini-production /usr/local/php/php.ini #复制配置文件
五、配置apache支持PHP
……
248 <IfModule dir_module>
249 DirectoryIndex index.html index.php #添加index.php
250 </IfModule>
……
376 AddType application/x-compress .Z
377 AddType application/x-gzip .gz .tgz #上面两行是以前有的
378 AddType application/x-httpd-php .php #下面两行是添加的,需要添加以支持PHP
379 AddType application/x-httpd-php-source .phps