RHEL5.4编译安装LAMP

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

 

 什么是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


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Web App开发 关系型数据库 测试技术
|
关系型数据库 MySQL PHP
|
关系型数据库 PHP 数据库
|
关系型数据库 MySQL 测试技术
|
关系型数据库 PHP Apache
|
Web App开发 测试技术 Apache
|
关系型数据库 MySQL PHP