LAMP源码编译构建

apache安装过程

在这里插入图片描述
将事先准备好的文件复制到xshell

[root@localhost LAMP-C7]# tar zxvf apr-1.6.2.tar.gz -C /opt
[root@localhost LAMP-C7]# tar zxvf apr-util-1.6.0.tar.gz -C /opt
[root@localhost LAMP-C7]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/s
server/  srclib/  support/ 
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[root@localhost opt]# ls httpd-2.4.29/srclib/
apr  apr-util  Makefile.in

解压组件包和源码包并移动到源码包目录下

[root@localhost opt]# yum -y install \
> gcc \			//编译器
> gcc-c++ \		//编译器
> make \		//make工具
> pcre-devel \	 //支持正则表达式的工具
> expat-devel \	 //使网站能解析标签语言的工具
> perl			//Perl语言工具

安装编译器和其他工具

[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ls
...省略内容
ap.d             configure       include         Makefile.in   
...省略内容
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \		//指定路径
> --enable-so \					   //开启核心功能模块
> --enable-rewrite \			    //开启重写功能,如防盗链保护
> --enable-charset-lite \			//开启字符集
> --enable-cgi					    //开启通用网关接口

上述配置命令中,各选项的含义如下

  • –prefix:指定将httpd 服务程序安装到哪个目录下
  • –enable-so:启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
  • –enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护
  • –enable-charset-lite:启用字符集支持,以便支持使用各种字符集编码的网页
  • –enable-cgi:启用CGI 脚本程序支持,便于扩展网站的应用访问能力
[root@localhost httpd-2.4.29]# make  //编译
[root@localhost httpd-2.4.29]# make install  //安装

完成配置以后,执行“make”命令进行编译,将源代码转换为可执行的程序;然后执行“make install”命令完成最后的安装过程;将编译完的 httpd 程序及相关目录、文件自动复制到预设的安装目录(由配置时的“–prefix”选项指定)。其中“make”的过程可能会需要较长的时间。

[root@localhost bin]# cp apachectl /etc/init.d/httpd	'//将启动脚本复制到/etc/init.d/初始化脚本文件中,并重命名为httpd'
[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]# ls
functions  httpd  netconsole  network  README
[root@localhost init.d]# vim httpd 
#!/bin/sh	
# chkconfig: 35 85 21 	 //35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server
[root@localhost init.d]# chkconfig --add httpd 	//将httpd加入到SERVICE管理器
[root@localhost init.d]# vim /usr/local/httpd/conf/httpd.conf
ServerName www.abc.com:80
Listen 192.168.197.139:80
#Listen 80  //关闭ipv6监听地址
[root@localhost init.d]# ln -s /usr/local/httpd/conf/httpd.conf /etc	
[root@localhost init.d]# vim /etc/httpd.conf 
[root@localhost init.d]# ln -s /usr/local/httpd/bin/* /usr/local/bin	//将httpd的命令文件都创建软链接到/usr/local/bin下

创建软连接

[root@localhost init.d]# setenforce 0
[root@localhost init.d]# iptables -F
[root@localhost init.d]# service httpd start

清空防火墙规则,关闭系统安全,开启服务

mysql 安装过程

[root@localhost htdocs]# yum install ncurses-devel autoconf cmake -y

准备环境

[root@localhost mysql-5.6.26]# cmake  \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		//指定路径
> -DDEFAULT_CHARSET=utf8 \		//指定字符集'
> -DDEFAULT_COLLATION=utf8_general_ci \		//指定字符集
> -DEXTRA_CHARSETS=all \	//指定字符集
> -DSYSCONFIDIR=/etc \		//指定配置文件目录
> -DMYSQL_DATADIR=/home/mysql/ \	//指定数据文件目录,由mysql用户管理
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock

配置cmake

上述配置命令中,各选项的含义如下

  • -DCMAKE_INSTALL_PREFIX:指定将 MySQL 数据库程序安装到某目录下
  • -DSYSCONFDIR:指定初始化参数文件目录
  • -DDEFAULT_CHARSET:指定默认使用的字符集编码
  • -DDEFAULT_COLLATION:指定默认使用的字符集校对规则
  • -DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码
在这里插入代码片
[root@localhost mysql-5.6.26]# make  //编译
[root@localhost mysql-5.6.26]# make install  //安装
[root@www mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql

对数据库目录进行权限设置

[root@localhost init.d]# chkconfig --add /etc/init.d/mysqld 	//将mysqld添加到service服务器中
[root@localhost init.d]# chkconfig --level 35 mysqld on	
[root@localhost init.d]# echo "PATH=$PATH:/usr/local/mysql/bin">> /etc/profile	
[root@localhost init.d]# source /etc/profile	//使命令不需重启立即生效
[root@localhost init.d]# echo $PATH	//查看环境
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
[root@localhost init.d]# useradd -s /sbin/nologin mysql		//添加用户,指定shell,禁止用户登录系统
[root@localhost init.d]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
[root@localhost init.d]# chown -R mysql.mysql /usr/local/mysql	

添加用户

[root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql \
> --datadir=/home/mysql

初始化数据库

[root@localhost mysql]# vim /etc/init.d/mysqld 
basedir=/usr/local/mysql	//添加工作路径
datadir=/home/mysql			//添加数据路径

编辑启动脚本

[root@localhost mysql]# service mysqld start

启动服务

[root@localhost mysql]# mysqladmin -u root -p password

给root用户设置密码

php安装过程

[root@localhost mysql]# yum -y install \
> gd \	
> libpng \
> libpng-devel \
> pcre \
> pcre-devel \
> libxml2-devel \
> libjpeg-devel

环境准备

[root@localhost php-5.6.11]# ./configure \
> --prefix=/usr/local/php5 \	//指定安装路径
> --with-gd \		//指定GD库
> --with-zlib \		//支持数据压缩函数库
> --with-apxs2=/usr/local/httpd/bin/apxs \	//设置Apache服务提供的apxs模块支持程序的文件位置
> --with-mysql=/usr/local/mysql \	//设置MySQL数据库服务程序的安装位置
> --with-config-file-path=/usr/local/php5 \  //设置PHP配置文件存放的位置
> --enable-mbstring 	//启用多字节字符串功能,以便支持中文等代码'

configure配置
上述配置命令中,各选项的含义如下

  • –prefix:指定将PHP 程序安装到哪个目录下
  • –with-mcrypt:加载数据加密等扩展工具支持
  • –with-apxs2:设置Apache HTTP Server 提供的apxs 模块支持程序的文件位置
  • –with-mysql:设置MySQL 数据库服务程序的安装位置
  • –with-mysqli:添加MySQL 扩展支持
  • –with-config-file-path:设置PHP 的配置文件php.ini 将要存放的位置
  • –enable-mbstring:启用多字节字符串功能,以便支持中文等代码
[root@localhost php-5.6.11]# make  //编译
[root@localhost php-5.6.11]# make install   //安装

编译安装

[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini		'移动启动脚本'
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/	'//创建命令软链接'
[root@localhost php-5.6.11]# 
#编辑php的默认首页
<IfModule dir_module>	
    DirectoryIndex index.html index.php		//在此段文字后添加index.php
</IfModule>

 AddType application/x-httpd-php .php	//添加此行
    AddType application/x-httpd-php-source .phps	//添加此行
[root@localhost htdocs]# vim index.html    
<?php
phpinfo();
?>
[root@localhost htdocs]# mv index.html index.php

配置php首页

[root@localhost php-5.6.11]# service httpd stop	
[root@localhost php-5.6.11]# service httpd start

重启apache服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值