手动安装lamp

当前,PHP已经发展成为一种主流的Web编程语言,要使用PHP进行程序设计,首先就要搭建好一个PHP的系统环境,这方面的文章在互联网上可以找到很多,但大多是针对较旧的软件版本而言,或者是在RedHat环境下使用RPM软件包进行安装的。本文要阐述的是在Ubuntu Server环境下,使用当前最新的源码软件包进行编译安装的过程,虽然Ubuntu Server自带LAMP的环境软件包,可以选择安装,但本文旨在说明使用软件源码包进行编译、安装的过程,这样做即方便对软件的管理,又便于用户了解软件环境的最终配置。基于同样的原因,本文也不会对在Ubuntu Server中使用apt-get安装、配置PHP环境的方法进行阐述。
(注:本文是按照实际的安装过程进行讲述的,为了说明一些问题,其间有多次重复操作,对于希望一次性完成安装配置的朋友,建议看完全文后再进行实际操作) 
之所以选择Ubuntu Server作为系统环境,完全是出于个人喜好,对于使用其他Linux发行版本的用户而言,使用源码包编译、安装软件的配置过程基本上大同小异,本文所讲述的方法和过程同样可以适用于其他Linux发行版本。
关于操作系统的安装就不在这里赘述了,不同的Linux发行版本或许存在些许差异,只要设置正确,不会对后面的PHP环境搭建造成任何影响。因为全部使用源码包进行安装、编译,所以,本文建议在安装操作系统时单独划分/opt分区,作为软件的安装分区,而不是安装在默认的/usr/local下,以方便日后的配置和管理。
Ubuntu Server默认安装的情况下,不会安装任何应用软件,是一个“纯净”的操作系统。但在使用源码包编译、安装的过程中,将会需要用到一些必须的编辑器、库文件等,亦即Ubuntu的依赖关系,本文会在编译、安装的过程中,对这部分内容做简要介绍。
(这里补充说明一下,Ubuntu的apt-get是个很好的工具,借助这个程序,可以很方便的安装各种应用程序,但是使用这个程序的前提是需要设置好“ 软件源”,系统安装完成后,默认的软件源列表可在/etc/apt/sources.list中查看,里面包括的软件源大多数为互联网软件源,但对尚未配置好网络链接的系统,这些互联网软件源就派不上用场了,这种情况下,可以通过Ubuntu的光盘来安装软件,但是sources.list中默认是将光盘软件源屏蔽掉的,需要手动修改一下:
cd /etc/apt
sudo vi sources.list
将里面的互联网软件源部分,使用“#”屏蔽掉,或者删除,将光盘软件源前面的“#”去掉,以便启用光盘软件源。
另外,使用Ubuntu-Server光盘安装的系统,sources.list中记录的光盘源就是Ubuntu-Server的光盘,但Ubuntu- Server光盘中的软件源不如Ubuntu-DVD光盘中的丰富,所以,这里建议添加Ubuntu-DVD光盘到sources.list,在需要的时候,就可以使用Ubuntu-DVD光盘来安装需要的软件,而不必一定要连接互联网才能操作。具体操作如下:
sudo apt-cdrom add
(会提示插入光盘,放好Ubuntu-DVD光盘后确认。)
修改并添加完成后,还需要对软件源列表进行更新,以便让系统能够准确识别,操作如下:
sudo apt-get update
至此,软件源的设置工作就完成了。本文后面讲述的安装过程中,涉及到apt-get的部分,均是使用光盘源进行的,而没有使用任何互联网软件源。)
言归正传,下面开始我们的安装、配置之旅。
首先,我们要获得Apache、Mysql和PHP的源码包,软件的官方网站如下:
Apache: http://www.apache.org 
MySQL:http://www.mysql.com 
PHP: http://www.php.net 

下载获得的源码软件包分别为:
httpd-2.2.9.tar.gz
mysql-5.0.67.tar.gz
php-5.2.6.tar.gz

各源码包解压后,将会生成一个与其主文件名同名的目录(使用tar指令解压,使用参数zxvf,即“tar zxvf 压缩包名”),由于在编译、安装PHP时需要对Apache和Mysql的支持情况进行配置,所以,PHP只能最后安装,而Apache和MySQL的安装顺序则相对随意些,本文将首先安装MySQL(本文建议创建单独的目录用于软件的编译、安装,避免与源码包中的数据混淆,也方便对软件的重新编译)。

一、编译、安装Mysql 
在与mysql-5.0.67目录同级的目录下,创建一个“makemysql”目录,在此目录下对MySQL进行配置,操作如下:
mkdir makemysql
cd makemysql
sudo ../mysql-5.0.67/configure --prefix=/opt/mysql --localstatedir=/home/user/mysql_data --with-extra-charsets=all
(这里--prefix选项指定了软件的安装目录;--localstatedir选项指定了数据库文件的所在目录,这里的user表示当前的用户名称;--with-extra-charsets选项则是指定了MySQL可以支持的语言编码,这里设置为全部支持,具体使用哪种编码,可以在程序中指定。
而命令前面的“sudo”,可以说是Ubuntu系统的一个特色,表明了要在具有管理员权限的模式下进行操作,对于其他的Linux发行版本而言,或许并不需要使用该指令。关于Ubuntu的权限问题,这里就不赘述了,有兴趣的朋友可以参考一下Ubuntu的有关资料)
回车确认后,第一个问题出现了,将会看到如下的报错信息:
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
上述信息表明,当前系统中没有安装C++编译器,系统无法对源码包进行编译,知道了问题所在,我们就可以有的放矢的开始解决问题了。
Ubuntu系统自带了很多编译、开发所必须的软件包,只是我们安装的是Ubuntu-Server系统,默认的状态下,除了系统自身外,不会安装任何其他软件。上述的这个问题只要安装Ubuntu系统自带的“build-essential”软件包就可以,操作如下:
sudo apt-get install build-essential
由于该软件包属于Ubuntu-Server系统自带的,系统会提示要求使用Ubuntu-Server的光盘进行安装,只有当Ubuntu-Server的光盘中没有需要安装的软件包时,才会通过前面手动添加的Ubuntu-DVD的光盘源进行安装)
安装好了所需的编译器之后,需要重新配置MySQL,操作如下:
cd /home/user/makemysql (这里假定前面获取的源码包和前面创建的专门用于编译的目录是位于/home/user下的,根据自己的实际情况输入即可)
sudo ../mysql-5.0.67/configure --prefix=/opt/mysql --localstatedir=/home/user/mysql_data --with-extra-charsets=all
经过了一连串儿的编译过程后,第二个问题又出现了,在编译过程的最后,将会看到如下的错误信息:
checking for termcap functions library... configure: error: No curses/termcap library found
从提示的错误信息中可以看出,这是由于系统中缺少了MySQL所需的库文件所导致的,apt-get再次派上了用场,操作如下:
sudo apt-get install libcurses (这里不按回车,而是按Tab键)
这里将会看到软件源中包括的所有文件名以libcurses开头的软件包列表,如下:
libncurses5 libncurses5-dev libncurses-dev libncursesw5
这里我们需要安装的是libncurses5-dev软件包(安装了build-essential软件包后,一些基本的库文件都会随之安装的,如果再遇到缺少库文件的提示,大部分是因为没有安装对应的dev库,也就是对应的“开发包”所导致的,应根据具体情况进行判断。)
找到了所需的软件包,安装之,操作如下:
sudo apt-get install libncurses5-dev
(这里将会提示插入Ubuntu-DVD光盘,因为Ubuntu-Server光盘中并没有这个软件包,插入Ubuntu-DVD光盘后确认。如果没有在前面添加Ubuntu-DVD的光盘源,使用这种方法将无法查找到这个软件包,只能先查找资料,确定所需的软件包名称,再使用互联网软件源安装,或者将软件包下载到本地进行安装。)
安装好库文件后,再次重新配置MySQL,操作如下:
cd /home/user/makemysql
sudo ../mysql-5.0.67/configure --prefix=/opt/mysql --localstatedir=/home/user/mysql_data --with-extra-charsets=all
长长的编译过程结束后,将会看到“Thank you for choosing MySQL!”的字样,编译成功!
编译完成后,开始安装MySQL,操作如下:
sudo make
sudo make install
安装结束后,MySQL服务并不会自动启动,还需要先初始化MySQL数据库,操作如下:
cd /opt/mysql/bin
sudo ./mysql_install_db
MySQL数据库初始化完成后,MySQL服务会随之启动,可以使用“netstat -lt”查看MySQL服务是否已经正常启动。
这里要说明的是,由于在编译MySQL的时候,为数据库指定了存放路径,即/home/user/mysql_data,对当前用户user而言,拥有该目录的全部权限,所以,这里直接在当前用户下执行mysql_install_db指令,可以成功初始化数据库,如果用户在安装时没有指定数据库的路径,或者指定到了一个当前用户没有权限的路径,直接执行mysql_install_db指令时将会报错,需要首先设置相应的权限,或者指定MySQL的启动用户。关于这个问题,这里就不具体说明了,感兴趣的朋友可以查阅相关资料。
MySQL服务成功启动后,为了能够正常使用MySQL,首先需要设置root用户的密码(注:这里的root用户与Linux系统的root用户不同),操作如下:
cd /opt/mysql/bin
./mysqladmin -u root password 123456
这里将MySQL的root用户密码设置为123456,设置好后,可以先测试一下是否能够正常连接,操作如下:
./mysql -uroot -p123456
如果一切正常,将会看到“mysql>”的提示符,表明已经使用root用户与本机的MySQL服务成功建立了连接。至此,MySQL的编译、安装成功完成。
还有一点需要说明,MySQL服务默认只允许从******本机连接,如果需要从远程连接,还需要在MySQL中设置相应的权限,并更新权限表,具体操作如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
mysql> flush privileges;
(注意前面的“mysql>”,这个操作是连接到MySQL服务后,在MySQL中进行的,而不是在操作系统中进行的)

(注:上面这个更改权限的例子,是使得可以从任意一台远程终端使用root用户连接MySQL******,用户应根据自己的实际需要进行设置) 


二、编译、安装Apache 
与安装MySQL的步骤相同,首先在与httpd-2.2.9目录同级的目录中,创建一个makeapache目录,并进入该目录,编译、安装Apache,操作如下:
mkdir makeapache
cd makeapache
sudo ../httpd-2.2.9/configure --prefix=/opt/apache
sudo make
sudo make install
(apache的编译参数较多,相对比较复杂,作为一个简单的web平台,这里仅使用了--prefix参数,用以指定安装目录,关于其他功能的设置,有兴趣的朋友可以参阅相关资料)
安装完成后,apache进程并不会自动启动,需要手动启动,操作如下:
cd /opt/apache/bin
sudo ./apachectl start
Apache服务启动后,执行“netstat -lt”指令,将会看到一个名为“www”的进程。也可以通过浏览器进行确认,在浏览器地址栏中输入“http://ip”,如果看到“It works!”字样,就表明Apache服务已经启动成功。
Apache默认的web根目录为Apache安装目录下的htdocs目录,如果希望指定到其他目录,可以通过修改Apahce的配置文件实现,操作如下:
cd /opt/apahce/conf
sudo vi httpd.conf
找到“DocumentRoot "/opt/apache/htdocs"”,将"/opt/apache/htdocs"部分修改为希望使用的目录,此外,还需要找到 “<Directory "/opt/apache/htdocs">”,同样将"/opt/apache/htdocs"修改为希望使用的目录,保存退出。这里需要注意,要修改默认的web根目录,需要同时修改这两项设置,只修改其中一个是无效的。
修改完成后,需要重启apahce服务,才能使新的配置生效,操作如下:
cd /opt/apache/bin
sudo ./apachectl restart

三、编译、安装PHP 
与前面的过程相似,首先在与php-5.2.6同级的目录下,创建一个makephp目录并进入,在此目录下配置PHP,操作如下:
mkdir makephp
cd makephp
sudo ../php-5.2.6/configure --prefix=/opt/php --with-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --with-config-file-path=/opt/php/etc
(其中,--prefix选项指定了安装目录;--with-mysql选项指定了支持的MySQL服务所在的目录;--with-apxs2选项指定了 PHP要使用的Apache应用所在的目录;--with-config-file-path选项则是指定了PHP配置文件所在的目录。)
直接这样执行后,将会看到这样一个错误:
configure: error: xml2-config not found. Please check your libxml2 installation.
与编译MySQL时相同,这是由于系统缺少PHP所需的库文件导致的,根据提示,进行如下操作:
sudo apt-get install libxml2(按Tab键)
将会看到如下信息:
libxml2 libxml2-dev libxml2-headers libxml2-utils
这里需要安装的是libxml2-dev软件包(该软件为Ubuntu-Server自带的,需要使用Ubuntu-Server光盘安装),操作如下:
sudo apt-get install libxml2-dev
库文件安装完成后,重新配置PHP,操作如下:
sudo ../php-5.2.6/configure --prefix=/opt/php --with-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --with-config-file-path=/opt/php/etc
编译完成后将会看到“Thank you for using PHP.”的字样,表明PHP已经配置成功了。
接下来编译、安装PHP,操作如下:
sudo make
sudo make install
安装完PHP后,还需要手动修改一下Apache的配置,以便使Apache支持PHP,操作如下:
cd /opt/apache/conf
sudo vi httpd.conf
找到“AddType application”部分,在后面添加如下内容:
AddType application/x-httpd-php .php
(如果需要添加默认php索引文件名的支持,则需要找到“DirectoryIndex index.html ”,修改为“DirectoryIndex index.html index.html.var index.php”),修改完成后保存退出。
此外,不要忘了将PHP安装目录中的php.ini-recommended文件拷贝到编译时指定的PHP配置文件目录/opt/php/etc下,在PHP源码包目录“php-5.2.6”中操作如下:
sudo cp php.ini-recommended /opt/php/etc/php.ini
全部配置完成后,不要忘了重启apache,以便使新的配置生效。
至此,就完成了在Ubuntu Server系统环境下Apache 2.2.9 + Mysql 5.0.67 + PHP 5.2.6的安装配置。可以利用PHP自身的函数进行确认,在web的根目录下创建一个index.php文件,编辑文件内容如下:
<?php
phpinfo();
?>
保存退出后,在浏览器中输入“http://IP/index.php”,如果配置正确,就能够看到刚刚配置好的******相关信息了,其中包括 Apache、MySQL以及PHP的版本、安装路径、配置情况等。如果看到的只是“phpinfo();”字样,说明apache没能正确支持PHP,请检查上述的配置过程是否都已经正确完成。[/url]
Apache、MySQL以及PHP还有很多相关的配置,本文所讲述的只是最基本的一些配置,如果有其他需要,可以根据具体情况做出相应的配置,具体的配置方法和过程,可以参见相关资料,这里就不再一一赘述了(其实很多我也还不明白,呵呵)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值