当前位置: 首页 > news >正文

RHEL5.4编译安装LAMP

 

 什么是LAMP

LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件

²  Linux操作系统

²  Apache网页服务器

²  MySQL数据库管理系统(或者数据库服务器);

²  PHP和有时PerlPython脚本语言

 准备编译安装的环境

linux系统上,编译安装软件,需要一个编译环境,通常是使用gcc,所以一定要确认gcc已经安装,编译的时候,有一些软件还依赖于某些开发工具库文件,所以,要把这些常用的开发库安装上,如果使用rpm来安装的话,难免遇到依赖关系,我们这里使用yum来安装,本文档是用来说明配置lamp,所以,yum不进行详细说明.

2.1 配置yum

如果你边yum命令都没安装的话,那就把光盘挂上,自己用rpm -ivh yum来安装吧.下面我们开始配置yum,首先要保证光盘已经被放入光驱里面,如果是虚拟机,确认你的系统iso文件已经连接上.

# mount /dev/cdrom /mnt         //挂载光盘到/mnt目录下

# cd /etc/yum.repos.d                //进入到yum配置文件目录

# mv rhel-debuginfo.repo rhel-debuginfo.repo.bak     //备份系统自带的配置文件,也可以删除

# vi local.repo                             //新建一个yum配置文件,并把以下内容写入到该文件

[Server]

name=Server

baseurl=file:///mnt/Server

gpgcheck=0

enabled=1

 

[VT]

name=VT

baseurl=file:///mnt/VT

gpgcheck=0

enabled=1

 

[Cluster]

name=Cluster

baseurl=file:///mnt/Cluster

gpgeheck=0

 

[ClusterStorage]

name=ClusterStorage

baseurl=file:///mnt/ClusterStorage

gpgcheck=0

enabled=1

# yum -y grouplist "Development Libraries" "Development Tools"   //安装开发包工具和库

 开始编译安装

准备apache,mysql,php软件包,要注意软件包的版本,太老的版本可能跟太新的版本不兼容.这里编译使用的软件包的版本如下

httpd-2.4.1.tar.bz2

mysql-5.5.19-linux2.6-i686.tar.gz

php-5.3.10.tar.bz2

3.1 安装httpd

安装之前,最好确认当前系统上没有其它web服务器软件占用80端口,不然安装好之后,可能启动不了.

# yum -y remove httpd              //删除系统自带的httpd软件包

 

由于我们要安装的apache的版本是2.4.1 版本比较新,新版本依赖aprapr-util的版本也是比较新的,所以,系统上自带的aprapr-util对新版本的apache支持不了,我们这里要手动的编译安装aprapr-util,可以使用源码包安装,也可以找一些新版本的rpm,如果使用源码包,编译完成之后,我们再编译apache的时候,要加上--apr=/usr/local/apr --apr-util=/usr/local/apr-util ,这样指定一下,如果使用rpm包安装,就不需要指定了,我这里使用rpm包来安装.

 

[root@localhost ~]# rpm -Uvh apr-*

Preparing...                ########################################### [100%]

   1:apr                    ########################################### [ 25%]

   2:apr-util               ########################################### [ 50%]

   3:apr-devel              ########################################### [ 75%]

   4:apr-util-devel         ########################################### [100%]

# yum install -y pcre pcre-devel  //安装pcrepcre-devel

# tar xf httpd-2.4.1.tar.bz2                        //解压apache的安装包

# cd httpd-2.4.1                                             //进入apache目录

# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib              //配置安装选项,启用某些功能,关链某些软件等

# make              //开始编译,并成生二进制文件

# make install  //开始安装

 

经过以上步骤,我们的apache就已经安装好了,下面我们进行一些简单的配置

 

# vi /etc/profile  //编译profile文件,新加入一行,内容如下

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

# . /etc/profile          //让刚才的配置生效

# apachectl start     //启动apache

# service iptables stop     //关闭防火墙,如果没开更好,这一步不用操作

 

 

OK,做完这些,我们就可以测试apache,看看是不是可以访问


apache提示我们,它在工作.那就说明,我们的apache就安装好了.

3.2 安装mysql

首先保证系统上没有安装rpm格式的mysql,如果有,自己手动卸载掉,然后再安装mysql,这里使用的mysql是免安装版的,初始化一下,然后做些配置就可以使用的那种

# groupadd -r mysql                            //创建一个系统组,mysql

# useradd -g mysql -s /sbin/nologin -M mysql  //创建一个系统用户mysql,并把它加入到mysql,且不让其登录系统

# mkdir /mydata/data     //创建mysql数据文件存放的目录

# chown mysql:mysql /mydata/data/      //把目录的权限改为mysql用户和mysql

# tar xf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local //解压mysql到指定目录

# cd /usr/local/         //切换工作目录到刚才解压的目录

# ln -sv mysql-5.5.19-linux2.6-i686/ /usr/local/mysql      //mysql创建链接,也可以重命名

# cd mysql        //切换工作目录到mysql目录

# chown -R mysql:mysql  .     //把当前目录下所有的文件及目录改为mysql用户和组

# scripts/mysql_install_db --user=mysql --datadir=/mydata/data //初始化mysql

# chown -R root  .           //把当前目录的属主改为root

# cp support-files/my-large.cnf  /etc/my.cnf //mysql提供主配置文件,放到/etc/my.cnf

# vi /etc/my.cnf        //编译配置文件

thread_concurrency = 2   //这里改成你的CPU的个数乖于2

datadir = /mydata/data  //这里是mysql数据文件的存放位置

 

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld //mysql提供服务脚本

# chmod +x /etc/rc.d/init.d/mysqld        //给脚本加上可执行权限

# chkconfig --add mysqld //mysql服务加入到系统服务列表

# chkconfig mysqld on      //设置其开机启动

# vi /etc/man.config         //编译man的配置文件,mysql命令可以通过man查看帮助信息

MANPATH /usr/local/mysql/man    //把这行加入到MANPATH行下面

# ln -sv /usr/local/mysql/include  /usr/include/mysql  //输出mysql的头文件

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf   //输出mysql的库文件

# ldconfig  //重新载入库文件

# service mysqld start               //启动服务

# vi /etc/profile                  //编译profile文件,加入环境变量

export PATH=$PATH:/usr/local/apache/bin:/usr/local/mysql/bin   //加入mysql的二进制文件位置

# . /etc/profile          //让刚才的操作生效

# mysql              //开始测试,输入完该命令,应该会打开mysqlshell

3.3 安装PHP

为了让php支持mcrypt扩展,我们这里安装一下以下两个软件包

libmcrypt-2.5.7-5.el5.i386.rpm

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

[root@localhost ~]# rpm -ivh libmcrypt-*

warning: libmcrypt-2.5.7-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6

Preparing...                ########################################### [100%]

   1:libmcrypt              ########################################### [ 50%]

   2:libmcrypt-devel        ########################################### [100%]

# tar xf php-5.3.10.tar.bz2                //解压PHP

# cd php-5.3.10                           //切换工作目录至php

# ./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  --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  //配置编译php所需要的功能,启用

 

# make                       //开始编译PHP

# make install           //开始安装PHP

安装完成后,我们就可以编译apache的主配置文件,让它支持php

 

 # vim /etc/httpd/httpd.conf

 1、添加如下二行

   AddType application/x-httpd-php  .php

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

 

 2、定位至DirectoryIndex index.html

   修改为:

    DirectoryIndex  index.php  index.html

 

# cd /usr/local/apache/htdocs         //进入到apache的网页文件位置

# vi index.php                     //新建一个php文件,写入以下内容

<?php

phpinfo();

?>

而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。


说明已经OK

 搭建Discuz

首先把我们下载好的Discuz放到apache的主目录

# cp Discuz_7.2_FULL_SC_GBK.zip /usr/local/apache/htdocs        //拷贝网页文件到htdocs

# unzip Discuz_7.2_FULL_SC_GBK.zip              //解压缩文件

# mv upload bbs                //upload目录改为bbs,我们Discuz论坛的整个网页文件都在这

然后就可以通过WEB来安装了


有一个提示信息,我们改一下php的主配置文件,按照给的提示信息改

# vi /usr/local/php/lib/php.ini

把第266short_open_tag = On 改为On

改完之后先把apache服务停掉,然后再启用,然后再去页面按照提示一步一步安装,安装完成之后如下图


 使用apache虚拟主机

使用apache虚拟主机之前,我们要关掉apache的中心主机,因为中心主机不能跟虚拟主机一起使用,关掉中心主机,我们要注释掉主配置文件里面的 DocumentRoot.

虚拟主机的格式

# www.magedu.com                 // #开头的注释信息

<VirtualHost 172.16.34.2:80>                   //定义虚拟主机关键字VirtualHost,后面跟IP地址和端口号

         ServerAdmin root@magedu.com.com   //定义管理员邮箱地址

         ServerName www.magedu.com               //定义域名

         DocumentRoot "/vhosts/magedu"          //定义虚拟主机的网页文件位置

         ErrorLog "/vhosts/logs/magedu_error_log"  //错误日志存放位置

         CustomLog "/vhosts/logs/magedu_access_log" combined   //访问日志存放位置及日志

           <Directory "/vhosts/magedu">            //定义目录的属性信息,对目录做访问控制

                   Options none                               //定义操作选项,是否允许索引等

                   AllowOverride none                   //是否允许权限覆盖

                   Order allow,deny                        //目录权限,先允许,后拒绝

                   Deny from 172.16.100.0/24    //拒绝的客户端

                   Allow from 172.16.0.0/16        //允许的客户端

         </Directory>                                     //目录容器结束符

</VirtualHost>                                     //虚拟主机结束符

如果要使用域名访问,需要做DNS的解析,也可以通过IP地址来访问。



本文转自 gm100861 51CTO博客,原文链接:http://blog.51cto.com/gm100861/826533


相关文章:

  • 生产环境监控mysql服务状态
  • 了解Handler,Looper, MessageQueue,Message的工作流程
  • 对BSD的新路由查找算法的理解
  • 验证文件中记录总行数是否与数据库文件同名表记录总数是否一致
  • 编写一个Linux虚拟网卡来实现类NVI
  • Windows下powershell可执行python
  • Css基本样式————文本
  • js 简单实现 LRU
  • DoS Attacks Prevention with TCP Intercept
  • NIOS2随笔——自定义IP(DPRAM)
  • Webpack入门教程十五
  • IPv6, DAD 工作原理详解
  • 解决configure: error: Please reinstall the libcurl distribution
  • tweak 支持第三方库
  • 第十一章 持有对象
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 11111111
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • CentOS7简单部署NFS
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Java读取Properties文件的六种方法
  • Js基础知识(四) - js运行原理与机制
  • js中的正则表达式入门
  • JS专题之继承
  • Linux链接文件
  • PHP 的 SAPI 是个什么东西
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • python 学习笔记 - Queue Pipes,进程间通讯
  • 回顾2016
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 树莓派 - 使用须知
  • 因为阿里,他们成了“杭漂”
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 正则表达式
  • 自制字幕遮挡器
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #Spring-boot高级
  • #传输# #传输数据判断#
  • (03)光刻——半导体电路的绘制
  • (6)STL算法之转换
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转)shell调试方法
  • (转)一些感悟
  • **PHP二维数组遍历时同时赋值
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net MVC + EF搭建学生管理系统
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded