LAMP--Linux+Apache(httpd)+MySQL+PHP,是常用的web服务器架构,下面接受编译安装的过程,以及出现的错误。

注意事项:

1. 扩展epel源:参照:http://www.cnblogs.com/llius/p/5105051.html

2. php放到mysql和httpd后面安装,因为编译时候依赖两者的路径

3. 防火墙关闭:iptables -F --> service iptables save (centos7不支持save);vim /etc/selinux/config: SELINUX=enforcing --> SELINUX=disabled --> reboot

试验环境:

CentOS_6.6 64位  &&  CentOS_7.0 64位       亲测有效!!!

三软件版本(虽然版本比较旧,对练手来说是比较好的):

httpd-2.2.24.tar.bz2

mysql-5.1.73-linux-x86_64-glibc23.tar.gz   //免编包,mysql太大,编译很费时间,可以选择免编包

php-5.4.44.tar.bz2

扩展库资源,部分包需要扩展epel源:

yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers libmcrypt libmcrypt-devel libaio libaio-devel openssl*

一、mysql的安装:

  1. 新环境没有mysql用户,增加一个mysql用户

# useradd -s /sbin/nologin -M mysql    //-M: 不生成家目录 -s /sbin/nologin

  2. 新建mysql的数据目录,并将所属权给mysql

# mkdir -p /data/mysql
# chown -R mysql.mysql !$

  3. 下载mysql-5.1.73-linux-x86_64-glibc23.tar.gz,解压,移动重命名,更改属主为mysql

# cd /usr/local/src
# wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz
# tar -zxvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz
# mv mysql-5.1.73-linux-x86_64-glibc23.tar.gz ../mysql
# chown -R mysql.mysql !$

  4. 初始化 (显示两个OK,说明初始化成功):

# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql

  5. 配置文件复制和编辑:

# cd /usr/local/mysql/support-files
# cp mysql.server /etc/init.d/mysqld //启动脚本
# vim !$ //编辑下面参数:
basedir=/usr/local/mysql
datadir=/data/mysql
# cp my-small.cnf /etc/my.cnf //配置文件
# /etc/init.d/mysqld start
# ps aux |grep mysqld //有mysqld进程,说明安装成功

二、Apache(httpd)的安装

  1. 下载、解压 httpd-2.2.24.tar.bz2:

# cd /usr/local/src/
# wget http://www.lishiming.net/data/attachment/forum/httpd-2.2.24.tar.bz2
# tar -jxvf httpd-2.2.24.tar.bz2
# cd !$

   2. 配置编译参数:

./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \ //对php的扩展有用
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre

  3. 编译和安装

# make && make install

三、PHP的安装

  1. 下载、解压

# cd /usr/local/src
# wget http://cn2.php.net/distributions/php-5.4.44.tar.gz
# tar zxvf php-5.4.44.tar.gz

  2. 配置编译参数:

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6

   3. 编译和安装:

# make && make install

四、Apache中添加php解析

  1. 拷贝php配置文件:

# cp /usr/local/src/php-5.4.44/php.ini-production /usr/local/php/etc/php.ini

  2. 修改apache配置文件

# vim /usr/local/apache2/conf/httpd.conf

找到:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all //Deny --> Allow
</Directory> 找到:
AddType application/x-gzip .gz .tgz //下面添加:
AddType application/x-httpd-php .php 再找到:
<IfModule dir_module>
DirectoryIndex index.html //在后面添加:index.htm index.php
</IfModule> 找到:
#ServerName www.example.com:80 //去掉注释,改为:ServerName localhost:80

  3.开启httpd服务

# /usr/local/apache2/bin/apachectl -t   //显示Syntax OK,说明配置文件没问题
# /usr/local/apache2/bin/apachectl start //启动服务
# ps aux |grep httpd //看有无httpd进程

  4. 测试php解析

# cd /usr/local/apache2/htdocs  //apache的文件默认目录
# vim index.php //写入如下内容:
<?php
echo "Hello!"
?>
保存退出
浏览器输入:192.168.220.22\index.php //主机的ip跟php文件名

  如果打开的网页中显示Hello!,不弹出下载php的界面,也不显示<?php echo "Hello!" ?>,说明php的解析成功。

LAMP的安装和注意事项的更多相关文章

  1. LAMP简易安装

    看,老鸟绕道–LAMP简易安装 导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台.其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php.相 ...

  2. 新手必看,老鸟绕道–LAMP简易安装

    导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台.其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php.相信大家对这些都已经非常熟悉了,但 ...

  3. 【转载】干货来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载七)LAMP集成安装

    学Linux做程序开发也好,做系统管理也好,做网络管理员也好,做系统运维也好,不会LAMP和LNMP,那就等于连皮毛都不会!本篇是文字版的LAMP集成安装,下次连载我们要介绍LNMP的文字版安装.有喜 ...

  4. DUBBO安装配置注意事项

    DUBBO安装配置注意事项 参考URL:http://blog.csdn.net/lichunan/article/details/40349645 ====== 管理端: 记得更改TOMCAT的端口 ...

  5. Linux安装系统注意事项及系统初始化

      Linux安装系统注意事项 1.分区 学习用途: /boot:200M /swap :内存的1到2倍 /:根据需要分配大小,比如虚拟机下总空间是15G,那么可以分配8——10G跟/分区,如果是生产 ...

  6. LAMP的安装

    一,LAMP的安装流程:mysql.apache.php或者apache.mysql.php.php放到最后的原因是,php在编译安装的时候是依赖于前2者的. 二,Mysql的安装: 1.下载mysq ...

  7. lamp环境安装

    每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code lamp环境安装 1.查看mysql是否安装 service mysql status 2.查 ...

  8. Adobe Photoshop CC 2018 v19.0 简体中文正式版下载安装破解(附注册机+破解教程) 32/64位(安装破解注意事项是什么)

    Adobe Photoshop CC 2018 v19.0 简体中文正式版下载安装破解(附注册机+破解教程) 32/64位(安装破解注意事项是什么) 一.总结 一句话总结:下载安装破解教程文中都有,需 ...

  9. 编译安装LAMP之安装Apache+php与管理(十五)

    [教程主题]:编译安装LAMP之安装Apache+php与管理 [课程录制]: 创E [主要内容] [1]编译安装Apache+PHP 1.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安装上 ...

随机推荐

  1. 11_MySQL_分页查询

    # 分页查询/* 应用场景:要显示的数据,一页显示不全,需要分页提交sql请求 语法: select 查询列表 from 表 [join type]表2 on 连接条件 where 筛选条件 grou ...

  2. 线程池ThreadPoolExecutor里面4种拒绝策略

    ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,AliveTime,拒绝策略等.常用构造方 ...

  3. Redis为什么要把所有数据放到内存中?

    Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘.所以Redis具有快速和数据持久化的特性. 如果不将数据放到内存中,磁盘的I/O速度会严重影响redis的性能.在内 ...

  4. hive grouping sets 等聚合函数

    函数说明: grouping sets 在一个 group by 查询中,根据不同的维度组合进行聚合,等价于将不同维度的 group by 结果集进行 union allcube 根据 group b ...

  5. Spring4 MVC文件下载实例(javaconfig)

    展示如何使用Spring MVC4执行文件下载,我们将看到应用程序从文件系统内部以及外部文件下载文件. 下载文件是相当简单的,涉及以下步骤. 创建一个InputStream到文件用于下载. 查找MIM ...

  6. python开发_sqlite3_绝对完整_博主推荐

    '''SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说 没有独立的维护进程,所有的维护都来自于程序本身. 在python中,使用sqlite3创建数据库的连接,当我们指定的数据库文件不 ...

  7. [转]PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用

    http://www.cnblogs.com/cxd4321/archive/2009/03/07/1405475.html 在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般 ...

  8. 005PHP文件处理——目录操作,统计大小 filesize unlink

    <?php /* 目录操作,统计大小 filesize unlink * */ $dir = dir("."); while (($file = $dir->read( ...

  9. 在CMD中使用for命令对单行字符串做分割的方法

    我们都知道CMD中的for命令是执行循环命令的,数据来源可以是一个文件,一个命令的结果或一个字符串,只有这3种来源 如果是一个文件则对这个文件的所有字符串进行循环处理 如果是一个命令结果,那么对这个命 ...

  10. java Object对象的clone方法

    参考copy链接:http://blog.csdn.net/bigconvience/article/details/25025561 在看原型模式,发现要用到clone这个方法,以前和朋友聊过,没怎 ...