首先使用Virtualbox安装一台CentOS 5.2的虚拟机,网络连接采用 Host-only Adapter,这样主客机之间可以互相访问,但是客机不能够上广域网。

0、系统初步配置

源文件位置    /root/software
编译安装位置    /usr/local/{software_name}
数据存放        /data1/

Apache运行账户    www:www
mysql运行账户    mysql:mysql

关闭 Selinux

Selinux 经常会对系统的运行产生一些奇怪的影响,如果不是特别熟悉的话,建议关掉 Selinux。
    Selinux 的配置文件位于 /etc/selinux/config,我们需要修改的部分在:
        SELINUX=enforcing
    修改为    SELINUX=disabled,然后重启服务器,SELINUX 的配置救生效了。

配置 iptables

安装必要的软件

如果能够连上网络,可以通过 yum 来安装这些必要的工具;如果不能连上网络,则需要使用本地的安装源或者安装文件。

下面列出一些必须的工具:
        gcc        
        wget
        make
        ntp
        patch
        autoconf
        automake
        bzip2-devel

通过本地的源来进行安装,首先在 Virtualbox 的 Devices -> Mount CD/DVD-Rom -> CD/DVD-Rom image,加载安装的镜像文件。        
    计划安装的软件及其版本:
    apache 1.3.41        
    cronolog 1.6.2       
    gd 2.0.35        
    libiconv 1.13.1        
    libmcrypt 2.5.8        
    mcrypt 2.6.7        
    openssl 0.9.8k        
    openssh    5.2p1        
    pecre 7.9        
    nginx 0.7.62        
    mysql 5.0.51        
    php 5.2.9/4.4.9        
    memcached 1.4.1        
    memcache 2.2.5        
    xcache 1.2.2        
    zend optimizer 3.3.9 
    imap             
    bind 9.4.2

1、安装其他软件

安装 OpenSSL:
        ./config --prefix=/usr/local/openssl/
        make
        make test
        make install
    安装GD2
        ar jxvf gd-2.0.35.tar.bz2
        cd gd-2.0.35
        ./configure --prefix=/usr/local/gd2
        make &&make install
        cd ..

安装libiconv
        tar zxvf libiconv-1.12.tar.gz
        cd libiconv-1.12
        ./configure --prefix=/usr &&make &&make install
        cd ..

安装libmcrypt
        tar jxvf libmcrypt-2.5.8.tar.bz2
        cd libmcrypt-2.5.8
        ./configure --prefix=/usr/local/libmcrypt &&make &&make install
        cd ..

安装 cronolog
        ./configure --prefix=/usr/local/cronolog
        make && make install

2、安装mysql
    本文采用的是二进制安装的方式进行的,基本的顺序和 mysql 官方的顺序差不多,只不过有些地方做一些说明。
    shell> groupadd mysql
    shell> useradd -g mysql mysql
    shell> cd /usr/local
    shell> tar -xvzf /path/to/mysql-VERSION-OS.tar.gz
    shell> mkdir /usr/local/mysql
    shell> cp -rf /path/to/mysql-VERSION-OS /usr/local/mysql
    shell> cd /usr/local/mysql
    shell> chown -R mysql .
    shell> chgrp -R mysql .
    shell> scripts/mysql_install_db --user=mysql
    shell> chown -R root .
    shell> chown -R mysql data
    shell> bin/mysqld_safe --user=mysql &
    前面几步一般不会有问题,只是最后一步执行 bin/mysqld_safe --user=mysql & 的时候,系统出错了:
    Starting mysqld daemon with databases from /var/lib/mysql
    STOPPING server from pid file /var/run/mysqld/mysqld.pid
    090930 12:19:32  mysqld ended
    然后就结束了,这个问题的原因,我们可以在日志文件 /var/log/mysqld.log 中看到
    090930 12:19:31  mysqld started
    090930 12:19:31 [Warning] option 'thread_stack': unsigned value 126976 adjusted to 131072
        090930 12:19:32  InnoDB: Started; log sequence number 0 43655
        090930 12:19:32 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
        090930 12:19:32 [ERROR] Can't start server: can't create PID file: No such file or directory
        090930 12:19:32  mysqld ended

也就是权限不够,解决的办法有两个,一个是建立一个 mysql 有权限读写的 /var/run/mysqld/ 文件夹;另一个方法,我们可以使用 /usr/local/mysql/support-files/mysql.server 来进行服务的启动。

这样 mysql 安装完成以后,文件的存放结构都是按照默认的设定来的,比如一些常见的:
        配置文件    /etc/my.cnf
        basedir    /usr/local/mysql
    最后需要配置一下mysql随系统启动服务,拷贝 /usr/local/mysql/support-files/mysql.server -> /etc/rc.d/init.d/mysql 中,然后添加 chkconfig --add mysql
    这样就可以通过 service mysql start 来启动 mysql 服务了

3、安装Apache

这篇里 apache 选择经典的 1.3.41 版本。

apache 的安装方法不止一种,无论哪一种,首先我们必须确认当前系统中没有 httpd 服务正在运行:ps -aux | grep httpd,如果我们发现结果中有的话,应该将他杀掉。
    然后到 apache 的安装目录下,这里是 /root/software/source_lamp/apache_1.3.41,整个目录内的结构和文件介绍如下:
        cgi-bin/ ――用于测试CGI的脚本。随后,安装过程将把这些文件复制到服务器的/cgi-bin目录中。如果启动了Apache的CGI功能,这些脚本可以用于测试那些功能。
        conf/ ――配置文件。这些发布时的配置不应该进行编辑。安装过程把这些文件复制到服务器的配置目录中,对这些复制文件将进行扩展编辑。
        htdocs/ ――第一个Web站点。安装过程把这些文件复制到服务器的文档根目录中。浏览器第一次测试服务器时将显示这些网页。
        icons/ ――目录索引图标。这些图像文件将成为由Web服务器用来提供特别路径索引功能的图标。   
        logs/ ――日志工具。这个目录是空的,安装过程将为安装好的服务器创建一个日志目录。
        src/ ――源代码。这个目录(和它的子目录)包含了C语言源代码文件,你编译它们以创建出Apache Web服务器。

首先执行 configure,这里将 bin/data/log,三个目录进行了自定义:
    ./configure --prefix=/usr/local/lampsrv/apache/ --datadir=/data1/www/data/htdocs/ --logfiledir=/data1/www/applogs/ --enable-shared=max --enable-module=most
    make
    make install
4、安装PHP
    解压下载的安装包,然后执行配置。
    ./configure --prefix=/usr/local/lampsrv/php --with-apxs=/usr/local/lampsrv/apache/bin/apxs  --with-config-file-path=/usr/local/lampsrv/etc/php/ --enable-track-vars --with-xml --with-mysql
    make && make install

安装完成后,在 apache 的配置文件中添加对于 php 后缀的解析。
    AddType application/x-httpd-php .php .php3 .inc
    AddType application/x-httpd-php-source .phps

然后重启 apache 服务:/usr/local/lampsrv/apache/bin/apachectl restart
    启动的时候,有可能会遇到这样的错误:Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so : cannot restore segment prot after reloc: Permission Denied

这种情况一般是由于 selinux 的安全设置引起的,可以考虑关闭掉 selinux,在 /etc/selinux/config 中进行设置。

5、安装总结

至此,我们已经配置了基本的 Linux + Apache + Mysql + PHP 的运行环境,但是仍有很多的配置文件散落在各处,比如 mysql 的配置文件和数据文件。如何将这些配置文件和数据文件归拢在一个统一的位置,比如 /data1/www/etc ,还是一个需要不断总结积累的问题,另外还有一个就是如何形成一个快速安装配置的模式,是通过编写脚本还是通过搭建 yum 源来实现多台机器的快速配置是一个很需要经验的问题,在这两个方面,今后要不断的总结。

参考资料:
1、CentOS 5.2 编译安装           
2、Apache httpd project           
3、Cronolog               
4、GD Library               
5、GNU libiconv               
6、OPEN SSL               
7、OPEN SSH               
8、PCRE                   
9、nginx               
10、mysql               
11、php                   
12、Memcached               
13、XCache               
14、IMAP               
15、Mysql Install           
16、Linux自启动详细设置           
17、Apache 1.3.x 安装配置笔记       
18、Apache 安装指南

在Centos 5.2下编译安装LAMP相关推荐

  1. 在 CentOS 5.4 下编译安装MySQL时

    在 CentOS 5.4 下编译安装MySQL时 在 CentOS 5.4 下编译安装MySQL时出错: /bin/rm: cannot remove `libtoolt': No such file ...

  2. CentOS下编译安装LAMP开发环境

    http://www.linuxidc.com/Linux/2011-10/45743.htm 配置PHP开发环境前获取软件包.笔者用的mysql版本是社区版本的.主要软件包有: httpd,mysq ...

  3. CentOS 6.4下编译安装MySQL 5.6.14

    概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...

  4. CentOS 6.5下编译安装新版LNMP

    2019独角兽企业重金招聘Python工程师标准>>> 准备工作 最小化安装CentOS6.5 我们安装完成CentOS系统,默认都是系统自带的yum源,国内用户用yum安装软件的时 ...

  5. CentOS 7.2下编译安装PHP 7

    CentOS 7.2 编译安装PHP7 注意此配置针对开发环境,如果线上环境,那么phpdbg和dtrace这两个建议不要编译 编译安装参数 # prefix 可根据实际情况自定义 # with-fp ...

  6. RHEL/CentOS 5.5下编译安装Fcitx(小企鹅输入法)

    PS: 因本人家里的台式机比较老,其中的显卡是04年的nvidia mx440,Ubuntu 9.10.10.04与Fedora 12.13都对其支持不好,手动安装显卡驱动后可以用,但很不稳定,X经常 ...

  7. centos 6.5下编译安装、配置高性能服务器Nginx

    1.nginx是什么? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力 ...

  8. centos/Debian/Ubuntu下编译安装pypy

    PyPy的速度是比Python快的,根据官方说法,速度时CPython的2倍-10倍. 但PyPy也是有缺点的,那就是PyPy是由RPython实现的,RPython是Python的子集. PyPy快 ...

  9. linux下编译httpd,Linux下编译安装Apache httpd 2.4

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.当前Apache版本为2.4,本文主要描 ...

最新文章

  1. Java并发编程之线程同步
  2. P1433 吃奶酪(状压dp)
  3. Super-palindrome(思维)
  4. java对象前后改变_java对象改变而不设置它们
  5. DE28 Matrix Methods for Inhomogeneous Systems
  6. ostream作为函数返回值_函数的调用(一)
  7. 在Windows上使用Git和GitHub
  8. Sql server2005 char/varchar/text和nchar/nvarchar/ntest的区别
  9. 网络视频会议软件哪个好?欢迎大家补位!
  10. 有一根27厘米的细木杆java_[转载]推荐最近看过的最好的java视频
  11. python PTA合集
  12. 详述 IntelliJ IDEA 遇到快捷键以及删除键不好使的解决方法
  13. ubuntu kylin 16.04系统的基本安装
  14. 【2021-11-08 更新】【梳理】简明操作系统原理 第二十章 加密(docx)
  15. 专注:让你不再分心 pdf_JS对象:分心
  16. Android----一个完整的小项目(医疗app)
  17. 大众mpv_大众mpv商务车7座车型 大众mpv都有哪些?
  18. web worker js
  19. wps分享为什么要登入_【家长分享】我为什么要成为1%,把孩子送到国际学校?...
  20. 新创建的数据库,执行db2look时,遇到package db2lkfun.bnd bind failed

热门文章

  1. 【阿里云课程】详解深度学习优化:参数初始化,激活函数,标准化,池化
  2. 【模型解读】pooling去哪儿了?
  3. 通过Lazada日销千件,国内爆款如此打开东南亚爆单之门
  4. 中国城中村改造建设前景规划及投融资模式分析报告2022年版
  5. 中国数据备份一体机产业未来供需状况及投资潜力价值报告2021年版
  6. 巨头间未来战争-丰收节交易会·万祥军:农业AI发展概况
  7. js按位运算符及其妙用
  8. 史上最快的拼接字串方法
  9. 网络配置及shell基础
  10. [cocoapods]安装cocoapods