CentOS5.5+LAMP源码包安装(含源码包地址)

来源:互联网 发布:家庭装修效果图软件 编辑:程序博客网 时间:2024/05/16 07:53
系统CentOS5.5,LAMP架设全部用源码包
源码包存放位置:/home/lamp
软件:

libxml2-2.6.30.tar.gz:ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.30.tar.gz

libmcrypt-2.5.8.tar.gz:http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
zlib-1.2.5.tar.gz:http://zlib.net/zlib-1.2.5.tar.gz(需要翻墙才能下载)
libpng-1.2.44.tar.gz:ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.2.tar.gz
jpegsrc.v8b.tar.gz:http://ijg.org/files/jpegsrc.v8c.tar.gz
freetype-2.4.3.tar.gz:http://mirror.yongbok.net/nongnu/freetype/freetype-2.4.4.tar.gz
autoconf-2.68.tar.gz:ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
gd-2.0.35.tar.gz         https://bitbucket.org/pierrejoye/gd-libgd/downloads

httpd-2.2.17.tar.gz:http://labs.renren.com/apache-mirror//httpd/httpd-2.2.17.tar.gz
mysql-5.1.52.tar.gz:
http://mysql.easynet.be/Downloads/MySQL-5.5/mysql-5.5.11.tar.gz

php-5.2.14.tar.gz:http://cn.php.net/get/php-5.2.17.tar.gz/from/this/mirror

ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz:
http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
phpMyAdmin-3.3.8-all-languages.tar.gz:

安装:
1)
#tar zxvf libxml2-2.6.30.tar.gz
#cd libxml2-2.6.30
#./configure --prefix=/usr/local/libxml2    //--prefix=/usr/local/libxml2:在安装时软件安装到/usr/local/libxml2
#make
#make install
2)
#cd ..
#tar zxvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
#./configure --prefix=/usr/local/libmcrypt
#make
#make install
不同版本linux有可能还要安装libltdl库
#cd /home/lamp/libmcrypt-2.5.8/libltdl
#./configure --enable-ltdl-install   //--enable-ltdl-install:配置ltdl库的安装
#make
#make install
3)
#cd ..
#cd ..
#tar zxvf zlib-1.2.5.tar.gz
#cd zlib-1.2.5
#./configure --prefix=/usr/local/zlib
#make
#make install
4)
#cd ..
#tar zxvf libpng-1.2.44.tar.gz
#cd libpng-1.2.44
#./configure --prefix=/usr/local/libpng
#make
#make install
5)
#mkdir /usr/local/jpeg8
#mkdir /usr/local/jpeg8/bin
#mkdir /usr/local/jpeg8/lib
#mkdir /usr/local/jpeg8/include
#mkdir -p /usr/local/jpeg8/man/man1
#cd ..
#tar zxvf jpegsrc.v8b.tar.gz
# cd jpeg-8b/
#./configure --prefix=/usr/local/jpeg8/ --enable-shared --enable-static     //--enable-shared:建立共享库使用的GNU的libtool;--enable-static:建立静态库使用的GNU的libtool
#make
#make install
6)
#cd ..
#tar zxvf freetype-2.4.3.tar.gz
#cd freetype-2.4.3
#./configure --prefix=/usr/local/freetype
#make
#make install
7)
#cd ..
#tar zxvf autoconf-2.68.tar.gz
#cd autoconf-2.68
#./configure
#make
#make install
8)
#cd ..
#tar zxvf gd-2.0.35.tar.gz
#cd gd-2.0.35
#./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg8/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/        //--with-zlib=/usr/local/zlib/:指定zlib库文件的位置;//--with-jpeg=/usr/local/jpeg8/ :指定jpeg库文件的位置;--with-png=/usr/local/libpng/:指定png库文件的位置;--with-freetype=/usr/local/freetype/:指定freetype 2.x字体库的位置
#make
#make install

9)
#cd ..
#tar zxvf httpd-2.2.17.tar.gz
#cd httpd-2.2.17
#./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-z=/usr/local/zlib/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support     //--sysconfdir=/etc/httpd:指定Apache服务器的配置文件存放位置;--with-z=/usr/local/zlib/:指定zlib库文件的位置;--with-included-apr使用捆绑APR/APR-Util的副本;--disable-userdir:请求的映像到用户特定目录;--enable-so:以动态共享对象(DSO,*.so的文件,可以使用动态加载模块功能)编译;--enable-deflate=shared缩小传输编码的支持;--enable-expires=shared:期满头控制;--enable-rewrite=shared:基于规则的URL操控(Apache服务器具有rewrite功能:修改网页的url路径);--enable-static-support:建立一个静态链接版本的支持
#make
#make install

#/usr/local/apache2/bin/apachectl start          //启动apache

若出现:

httpd: apr_sockaddr_info_get() failed for server

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

 

这个错误:修改/etc/hosts

127.0.0.1               localhost.localdomain localhost server(添加server,server是主机名)

设置apache服务开机自启动

#cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
#vim /etc/rc.d/init.d/httpd
在第一行#!/bin/sh下增加两行文字如下(不加这两行就无法使用chkconfig --add命令)
# chkconfig: 35 70 30
# description: Apache

#chkconfig --add httpd
#service httpd start      //启动apache服务
#chkconfig --level 3 httpd on
#chkconfig --level 5 httpd on

/etc/httpd/httpd.conf         //apache主配置文件
#/usr/local/apache2/bin/apachectl configtest        //检查配置文件中的错误
Syntax OK                              //表示没有错误
#/usr/local/apache2/bin/apachectl -t                    //检查配置文件中的错误
Syntax OK                              //表示没有错误
#/usr/local/apache2/bin/apachectl -l                  //查看已经编译到Apache服务器中的模块

10)
#groupadd mysql
#useradd -g mysql mysql
#cd ..
#tar zxvf mysql-5.1.52.tar.gz
#cd mysql-5.1.52
#./configure --prefix=/usr/local/mysql --with-extra-charsets=all    // --with-extra-charsets=all:安装mysql时安装所有的字符集
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql/
#bin/mysql_install_db --user=mysql     //创建授权表
#chown -R root .                //将安装目录以及以下的文件和目录的所属用户改为root
#chown -R mysql var/        //将安装目录下的var目录的所属用户改为mysql
#chgrp -R mysql .              //将安装目录以及以下的文件和目录的所属组改为mysql
#/usr/local/mysql/bin/mysqld_safe --user=mysql&         //启动mysql服务
#bin/mysql -u root           //启动mysql客户端控制台
若无法启动提示:
bin/mysql: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
解决方法:#cp /usr/local/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/      即可
#bin/mysqladmin version       //查看MySQL版本
#bin/mysqladmin variables         //查看所有mysql参数
如果有匿名账户存在,它拥有全部的权限,一次删掉它可以提高安全:
>DELETE FROM mysql.user WHERE Host='localhost' AND User='';
>FLUSH PRIVILEGES;

>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); 
     //设置修改密码
#bin/mysqladmin -u root -p shutdown         //关闭mysql数据库
设置mysql开机启动
#cp /home/lamp/mysql-5.1.52/support-files/mysql.server /etc/rc.d/init.d/mysqld
#chown root.root /etc/rc.d/init.d/mysqld
#chmod 755 /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --level 3 mysqld on
#chkconfig --level 5 mysqld on

#service mysqld restart           //重启mysql服务器

10)mysql-5.5.11编译安装

下载:cmake-2.8.4.tar.gz:http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

#tar zxvf cmake-2.8.4.tar.gz

#./bootstrap

#gmake

#make install

编译安装mysql-5.5.11

#tar zxvf mysql-5.5.11

#groupadd mysql

#useradd -g mysql mysql

#mkdir -p /data/mysql           //存放数据库

#chown -R mysql.mysql /data

#mkdir /usr/local/mysql       //mysql安装位置

#chmod +x /usr/local/mysql

#chown mysql.mysql /usr/local/mysql

#cd mysql-5.5.11

#

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -

DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -

DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -

DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -

DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL_USER=mysql

#cp support-files/my-medium.cnf /etc/my.cnf

#

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

#vim /etc/rc.d/init.d/mysqld

添加:

basedir=/usr/local/mysql

datadir=/data/mysql

#chkconfig --add mysqld

 

11)

#cd ..
#tar zxvf php-5.2.14.tar.gz
#cd php-5.2.14
#./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/jpeg8/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets            //--with-config-file-path=/usr/local/php/etc:php5配置文件存入路径;--with-apxs2=/usr/local/apache2/bin/apxs:告诉php查找Apaache2的地方;--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/jpeg8/:告诉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放置libmcrypt库的地方;--with-mysqli=/usr/local/mysql/bin/mysql_config:变量激活新增加的mysqli功能;--enable-soap:变量激活SOAP和Web services支持;--enable-mbstring=all:使多字节字符串支持;--enable-sockets:变量激活socket通信特性
#make
#make install
#cp php.ini-dist /usr/local/php/etc/php.ini
#vim /etc/httpd/httpd.conf
把所有/usr/local/apache2/htdocs 都改为/var/www/     //修改WEB文档根目录
AddType application/........
AddType application/........
AddType application/x-httpd-php .php .phtml       //可以将任何后缀的文件解析为PHP
AddType application/x-httpd-source .phps           //为了将作为.phps作为PHP的源文件进行语法高亮显示
#service httpd restart
#vim /var/www/html/test.php
<?php
phpinfo();
?>

测试是否test.php是否可运行:http://IP/test.php
12)
#cd ..
#tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
#cd ZendOptimizer-3.3.9-linux-glibc23-i386
#mkdir /usr/local/zend
#cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/
#vim /usr/local/php/etc/php.ini
在结尾增加:
zend_optimizer.optimization_level=15
zend_extension=/usr/local/Zend/ZendOptimizer.so

#service httpd restart
然后测试:http://IP/test.php

13)
#cd ..
#tar zxvf
phpMyAdmin-3.3.8-all-languages.tar.gz
#cp -a phpMyAdmin-3.3.8-all-languages /var/www/phpmyadmin
#cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
#vim /var/www/phpmyadmin/config.inc.php
1、$cfg['Servers'][$i]['auth_type'] = 'http';          //原先的改为http:HTTP身份验证模式
改用http,登录phpmyadmin会提示如下

2、$cfg['Servers'][$i]['auth_type'] = 'cookie';          //原先的改为cookie:cookie身份验证模式
$cfg['blowfish_secret']="xxxxxx";                   //这里需要一个任意的字符串
3、$cfg['Servers'][$i]['auth_type'] = 'config';          //原先的改为config:config身份验证模式
$cfg['Servers'][$i]['user']='root';                              //使用你MySQL数据库的用户名
$cfg['Servers'][$i]['password']='123456';                //使用你MySQL数据库的密码

再此处选择HTTP身份验证模式
登录phpmyadmin:http://IP/phpmyadmin/index.php
输入用户名,密码
若登录后提示错误:
#vim /var/www/phpmyadmin/libraries/config.default.php
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';                                         //新增phpmyadmin
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';                         //新增pma_bookmark
$cfg['Servers'][$i]['relation'] = 'pma_relation';                                        //新增pma_relation
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';                                 //新增pma_table_info
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';                      //新增pma_table_coords
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';                             //新增pma_pdf_pages
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';                         //新增pma_column_info
$cfg['Servers'][$i]['history'] = 'pma_history';                                          //新增pma_history
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';          //新增pma_designer_coords
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';                                      //新增pma_tracking
#/usr/local/mysql/bin/mysql -h localhost -u root -p < /var/www/phpmyadmin/scripts/create_tables.sql             //导入表后会生成一个phpmyadmin数据库

然后重启浏览器,若登录后还是不行,删除浏览器历史记录在重启浏览器

 

Apache设置

1)httpd.conf中的全局配置

设置项                                            说明

ServerRoot                                       设置Apache服务器的根(Root)目录

ServerAdmin                                    设置Apache服务器管理员的E-mail地址

ServerName                                     设置Apache服务器的主机名(服务器监听的域名,后可跟域名或IP)

DocumentRoot                                 设置Apache服务器网页(文档)根目录(默认主页的目录)

Listen                                              设置Apache服务器监听的网络端口号

PidFile                                             设置保存httpd服务器程序进程号(PID)的文件

ErrorLog                                          设置Apache服务器中错误日志文件的路径和文件名

CustomLog                                      设置Apache服务器中访问日志文件的路径和文件名

KeepAlive                                       设置为Off时服务器不使用保持连接功能,传输的效率比较低;设置为On时,可以提高服务器传输文件的效率,建议设置保持连接功能有效

MaxKeepAliveRequests                 当KeepAlive为On时,设置客户端每次连接允许请求响应的最大文件数,默认设置为100个文件

httpd.conf的区域设置

KeepAliveTimeout                          设置Web服务器与浏览器之间网络连接的超时秒数

2)除全局设置外,httpd.conf文件中的大多数设置都包括在“区域”中的

<Directory />

    options FollowSymlinks

    AllowOverride None

</ Directory>

3)httpd.conf文件配置

在httpd.conf文件中需要进行UserDir设置

<IfModule mod_userdir.c>

UserDir public_html          //原来的UserDir disable注释掉

</IfModule>

用户目录设置

以user用户登录,然后进行下列操作

用户user宿主目录需要设置为其他用户可以进入

$chown o+rwx /home/user

用户宿主目录中需要建立public_html目录

$mkdir public_html

public_html目录中需要建立index.html文件

访问用户个人主页

http://192.168.1.1/~user

4)DirectoryIndex index.html index.html.var index.php         访问网站主页自动找的文件

5)httpd.conf文件添加虚拟主机

NameVirtualHost 192.168.1.2

<VirtualHost 192.168.1.2:80 >

    ServerName www.test.com          //虚拟主机的域名

    DocumentRoot /home/test.com        //虚拟主机的网页(文档)的存放目录

</ VirtualHost>

6)Apache的两类日志文件

httpd.conf中对日志文件的设置      //到ServerRoot 下的目录下找文件

ErrorLog log/error_log

CustomLog log/access_log common

访问日志文件

用于记录对Apache服务器的访问事件

/usr/local/apache2/logs/access_log

错误日志文件

用于记录Apache服务器中的错误事件

/usr/local/apache2/logs/error_log

7)为防止太多人访问服务器,而使客户端无法访问服务器修改的设置之一

<IfModule prefork.c>

StartServers                        8          //启动服务的数量为8(不能当服务就是8个进程)

MinSpaceServers                5          //最少5个空闲的进程

MaxSpaceServers               20         //最多20个空闲的进程

ServerLimit                          256       //开启进程最多256个

MaxClients                           256       //最多响应客户端256的请求

MaxRequestsPerChild         4000      //每个客户多打开页面的子进程最多不能超过4000

<IfModule>

8)设置Apache服务器网页(文档)根目录(默认主页的目录)

DocumentRoot /var/www/html

<Directory "/var/www/html">        //默认主页的设置

Option Indexes FollowSymlinks             //Indexes:寻找索引文件,FollowSymlinks:寻找跟着的链接

..........

allow from all                           //允许所有客户端访问

..........

</ Directory>

 

9)做虚拟主机(功能是:同一个IP,能用两个不同的域名{www.ex.com,www.ex1.com}访问不同的网站)

1)首先要做DNS服务器,使www.ex.com,www.ex1.com解析出来的结果都是同一个IP

2)#vim /etc/httpd/httpd.conf

新增如下:

NameVirtualHost 192.168.2.101:80

<VirtualHost 192.168.2.101:80>

    ServerAdmin webmaster@ex.com          //该段可不要

    DocumentRoot /var/www/html/ex.com

    ServerName www.ex.com

    ErrorLog logs/dummy-host.ex.com-error_log

    CustomLog logs/dummy-host.ex.com-access_log common

</VirtualHost>

<VirtualHost 192.168.2.101:80>

    ServerAdmin webmaster@ex1.com          //该段可不要

    DocumentRoot /var/www/html/ex1.com

    ServerName www.ex1.com

    ErrorLog logs/dummy-host.ex1.com-error_log

    CustomLog logs/dummy-host.ex1.com-access_log common

</VirtualHost>

#mkdir -p /var/www/html/ex.com          //分别在两个目录(ex.com,ex1.com)下建立index.html文件,内容分别为ex,ex1;为了测试

 #mkdir -p /var/www/html/ex1.com

 #service httpd restart


转载自:http://hi.baidu.com/%BB%C6%D0%C4%B2%A8/blog/item/eaabd2c4e11bfc0b9c163d2f.html