无root权限部署LAMP环境

无root权限部署LAMP环境

                                                                                                                                   ——by karottc

一、写在前面

         虽然说自己也折腾Linux了不少时间,各种软件的安装方式也多少知道,自己最常用的两种安装方式是,下载源码,编译、安装和通过apt-get安装,前一中往往是比较新的程序,后一种的稳定性相对较高,不同需求时用不同的方式。以上方式,在遇到权限不够时解决办法直接是用sudo提升为root权限,搞定一切,因为是自己的电脑,差不多就自己一个用户,所以那样做的时候几乎是未加思索的,觉得理所当然不会出什么问题,确实也是,自己的系统自然不会有任何问题。这里的一个隐藏问题就是,玩linux的人大多都是因为工作需要,既然是工作,那么集体的linux环境下,自己必然是没有root权限,有的只是对自己的文件有所有操作权限+好的时候对别人的东西有读的权限,所以在碰到权限问题时就盲目提升权限是件危险的事。现在终于理解到当时在学校上UNIX课程时,老师说你们自己的系统最好不要用root去操作,当时还在想我本来没有用root去操作系统,但自己理解错了,因为在有权限问题时我是还是用root直接解决。

         最近来公司以后,第一件事就是在公司的开发机上部署LAMP环境,而自己毫无其他权限,整个mysql、apache、php的源码编译、安装过程真是让人头疼,所以避免以后再次纠结,这里做个记录,也希望有同样需求的同学可以相互学习交流。下面进入正题,在没有root权限的情况下部署LAMP环境。

 

二、源码列表

         部署LMAP环境的第一步就是获取源码,这个自己可以其官网下载,这里我给出我这次用到的源码的版本列表,

注意,这里在安装mysq、apache、php时会提示缺少某些模块,所以安装时将这些一同装上,软件之间的依赖关系很关键,下面的安装顺序也很重要,这个顺序是经测试后比较好的一种安装顺序。

 

三、安装MySQL

         在安装mysql时需要用的cmake工具,所以需要现在安装cmake。

1.安装cmake

         进入到cmake的解压目录,然后输入命令:$ ./configure –prefix=/home/cy/lamp/cmake/  (--prefix是你需要的安装路径),这步是生成makefile文件,如图

然后输入$ make,当make成功后执行make install,如图

2.安装MySQL

         在mysql目录下没有configure文件,所以我们需要用cmake来生成makefile文件,因为生成makefile的文件时需要的参数有点多,所以这里自己写一个shell脚本来封装configure的过程,如图

Mysql_install.sh的脚本中是我们生成makefile文件是需要的参数,内容为

接着是执行脚本生成makefile文件,如图,

执行脚本后会生成makefile文件,然后输入$make,当make成功时如图,

现在输入$make install。此时mysql已经安装完成。但是,mysql安装完成后还有后续工作需要处理,现在进入到mysql的安装目录下的script目录,输入

$./mysql_install_db --user=cy --basedir=/home/cy/lamp/mysql --datadir=/home/cy/lamp/mysql/data  这里的user是你当前的登陆用户,basedir是mysql的安装路径,datadir是mysql的数据存放路径。执行这个以后进入到mysql安装目录的support-files目录,输入如图,

表示已经成功的启动了mysql。现在可以进入到Mysql的bin目录测试一下,如图

下一步就是将mysql加入环境变量,因为mysql经常用到,每次都到安装目录去太麻烦,所以在环境变量中加入mysql,下.bashrc中或.bash_profile中,如图,

修改环境变量后需要重启终端,接着是给Mysql的root用户设定密码,他的默认初始密码为空,所以可以用下面方式设定密码,

上图中表示给mysql设定的密码为cy。现在可以用root用户重新进入mysql了。如图,

 

四、安装apache

         同样的,在apache前需要安装辅助工具,如下。

1.安装apr、apr-util、pcre

         这3个的安装过程差不多,也没有什么要特别注意的,所以这里一起说明,安装过程都是:./configure——>make——>make install。

安装apr,如图,

安装apr-util,这里要用到刚刚安装的apr,如图,

然后安装pcre,如图,

接下来就可以开始安装apache了。

2.安装apache

         因为安装apache时configure需要的参数相对较多,我们同样自己封装一个configure的脚本,脚本内容为,如图,

然后执行脚本,如图,

在生成makefile文件后,输入$make,$make install。到此apache已经安装完成,为了方便我们可以设定自己的工作路径,方法是,进入到apache的安装目录的conf目录,打开httpd.conf文件,找到如图

将DocumentRoot修改为我们自己的路径,如图,

接着是以与mysql相同的方式加入环境变量,然后启动apahce,打开浏览器进行测试,如图

表示apache已经安装成功并可以访问了。

 

五、安装PHP

         同样我们自己封装一个configure的脚本,如图,

然后是执行脚本,生成makefile文件,如图,

成功后,输入make,如图,

Make成功如图,

接着输入make test->make install。进行安装。接着以同样的方式把php加入到环境变量中(如果需要单独执行php脚本的话,加入环境变量要方便些,如果只是在网页中,就不需要加入环境变量了)。

 

六、整合LAMP环境

1.配置PHP和apache

         进入到apache的安装目录的conf目录,打开文件httpd.conf,找到如图位置,

增加一行,如图,

找到如图位置,

修改为如图,

 

2.解决中文乱码问题

         到此已经完成LAMP环境的部署,但是运行时PHP网页上的中文会是乱码,这个问题的解决办法如下,将php源码目录中的php.ini-development拷贝到php安装目录中的lib目录下并重命名为php.ini,然后打开这个文件,找到如图位置,

去掉default_charset前的注释即可。

3.效果截图

         最后重启apache服务器,如图,

打开浏览器输入网址运行效果如图,

 

七、结束语

         以上就是整个LMAP环境的部署过程,第一次接触的同学应该是相当不好受的,为了避免再次纠结,特在此做个记录,在具体做的过程中肯定还会碰到好些问题,不过有了上面这根主线,其他问题在遇到的时候就可以具体问题,具体分析,具体解决,是水到渠成的事。

 

 原文地址:http://www.cnblogs.com/karotte/archive/2012/08/12/install_lamp.html

2012.08.11

posted @ 2012-08-12 08:31  karottc  阅读(2412)  评论(3编辑  收藏  举报