----------------------------------------------------------------------------------------------------------------------------------------
前提:安装开发环境,安装pcre-devel、zlib-devel
# yum groupinstall "Development Tools" "Server Platform Development" -y
# yum install pcre-devel zlib-devel -y
创建apache用户和组
# groupadd -r apache
# useradd -r -g apache -s /sbin/nologin -M apache
httpd依赖于更高版本(1.4以上)的apr和apr-util
1、 编译安装apr-1.5.0.tar.gz
# tar xf apr-1.5.0.tar.gz
# cd apr-1.5.0
# ./configure --prefix=/usr/local/apr
# make && make install
2、 编译安装 apr-util-1.5.3
# tar xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
★编译安装apr-util时需指明apr的安装路径
3、编译安装httpd-2.4.12
# tar xf httpd-2.4.12.tar.gz
# cd httpd-2.4.12
编译参数:
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
编译参数说明:
--prefix ###安装路径
--sysconfdir ###指定配置文件路径
--with-apr ###指定apr安装路径
--with-apr-util ###指定par-util安装路径
--enable-so ##DSO兼容,DSO=Dynamic Shared Object,动态共享对象,可实现模块装载
--enable-ssl ###支持SSL/TLS,可以实现https访问
--enable-cgi ###支持CGI脚本
--enable-rewrite ###加入mod_rewrite模块,支持URL重写
--with-zilb ###打开zlib库的支持
--with-pcre ###支持perl的正则表达式
--enable-deflate ###支持网页压缩
--enable-expires ###支持HTTP控制,对网站图片、js、css等内容,提供在客户端游览器缓存
--enable-headers ###允许对HTTP请求头的控制
--enable-modules=most ###支持大多数模块
--enable-mpms-shared=all 支持动态加载的MPM模块
--with-mpm=event #设置默认启用的MPM模式
基本配置
a) 导出头文件
[root@httpd-server local]# ln -sv /usr/local/apache/include/ /usr/include/httpd
`/usr/include/httpd' -> `/usr/local/apache/include/'
b) 导出库文件
# ldconfig -v
# ldconfig -p 显示当前系统已经缓存的所有库文件列表
# 如果有库文件,编辑 /etc/ld.so.conf.d/httpd.conf 把库文件目录路径写在里面
c) 导出帮助手册
# vim /etc/man.config
添加一条路径:
MANPATH /usr/local/apache/man
★如果没有导出帮助手册,可直接指定路径查找:
man -M /usr/local/apache/man httpd
d) 输出二进制程序
# vim /etc/profile.d/httpd.sh
添加一行:
export PATH=/usr/local/apache/bin:$PATH
启动服务
apachectl start
ss �tnl 查看80端口是否监听
-------------------------------------------------------------------------------------------
将安装包解压至/usr/local 并创建软连接至MySQL
#tar xf mariadb-galera-5.5.46-linux-x86_64.tar.gz -C /usr/local/
#ln -sv mariadb-galera-5.5.46-linux-x86_64/ mysql
配置mariadb:
创建MySQL用户和组
#groupadd �r mysql
#useradd �r �s /sbin/nologin �M -g mysql mysql
修改/usr/local/mysql文件的属主为root 属组为mysql
#chown �R root.mysql /usr/local/mysql/*
创建数据库存储目录并更改属主属组
#mkdir /data/mydata �pv
#chown �R mysql.mysql /data/mydata/
输出二进制程序
#vim /etc/profile.d/mysqld.sh
添加:export PATH=/usr/local/mysql/bin:$PATH
复制mariadb配置文件
#mkdir /etc/mysql
#cp /usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf
MariaDB的配置文件查找顺序:/etc/my.cnf--> /etc/mysql/my.cnf --> ~/.my.cnf
配置mariadb数据文件目录
#vim /etc/mysql/my.cnf
找到[mysqld] 修改如下几行
datadir = /data/mydata ###数据库文件存放路径
thread_concurrency = 8 ###表示线程并发数(cpu核心数*2)
innodb_file_per_table = on ###用于innodb高级特性
skip_name_resolve = on ###关闭IP地址反向解析
初始化数据库
# cd /usr/local/mysql/
#scripts/mysql_install_db �user=mysql �datadir=/data/mydata
启动数据库:
# cd /usr/local/mysql/
# cp ./support-files/mysql.server /etc/init.d/mysqld
#
# chmod +x /etc/init.d/mysqld
# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!
设置数据库管理员密码:
# mysqladmin -u root password 'abc,123'
数据库默认不支持远程登录,为用户进行授权:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TOroot@"%" IDENTIFIED BY ‘abc,123' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
检查安装环境:
#rpm -qa zlib* libpng* libjpeg* bzip2* libxml* libxslt*freetype* gd-devel* curl* openssl* libcurl-dev* libiconv* libmcrypt*
libiconv 需要额外编译安装
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
#./configure --prefix=/usr/local/libiconv
#make && make install
libmcrypt-devel 需要额外安装,在Fredora-EPEL源中寻找
http://mirrors.sohu.com/fedora-epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm
http://mirrors.sohu.com/fedora-epel/6/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
编译安装:
#tar xf php-5.4.0.tar.bz2
#cd php-5.4.0
# ./configure --prefix=/usr/local/php --with-config-file-path=/etc/php/php.ini --with-config-file-scan-dir=/etc/php.d/ --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --with-mcrypt --with-bz2 --with-openssl --with-curl --with-xsl --with-iconv=/usr/local/libiconv --enable-sockets --enable-short-tags --enable-static --enable-gd-native-ttf --enable-ftp --enable-maintainer-zts --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
# make && make install
编译参数说明:
--prefix ###程序安装路径
--with-config-file-path ###指定配置文件路径
--with-config-file-scan-dir ###离散的配置文件搜索路径
--with-apxs2 ###编译共享的apache2.0处理程序的模块。
--enable-mbstring ###启用多字节字符串的支持
--with-freetype-dir ###指定FreeType2的安装目录
--with-jpeg-dir ###开启对jpeg图片的支持
--with-png-dir ###开启对png图片的支持
--with-zlib ###开启zlib库的支持
--with-libxml-dir ##开启libxml2库的支持
--enable-xml ###开启对XML支持
--with-mcrypt ##mcrypt算法的扩展
--with-bz2 ###开启对bz2文件的支持
--with-openssl ###对openssl的支持,加密传输时用到的
--with-curl ###开启curl浏览工具的支持
--with-xsl ###开启XSLT文件支持,扩展了libXML2库 ,需要libxslt软件
--with-iconv=/usr/local/libiconv ###支持iconv,并指定iconv安装路径
--enable-sockets ###开启sockets支持
--enable-short-tags ###开启使用短的标记
--enable-static ###编译静态库
--enable-gd-native-ttf ###支持TrueType字符串函数库
--enable-ftp ###开启ftp的支持
--enable-maintainer-zts ###启用线程安全模式
--with-mysql=mysqlnd ###启动对MySQL的支持
--with-pdo-mysql=mysqlnd ###pdo的mysql支持
--with-mysqli=mysqlnd ###启用对MySQLi支持
★为了支持apache的worker或event这两个MPM,编译时使用--enable-maintainer-zts 选项
★如果php与mysql同在一台机,那么编译安装的时候要指定mysql的路径:
--with-mysql=/usr/local/mysql/
--with-mysqli=/usr/local/mysql/bin/mysql_config
★如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。
# ./configure --with-mysql=mysqlnd--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
★如果PHP不是以编译安装方式安装的,那么可能需要安装php-mysql客户端
php-mysql.x86_64
提供PHP配置文件:
#mkdir /etc/php/
#cp /usr/local/software/php-5.4.0/php.ini-production /etc/php/php.ini
#vim /etc/php/php.ini
修改时区:
data.timezone= “Asia/Shanghai”
配置Apache支持PHP
编辑apache主配置文件httpd.conf
检查配置文件内有无包含php模块的行
LoadModule php5_module modules/libphp5.so
增加如下内容:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
添加index.php 为默认搜索主页
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
测试apache能否支持php
在网站根目录下创建一个index.php的主页文件
# vim /usr/local/apache/htdocs/index.php
主页内容:
<?php
phpinfo();
?>
测试PHP能否链接MySQL
#vim /usr/local/apache/htdocs/index.php
<?php
$link = mysql_connect('192.168.100.111','root','abc,123');
if ($link) {
echo "mysql connection successfully!";
}
else {
echo "mysql connection Failed.";
}
mysql_close();
?>