当前位置: 首页 > 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 支持第三方库
  • 第十一章 持有对象
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • ➹使用webpack配置多页面应用(MPA)
  • Angularjs之国际化
  • gcc介绍及安装
  • interface和setter,getter
  • React系列之 Redux 架构模式
  • 工程优化暨babel升级小记
  • 构建二叉树进行数值数组的去重及优化
  • 目录与文件属性:编写ls
  • 入手阿里云新服务器的部署NODE
  • 王永庆:技术创新改变教育未来
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (三) diretfbrc详解
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)汇编语言——简单程序
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)负载均衡,回话保持,cookie
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net 4.0发布后不能正常显示图片问题
  • .net core 6 集成和使用 mongodb
  • .net mvc 获取url中controller和action
  • .NET 使用 XPath 来读写 XML 文件
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .net中应用SQL缓存(实例使用)
  • ::什么意思
  • @synthesize和@dynamic分别有什么作用?
  • [].slice.call()将类数组转化为真正的数组
  • [Android]常见的数据传递方式
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [BZOJ1053][HAOI2007]反素数ant