LAMP 安装笔记
 
使用 Redhat Advanced Server4 Updata5 32 位操作系统
开启 iptables 并允许 SSH HTTP 通信,禁用了 SElinux
系统时间使用 shanghai 时区
定制安装了系统所需的软件包,列表如下
Editors
Development Tools
Administration Tools
System Tools
系统开启的服务:
cpuspeed
监测系统空闲百分比,降低或加快 CPU 时钟速度和电压从而在系统空闲时将能源消耗降为最小,而在系统繁忙时最大化加快系统执行速度
crond
用来执行例行性命令的守护程序
iptables
防火墙
irqbalance
对多个系统处理器环境下的系统中断请求进行负载平衡的守护程序
network
在系统启动时激活所有的网络接口
mdmonitor
RAID 设备相关的守护程序
mdmpd
RAID 设备相关的守护程序
sshd
实现安全地远程登陆管理主机
syslog
记录所有的系统行为
xinetd
负责管理系统中不频繁使用的服务,这些服务程序在有请求时才由 xinetd 服务负责启动运行,一旦完成服务请求服务程序结束运行,这样可以有效地减少对系统资源的占用率
应用程序安装路径:
软件源代码包存放位置           /back/src/
数据库备份位置                       /back/databases_back/
日志备份位置                           /back/Logs/
源码包编译安装位置              /app/src/
脚本以及维护程序存放位置  /usr/local/sbin/
MySQL 数据库位置                  /opt/ data/
MySql  数据库日志位置          /var /log/
Apache 网站根目录                 /opt/www/
Apache 网站日志根目录         /back/apache_logs
需要编译安装的程序:
mysql-5.1.30.tar.gz
httpd-2.2.10.tar.gz
gettext -0.17.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.33.tar.gz
zlib-1.2.3.tar.gz
freetype-2.3.7.tar.gz
libxml2-2.6.30.tar.gz
fontconfig-2.6.0.tar.gz
gd-2.0.35.tar.gz
php-5.2.7.tar.gz
ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz //supesite 必须要有 zend 的支持
phpMyAdmin-3.1.0-all-languages.tar.gz
cronolog-1.6.2.tar.gz
编译安装:
mysql-5.1.30.tar.gz
ftp://mysql.mirror.kangaroot.net/pub/mysql/Downloads/MySQL-5.1/mysql-5.1.30.tar.gz
groupadd mysql                            
// 创建组
useradd -g mysql -s /sbin/nologin -M mysql    
// 新建用户并添加到 mysql 组中,拒绝作为本地用户登陆 shell
./configure
--prefix=/app/src/mysql              // 指定 mysql 的安装目录
--localstatedir=/opt/data            // 创建 mysql 的数据文件目录
--with-charset=utf8                     // 使用 utf-8 的编码格式
--with-extra-charsets=all             // 启用多语言支持
--with-tcp-port=3306                  //mysql 数据库 TCP 的通信端口
--with-plugins=all                        // 添加所有数据引擎的支持
--with-unix-socket-path=/tmp/mysql.sock // 指定 mysql 的套接字文件路径
--with-mysqld-user=mysql          // 指定 mysql 的用户
make                                             // 编译
make install                                  // 安装
cp /opt/mysql-5.1.30/support-files/my-medium.cnf /etc/my.cnf   
// 拷贝 mysql 的模板配置文件
/usr/local/mysql/bin/mysql_install_db --user=mysql             
// 使用 mysql 用户初始化 mysql 数据库
cd /app/src/mysql
chown -R root .          // 更改 mysql 目录下所有目录的属主为 root 用户
chgrp -R mysql .         // 更改 mysql 目录下所有目录的属组为 mysql 用户
cd /opt/data
chown -R  mysql.mysql .
// 更改 mysql 数据库文件夹的属主和属组为 mysql 用户
/usr/local/mysql/bin/mysqld_safe --user=mysql &              
// 启动 mysql 数据库并在后台运行
mysqladmin -u root password 'newpassword'                     
// 设置 mysql 数据库 root 的密码
show databases;                       // 查看存在的数据库
use dataname;                          // 进入指定的数据库
show tables;                              // 查看表的信息
show variables                       // 查看支持的表类型
mysqladmin flush-tables   shutdown     // 关闭所有表,并停止数据库
echo "/app/src/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local
// 添加 mysql 服务开机自动启动
httpd-2.2.10.tar.gz
http://apache.freelamp.com/httpd/httpd-2.2.10.tar.gz
tar -zxf httpd-2.2.10.tar.gz
cd httpd-2.2.10
./configure
--prefix=/app/src/apache2        // 指定 apache 的安装目录
--enable-so                                  // 可动态加载模块
--enable-rewrite                         // 支持 URL 重写
--disable-userdir                         // 禁止用户从自己的主目录中提供页面
--enable-info                               // 启用消息模式
--enable-cgi                                 // 支持命令行脚本
--enable-vhost-alias                    // 支持虚拟主机别名
make                                           // 编译
make install                               // 安装
编辑 httpd.conf 文件,添加以下内容
AddType application/x-httpd-php .php   // 添加 apache 支持 php 扩展的文件
AddType application/x-httpd-php-source .phps
/app/src/apache2/bin/apachectl –t        // 测试 apache 配置文件是否正确
/app/src/apache2/bin/apachectl start    // 启动 apache 服务
echo "/app/src/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
// 添加 apache 服务开机启动
jpegsrc.v6b.tar.gz
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
建立目录
mkdir /app/src/jpeg6
mkdir /app/src/jpeg6/bin
mkdir /app/src/jpeg6/lib
mkdir /app/src/jpeg6/include
mkdir /app/src/jpeg6/man
mkdir /app/src/jpeg6/man/man1
tar -zxf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/app/src/jpeg6/ --enable-shared --enable-static
Make
Make install
libpng-1.2.33.tar.gz
ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.33.tar.gz
tar -zxf libpng-1.2.33.tar.gz
cd libpng-1.2.33
./configure --prefix=/app/src/libpng
make
make install
freetype-2.3.7.tar.gz
http://jaist.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.7.tar.gz
tar -zxf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/app/src/freetype
Make
Make install
fontconfig-2.6.0.tar.gz
http://fontconfig.org/release/fontconfig-2.6.0.tar.gz
tar -zxf fontconfig-2.6.0.tar.gz
cd fontconfig-2.6.0
./configure--prefix=/app/src/fontconfig--enable-libxml2--with-freetype-config=/app/src/freetype/bin/freetype-config
Make
Make install
gd-2.0.35.tar.gz
http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
tar -zxf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure
--prefix=/app/src/gd2
--with-png=/app/src/libpng/
--with-freetype=/app/src/freetype/
--with-fontconfig=/app/src/fontconfig/
--with-jpeg=/app/src/jpeg6/
** Configuration summary for gd 2.0.33:
 
   Support for PNG library:          yes
   Support for JPEG library:          yes
   Support for Freetype 2.x library:    yes
   Support for Fontconfig library:     yes
   Support for Xpm library:           no
   Support for pthreads:             yes
Make
Make install
zlib-1.2.3.tar.gz
http://www.gzip.org/zlib/zlib-1.2.3.tar.gz
tar -zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/app/src/zlib
Make
Make install
libxml2-2.6.30.tar.gz
ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.30.tar.gz
tar -zxf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30
./configure --prefix=/app/src/libxml --with-zlib=/app/src/zlib/
Make
Make install
gettext-0.17.tar.gz
ftp://ftp.gnu.org/gnu/gettext/gettext-0.17.tar.gz
tar -zxf gettext-0.17.tar.gz
cd gettext-0.17
./configure --prefix=/app/src/gettext --with-libxml2-prefix=/app/src/libxml/
Make
Make install
php-5.2.6.tar.gz
http://cn.php.net/distributions/php-5.2.6.tar.gz
tar -zxf php-5.2.6.tar.gz
cd php-5.2.6
./configure
--prefix=/app/src/php
--with-config-file-path=/etc/
-with-mysql=/app/src/mysql/
--with-apxs2=/app/src/apache2/bin/apxs
--with-gd=/app/src/gd2/
--with-libxml-dir=/app/src/libxml/
--with-gettext=/app/src/gettext/
--with-freetype-dir=/app/src/freetype/
--with-zlib-dir=/app/src/zlib/
--with-jpeg-dir=/app/src/jpeg6/
--with-png-dir=/app/src/libpng/
--with-mysql-sock=/tmp/mysql.sock
--enable-zend-multibyte
--enable-mbstring
--enable-sockets
--enable-ftp
--with-bz2
--enable-soap
 
Make
Make test
Make install
cp php.ini-desk   /etc/php.ini
ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar zxf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3
./install
按照提示一步一安装
phpMyAdmin-3.1.0-all-languages.tar.gz
http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-3.1.0-all-languages.tar.gz?download
tar zxf phpmyadmin/phpMyAdmin-3.1.0-all-languages.tar.gz
cp phpmyadmin/phpMyAdmin-3.1.0 /opt/www/phpmyadmin
cronolog-1.6.2.tar.gz //apache 日志切割工具
http://cronolog.org/download/cronolog-1.6.2.tar.gz
./configure --prefix=/app/src/cronolog
Make
Make install