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. R:reshape2包中的melt

    melt()函数melt为熔化.溶解的意思,此处可理解为扔进去一个东西,出来另外一个本质一样但形状不一样的东西.语法结构:melt(data, ..., na.rm = FALSE, value.na ...

  2. java 普通容器,同步容器,并发容器,同步工具

    同步容器,如HashTable,提供独占访问. 并发容器,ConcurrentHashMap,有着更好的并发性能,但是不能独占访问. --putIfAbsent 同步工具: 闭锁:CountDownL ...

  3. msgsrvmgr.cpp:5:37: fatal error: kdl_conversions/kdl_msg.h: No such file or directory #include <kdl_conversions/kdl_msg.h>

    /home/xxx/ros_workspace/src/bp_protocol_bridge/protospot/src/msgsrvmgr.cpp::: fatal error: kdl_conve ...

  4. office-word

    目录(大纲) word中大纲的视图(也就是目录)是根据1/2/3级大纲决定的 格式刷 可以刷成一样的格式,字体,编号以及大纲等等. 主要用于编号和目录,快捷键(ctrl+shift) 编号设置(不建议 ...

  5. hdu1850nim博弈输出问题

    和之前一道题是类似的,输出第一步走的方法,遍历数组找到a[i]^s<a[i]的那个数a[i]-a[i]^s就是要取的数 #include<map> #include<set&g ...

  6. jstack工具介绍

    一.使用场景 当一个java应用CPU的使用比较高或者到达100%以上的时候,需要分析代码哪里有问题.这时候可以使用jstack命令 二.怎么使用 先使用命令ps –ef |grep keyword ...

  7. avalon 搭配 百度的UI移动框架 gmu 可以很好干活

    使用过的人评价, 这个UI稳定, bug少, 组件丰富, 触屏好; 小公司, 可以用用 链接

  8. 关于MSSQL中IS NULL和IS NOT NULL的问题

    在SQL语句中我们一般会避免写IS NULL和IS NOT NULL,因为这样优化器不会使用索引. 但经过一系列测试发现这句话并不完全对,因为有时候也会使用索引. 语句: select * from ...

  9. 链表的实现、输出和反向 python

    链表节点包含两个元素:节点的值和指向的下一个节点,因此可以定义链表的类为: class linknode: def __init__(self,value=None,next=None): self. ...

  10. Android filesystem system rw(read/write) permission

    /********************************************************************************* * Android filesys ...