完全编译安装LAMP

标题是用来吸引你进来看的,其实也不是完全的对linux、apache、mysql和PHP编译安装。

首先linux使用的是redhat的,当然内核想自己编译一个也可以,然后mysql采用的是官方给的编译好的二进制包,个Windows下的绿色软件差不多,只需要一些简单的设置就能使用Apache和PHP是去官方网站下载的最新的源码包。

  • 准备编译环境

在yum中安装 Development Libraries Development Tools X Software Development这三个包组

  • 编译安装apache

从官方网站下载最新的apache 解压缩,然后进入解压出来的目录 进行编译

  
  
  
  
  1. #./configure //检查与编译环境
  2. #./configure --help //查看有的编译参数
  3. 常用的选项 --prefix=/PATH/TO/INSTALL //设定默认安装路径
  4. --sysconfdir=/ETC/PATH //设定配置文件的安装路径
  5. --includedir=DIR //头文件的安装路径
  6. --docdir=DIR //指定网页文件的路径
  7. --enable-* //表示支持/启用某些功能
  8. --disable-* //表示关闭某些功能
  9. --with-* //表示包含子代码包一起编译或者指定依赖的软件包的位置
  10. #./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --enable-so --enable-ssl--enable-track-vars --enable-rewrite --with-zlib --enable-mods-shared=most
  11. #make //编译
  12. #make install //编译完成之后执行安装

apache的编译安装就初步的完成了,接下来做一些收尾的工作

    • 使安装目录下的bin目录被系统识别
      • 打开/etc/profile文件添加一行PATH=$PATH:/usr/local/apache2
      • . /etc/profile 命令重新是系统加载
    • 使安装目录下的include目录被系统识别
      • 在/usr/include目录下为安装目录下的include目录创建软连接,是安装的头文件目录能被系统识别
    • 使安装目录下的man目录能被系统识别
      • 在/etc/man.config文件中添加一行 MANPATH /usr/local/apache2/man
    • 使安装目录下的lib目录能被系统识别
      • 在/etc/ld.so.conf.d/目录下创建一个.conf结尾的文件,在文件中添加一行/usr/local/apache2/lib
      • #ldconfig 命令重新加载

主配置文件/etc/httpd/httpd.conf
主配置文件中常用的选项

全局服务配置
ServerRoot(服务的根目录)
PidFile(判断此进程是否处在正常状态)
Timeout(httpTCP三次握手的超时时间)
keepalive(保持|保活连接)
maxkeepaliverequests(保持连接最多传输文件数目)
keepaliveTime(保活连接的超时时间)
Listen(监听的IP和端口,可以有多个)
LoadModule(加载apache的路径)
Include(配置文件模块)
User (以哪个用户的身份运行)
Group(以哪个组的身份运行)

主服务配置 只提供一个web服务器 (和虚拟主机不同时使用)注释掉DoucumentRoot就关闭
ServerAdmin(服务器管理员的邮箱)
DoucumentRoot(定义存放网页文件的目录)
ServerName(服务器主机名/IP)
DoucumentRoot(定义存放网页的位置) 受Selinu控制,需要改目录的标签
DirectoryIndex(定义主页的名字按从前到后的次序)
ErrorLog(错误日志的存放位置)
LogLevel(记录日志的级别)
LogFormat(定义日志格式,被访问日志用到)
CustomLog 位置 级别 (访问日志的存放位置) 日志属主属组都是root用户 日志是apache非常重要的工具
Alias(别名路径别名,将不在当前网页文件目录下映射在网页存放路径下)
Alias 别名 "要映射的目录"
ScroptAlias (动态脚本目录的别名)
ScroptAlias 别名 "存放的目录"
AddDefaultCharset(默认字符集)
AddType(添加apache所支持的文件编码)

虚拟主机配置
将主配置文件中的DoucumentRoot 行注释掉,然后将 Include /etc/httpd/extra/httpd-vhosts.conf 这一行开启
在 /etc/httpd/extra/httpd-vhosts.conf 文件中配置 虚拟主机
虚拟主机分为基于IP的虚拟主机、基于端口的虚拟主机和基于主机头的虚拟主机
NameVirtualHost *:80 基于主机头的虚拟主机需要启动这个选项
<VirtualHost 套接字>
ServerName (主机的名称)
DoucumentRoot "目录" (网页文件存放路径)
ErrorLog 指定网站单独的错误日志
CustomLog 指定网站单独的访问日志
...单独为一个虚拟主机设置的其他选项
</VirtualHost>
使用IP访问基于端口或主机头的虚拟主机默认返回第一个虚拟主机

使用 /usr/local/apache2/bin/apachectl [start|restart|stop]开始|重启|停止apache服务
如果想使用service来控制服务的话可以自己写一个一个控制脚本放在 /etc/init.d目录下或者修改红帽rpm包安装是放在/etc/init.d 目录下的httpd脚本然后使用chkconfig –add 将脚本天骄到系统中

  • 到此apache的编译安装基本完成,已经可以正常使用apache提供的服务了微笑
  • 安装MySQL

mysql使用的是官方给的编译好的二进制包,不需要编制只要简单的配置下就可以使用了
因为是官方编译好的所以使用的时候会必须放在/usr/loca/mysql 目录下,我们可以将下载的压缩包解压出来,然后在/usr/local/下创建一个软连接文件mysql,将mysql指向解压出来的目录

然后就开始安装mysql

  
  
  
  
  1. #groupadd mysql //创建mysql组
  2. #useradd -r -g mysql mysql //创建mysql用户并指定其为mysql组
  3. #cd /usr/local/mysql //切换到mysql
  4. #chown -R mysql:mysql . //改变mysql目录和目录下的所有文件和目录的属组属主为mysql
  5. #scripts/mysql_install_db --user=mysql --datadir=path //配置安装mysql
  6. --datadir=path //指定数据文件的位置
  7. --user=mysql //指定以那个用户的身份启动
  8. #chown -R root . /为了系统安全安装完成后将文件的属主改为root
  9. #chown -R mysql:mysql /path/data/file //将数据存放的目录及下面的文件属组属主改为mysql

安装完成后在 /usr/local/mysql/support-files 目录下复制合适的主配置文件到 /etc目录下重命名为 my.cnf (mysql的主配置文件以 .cnf 结尾)
在主配置文件的[mysqld] 下面 添加一行 datadir = /path/data/file 用来指定数据文件的存放位置

然后同样的方法让使bin,include,man,lib四个目录被系统识别

mysql还提供了一个可以让service 调用的脚本 /usr/local/mysql/support-files/mysql.server 只需要将这个脚本复制到 /etc/init.d 目录下重命名为mysqld
然后chkconfig –add mysqld 就可以使用service 和 chkconfig 启动停用mysql的服务端了

  • MySQL的安装结束,可以正常的使用mysql服务了 微笑
  • 编译安装PHP

从官方网站下载最新的PHP 解压缩,然后进入解压出来的目录 进行编译

  
  
  
  
  1. #./configure //检查与编译环境
  2. #./configure --help //查看有的编译参数
  3. 常用的选项 --prefix=/PATH/TO/INSTALL //设定默认安装路径
  4. --with-apxs2= //表示将PHP编译安装称apache的模块,指定apache的apxs文件的位置
  5. --with-mysql= //编译的时候自动编译访问mysql的驱动,指定mysql的安装位置
  6. --with-mysqli= //指定mysql接口话的访问的配置文件的位置
  7. --with-libxml-dir
  8. --with-png-dir
  9. --with-jpeg-dir
  10. --with-zlib-dir
  11. --with-pear
  12. --with-gd //让PHP实现基于网页的绘图功能
  13. --enable-mbstring
  14. #./configure --prefix=/usr/local/php5 --prefix=/usr/local/php5 --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-pear --with-pdo-mysql=/usr/local/mysql --with-png-dir --with-gd --with-zlib --with-png-dir
  15. #make //编译
  16. #make install //编译完成之后执行安装
  17. #cp php.ini-production /usr/local/php/lib/php.ini //复制配置文件带/etc 目录下

编辑apache配置文件httpd.conf,以apache支持php
# vi /etc/httpd/httpd.conf
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
重启httpd,apache就能识别php文件了

  • PHP的安装结束,可以打开php网页了 微笑

然后一个LAMP服务器就搭建完成了!^_^

你可能感兴趣的:(apache,PHP,linux,mysql,lamp)