Lamp环境的详细安装教程
架构LAMP环境
1。布置LAMP环境之前的准备工作
在架构LAMP环境时,确保你的Linux系统已经安装了make、gcc、gcc-c++(使用rpm -q xxx 查看系统是否已经安装软件)
解压Lamp压缩包
下载地址:http://pan.baidu.com/s/1hq4hI5m
如果解麻烦的话,可以写一个自动解压脚本
cd /lamp #你解压的目录 ls *.tar.gz > ls.list for tar in ‘cat ls.lst’ do tar -zxf $tar 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环境的详细安装教程的更多相关文章
- Node.js的多版本管理工具 gnvm(win环境)的详细安装教程(图解步骤、通俗易懂、亲测有效)
前言 本篇随笔主要写了如何安装并使用node多版本管理工具gnvm(windowns环境下) 作为自己对多版本工具gnvm知识的总结与笔记. 百度云盘gnvm应用程序包 获取链接(个人应用地址如下): ...
- zookeeper集群环境搭建详细图文教程
zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径
本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...
- windowns环境下mysql 安装教程
windowns环境下mysql 安装教程 一:这里以绿色版安装为例(解压就可以使用) 下载地址: 下载页面:https://dev.mysql.com/downloads/mysql/ 2:点击 ...
- windows环境下elasticsearch安装教程(超详细)
一.安装jdk ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持.所以要先安装JAVA环境. 由于ElasticSearch 5.x 往后依赖于JDK 1.8的 ...
- 开发环境配置:jdk8的详细安装教程&&tomact的详细安装教程&&java环境变量的配置&&tomcat启动总失败原因
1.下载 链接: http://pan.baidu.com/s/1i57HZKx 密码: cnb4 2.详细安装过程 3.下载地址 链接: http://pan.baidu.com/s/1mi6VUp ...
- RHEL 6.3 详细安装教程
以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...
- 最新MATLAB R2020b超详细安装教程(附完整安装文件)
摘要:本文详细介绍Matlab R2020b的安装步骤,为方便安装这里提供了完整安装文件的百度网盘下载链接供大家使用.从文件下载到证书安装本文都给出了每个步骤的截图,按照图示进行即可轻松完成安装使用. ...
- 本地环境,Ecshop安装教程
最近有个项目需要用ECshop来做,之前没接触过ECshop,今天去网上找了下安装教程,现在发出来分享一下. 1. ecshop网店系统最新版本是ECSHOP V2.7.3,去官网下载utf8和gbk ...
随机推荐
- 硬件相关-EMI & EMS & EMC
EMI——Electro Magnetic Interference 电磁干扰 定义:是指电磁波与电子元件作用后而产生的干扰现象. 分类:有传导干扰和辐射干扰两种. 传导干扰: 是指通过导电介质把一个 ...
- sudo配置临时取得root权限
系统中的普通用户有时需要root权限执行某种操作,要是使用su - root的话必须要知道root的密码,这是不安全的,所以有了sudo,root可以对/etc/sudoers做一定的配置,让普通用户 ...
- 为什么Linux的fdisk分区时第一块磁盘分区的First Sector是2048?
这个问题曾经困扰我很久,在了解了MBR之后,我曾认为第一块分区之前为一个block.但是用fdisk查看是2048,一直不了解其中的缘由,今天查了一下资料,大概了解了,其中的细节留着慢慢去了解. 最直 ...
- Careercup - Google面试题 - 5724823657381888
2014-05-06 06:37 题目链接 原题: Given an array of (unsorted) integers, arrange them such that a < b > ...
- 图解SQL的Join(转摘)
转摘网址:http://coolshell.cn/articles/3463.html 对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的 ...
- POJ 2960 博弈论
题目链接: http://poj.org/problem?id=2960 S-Nim Time Limit: 2000MS Memory Limit: 65536K 问题描述 Arthur and h ...
- 编译器手工开栈(hdu可以其他可以尝试)
做题的时候经常遇到深度递归的,当然也可以改成非递归形式.如果写成递归形式会爆栈,所以可以用手工扩展栈. C++ (一般用C++提交,所以就推荐这种了) #pragma comment(linker, ...
- WC2016游记
出发的时候,长沙忽然就出了太阳,明媚而和煦. [day0 25] 噫吁嚱,危乎高哉!蜀道之难,难于上青天! 总之本来上午已经准备好9:50的飞机…然后就在一次次的手机查询中变成了5点多…然后也不是直飞 ...
- 【BZOJ】【1004】【HNOI2008】Cards
Burnside/Polya+背包DP 这道题目是等价类计数裸题吧……>_> 题解:http://m.blog.csdn.net/blog/njlcazl_11109/8316340 啊其 ...
- Basic knowledge of javaScript (keep for myself)
1. 函数表达式 JavaScript 函数可以通过一个表达式定义.eg. var x = function (a, b) {return a * b}; so: var x = function ( ...