最近在学习LAMP,想把学到的东西写一遍。话不多说,直奔主题好啦。

我构建平台所用到的软件都是目前最新版本,另外我用的linux发行版是RHEL6,下面我将分步骤依次搭建httpd服务器,MySQL服务器和php。(注意此处的安装顺序最好不要更改,因为后面安装PHP需要指定MySQL的安装路径)

1)、搭建httpd服务器

1、安装httpd前的准备工作:

安装apr(Apache Portable Runtime,Apache可移植运行环境)以及apr-util工具包,此处用到的版本分别是apr-1.5.2和apr-util-1.5.4:

(1)分别创建apr和apr-util安装目录:

# mkdir /usr/local/{apr,apr-util}

(2)解压apr-1.5.2.tar.bz2,配置编译安装apr:

# tar xvjf apr-1.5.2.tar.bz2

# cd apr-1.5.2

# ./configure --prefix=/usr/local/apr

# make && make install

(3)类似地,解压apr-util-1.5.4.tar.bz2,配置时需要指定apr的安装路径,编译安装:

# tar xvjf 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

至此,安装httpd的准备工作就算是完成了。

2、安装httpd:

(1)创建httpd安装目录:

# mkdir /usr/local/apache

(2)解压httpd-2.4.16.tar.bz2,配置安装httpd (安装httpd时配置选项较多,可以根据自己的实际需要作适当修改):

# tar xvjf httpd-2.4.16.tar.bz2

# cd httpd-2.4.16

# ./configure --prefix=/usr/local/apache --enable-modules=all --enable-mods-shared=most --enable-so --enable-deflate --enable-ssl --enable-mpms-shared=all --enable-cgi --enable-cgid --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --sysconfdir=/etc/httpd --enable-rewrite --with-mpm=event

# make && make install

安装完成后,会在/etc/httpd/目录下生成httpd.conf的配置文件,可根据自己的需要对httpd进行配置。

3、向系统添加httpd服务:

(1)需要对以前安装过的httpd服务脚本(以前没安装过httpd可以通过yum工具和红帽安装光盘进行安装,另外为避免混乱,尽可能将以前安装的httpd软件卸载)进行适当的修改,即对/etc/init.d/httpd服务脚本中的三行进行如下修改:

apachectl=/usr/local/apache/bin/apachectl

httpd=${HTTPD-/usr/local/apache/bin/httpd}

pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}

(2)添加httpd服务至开机启动列表:

# chkconfig --add httpd

根据需要设置httpd服务默认在系统哪些运行级别下启动;

# chkconfig --list httpd

# chkconfig --level 2345 httpd on

# chkconfig --list httpd

至此,可以使用service命令启动httpd服务器:

# service httpd start

打开浏览器,输入httpd服务器所在的主机ip地址,当看到有“It works!”标题字样的页面时(显示的html文档位于/usr/local/apache/htdocs目录下),就说明我们的httpd服务器能正常工作了。

如果遇到页面打不开的情况,可以尝试把selinux功能关闭以及iptables模块卸载。

2)、安装MySQL服务器

1、安装MySQL前的准备工作:

由于MySQL服务器需要维护大量数据,最好是将MySQL的数据存放到逻辑卷上,好处是以后如果出现存储空间不足,方便随时进行扩展。

(1)创建MySQL数据存放目录:

# mkdir /mysql_data/data -pv

(2)创建一个可用的逻辑卷(选择一个空闲的磁盘分区,或者对已有磁盘进行划分得到一个新分区,并把分区类别修改为LVM,此处我以/dev/sdb3为例):

# pvcreate /dev/sdb3

# vgcreate myvg /dev/sdb3

# lvcreate -n mysql_lv -L 5G myvg

(3)对逻辑卷进行格式化并挂载至MySQL数据存放目录:

# mke2fs -j /dev/myvg/mysql_lv

将要挂载的逻辑卷写入/etc/fstab文件,以后系统启动时会将逻辑卷自动挂载至MySQL数据存放目录下,在/etc/fstab文件中添加如下一行即可:

/dev/myvg/mysql_lv    /mysql_data    ext3    defaults    0 0

然后执行命令挂载/etc/fstab中定义的所有文件系统,包括逻辑卷/dev/myvg/mysql_lv:

# mount -a

至此,创建并挂载逻辑卷的工作就算是完成了。

安装MySQL前的另外一项准备工作就是创建系统用户mysql,该用户主要负责MySQL服务的启动和运行。因此:

(4)创建系统用户mysql及其所属的用户组:

# groupadd -r mysql

# useradd -r -g mysql mysql

(5)修改MySQL数据存放目录的属主属组及权限(不让其他用户随意访问):

# chown mysql:mysql /mysql_data/data

# chmod 750 /mysql_data/data

至此,安装MySQL前的准备工作就算是完成了。

2、安装MySQL:

(1)将mysql-5.6.26-linux-glibc2.5-i686.tar.gz压缩包直接解压至/usr/local/目录下(注:选择mysql软件的版本一定要跟自己系统的版本保持一致,否则可能会导致初始化数据库时出现问题):

# tar xvzf mysql-5.6.26-linux-glibc2.5-i686.tar.gz -C /usr/local

(2)创建软链接链接到解压后的/usr/local/mysql-5.6.26-linux-glibc2.5-i686目录,目的是为了保留MySQL的版本号,以后就可以对/usr/local/mysql目录直接操作:

# ln -sv /usr/local/mysql-5.6.26-linux-glibc2.5-i686 /usr/local/mysql

(3)修改/usr/local/mysql目录下所有文件的属主属组,加强数据库文件安全性:

# cd /usr/local/mysql

# chown -R root:mysql ./*

(4)对MySQL数据库进行初始化:

# ./scripts/mysql_install_db --user=mysql --datadir=/mysql_data/data

(5)复制mysql服务脚本以及配置文件:

# cp support-files/mysql.server /etc/init.d/mysqld

# cp my.cnf /etc/

(6)如果想像正常情况下使用mysql提供的命令,则需要将mysql提供的命令所在路径以PATH环境变量的形式输出,以后系统就能识别mysql提供的命令:

# vim /etc/profile.d/mysql.sh

向文件添加以下内容:

export $PATH=PATH:/usr/local/mysql/bin

(7)接下来就可以启动MySQL服务了,但在启动服务之前还有一项很关键的事情要做,就是需要往mysql的配置文件中添加一项:

# vim /etc/my.cnf

添加一行即可:datadir=/mysql_data/data

(8)接下来就可以启动MySQL服务了

# service mysqld start

可以通过“netstat -tunlp”命令验证mysql服务器端是否工作起来,监听在3306端口上;此外,还需要添加mysql数据库管理员root(注:不是系统管理员root)登录数据库的密码。至此,安装mysql的工作就算完成。

3)、安装php:

1、安装php前的准备工作:

由于安装php过程需要用到mcrypt模块,所以需要先安装libmcrypt和mhash及其开发库,此处用到了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等四个rpm包。安装过程很简单:

# rpm -ivh *.rpm

2、安装php:

(1)创建php安装目录:

# mkdir /usr/local/php

(2)解压php源码包,配置php与httpd服务器的结合工作方式(此处php采用编译成httpd的模块的方式进行工作),编译安装:

# tar xvjf php-5.6.12.tar.bz2

# cd php-5.6.12

# ./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc/ --with-config-file-scan-dir=/etc/php.d --with-jpeg-dir --with-png-dir --enable-mbstring --with-mcrypt --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --with-freetype-dir --with-zlib --with-libxml-dir=/usr/ --enable-xml --enable-sockets --with-bz2 --enable-maintainer-zts

# make && make install

(3)复制php的配置文件(注:复制的文件是源码目录中的php.ini-production文件,而不是安装目录下的,另安装目录下也不存在这个文件):

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

(4)要使httpd能和php结合起来工作,需要配置httpd能支持以.php结尾的动态页面,因此需要编辑httpd的配置文件httpd.conf:

# vim /etc/httpd/httpd.conf

找到有“AddType”字眼的行,在其后添加两行:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

另外,找到有“DirectoryIndex”字眼的行,配置httpd能支持.php结尾的主页面,在该行添加index.php,即DirectoryIndex index.php index.html

做完这些,httpd与php结合的配置工作就算完成,接下来只需要在/usr/local/apache/htdocs目录下添加一个index.php页面,重启httpd服务,打开浏览器输入主机ip地址就可以测试php能否工作以及httpd,mysql,php三者能否结合工作。

<附:index.php测试脚本>

<title>www.hello.com</title>

<?php

$value=mysql_connect('localhost','root','password'); #此处的password为root在localhost主机上登录mysql数据库的密码;

if($value)

echo "Successful...";

else

echo "Failed...";

?>

转载于:https://blog.51cto.com/fdbz1024/1685139

构建LAMP平台(一)(软件版本:httpd-2.4.16,php-5.6.12,mysql-5.6.26)相关推荐

  1. 构建LAMP平台及应用系统

    LANP架构指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP是一个缩写词,具体包括linux操作系统.apache网站服务器.mysql数据库服务器.PHP( ...

  2. 【软件周刊第 36 期】Linux Kernel 4.12 正式发布;Fedora 26 下周二到来

    2019独角兽企业重金招聘Python工程师标准>>> Linux Kernel 4.12 正式版发布:支持 AMD Vega 显卡 Linux Kernel 4.12 是 Linu ...

  3. LAMP平台下构建Postfix邮件服务器

    前言: 本人之前已经做过这个实验,只是版本不同,今天本来想用全新版本的源码包做实验,但是以httpd-2.4.2.tar.gz的源码包在配置虚拟主机这一块我不知道如何配置,按照以前的配置总是报错:AH ...

  4. 源码编译安装部署LAMP平台(使用Apache,MySQL与PHP搭建Discuz论坛实例)

    文章目录 一.LAMP平台与编译安装 (一).LAMP平台概述 (二).构建LAMP平台顺序 (二).编译安装的优点 (三).各组件的主要作用 二.部署步骤 (一).编译安装Apache httpd服 ...

  5. Linux搭建LAMP平台与DISCUZ论坛

    目录 LAMP简介与概述 环境准备 一.安装Apache 二.安装MYSQL 三.安装PHP 四.搭建论坛 LAMP简介与概述 (一).LAMP平台概述 LAMP架构是目前成熟的企业网站应用模式之一, ...

  6. 基于CentOS构建高性能的LAMP平台

    基于CentOS构建高性能的LAMP平台 大纲: 一.系统 安装 二.编译安装基本环境 三.配置虚拟主机及基本性能调优 四.基本安全设置 五.附录及相关介绍 一.系统安装 1. 分区    /boot ...

  7. 编译安装LAMP及分离式LAMP平台构建

    前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上 ...

  8. 在Red Hat Linux5下构建LAMP网站服务平台之MySQL、PHP的安装与配置

    在Red Hat Linux5下构建LAMP网站服务平台之MySQL.PHP的安装与配置 2010-09-09 16:40:49 标签:PHP Linux mysql RedHat [推送到技术圈] ...

  9. Linux三大主流网站构建平台,Linux快速构建LAMP网站平台

    1.1 问题 本例要求基于Linux主机快速构建LAMP动态网站平台,并确保可以支撑PHP应用及数据库,完成下列任务: 1)安装LAMP平台各组件,启动LAMP平台 软件包:httpd.mariadb ...

最新文章

  1. 【PAT乙级】1045 快速排序 (25 分)
  2. 【题解】 Codeforces Edu41 F. k-substrings (字符串Hash)
  3. 连接MongoDB 3.x 报 Authorization failed 解决办法(自己只用到了创建mongodb账号和密码的部分亲测)
  4. 期权定价理论及其matlab实现过程,期权定价理论及其Matlab实现过程
  5. 增量索引和全量索引_搜索引擎(七)高可用的solr搜索引擎服务架构
  6. java打印三角形_java基础打印三角形
  7. Python学习---面向对象的学习[深入]
  8. Linux之进程处理方式
  9. Django Ajax文件下载
  10. 解决ubuntu克隆github上的项目速度很慢的问题
  11. 【Tableau Desktop 企业日常问题28】Tableau 如何发布到public ?
  12. 半监督学习和直推式学习
  13. DedeCMS 栏目三级联动树形菜单的代码
  14. 一些方便的LaTex在线编辑工具
  15. Excel数据分析入门-数据透视表
  16. 新玺配资:为什么市场高开低走?
  17. 银行智能风险防控系统(第二版)
  18. docker跨主机集群之flannel
  19. Mysql入门宝典【硬核前方高能,佬有所学】
  20. java网店系统_关于java网店系统的404页面 你知道多少

热门文章

  1. linux之父密码,Linux之父十大名言···
  2. 哪一版可以打开pdg 安卓超星图书馆_南安:山区孩子有了数字图书馆
  3. 常见JSP中文乱码例子及其解决方法
  4. 使用POI生成Excel文件,可以自动调整excel列宽 .
  5. PKUWC 2018 滚粗记
  6. 2016级算法第六次上机-A.Bamboo之寻找小金刚
  7. JXLS 2.4.0系列教程(四)——拾遗 如何做页面小计
  8. 利用C#进行Socket通信编程之二:一个实例
  9. viewpager+fragment学习笔记
  10. PHP第六课 使用方法数组