redhat5.8下配置LAMP架构

时间:2023-02-03 17:06:10


    本篇博客介绍如何自行编译安装包,定制符合特定平台的LAMP架构,本测试操作均在虚拟机中实现(Redhat Enterprise Linux 5.8),内容涵盖编译安装httpd、MySQL、php


准备:

    准备一台未安装Apaches、MySQL、php的虚拟机

    (作者使用的是初始化后的虚拟机)


说明:

    本操作过程需要使用自行下载的软件包,软件包自行上网下载即可,建议大家进官网下载,下载rpm包时推荐使用以下两个站点进行下载:www.rpmfind.net、rpm.pbone.net


一、编译安装httpd

httpd安装顺序:apr --> apr-util --> pcre --> httpd

执行安装操作前需要下载以下软件包:

    apr-1.5.2.tar.bz2

    apr-util-1.5.4.tar.bz2

    httpd-2.4.20.tar.bz2

    pcre-8.38.tar.gz

httpd安装目录简单说明:

    htdocs:网页文件存储路径

    include:头文件

    logs:日志文件+pid文件

    man:帮助文档

    manual:手册

    module:模块

对于configure各选项不了解的可以使用命令./configure --help | less查看说明,这里不进行解释

1、编译安装apr

# tar xf apr-1.5.2.tar.bz2# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make
# make install

2、编译安装apr-util

# tar xf apr-util-1.5.4.tar.bz2# cd apr-util-1.5.4# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr# make# make install

3、编译安装pcre

# tar xf pcre-8.38.tar.gz# cd pcre-8.38# ./configure --prefix=/usr/local/pcre# make# make install

4、编译安装httpd

# tar xf httpd-2.4.20.tar.bz2# cd httpd-2.4.20# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewrite --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre# make# make install

5、测试httpd

# cd /usr/local/apache# bin/apachectl start# netstat -tnlp # ls logs # 出现pid文件# vim /htdocs/index.html # 修改主页内容

作者测试结果:

redhat5.8下配置LAMP架构

6、修改pid文件存储路径至/var/run

# vim /etc/httpd/httpd.conf# 添加记录:PidFile "/var/run/httpd.pid"

7、为httpd添加服务脚本(服务脚本见附件)

# vim /etc/rc.d/init/httpd# ...# chmod +x /etc/rc.d/init/httpd# chkconfig --add httpd# service httpd restart# chkconfig --list httpd# chkconfig --level 35 httpd on# chkconfig --list httpd

8、导出httpd二进制文件

# vim /etc/profile.d/httpd.sh# 添加内容:export PATH=$PATH:/usr/local/apache/bin# 新开一个终端# echo $PATH# httpd -t

9、到这一步httpd的配置就完成了

二、安装MySQL

这里使用mysql的通用二进制包,需要注意的是,MySQL要求二进制包必须要解压至/usr/local/目录下,并且目录名必须为mysql

作者使用的是mysql5.5,这里使用的压缩包为:mysql-5.5.50-linux2.6-i686.tar.gz

1、解压压缩包至/usr/local

# tar xf mysql-5.5.50-linux2.6-i686.tar.gz -C /usr/local/# cd /usr/local# ls# ln -sv mysql-5.5.50-linux2.6-i686 mysql# cd mysql

2、创建mysql用户

# groupadd -r -g 306 mysql# useradd -g 306 -r -u 306 mysql# id mysql

3、创建逻辑卷用于存储mysql的数据

# fdisk /dev/sda# 作者这里新建了一个8e类型20G的分区sda5# partprobe /dev/sda# pvcreate /dev/sda5# vgcreate myvg /dev/sda5# lvcreate -n mysql -L 5G myvg# lvs

redhat5.8下配置LAMP架构

# mke2fs -j /dev/myvg/mysql# mkdir /mysql# vim /etc/fstab# 添加记录:/dev/myvg/mysql /mysql ext3 defaults 0 0# mount -a# mount

3、创建mysql数据存储目录

# mkdir /mysql/data# ll /mysql# chown -R mysql.mysql /mysql/data# chmod o-rx /mysql/data# ls -ld /mysql/data

4、初始化数据库

# cd /usr/local/mysql/#  chown -R mysql:mysql  .# scripts/mysql_install_db --user=mysql --datadir=/mysql/data/#  chown -R root  .

5、为mysql配置服务脚本

# cp support-files/mysql.server /etc/init.d/mysqld# ll /etc/init.d/mysqld # 已经有执行权限了# chkconfig --add mysqld# chkconfig --list mysqld # 服务在当前级别已启用# free -m  # 查看系统内存# 作者内存为502,因此选择my-large.cnf作为mysql的配置文件# cp support-files/my-large.cnf /etc/my.cnf # cat /proc/cpuinfo# 作者有两个处理器,因此将my.cnf中的并发线程数量设置为4# vim /etc/my.cnf# 修改内容:thread_concurrency = 4# 并添加记录:datadir=/mysql/data# service mysqld start# netstat -tnlp # 查看3306端口是否处于监听状态

6、导出mysql二进制文件

# mysql# vim /etc/profile.d/mysql.sh# 添加内容:export PATH=$PATH:/usr/local/mysql/bin# 新开一个终端# mysql

7、导出mysql帮助文档

# vim /etc/man.config# 添加记录:MANPATH /usr/local/mysql/man

8、导出mysql库文件

# vim /etc/ld.so.conf.d/mysql.conf# 编辑:/usr/local/mysql/lib# ldconfig -v

9、导出mysql头文件

# ln -sv /usr/local/mysql/include /usr/include/mysql# ls /usr/include/mysql/

10、至此,mysql的安装就完成了

三、编译安装php(将php安装为apache的模块)

本操作需要用到的软件包:

libmcrypt-2.5.7-5.el5.i386.rpm

libmcrypt-devel-2.5.7-5.el5.i386.rpm

mhash-0.9.2-6.el5.i386.rpm

mhash-devel-0.9.2-6.el5.i386.rpm

php-5.6.22.tar.bz2

xcache-3.2.0.tar.bz2

httpd安装选项简单说明:

./configure --help

--prefix=/usr/local/php 

--with-mysql=/usr/local/mysql 

    指明mysql安装路径

--with-openssl 

    支持openssl功能

--with-mysqli=/usr/local/mysql/bin/mysql_config 

    支持mysql的一种与php交互的接口

--enable-mbstring 

    支持多字节字符串

--with-freetype-dir 

    支持freetype(*的,可移植的字体库)的功能rpm -qi freetype

--with-jpeg-dir 

    支持jpeg图片

--with-png-dir 

    支持png图片

--with-zlib 

    支持zlib压缩库

--with-libxml-dir=/usr

    表明拓展标记语言库路径

--enable-xml  

    支持xml

--enable-sockets 

    支持基于套接字的通信

--with-apxs2=/usr/local/apache/bin/apxs 

    指明将php编译为apache的模块

--with-mcrypt  

    支持额外的加密库

--with-config-file-path=/etc 

    指明php的主配置文件存放路径

--with-config-file-scan-dir=/etc/php.d 

    指明php的片段配置文件存储路径

--with-bz2  

    支持bz2压缩库

--enable-maintainer-zts

    apache的mpm模式为work或event时需要使用,为prefork时不使用

1、解压压缩包并安装php

# httpd -M # 查看httpd的mpm模式# 作者的httpd的mpm模式为event(默认)# rpm -ivh *.rpm # 安装上述四个rpm包# tar xf php-5.6.22.tar.bz2 # cd php-5.6.22# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl \--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir \--with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  \--enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  \--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  \--enable-maintainer-zts# make# make install

2、为php添加配置文件

# cd php-5.6.22# cp php.ini-production /etc/php.ini

3、结合apache、php

# vim /etc/httpd/httpd.conf# 使apache能够处理php结尾的页面文件# 添加:    AddType application/x-httpd-php .php    AddType application/x-httpd-php-source .phps# 修改DirectoryIndex选项# 修改为:DirectoryIndex index.php index.html# httpd -t# service httpd restart# cd /usr/local/apache/htdocs/# mv index.html index.php# vim index.php # 添加内容:<?phpphpinfo();?>

# 测试

redhat5.8下配置LAMP架构

4、测试连接php、mysql

# vim index.php# 添加内容<?php $conn=mysql_connect('localhost','root',''); if($conn)   echo "Success..."; else   echo "Failure...";?>

测试:

redhat5.8下配置LAMP架构

# service mysqld stop

测试:

redhat5.8下配置LAMP架构

5、安装xcache(php的扩展功能)

# cd /root/download# tar xf xcache-3.2.0.tar.gz# cd xcache-3.2.0# /usr/local/php/bin/phpize# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config# make# make install# mkdir /etc/php.d# cp xcache.ini /etc/php.d/# vim /etc/php.d/xcache.ini# 修改xcache.count=处理器数量# service httpd restart# vim /usr/local/apache/htdocs/index.php # 编辑内容<html><body><h1>It works!</h1></body></html><?php $conn=mysql_connect('localhost','root',''); if($conn)   echo "Success..."; else   echo "Failure..."; phpinfo();?>

6、测试,如下图所示表明安装成功

redhat5.8下配置LAMP架构

7、至此LAMP架构算是搭建完成了,需要实现什么功能时,编辑httpd的配置文件启用相应的模块及包含相应的配置文件即可,能力有限,仅将操作流程大致的叙述了一通,详细的大概就需要自行查阅相关资料了,还望见谅,疏漏处还望指出

本文出自 “不发呆” 博客,请务必保留此出处http://tobeys.blog.51cto.com/10620284/1786527