如何安装一个LAMP系统? | |
|---|---|
| 作者:Orla Shanaghy 翻译 2004-10-05 19:51:33 来自:linuxfocus | |
|
目录:
摘要:
在这个指南中,我会告诉你怎么安装一个Linux服务器和一些主要的而且很有用的东西.换句话说,我将告诉你如何安装一个LAMP系统. 介绍本文介绍了如何使用动态共享对象(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系统吧. 在开始安装之前,请务必完整而且仔细的阅读本文! 下载你所需要的软件包在安装之前,你需要下载下列软件包:
安装只要把所有这些安装包全部下载完毕了,你就可以开始安装了。首先,复制这些文件到以下目录(如果你没有这个目录,使用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 需要指出的是,你很有必要按照这里的安装顺序一步一步的执行下去,因为一些软件包需要其他的包才能正常的工作.比如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 注意:最后一步是一次完成的,不要分成两步来做!在"--"的前面有一个空格.-datedir后面接的是你的网站的文件所在的位置,当然你也可以选择你自己的文件所放位置。 如果你修改了"/web/htdocs"这个位置,本文后面的相关位置你也需要相应的作出修改. root:/usr/local/src/lamp/apache_1.3.27 >
make 如果你的输入都正确的话,你的Apache Web服务器应该编译安装完成了的. MySQL 3.23.52如果你按照刚才的步骤做的话,他已经安装好了.安全警告:如果你的服务器连接到公共网络上的话,比如因特网或者内部网,尽量把MySQL服务器的密码设置的复杂些! root:/home/user/download/mysql > rpm -Uvh
MySQL-3.23.52-1.i386.rpm 注意:使用MySQL的RPM所在的位置替换/home/user/donwload/mysql. zlib 1.1.4root:/usr/local/src/lamp/apache_1.3.27 >
cd /zlib-1.1.4/ 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.3libpng的安装有点点不一样。首先,进入目录 /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 >
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
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
/ PHP 4.2.3最后,你需要安装PHP.进入PHP目录: root:/ > cd
/usr/local/src/lamp/php-4.2.3/ 注意:最后一步是一次完成的,不要分成两步来做!在"--"的前面有一个空格, 在第二行和第三行的"sysvshm"和"sysvsem"并不是错误! 象以前一样输入: root:/usr/local/src/lamp/php-4.2.3 >
make 注意:在一些配置比较低的计算机编译(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 然后使用你可以编辑和保存的文本编辑器打开"httpd.conf"文件. 注意:Kate编辑器是很适合编辑配置文件的,注意他必须运行在KDE环境,按 Alt + F2 => kdesu kate来启动他.按Ctrl + G跳转到你想到的那行. 在这个文件的190行你可以找到这些: # 在这里如果没有的话,你需要输入: LoadModule php4_module
libexec/libphp4.so #AddType allows you to tweak mime.types without
actually editing it, or to AddType application/x-httpd-php .htm 注意:请确保输入正确,否则将会出现错误. 如果你不象PHP解析器执行HTML文件,你可以注释掉下面的内容: AddType application/x-httpd-php .htm 现在httpd.conf文件就配置好了.
php.ini现在你需要设置和修改php.ini文件.首先,你需要把php.ini文件复制到适当的位置,进入PHP的安装目录 : root:/usr/local/apache/1.3.27/conf > cd
/usr/local/src/lamp/php-4.2.3/ root:/usr/local/src/lamp/php-4.2.3 > cp
php.ini-dist /usr/local/lib/php.ini 现在使用文本编辑器打开文件"/usr/local/lib/php.ini". 这个扩展所在的的位置是第371行. 他看起来应该象这样: ;Directory in which the loadable extensions
(modules) reside. extension_dir = /usr/local/lib 保存文件. 到这里为止,你全部完成了!全能的LAMP系统! 现在测试服务器,这是为了测试时候你可以成功的启动服务器。第一步是先关闭任何正在运行中旧的服务器(例如当你安装这个版本的时候,如果一个Web服务器已经安装了). 你只需要这样做: root:/usr/local/src/lamp/php-4.2.3 >
killall httpd 现在尝试启动新的服务器: root:/ >
/usr/local/apache/1.3.27/bin/apachectl start 如果你看到了下面的消息... /usr/local/apache/1.3.27/bin/apachectl start: httpd started ... 完全OK,并且你的服务器已经在运行了! 现在进入你的"web/htdocs"目录(DocumentRoot 如果你已经选择了另外一个目录,记得做相应的改变if ) 并在那里建立一个叫info.php的新文件,按照下面来做: user:/ > cd /web/htdocs/ 用文本编辑器打开ingo.php并按照下面编辑: <?PHP echo phpinfo(); ?> 注意:确认没有任何错漏,包括括弧! 保存并退出编辑器. 现在到了最激动人心的部分!在你的浏览器输入下面的地址: http://127.0.0.1/info.php or http://localhost/info.php or http://rechnername/info.php or http://lokale_IP/info.php 此时,如果你可以看到phpinfo()的输出的话,一切都正如我们所愿,你可以随意的进行PHP编程了,恭喜你!你现在不但拥有了一个全能的LAMP系统,还拥有了一个Web服务器. 注意:你现在可以在/web/htdocs目录下新建多个子目录(或者你在安装的时候指定的任何目录).例如,如果你有多个Web工程,你可以为每一个工程创建一个目录. 注意/web/htdocs (或者其他你指定的目录) 是你的Web服务器的根目录. 这就是URL地址是http://127.0.0.1/info.php的原因,如果你有其他的子目录,例如project1, project2,等等.你只需要把URL地址改成: http://127.0.0.1/project1/ or http://127.0.0.1/project2/,等等. 注意:PHP文件只要他们在/web/htdocs或者子目录下才会被执行! 你可以随意的扩展你的Web服务器. 推荐在这个部分,我推荐一些可以让你更好的管理系统和Web服务器的工具:Webmin 1.000 (http://www.webmin.com/) Webmin可以让你完全轻松的管理你的系统,你也可以使用他轻松的配置你的Web服务器,例如.让你的Web服务器随着系统的启动而启动,对MySQL同样有用。 由于Webmin本身很容易使用,因为这个,他非常之适合Web服务器新手. 下载: http://prdownloads.sourceforge.net/webadmin/webmin-1.000.tar.gz?download or http://www.webmin.com/ phpMyAdmin 2.3.1 (http://www.phpwizard.net/projects/phpMyAdmin/) phpMyAdmin专门为MySQL定制的非常好的工具. 他可以让你建立,删除和编辑表和和其他许多的功能,同样是强烈推荐. 下载: (phpMyAdmin-2.3.1-php.tar.gz) http://www.phpmyadmin.net/index.php?dl=2 使用Webmin配置设置Apache服务器::webmin => Server => Apache Webserver Module config: Apache server root directory: /usr/local/apache/1.3.27/bin/ Path to httpd executable: /usr/local/apache/1.3.27/bin/httpd Apache version: select empty field and enter: => 1.3.27 Path to apachectl command: in empty field => /usr/local/apache/1.3.27/bin/ Command to start Apache: in empty field => /etc/init.d/apachectl start 注意:如果apachectl不在这个目录,那就复制一个到这里: root > cp /usr/local/apache/1.3.27/bin/apachectl /etc/init.d/ 停止Apache: in empty field => /etc/init.d/apachectl stop Display virtual servers as: => Icons Order virtual servers by : => order in config file(s) Maximum number of servers to display => 100 Path to httpd.conf in empty field => /usr/local/apache/1.3.27/conf/httpd.conf Path to srm.conf in empty field => /usr/local/apache/1.3.27/conf/srm.conf Path to access.conf in empty field => /usr/local/apache/1.3.27/conf/access.conf Path to mime.types in empty field => /usr/local/apache/1.3.27/conf/mime.types File to add virtual servers to: => httpd.conf Test config file before applying changes? => Yes 注意:不需要输入=> ! 如果你想Apache服务器在系统启动的时候也随之启动,你可以在Webmin这样设置: webmin => System => Bootup and Shutdown 如果Apache没有在这里监听,把他作为一个新的服务写入. Name => apachectl Script => is usually loaded automatically Start at boot time? => Yes Bootup commands => /etc/init.d/apachectl start Shutdown commands => /etc/init.d/apachectl stop 升级升级PHP首先,复制新版本的PHP包到下面的目录:/usr/local/src/lamp/ 假设这个新版本的PHP是PHP 4.2.4 (我不知道是否真是这个名字).这个部分描述了你升级PHP需要的步骤.基本上,你所希望的是把旧版本的PHP升级到新版本的. 把刚才复制的文件解包. 打开命令行,并执行下面的命令: user:~ > su 如果你旧版本的源文件仍然在"/usr/local/src/lamp"目录的话,执行下面的命令 . 我们就版本的目录叫做 "/usr/local/lamp/php-4.2.3". 我们首先需要创建一个新的libphp4.so.把原来的重命名成"libphp4-4.2.3 .so": root:/ > cd
/usr/local/apache/1.3.27/libexec/ 我们再创建一个旧版本的php.ini的备份: root:/ > cd / 接着再删除就版本的php.ini: root:/ > rm
/usr/local/lib/php.ini 最好保存你旧版本的PHP源文件,因为你可以少输入很多东西! 这是因为这个就版本的目录"/usr/local/lamp/php-4.2.3"保存着一个短的shell脚本,他保存着上次./configure的所有参数.因此如果你不保存这个目录,你现在将不得不手动的输入所有的参数! 现在执行./configure: root:/ > cp
/usr/local/lamp/php-4.2.3/config.nice
/usr/local/lamp/php-4.2.4/config.nice 注意:同样,如果你没有保存旧的目录"/usr/local/lamp/php-4.2.3",你需要手动输入所有./configure的参数,正如在上面"Installation => PHP 4.2.3" 描述的那样. 复制php.ini到合适的地方: root:/ > cd / 现在只须按需要改变php.ini,正如上面 "Configuration => php.ini"所描述. 最后,重新启动Apache,你的服务器升级完毕: root:/ > /usr/local/apache/1.3.27/bin/apachectl restart 结束语后记正如我们所知,人无完人,在本文中同样会出现错误。如果这方面的专家读了本文并觉得有地方需要修正,缺漏了一些东西或者需要进一不解释,请告诉我, 我可以改进这个指南.他也在SuSE Linux 8.0测试通过,同样你可以在其他Linux版本中使用.当然有许多途径配置一个LAMP系统,但是本指南是基于告诉初学者如何建立一个Web服务器的。我将继续更新这个指南,建议你访问我的主页以获取最新的指南(请看下载链接旁边的注释). 相关参考
(编辑:admin)
|