原文:Lamp环境的详细安装教程

架构LAMP环境

1。布置LAMP环境之前的准备工作

在架构LAMP环境时,确保你的Linux系统已经安装了make、gcc、gcc-c++(使用rpm -q xxx 查看系统是否已经安装软件)

解压Lamp压缩包

下载地址:http://pan.baidu.com/s/1hq4hI5m

如果解麻烦的话,可以写一个自动解压脚本

  1. cd /lamp #你解压的目录
  2.  
  3. ls *.tar.gz > ls.list
  4.  
  5. for tar in cat ls.lst
  6.  
  7. do
  8.  
  9. tar -zxf $tar
  10.  
  11. done

2.LAMP安装前的库文件编译工作

搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按Apache->MySQL->PHP顺序安装。但在安装PHP之前,应先 安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt以及GD2库等文件。安装GD2库是为了让PHP5支持GIF、PNG和JPEG 图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。而且中间还会穿插安装一些软件。读者 可以按照本节提供的顺序安装

安装的三步曲 ./configure——make——make install

1)编译“libxml2”源码包

./configure --prefix=/usr/local/libxml2/

2)编译“libmcrypt”源码包

./configure --prefix=/usr/local/libmcrypt/

3)编译libmcrypt/libltdl目录下的"libltdl"源码包 (返回上级多个目录使用虚拟路径cd ../..)

./configure --enable-ltdl-install

4) 编译"zlib"源码包,由于很多人安zlib源码包出现问题,建议安装时不指定安装目录,不过请记下安装过程的信息确定软件安装的路径,这样以后方便卸载软件。

./configure

5)编译"jpeg-6b"源码包,由于安装jpeg不会创建文件目录,必须手动添加jpeg6、/jpeg6/bin、jpeg6/lib、jpeg6/include、/jpeg6/man/man1等文件目录,安装过程一样。

./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

6)编译"freetype"源码包

./configure --prefix=/usr/local/freetype/

7)编译"autoconf"源码包,建议不用指定安装目录

./configure

8) 编译"gd"源码包,由于前面的zlib是默认安装,否则需要注明zlib的安装路径,必须加上--with-zib={Path},这里可以省略不填

./configure --prefix=/usr/local/gd/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/

3。安装Apache

1)编译"httpd"源码包

./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support

2) 完成Apache的安装后,启动Apache

/usr/local/apache2/bin/apachectl start

3)通过ps命令确认Apache是否已经启动

ps -le |grep httpd

3)让系统每次开机时自动启动Apache

echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit

4。安装MySql数据库

1)在安装前建议先编译"ncurses"编译器源码包,因为直接安装mysql源码包时有可能出现无法编译的情况

./configure --with-shared --without-debug --without-ada --enable-overwrite

2)现在开始安装数据库,在这之前先创建数据库要使用到的用户和组

添加mysql组

groupadd mysql (grep mysql /etc/group查看有没有添加组)

把lizhaohan添加到mysql组里

useradd -g mysql linzhaohan ( grep linzhaohan /etc/passwd 查看有没有添加用户)

3)开始编译"mysql"源码包,编译安装时间较长,耐心等待

./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all

4)安装完后,把mysql的配置文件生成一下,将mysql源码包目录下的support-files/my-huge.cnf配置模板文件拷贝到/etc目录并改名my.cnf作为mysql的配置文件,如果提示是否覆盖请直接覆盖。

cp support-files/my-medium.cnf /etc/my.cnf

5)创建MySql数据库的授权表

/usr/local/mysql/bin/mysql_install_db --user=linzhaohan (user值输入你之前创建的用户,不然会报错)

6)修改下/usr/local/mysql目录的权限

chown -R root /usr/local/mysql   (mysql下的所有目录的所有者变成root)

chown -R linzhaohan /usr/local/mysql/var  (把var下的所有目录的所有者变成linzhaohan)

chgrp -R mysql /usr/local/mysql (把mysql下的所有目录的所属组变成mysql)

7) 启动MySql数据库

/usr/local/mysql/bin/mysqld_safe  --user=linzhaohan &

8) 通过ps和netstat确定MySql是否正在运行

ps -le | grep mysqld  (一般会显示两个进程)

netstat -an |grep 3306 (查看mysql的3306端口是否正在监听状况)

9)关闭MySql

/etc/init.d/mysqld stop

5。配置MySql

1)查看MySql的版本信息

/usr/local/mysql/bin/mysqladmin version

2)查看MySql的所有参数信息

/usr/local/mysql/bin/mysqladmin variables

3)设置MySql数据库的root密码

/usr/local/mysql/bin/mysql -u root

在mysql>提示符下输入【SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123');】回车后输入exit退出编辑环境

4)让MySql开机自动启动

echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit

5) MySql的启动设置

设置之前先复制源码包下/support-files/mysql.server文件到指定目录改名为mysqld

cp /root/Lamp/mysql-5.0.41/support-files/mysql.server  /etc/rc.d/init.d/mysqld

修改mysqld文件的所有者和权限

chown root.root /etc/rc.d/init.d/mysqld

chmod 755 /etc/rc.d/init.d/mysqld

把mysqld纳入chkconfig的管理体系中

chkconfig --add mysqld

之后就可以使用list参数来查看mysql服务在每个运行级别的启动状态

chkconfig --list mysqld

MySql有7个运行级别分别用0到6来表示当前级别的运行状态,假如要把2 4 5级关闭,输入以后命令

chkconfig --levels 245 mysqld off

6。安装PHP

安装PhP源码要配置的参数很多,大多数的参数都是指定之前库文件安装的路径,所以一定要认真设置好

1)编译"php"源码包,假如编译出现提出什么什么找不到的信息,使用yum install ***就OK了

./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets

2)复制php源码包里的php.ini-dist文件到指定目录

cp php.ini-dist /usr/local/php/etc/php.ini

3)编辑/etc/httpd/httpd.conf文件,在AddType处添加【Addtype application/x-httpd-php .php .phtml】它的作用是让Apache能够解析PHP文档

echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf

4) 再次重启Apache

/usr/local/apache2/bin/apachectl restart

7。小测试

用vi编辑器在/usr/local/apache2/htdocs/目录下创建一个index.php的文件,输入以下内容:

<?phpinfo();?>

保存退出后,用浏览输入http:[你的服务器IP地址]/index.php,就可以显示网页了

Lamp环境的详细安装教程的更多相关文章

  1. Node.js的多版本管理工具 gnvm(win环境)的详细安装教程(图解步骤、通俗易懂、亲测有效)

    前言 本篇随笔主要写了如何安装并使用node多版本管理工具gnvm(windowns环境下) 作为自己对多版本工具gnvm知识的总结与笔记. 百度云盘gnvm应用程序包 获取链接(个人应用地址如下): ...

  2. zookeeper集群环境搭建详细图文教程

    zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...

  3. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  4. windowns环境下mysql 安装教程

    windowns环境下mysql 安装教程 一:这里以绿色版安装为例(解压就可以使用) 下载地址: 下载页面:https://dev.mysql.com/downloads/mysql/  2:点击 ...

  5. windows环境下elasticsearch安装教程(超详细)

    一.安装jdk ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持.所以要先安装JAVA环境. 由于ElasticSearch 5.x 往后依赖于JDK 1.8的 ...

  6. 开发环境配置:jdk8的详细安装教程&&tomact的详细安装教程&&java环境变量的配置&&tomcat启动总失败原因

    1.下载 链接: http://pan.baidu.com/s/1i57HZKx 密码: cnb4 2.详细安装过程 3.下载地址 链接: http://pan.baidu.com/s/1mi6VUp ...

  7. RHEL 6.3 详细安装教程

    以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...

  8. 最新MATLAB R2020b超详细安装教程(附完整安装文件)

    摘要:本文详细介绍Matlab R2020b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...

  9. 本地环境,Ecshop安装教程

    最近有个项目需要用ECshop来做,之前没接触过ECshop,今天去网上找了下安装教程,现在发出来分享一下. 1. ecshop网店系统最新版本是ECSHOP V2.7.3,去官网下载utf8和gbk ...

随机推荐

  1. C++类中的this指针的作用

    1.我们知道C++的类成员函数中,默认都隐含了一个this指针,标识调用该成员函数的对象 2.为什么需要有一个this指针呢?C++设计这个机制的初衷是什么呢? 我们知道,普通的C++类,其成员函数是 ...

  2. 字符串比较 忽略大小写 iphone

    //不考虑大小写比较字符串1 NSString *astring01 = @"this is a String!"; NSString *astring02 = @"Th ...

  3. background-origin

    background-origin 设置元素背景图片的原始起始位置. 语法: background-origin : border-box | padding-box | content-box; 参 ...

  4. How to join a Ubuntu to Windows Domain

    My testing environment: Windows Server 2012 R2 Essentials: With AD and standalone DC in one single b ...

  5. 查看javadoc

    在 选中的jar包右键 properties 在javadoc里面引入api的路径 比如我要查看 spring的javadoc, 导入这个文件夹: E:\Java\spring-framework-2 ...

  6. Swift-5-流程控制

    // Playground - noun: a place where people can play import UIKit // For-In 循环 // 1 遍历数字区间 ... { prin ...

  7. [转载]为什么我希望用C而不是C++来实现ZeroMQ

    来源: http://blog.jobbole.com/19647/ 开始前我要先做个澄清:这篇文章同Linus Torvalds这种死忠C程序员吐槽C++的观点是不同的.在我的整个职业生涯里我都在使 ...

  8. this的使用、继承、super

    1.this的使用 1)可以用于区分局部变量 Person(int age,string name) { this.age=age; this.name=name; } 2)构造方法中,用this调用 ...

  9. Linux关于watch的用法

    Linux关于watch的用法 2011-07-20      0个评论       收藏    我要投稿 watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一 ...

  10. yum install 与 yum groupinstall 的区别

    原文:http://blog.51yip.com/linux/1171.html yum 提供二种安装软件的方式 1,yum install 它安装单个软件,以及这个软件的依赖关系 2,yum gro ...