这个写得很清楚,就拿它作范本开始学习
时间:2006-01-14 来源:海卵石
安装一个LAMP系统

摘要:
在这个指南中,我会告诉你怎么安装一个Linux服务器和一些主要的而且很有用的东西.换句话说,我将告诉你如何安装一个LAMP系统.
首先,我将告诉你这个LMAP的缩写代表的是什么.
LAMP就是Linux Apache MySQL PHP,你或许可以从名字猜到,一个LAMP系统包括一个Linux操作系统,一个Apache Web服务器,一个MySQL数据库,和一个脚本语言PHP.
介绍
本文介绍了如何使用动态共享对象(DSO)来安装一个LAMP系统.DSOs和静态安装相比的主要优点:你很容易就可以随时使用任何一个新版本的模块的覆盖其相应的旧版本的模块而不用从新编译安装所有其他的模块. 无论这个模块是PDF-Lib模块,GD-Lib模块或者任何其他的模块. 使用静态安装,打个比方,如果你想把PHP 4.2.3升级到PHP 4.2.4,你必须重新编译和安装所有的东西,Apache服务器,PDF-Lib和其他所有你需要的模块(当然包括PHP本身在内),但是使用DSO安装,只有PHP受到影响,而其他的所有东西还是保持不变的.
注意:一般来说,由于安装过程有可能是不一样的,你应该在安装或编译每个软件之前仔细的阅读README文件.通常,成功的安装依赖于./configure后面的开关. 基于我的测试,这个安装应该一次成功,如果出现任何错误,请参考README文件,并确认使用root权限进行安装!
导言已经足够了.让我们开始安装我们的LAMP系统吧.
在开始安装之前,请务必完整而且仔细的阅读本文!
下载你所需要的软件包
在安装之前,你需要下载下列软件包:- Apache 1.3.27
(http://www.apache.org/)
直接下载:
http://www.apache.org/dist/httpd/apache_1.3.27.tar.gz (2,2 MB)
- MySQL
(http://www.mysql.org/)
红帽RPM包 (rpm):
MySQL 3.23.52 Server (i386) (7.4M)
MySQL 3.23.52 Client programs (i386) (2.2M)
MySQL 3.23.52 Libraries and Header files for development (i386) (743K)
MySQL 3.23.52 Client shared libraries (i386) (232K)
- zlib 1.1.4
(http://www.gzip.org/zlib/)
下载:
ftp://ftp.info-zip.org/pub/infozip/zlib/zlib-1.1.4.tar.gz (177 KB)
- GD Library 1.8.4
(http://www.boutell.com/gd/)
下载:
http://www.boutell.com/gd/http/gd-1.8.4.tar.gz (252 KB)
注意:由于许可的原因,GD库不在支持GIF格式(并且已经不支持这种格式一段时间了)!
- PDF Lib 4.0.3
(http://www.pdflib.com/pdflib/index.html)
下载:
http://www.pdflib.com/pdflib/download/pdflib-4.0.3-Linux.tar.gz (3,2 MB)
- PHP 4.2.3
(http://www.php.net/)
下载:
http://us3.php.net/do_download.php?download_file=php-4.2.3.tar.gz (3,3 MB)
安装
只要把所有这些安装包全部下载完毕了,你就可以开始安装了。首先,复制这些文件到以下目录(如果你没有这个目录,使用mkdir /usr/local/src/lamp命令来建立lapm目录):/usr/local/src/lamp/
唯一你不需要复制到这里的文件就是MySQL RPM文件,因为他们可以直接的安装。最好先安装MySQL,想知道如何安装他,请看下面"MySQL 3.23.52"这部分
现在六个包都应该以tar.gz的形式放在 /usr/local/src/lamp/目录了.你需要使用下面的步骤把他们解包.
注意:你需要输入的命令是下面的黑体; 计算机输出是普通字体,所以的输入都起始于一个>符号.
首先打开一个控制台(shell终端,例如bash),然后在执行下面的命令:
user:~ > su
[Now enter your root password]
root: ~> cd /usr/local/src/lamp
root:/usr/local/src/lamp > tar -xvzf apache_1.3.27.tar.gz
root:/usr/local/src/lamp > tar -xvzf zlib-1.1.4.tar.gz
root:/usr/local/src/lamp > tar -xvzf libpng-1.2.2.tar.gz
root:/usr/local/src/lamp > tar -xvzf gd-1.8.4.tar.gz
root:/usr/local/src/lamp > tar -xvzf pdflib-4.0.3.tar.gz
root:/usr/local/src/lamp > tar -xvzf php-4.2.3.tar.gz
需要指出的是,你很有必要按照这里的安装顺序一步一步的执行下去,因为一些软件包需要其他的包才能正常的工作.比如GD库需要zlib和libpng,而libpng又需要zlib. 好,现在让我们开始Apache web服务器的安装吧.
Apache 1.3.27
注意:确保你阅读了README文件!在这里./configure有好几个可以设置的开关.不要使用--enable-module=all编译Apache Web服务器!如果这样的话,任何模块都不会编译进去的. 最好的方法就是尽可能的指定一些模块. 一般说来,这样做对DSO的支持已经足够了. 之后你可以自己添加任何其他的模块,这就是DSO安装的优势所在.
按照下面的方法来安装和配置Apache.
首先,象刚才那样进入命令行模式(shell终端,例如 Bash),
注意:不要在命令行下输入user:/usr/local/src/lamp >.这个是Linux命令行和当前的路径,你的命令行可能看起来不一样.
user:/usr/local/src/lamp > cd apache_1.3.27
user:/usr/local/src/lamp/apache_1.3.27 > su
[Enter your root password]
root:/usr/local/src/lamp/apache_1.3.27 > ./configure --prefix=/usr/local/apache/1.3.27 --datadir=/web/htdocs --enable-rule=SHARED_CORE --enable-module=so
注意:最后一步是一次完成的,不要分成两步来做!在"--"的前面有一个空格.-datedir后面接的是你的网站的文件所在的位置,当然你也可以选择你自己的文件所放位置。 如果你修改了"/web/htdocs"这个位置,本文后面的相关位置你也需要相应的作出修改.
root:/usr/local/src/lamp/apache_1.3.27 > make
root:/usr/local/src/lamp/apache_1.3.27 > make install
如果你的输入都正确的话,你的Apache Web服务器应该编译安装完成了的.
MySQL 3.23.52
如果你按照刚才的步骤做的话,他已经安装好了.安全警告:如果你的服务器连接到公共网络上的话,比如因特网或者内部网,尽量把MySQL服务器的密码设置的复杂些!
root:/home/user/download/mysql > rpm -Uvh MySQL-3.23.52-1.i386.rpm
root:/home/user/download/mysql > rpm -Uvh MySQL-client-3.23.52-1.i386.rpm
root:/home/user/download/mysql > rpm -Uvh MySQL-devel-3.23.52-1.i386.rpm
root:/home/user/download/mysql > rpm -Uvh MySQL-shared-3.23.52-1.i386.rpm
注意:使用MySQL的RPM所在的位置替换/home/user/donwload/mysql.
zlib 1.1.4
root:/usr/local/src/lamp/apache_1.3.27 > cd /zlib-1.1.4/
root:/usr/local/src/lamp/zlib-1.1.4 > ./configure --shared
root:/usr/local/src/lamp/zlib-1.1.4 > make
root:/usr/local/src/lamp/zlib-1.1.4 > make install
Comment: we use the switch --shared here to tell zlib that we want to include the library as a dynamic module in PHP.
libpng 1.2.3
libpng的安装有点点不一样。首先,进入目录 /libpng-1.2.3/scripts/ :
root:/usr/local/src/lamp/zlib-1.1.4 > cd ../libpng-1.2.3/scripts/
root:/usr/local/src/lamp/libpng-1.2.3/scripts > cp makefile.linux ../makefile
root:/usr/local/src/lamp/libpng-1.2.3/scripts > cd ..
继续输入下面的命令:
root:/usr/local/src/lamp/libpng-1.2.3 > make test
如果这时没有任何出错信息,你可以使用下面的命令安装libpng:
root:/usr/local/src/lamp/libpng-1.2.3 > make install
gd-1.8.4
首先进入目录gd-1.8.4:
root:/usr/local/src/lamp/libpng-1.2.3 > cd ../gd-1.8.4/
你同样应该看make file.如果你系统的某些东西有变化,你可以使用你喜欢的文本编辑器对make file做相应的修改.
通常情况下,你不需要对make file进行任何更改.
如果你现在喜欢上了编译文件,你可以输入下面的命令:
root:/usr/local/src/lamp/gd-1.8.4 > make
root:/usr/local/src/lamp/gd-1.8.4 > make install
如果这时出现了任何错误,输入下面的命令:
root:/usr/local/src/lamp/gd-1.8.4 > make clean
当出现了错误你才需要执行最后的命令!如果你执行了make clean,你必须再次检查make file并且适当的修改他,然后再执行make.
注意:务必要检查INCLUDEDIRS和LIBDIRS的设置是否正确!
PDF-Lib 4.0.3
这个笔尖简单,因为模块已经编译好了,你只需要把他复制到/usr/local/lib目录.输入下面的命令:
root:/usr/local/src/lamp/gd-1.8.4 > cd /
root:/ > cp /usr/local/src/lamp/pdflib-4.0.3-Linux/bind/php/php-4.2.1/libpdf_php.so /usr/ local/lib/libpdf_php.so
PHP 4.2.3
最后,你需要安装PHP.进入PHP目录:
root:/ > cd /usr/local/src/lamp/php-4.2.3/
root:/usr/local/src/lamp/php-4.2.3 > ./configure --with-apxs=/usr/local/apache/1.3.27/bin/apxs --enable-track-vars -- enable-ftp --with-zlib --with-gd --with-sockets --enable-sockets --with-sysvshm --with-sysvsem --disable-debug --with-pdflib-dir=/usr/local/lib --with-tiff-dir=/usr/local/lib --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/lo cal/lib --with-zlib-dir=/usr/local/lib --with-mysql --with-xml
注意:最后一步是一次完成的,不要分成两步来做!在"--"的前面有一个空格, 在第二行和第三行的"sysvshm"和"sysvsem"并不是错误!
象以前一样输入:
root:/usr/local/src/lamp/php-4.2.3 > make
root:/usr/local/src/lamp/php-4.2.3 > make install
注意:在一些配置比较低的计算机编译(make)PHP需要花比较长的时间,所以如果一段时间内没有任何反应的话,请不要不烦躁。你可以使用rm /usr/local/src/lamp -r命令删除 /usr/local/src/lamp目录 确认要正确输入,因为以root执行"rm -r /"将破坏整个系统,可是,如果删除了"usr/local/lamp"目录的话,在重新安装或者升级系统的时候,你需要做更多的工作,所以你可以只删除以".tar.gz"结尾的源代码包.
配置
httpd.conf
安装完毕,现在开始配置.首先,我们需要告诉Apache Web读物器让他支持*php或者*.php3文件.
进入Apache的"conf"目录:
root:/usr/local/src/lamp/php-4.2.3 > cd /usr/local/apache/1.3.27/conf
root:/usr/local/apache/1.3.27/conf >
然后使用你可以编辑和保存的文本编辑器打开"httpd.conf"文件.
注意:Kate编辑器是很适合编辑配置文件的,注意他必须运行在KDE环境,按 Alt + F2 => kdesu kate来启动他.按Ctrl + G跳转到你想到的那行.
在这个文件的190行你可以找到这些:
#
#Dynamic Shared Object (DSO) Support
#
#To be able to use the functionality of a module which was built as a DSO you
#have to place corresponding `LoadModule' lines at this location so the
#directives contained in it are actually available _before_ they are used.
#Please read the file README.DSO in the Apache 1.3 distribution for more
#details about the DSO mechanism and run `httpd -l' for the list of already
# built-in (statically linked and thus always available) modules in your httpd
#binary.
在这里如果没有的话,你需要输入:
LoadModule php4_module libexec/libphp4.so
#AddType allows you to tweak mime.types without actually editing it, or to
#make certain files to be certain types.
#AddType application/x-tar .tgz
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
AddType application/x-httpd-php .phtm
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
注意:请确保输入正确,否则将会出现错误.
如果你不象PHP解析器执行HTML文件,你可以注释掉下面的内容:
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
现在httpd.conf文件就配置好了.