Apache2.4版本开始不自带apr库,所以需要下载相应的库文件(百度云盘:http::/pan.baidu.com/s/1bnL31c7)
1.apr(Apache依赖包) http://irrors.hust.edu.cn/apache/apr
2.apr-util (Apache依赖包) http://irrors.hust.edu.cn/apache/apr
3.pcre (Apache依赖包) http://sourceforge.net/projects/pcre/files/pcre/
4.Apache http://archive.apache.org/dist/httpd/
[root@localhost soft]#tar -zxvf
[root@localhost soft]#tar -zxvf apr-1.5.2.tar.gz
[root@localhost soft]#tar -zxvf apr-util-1.5.4.tar.g
[root@localhost soft]#tar -zxvf pcre-8.37.tar.g
将相关依赖包放入/soft/httpd-2.4.16/srclib/中
[root@localhost soft]#mv apr-1.5.2 /httpd-2.4.16/srclib/apr
[root@localhost soft]#mv apr-util /httpd-2.4.16/srclib/apr-util
[root@localhost soft]# cd /soft/httpd-2.4.16/srclib/
[root@localhost srclib]# cd apr 在目录apr下进入configure配置文件将$RM "cfgfile"这一行用#注销
[root@localhost apr]# ./configure --prefix=/usr/local/apr
[root@localhost apr]# make && make install
[root@localhost srclib]# cd apr-util
[root@localhost apr-util]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util]# make && make install
[root@localhost srclib]# tar -zxvf pcre-8.37.tar.gz
[root@localhost srclib]# mv pcre-8.37 pcre
[root@localhost pcre-8.37]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.37]# make && make install
[root@localhost soft]# cd httpd-2.4.16
[root@localhost soft]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-z=/usr/local/zlib/ --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
[root@localhost soft]# make && make install
安装详解
#./configure \ #执行当前目录下软件自带的配置命令
#--prefix=/usr/local/apache2 \ #指定Apache软件安装的位置
#--sysconfdir=/etc/httpd \ #指定Apache服务器配置文件存放位置
# --with-z=/usr/local/zlib/ \ #指定zlib库文件的位置
# --enable-so \ #以动态共享对象(DSO)编译
# --enable-deflate=shared \ #缩小传输编码的支持
# --enable-expires=shared \ #期满头控制
# --enable-rewrite=shared \ #基于规则的URL操控
# --enable-static-support \ #建立一个静态链接版本的支持
#--with-apr=/usr/local/apr \ #加入apr依赖包安装路径
#--with-apr-util=/usr/local/apr-util \ #加入apr-util依赖包安装路径
#--with-pcre=/usr/local/pcre \ #加入pcre依赖包安装路径
进入/etc/httpd/httpd.conf配置文件,任意位置插入一行ServerName localhost:80
[root@localhost httpd]# /usr/local/apache2/bin/apachectl start
httpd (pid 55493) already running
[root@end ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
[root@end ~]# service httpd start
httpd (pid 45005) already running
[root@localhost httpd]# netstat -na |grep 80
tcp 0 0 :::80 :::* LISTEN 24534/httpd
进入/etc/init.d/httpd,加入
# chkconfig: 345 61 61
# description:Apache httpd
[root@end ~]# chkconfig --add httpd
[root@end ~]# chkconfig httpd on
关闭iptables
[root@localhost httpd]# iptables -F 清空iptables防火墙策略
[root@localhost httpd]# service iptables stop 关闭防火墙
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@localhost httpd]# chkconfig iptables off 重启后防火墙依旧处于关闭状态
关闭selinux
两种方法
1.使用命令setenforce 0 系统重启即失效(不需要重启)
2.编辑配置文件/etc/sysconfig/selinux 将SELINUX=enforcing改为disabled状态( 须重启生效)
[root@localhost httpd]# setenforce 0 临时将selinux改为Permission状态,重启系统后失效
[root@localhost httpd]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled 将selinux改为disabled状态,需要重启系统才能生效
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
最后打开网页,输入网址http://ip即可查看网页内容
网页显示It works!就说明apache安装成功了

从mysql 5.5版本开始,mysql源码安装开始使用cmake了
下载cmake http://cmake.org/files/
下载ncurses http://ftp.gnu.org/gnu/ncurses/
下载bison http://ftp.gnu.org/gnu/bison
[root@localhost mysql]# tar -zxvf cmake-3.4.1.tar.gz
[root@localhost cmake-3.4.1]# ./configure
[root@localhost cmake-3.4.1]# make ; make install
[root@localhost mysql]# tar -zxvf bison-3.0.tar.gz
[root@localhost bison-3.0]# ./configure
[root@localhost bison-3.0]# make ; make install
[root@localhost mysql]# tar -zxvf ncurses-6.0.tar.gz
[root@localhost ncurses-6.0]# ./configure
[root@localhost ncurses-6.0]# make ; make install
解压mysql
[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz
安装mysql
[root@localhost mysql-5.5.46]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
编译mysql
[root@localhost mysql-5.5.46]#make ; make install
安装详解
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路径
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷键功能(我没用过)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
# -DEXTRA_CHARSETS=all \ #安装所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默认字符
# -DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
[root@end mysql]# groupadd mysql 创建mysql组
[root@end mysql]# useradd -r -g mysql mysql 创建mysql用户并添加到mysql组
[root@end mysql]#chown -R mysql:mysql /usr/local/mysql 将mysql目录下的所有文件的所有者和所有组改为msyql
[root@end mysql]# chmod 777 scripts/mysql_install_db
[root@end mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
3-4.复制mysql服务启动配置文件(注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动)
[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
/usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld 将mysqld添加为服务
[root@end mysql]# chkconfig --add mysqld 将mysqld服务添加到chkconfig中
[root@end mysql]# chkconfig mysqld on 重启系统后服务自动运行
在文件/etc/profile末尾添加
PATH=/usr/local/mysql/bin:$PATH
[root@end mysql]# source /etc/profile 使修改的环境变量立即生效
[root@end mysql]# service mysqld start
Starting MySQL... [确定]
[root@end mysql]# netstat -tulnp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24351/mysqld
[root@localhost ncurses-6.0]# ps aux |grep mysql
root 48813 0.0 0.3 11304 1492 pts/2 S 16:47 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
mysql 48979 0.0 9.8 413156 37360 pts/2 Sl 16:47 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/usr/local/mysql/data/localhost.localdomain.pid --socket=/var/lib/mysql/mysql.sock
root 49018 0.0 0.2 103304 892 pts/2 S+ 16:53 0:00 grep mysql
[root@end mysql]# mysql -uroot 登录到mysql,首次登陆无密码
mysql> SET PASSWORD = PASSWORD('endmoon'); 设置mysql密码
Query OK, 0 rows affected (0.00 sec)
[root@end mysql]# mysql -u root -p
Enter password: endmoon
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.20' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
打开/etc/sysconfig/iptables,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT后面添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[root@end mysql]# service iptables restart 使更改的防火墙配置生效
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
iptables:应用防火墙规则: [确定]
那么mysql数据库的源码安装到这里就结束了
从php5.4开始,需要自己下载安装libXpm-dev了,但是由于包的依赖性原因,我就选择了yum方式来进行安装,通过网络yum源直接下载并进行安装了
下载php以及相关的库文件(百度网盘:http::/pan.baidu.com/s/1bnL31c7)
gd库以及php功能特性扩展库文件
libgd-2.1.1.tar.gz gd库文件(使php支持以下功能)
jpegsrc.v7.tar.gz jpeg库文件(使php支持jpeg格式图片)
zlib-1.2.7.tar.gz 数据压缩函数库(使php支持数据压缩功能)
freetype-2.6.tar.gz freetype库文件(使php支持多种字体格式文件)
libpng-1.2.56.tar.gz libpng库文件(使php支持png格式图片)
yum -y install libXpm
yum -y install libXpm-devel
安装完后libXpm配置文件默认在这个目录/usr/lib64/下
[root@end LAMP-php]# tar -zxvf autoconf-2.69.tar.gz
[root@end LAMP-php]# cd autoconf-2.69
[root@end autoconf-2.69]# ./configure
[root@end autoconf-2.69]# make ; make install
[root@end LAMP-php]# tar -zxvf libxml2-2.7.8.tar.gz
[root@end LAMP-php]# cd libxml2-2.7.8 将$RM "cfgfile"这行用#注释
[root@end libxml2-2.7.8]# ./configure --prefix=/usr/local/libxml2
[root@end libxml2-2.7.8]# make ; make install
[root@end LAMP-php]# tar -zxvf libmcrypt-2.5.8.tar.gz
[root@end LAMP-php]# cd libmcrypt-2.5.8
[root@end libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[root@end libmcrypt-2.5.8]# make ; make install
[root@end LAMP-php]# tar -zxvf zlib-1.2.7.tar.gz
[root@end LAMP-php]# cd zlib-1.2.7
[root@end zlib-1.2.7]# ./configure --prefix=/usr/local/zlib
[root@end zlib-1.2.7]# make ; make install
[root@end LAMP-php]# tar -zxvf libpng-1.2.56.tar.gz
[root@end LAMP-php]# cd libpng-1.2.56
[root@end libpng-1.2.56]# ./configure --prefix=/usr/local/libpng
[root@end libpng-1.2.56]# make ; make install
[root@end LAMP-php]# tar -zxvf jpegsrc.v7.tar.gz
[root@end LAMP-php]# cd jpeg-7/
[root@end jpeg-7]# mkdir /usr/local/jpeg6 建立jpeg6软件安装目录
[root@end jpeg-7]# mkdir /usr/local/jpeg6/bin 建立存放命令的目录
[root@end jpeg-7]# mkdir /usr/local/jpeg6/lib 创建jpeg6库文件所在目录
[root@end jpeg-7]# mkdir /usr/local/jpeg6/include 建立存放头文件目录
[root@end jpeg-7]# mkdir -p /usr/local/jpeg6/man/man1 建立存放手册目录
[root@end jpeg-7]# ./configure \
> --prefix=/usr/local/jpeg6/ \
> --enable-shared \ 建立共享库使用的GNUd libtool
> --enable-static 建立静态库使用的GNUlibtool
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[root@end jpeg-7]# make ; make install
[root@end LAMP-php]# tar -zxvf freetype-2.6.tar.gz
[root@end LAMP-php]# cd freetype-2.6
[root@end freetype-2.6]# ./configure --prefix=/usr/local/freetype
[root@end freetype-2.6]# make ; make install
[root@end LAMP-php]# tar -zxvf gd-2.0.32.tar.gz
[root@end LAMP-php]# cd gd-2.0.32
[root@end gd-2.0.32]# ./configure \ 进入vim gd_png.c 将16行改为#include "/usr/local/libpng/include/png.h"
> --prefix=/usr/local/gd2/ \ gd库文件安装目录
> --with-zlib=/usr/local/zlib/ \ 指定zlib安装路径
> --with-jpeg=/usr/local/jpeg6/ \ 指定jpeg6安装路径
> --with-png=/usr/local/libpng/ \ 指定libpng安装路径
> --with-freetype=/usr/local/freetype/ 指定freetype安装路径
./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
[root@end gd-2.0.32]# make ; make install
[root@end AMP]# tar -zxvf php-5.6.9.tar.gz
[root@end AMP]# cd php-5.6.9
[root@end php-5.6.9]# ./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-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg6 --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd2 --with-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt --with-xpm-dir=/usr/lib64/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
[root@end php-5.6.9]# make ; make install
安装详解
#./configure \ #执行当前目录下软件自带的配置命令
#--prefix=/usr/local/php/ \ #设置PHP5的安装路径
#--with-config-file-path=/usr/local/php/etc/ \ #指定PHP5配置文件存入的路径
#--with-apxs2=/usr/local/apache2/bin/apxs/ \ #指定PHP查找Apache2的位置
#--with-mysql=/usr/local/mysql/ \ #指定mysql的安装目录
#--with-libxml-dir=/usr/local/libxml2/ \ #指定php放置libxml2库的位置
#--with-png-dir=/usr/local/libpng/ \ #指定php放置libpng库的位置
#--with-jpeg-dir=/usr/local/jpeg6/ \ #指定php放置jpeg库的位置
#--with-freetype-dir=/usr/local/freetype/ \ #指定php放置freetype库的位置
#--with-gd=/usr/local/gd2/ \ #指定php放置gd库的位置
#--with-zlib-dir=/usr/local/zlib/ \ #指定php放置zlib库的位置
#--with-mcrypt=/usr/local/libmcrypt/ \ #指定php放置libcrypt库的位置
#--with-mysql=/usr/local/mysql/bin/mysql_config \ #变量激活新增加mysqli功能
#--enable-soap \ #变量激活soap和web services支持
#--enable-mbstring=all \ #使多字节字符串支持
#--enable-sockets \ #变量激活socket通信特性
cp php.ini-development /usr/local/php/etc/php.ini
进入Apache主配置文件/etc/httpd/http.conf中加入
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php .php .php4 .php5
创建mkdir /usr/local/apache2/htdocs/test.php
进入test.php编辑
<?php
phpinfo();
?>
[root@localhost php-5.6.9]# service httpd restart
输入网址http://ip/test.php
看到php的版本信息网页,表示测试成功!!!
到这里LAMP源码部署就完成了,也就是Web的环境就准备妥当了,接下来就陆续会在此环境上部署各种Web应用了,敬请期待!
- Web应用之LAMP源码环境部署
一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...
- Linux Kafka源码环境搭建
本文主要讲述的是如何搭建Kafka的源码环境,主要针对的Linux操作系统下IntelliJ IDEA编译器,其余操作系统或者IDE可以类推. 1.安装和配置JDK确认JDK版本至少为1.7,最好是1 ...
- 【ZooKeeper系列】3.ZooKeeper源码环境搭建
前文阅读: [ZooKeeper系列]1.ZooKeeper单机版.伪集群和集群环境搭建 [ZooKeeper系列]2.用Java实现ZooKeeper API的调用 在系列的前两篇文章中,介绍了Zo ...
- MyBatis源码环境搭建
之前研究mybatis都是参考前面学习的人的一些经验,并没有自己搭建源码环境进行.现在以mybatis3.4.6版本搭建,搭建过程中各种failed,下面大致记录环境搭建过程. 1.mybatis3. ...
- 【一步一步】Spring 源码环境搭建
平时项目中基本上都会用到spring,但是源码还没有深入的了解过.趁这段时间稍微空闲点,开始研究下spring 源码.下面是spring 源码的环境搭建. 主要分为如下步骤: ①安装jdk,gradl ...
- Tomcat7源码环境搭建
一.下载Tomcat7源码 从官网上下载Tomcat源码, http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.70/src/apache-t ...
- Spring源码阅读 源码环境搭建(一)
ring 源码阅读的搭建(一) 一 下载spring源码 进入官方网页:https://spring.io/projects/spring-framework 进入相关的github位置,下载zip包 ...
- Hadoop源码学习笔记之NameNode启动场景流程一:源码环境搭建和项目模块及NameNode结构简单介绍
最近在跟着一个大佬学习Hadoop底层源码及架构等知识点,觉得有必要记录下来这个学习过程.想到了这个废弃已久的blog账号,决定重新开始更新. 主要分以下几步来进行源码学习: 一.搭建源码阅读环境二. ...
- Spring 5.2.x 源码环境搭建(Windows 系统环境下)
前期准备 1.确保本机已经安装好了 Git 2.Jdk 版本至少为 1.8 3.安装好 IntelliJ IDEA (其他开发工具,如 eclipse.Spring Tool Suite 等也是可以的 ...
- 根据xml文件名获取xml数据并转化为实体。
1.定义一个xml文件. <?xml version="1.0" encoding="utf-8" ?> <UserManager xmlns ...
- Vue.js组件学习
组件可以扩展HTML元素,封装可重用的HTML代码,我们可以将组件看作自定义的HTML元素.组件系统提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用. 一个简单组件例子(全局注册) &l ...
- 【前端安全】JavaScript防http劫持与XSS
作为前端,一直以来都知道HTTP劫持与XSS跨站脚本(Cross-site scripting).CSRF跨站请求伪造(Cross-site request forgery).但是一直都没有深入研究过 ...
- Android开发之Activity的创建跳转及传值
在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider).今天所介 ...
- 非关系型数据库来了,CRL快速开发框架升级到版本4
轮子?,我很任性,我要造不一样的轮子,同时支持关系型和非关系型的框架有没有 新版数据查询作了些调整,抽象了LabmdaQueryy和DBExtend,升级到版本4,非关系数据库MongoDB被支持了! ...
- C# 设置Excel打印选项及打印excel文档
C# 设置Excel打印选项及打印excel文档 打印Excel文档是一个很常见的操作,但有时候我们会碰到各种不同的打印需求,例如只打印一个Excel工作表的其中一部分,或打印时每页都有表头,或把工作 ...
- 手动制作微信h5分享活动页面
现在网上有很多自动制作h5宣传页的网站,可以通过传图,点几下鼠标就可以制作一个集动画.生产二维码等各种功能于一身的h5微信宣传页.对于运营来讲,非常方便,没有技术门槛,不足之处就是只有特定的动画效果, ...
- Deep learning:五十一(CNN的反向求导及练习)
前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它.虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好.而本文 ...
- 野路子出身PowerShell 文件操作实用功能
本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...
- ASP.NET Core 中文文档 第二章 指南(4.3)添加 View
原文:Adding a view 作者:Rick Anderson 翻译:魏美娟(初见) 校对:赵亮(悲梦).高嵩(Jack).娄宇(Lyrics).许登洋(Seay).姚阿勇(Dr.Yao) 本节将 ...