ubuntu7.10中apache2.2.6+php5.2.5+mysql5.0.45编译配置

来源:互联网 发布:c语言求三角形角度 编辑:程序博客网 时间:2024/06/07 10:30
 

1、概述

本方案描述了如何在ubuntu搭建LAMP运行环境,及其所需的各种软件的版本信息、免费下载地址、配置步骤等,具体所需软件包括:Ubuntu7.10 操作系统、apache2.2.6php5.2.5mysql5.0.45等。

2、相关软件版本及下载地址

以下软件都下载到/home/fafa211/Download.

  1. 操作系统

版本:Ubuntu 7.1.0

(安装方法与下载地址请查看文档:ubuntu硬盘安装详解.doc

  1. Apache2.2.6

下载地址:http://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.bz2

  1. Php5.2.5

下载地址:http://cn2.php.net/distributions/php-5.2.5.tar.bz2

  1. Mysql5.0.45

下载地址:http://ftp.stu.edu.tw/pub/Unix/Database/Mysql/Downloads/MySQL-5.0/mysql-5.0.45-linux-i686.tar.gz

  1. php编译所需部分模块

1)、gd-2.0.35源码下载地址

http://www.libgd.org/releases/gd-2.0.35.tar.gz

(gd-2.0.33下载地址 http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

2)、jpegsrc.v6b源码地址

http://www.ijg.org/files/jpegsrc.v6b.tar.gz (地址已失效)

地址改为:http://down1.chinaunix.net/distfiles/jpegsrc.v6b.tar.gz 

3)、zlib-1.2.3源码地址

http://www.zlib.net/zlib-1.2.3.tar.gz

4)、freetype-2.1.3源码地址

http://easynews.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.3.tar.bz2

5)、libpng-1.2.8源码地址

http://prdownloads.sourceforge.net/libpng/libpng-1.2.8-config.tar.gz?download

3、软件的安装目录

安装软件总目录为:/usr/install

apache的安装目录为:/usr/install/apache2

mysql的安装目录为:/usr/install/mysql5

php的安装目录为:/usr/install/php5

php相关模块安装在:/usr/install/modules 目录下。


4、安装Mysql

1)解压缩:

cd /home/fafa211/Download

tar zxvf mysql-5.0.45-linux-i686.tar.gz

2)把解压缩后的mysql目录移到安装目录/usr/install

sudo mv mysql-5.0.45-linux-i686 /usr/install/

cd /usr/install/

sudo mv mysql-5.0.45-linux-i686 mysql5

3)修改配置文件

sudo cp /usr/install/mysql5/support-files/my-medium.cnf /etc/my.cnf

sudo vim /etc/my.cnf

对配置文件进行修改。

主要修改配置选项:

a) default-character-set=UTF8 (注意:客户端和服务器端编码根据需要设置,如网站采用utf-8格式数据,可以统统设置为default-character-set=UTF8 )。

b) ##解决Apache服务器和数据库服务器分开速度过慢的问题,需要

##使用下面选现

skip-name-resolve


##防止客户端程序改变编码

skip-character-set-client-handshake


##The default character set that will be used when a new schema or table is

##created and no character set is defined

default-character-set=utf8


##The default storage engine that will be used when create new tables when

default-storage-engine=MYISAM


##Set the SQL mode to strict

#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

sql-mode选项出现在mysql5.0以后的版本,为了兼容以前的数据与程序,需要屏蔽之。

max_connections = 1000

log-slow-queries

long_query_time = 5

(: max_connections 为允许的最大连接数

log-slow-queries 打开低速查询日志

long_query_time 低速查询的秒数(运行一句sql达到此时间记录在日志里 )


[myisamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

根据优化需要进行测试修改。

4) 添加mysql用户和用户组

# sudo groupadd mysql
# sudo useradd -g mysql mysql


  1. 修改mysql目录权限

    # sudo chown -R root /usr/install/mysql5
    # sudo chgrp -R mysql /usr/ install/mysql5
    # sudo chown -R mysql /usr/install/mysql5/data

  2. 生成mysql系统数据库

    #sudo /usr/install/mysql5/scripts/mysql_install_db –user=mysql&

  3. 启动mysql服务

    sudo /usr/install/mysql5/bin/mysqld_safe --user=mysql &

    启动mysql存在的问题:因mysql没有安装在默认目录(/usr/local/mysql)中,在mysql启动的时候会出现无法启动的问题,解决方法如下:

    需要修改 两个脚本: mysqld_safe mysql.server

    其中mysqld_safe位于mysql安装目录下的 bin目录下,

    mysql.server位于mysql安装目录下的support-files目录下,

    当然最好把mysql.server拷贝到你需要防止的目录下,以方便

    管理mysql,下面说下如何修改这两个脚本:

    非常简单,你可使用任意一种编辑器打开这两个脚本,然后把脚本中的

    /usr/local/mysql/

    替换成你的 mysql所安装的目录即可。在这里应替换为/usr/install/mysql5

    如果这个已经修改完毕,启动mysql仍然存在问题,则可能是文件目录权限的问题!建议把/usr/install/mysql5/data中的所有文件权限都设置为所有者和组均为mysql

  4. 修改mysqlroot密码

    # /usr/install/mysql5/bin/mysqladmin -u root -p password 123456
    回车出现 Enter password: 最开始密码默认为空 继续回车即可 123456 即为你的新密码. 也可执行 /usr/install/mysql5/bin/mysql -uroot 进入mysql
    客户端。

    mysql> use mysql

    mysql> update user set `Password`=password('123456') where `User`='root' and `Host`='localhost';

    ctrl+c

    设置完毕。

  5. 关闭mysql服务。

    sudo /usr/install/mysql5/bin/mysqladmin -uroot -p123456 shutdown

    或者: sudo killall -9 mysqld

  6. mysql服务写入开机执行服务。

    编辑rc.local, sudo vim /etc/rc.local

    /usr/install/mysql5/bin/mysqld_safe --user=mysql & 加进去就OK了。



5、安装Apache

1)、解压缩apache安装包

# cd /home/fafa211/Download

# tar jxvf httpd-2.2.6.tar.bz2

# cd httpd-2.2.6

2)、编译安装apache

# sudo ./configure --prefix=/usr/install/apache2 --enable-rewrite=shared --enable-track-vars --enable-cgi --enable-so --enable-mods-shared=all --with-config-file-path=/usr/install/apache2/conf --with-mpm=worker

# make

# make install

若在编译apache的时候碰到configure: error: C compiler cannot create executables

这个问题, 只要安装基础包就可

sudo apt-get install build-essential

再重新编译一下即可通过。

下面是对上述Configure命令的解释:

--prefix=/usr/install/apache2 指定把apahce安装到/usr/install/apache2目录中;

--enable-rewrite 支持重写规则;

--enable-track-vars 为启动cookieget/post等追踪功能;

--enable-cgi 支持CGI

--enable-so DSO功能

--enable-mods-shared=all 包含所有的模块为DSO

--with-config-file-path=/usr/install/apache2/conf 指定把apache的配制文件放在/usr/install/apache2/conf 中;比如httpd.conf配制文件就在这个目录中;

--with-mpm=worker apacheworker方式运行。

3)、apache启动与关闭

启动:sudo /usr/install/apache2/bin/apachectl start

重启:sudo /usr/install/apache2/bin/apachectl restart

关闭:sudo /usr/install/apache2/bin/apachectl stop

4)、把apache写入开机运行服务中。

# sudo vim /etc/rc.local

/usr/install/apache2/bin/apachectl start这行写入即可。

5)、修改apache配置文件httpd.conf

DocumentRoot "/usr/install/apache2/htdocs"

<Directory "/usr/install/apache2/htdocs">


/usr/install/apache2/htdocs修改为你需要设置的脚本文件根目录。

 

使apache支持.shtml

#AddType text/html .shtml

#AddOutputFilter INCLUDES .shtml

把配置文件中这两行的 “#”去掉,然后在 Options Indexes FollowSymLinks 后加上 Includes即可,重启apache.

 


6、安装PHP

1)安装支持包(注意安装顺序)

建立初始目录:

$ cd /usr/install

$ sudo mkdir modules

$ cd modules

$ sudo mkdir jpeg6

$ sudo mkdir jpeg6/bin

$ sudo mkdir jpeg6/lib

$ sudo mkdir jpeg6/include

$ sudo mkdir jpeg6/man

$ sudo mkdir jpeg6/man/man1

a)、安装jpeg6

$ cd /home/fafa211/Download

$ tar zxvf jpegsrc.v6b.tar.gz

$ cd jpeg-6b/

$ ./configure --prefix=/usr/install/modules/jpeg6/ --enable-shared –enable-static

$ make

$ sudo make install

b)、安装libpng

$ tar zxvf libpng-1.2.8-config.tar.gz

$ cd libpng-1.2.8-config/

$ cp scripts/makefile.std makefile

$ make

$sudo make install

c)、安装freetype

$ tar jxvf freetype-2.1.3.tar.bz2

$ cd freetype-2.1.3

$ ./configure –prefix=/usr/install/modules/freetype

$ make

$ sudo make install

d)、安装zlib

$ tar zxvf zlib-1.2.3.tar.gz

$ cd zlib-1.2.3

$ ./configue

$ make

$ sudo make install

###zlib不要用--prefix自定义安装目录,影响gd的安装

e)、安装gd

$ tar zxvf gd-2.0.35.tar.gz

$ cd gd-2.0.35

$ ./configure --prefix=/usr/install/modules/gd --with-jpeg=/usr/install/modules/jpeg6 --with-png --with-zlib –with-freetype=/usr/install/modules/freetype

$ make

$make install


2)、开始安装PHP

$ tar jxvf php-5.2.5.tar.bz2

$ cd php-5.2.5

$ ./configure --prefix=/usr/install/php5 --with-gd=/usr/install/modules/gd --with-jpeg-dir=/usr/install/modules/jpeg6 --with-zlib --with-png-dir=/usr/lib --with-freetype-dir=/usr/install/modules/freetype --with-mysql=/usr/install/mysql5 --with-pdo-mysql=/usr/install/mysql5 --with-iconv --enable-mbstring --with-pear --with-apxs2=/usr/install/apache2/bin/apxs --with-config-file-path=/usr/install/php5/etc –with-libxml-dir=/usr/lib

$ make

$ sudo make install

下面为对configue命令选项的解析:

--prefix=/usr/install/php5 指定php的安装目录;

--with-gd=/usr/install/modules/gd 指定gd库的位置;

--with-jpeg-dir=/usr/install/modules/jpeg6 指定jpeg的位置;

--with-zlib 包含zlib模块;

--with-png-dir=/usr/lib 指定png的位置;

-with-freetype-dir=/usr/install/modules/freetype 指定freetype的位置;

--with-mysql=/usr/install/mysql5 指定mysql数据服务器安装的位置;

--with-pdo-mysql=/usr/install/mysql5 支持pdo_mysql/usr/install/mysql5为数据库服务器安装目录;

 

--with-iconv 支持iconv库;

--enable-mbstring 支持mbstring模块;

--with-pear 支持pear

--with-apxs2=/usr/install/apache2/bin/apxs 这是加入apache中为DSO模块的位置;

--with-config-file-path=/usr/install/php5/etc 指定php的配置文件存放位置;

with-libxml-dir=/usr/lib 指定libxml2的安装位置,ubuntu7.1.0已安装libxml2,若未安装可使用 sudo apt-get install libxml2 进行安装;


$ sudo cp php.ini-dist /usr/install/php5/etc/

注:php.ini-distphp的解压缩目录中,把它拷贝到php编译时指定的配置文件存放处。


3)、使apache支持php脚本

 

编辑httpd.conf脚本,在AddType application/x-gzip .gz .tgz后面加上下面两句:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

 

然后找到

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>


把其中的 DirectoryIndex index.html 改为:DirectoryIndex index.html index.php

这样就可以把index.php作为服务器默认查找的页面了。

重启apache即可。


4)、修改PHP配置文件

$ cd /usr/install/php5/etc

$ sudo mv php.ini-dist php.ini

$ sudo vim php.ini

 

进行php.ini文件的配置工作(下面的配置可以暂时省略,优化时再进行配置,优化时要注意根据自己服务器来进行相应的配置,下面的配置只是作为一种参考)

查找safe_mode=Off,更改为safe_mode=On

1)查找max_execution_time = 30,更改为max_execution_time = 600

2)查找max_input_time = 60,更改为max_input_time = 600

3)查找memory_limit = 8M ,更改为memory_limit = 20M

4)查找display_errors = On,更改为display_errors = Off

5)查找register_globals = Off,更改为register_globals = On

6)查找post_max_size = 8M,更改为post_max_size = 20M

7)查找upload_max_filesize = 2M,更改为upload_max_filesize = 20M

保存后退出,从而完成了php.ini文件的配置工作。


原创粉丝点击