1.1走进LAMP的世界
LAMP是一个缩写,是指一组通常一起使用来运行动态网站或者服务器的自由软件。本教程LAMP指:linux+apache+mysql+php。
LAMP环境是现在主流PHP的环境,虽然PHP在windows里面也能使用apache或者iis搭建起运行环境,但是有些PHP函数的调用或者部分功能,由于windows系统中运行而不能实现。所以对于有一定经验PHP开发人员或服务器管理员。有必要学习怎么自主搭建LAMP环境。
1.2 安装前准备
今天我们就来一步步的实现LAMP的搭建,我们使用的系统是Redhat linux 9。由于Redhat linux 9自带的Apache、Mysql、libxml2和PHP的版本太老了,有些比较新的PHP的程序不能安装或正常运行。我们全部使用外带包。
安装必备软件包:
软件名称: | 官方网站: |
httpd-2.2.8.tar.gz | http://www.apache.org/ |
Libxml2-2.7.1.tar.gz | 使用搜索引擎直接搜索该版本下载 |
Mysql-5.0.91.tar.gz | http://www.mysql.com/ |
PHP-5.2.5.tar.gz | http://www.php.net/ |
2.1 linux安装与配置
Redhat linux 9使用图形化界面安装还是比较简单的。无论是从光盘安装,还是从硬盘安装,我们都可以方便地进入正式的安装过程。让我们来看看安装过程中几个重要的地方。
1.选择系统默认语言
RedHat支持世界上几乎所有国家的语言,这里只要在简体中文前面打上钩,并将系统默认语言选择为简体中文,那么在安装过程结束,系统启动后,整个操作系统的界面都将是简体中文的了,用户不用做任何额外的中文化操作和设置。
2.分区操作
接下来,是磁盘分区的工作,这也许是整个安装过程中惟一需要用户较多干预的步骤,REDHAT Linux 9.0提供了两种分区方式——自动分区和使用DISK DRUID程序进行手动分区
(1)自动分区:如果是全新的计算机,上面没有任何操作系统,建议使用“自动分区”功能,它会自动根据磁盘以及内存的大小,分配磁盘空间和SWAP空间。
这是一个“危险”的功能,因为它会自动删除原先硬盘上的数据并格式化成为Linux的分区文件系统(EXT3、REISERFS等),所以除非计算机上没有任何其他操作系统或是没有任何需要保留的数据,你才可以使用“自动分区”功能。本人强烈建议您使用手动分区。
(2)手动分区:如果硬盘上有其他操作系统或是需要保留其他分区上的数据,建议采用DISK DRUID程序进行手动分区。DISK DRUID是一个GUI的分区程序,它可以对磁盘的分区进行方便的删除、添加和修改属性等操作,它比以前版本中使用的字符界面Fdisk程序的界面更加友好,操作更加直观。下面我们来看看如何使用DISK DRUID程序对硬盘进行分区。
因为Linux操作系统需要有自己的文件系统分区,而且Linux的分区和微软Windows的分区不同,不能共用,所以,需要为Linux单独开辟一个(或若干个)分区。Linux一般可以采用EXT3分区,这也是REDHAT Linux 9.0默认采用的文件系统。
为Linux建立文件分区可以有两种办法,一种是利用空闲的磁盘空间新建一个Linux分区,另一种是编辑一个现有的分区,使它成为Linux分区。如果没有空闲的磁盘空间,就需要将现有的分区删除后,腾出空间,以建立Linux分区。
DISK DRUID程序中有明显的新建、删除、编辑、重设等按钮。用户可以直观地对磁盘进行操作。在使用DISK DRUID对磁盘分区进行操作时,有四个重要的参数需要仔细设定:它们是挂载点、文件系统类型、驱动器、分区大小
挂载点:它指定了该分区对应Linux文件系统的哪个目录,Linux允许将不同的物理磁盘上的分区映射到不同的目录,这样可以实现将不同的服务程序放在不同的物理磁盘上,当其中一个物理磁盘损坏时不会影响到其他物理磁盘上的数据。
文件系统类型:它指定了该分区的文件系统类型,可选项有EXT2、EXT3、REISERFS、JFS、SWAP等。Linux的数据分区创建完毕后,有必要创建一个SWAP分区,它实际上是用硬盘模拟的虚拟内存,当系统内存使用率比较高的时候,内核会自动使用SWAP分区来模拟内存。
大小:指分区的大小(以MB为单位),Linux 数据分区的大小可以根据用户的实际情况进行填写,而SWAP大小根据经验可以设为物理内存的两倍,但是当物理内存大于1GB时,SWAP分区可以设置为2GB。
允许的驱动器:如果计算机上有多个物理磁盘,就可以在这个菜单选项中选中需要进行分区操作的物理磁盘。
经过磁盘分区的操作,安装过程中相对最复杂的一个步骤已经过去,接下来的安装将是一马平川。让我们来继续选择要安装的系统组件。
3.选择安装组件
redhat Linux 9.0和先前的版本在安装组件的选择上非常相似。我们在这里选择定制化安装或者根据自己的需要来选择,但是记得系统自带httpd,mysql,php请不要选择,否则进入系统时候,还要去卸载相关的rpm,才能安装新的LAMP服务。
系统组件安装完毕后,安装程序会自动将用户选择的软件包从光盘介质拷贝到计算机的硬盘上,中途不需人工干预,并且在安装每个系统组件时都会对该组件做简短的说明。
在选择软件包时,如果你想进一步配置系统,可以选定制软件包集合。建议定制,选上KDE桌面环境,这样你就有两个可以和WindowsXP媲美的真彩图标的桌面
怎么样,安装过程很简单吧?当然,这还不是最后一步,因为在安装完所有系统组件后,安装程序还会“体贴”地提醒你制作一张启动磁盘,以备不测。
到此为止,Linux系统就已经顺利地安装完成了。
更改启动方式
作为默认,Redhat Linux 9.0在启动时会自动启动X-Window进入图形化操作界面。而许多Linux铁杆玩家已经习惯了在终端字符界面工作,或是有些玩家嫌X-Window启动太慢,喜欢直观快速的终端命令行操作。
1.进入字符界面
为了在Linux启动时直接进入终端命令行界面,我们可以编辑/etc/inittab文件。找到id:5:initdefault:这一行,将它改为id:3:initdefault:后重新启动系统即可。我们看到,简简单单地将5改为3,就能实现启动时进入X-Window图形操作界面或Console字符界面的转换,这是因为Linux操作系统有六种不同的运行级(run level),在不同的运行级下,系统有着不同的状态,这六种运行级分别为:
0:停机(记住不要把initdefault 设置为0,因为这样会使Linux无法启动)
1:单用户模式,就像Win9X下的安全模式。
2:多用户,但是没有 NFS 。
3:完全多用户模式,标准的运行级。
4:一般不用,在一些特殊情况下可以用它来做一些事情。
5:X11,即进到 X-Window 系统。
6:重新启动(记住不要把initdefault 设置为6,因为这样会使Linux不断地重新启动)。
其中运行级3就是我们要进入的标准终端字符界面模式。
2.自由转换字符界面和X-Window图形界面
在了解了启动自动进入X-Window图形操作界面和终端字符操作界面的转换后,也许你会想,这两种操作界面各有各的好处,我能不能“贪心”一点,同时拥有这两种操作界面呢?在无所不能的Linux操作系统中,这个要求当然是可以得到满足的。
在X-Window图形操作界面中按“Alt+Ctrl+功能键Fnn=1~6 ”就可以进入Console字符操作界面。这就意味着你可以同时拥有X-Window加上6个Console字符操作界面,这是一件多么令人振奋的事情啊!
在终端字符操作界面里如何回到刚才的X-Window中呢?很简单,按“Alt+Ctrl+F7”即可。这时Linux默认打开7个屏幕,编号为tty1~tty7。X-Window启动后,占用的是tty7号屏幕,tty1~tty6仍为字符界面屏幕。也就是说,用“Alt+Ctrl+Fn”组合键即可实现字符界面与X Window界面的快速切换。
Linux的老用户们都知道,X-Window是一个非常方便地图形界面,它能使用户用鼠标最简单的进行操作,但是它也有不少缺点:比如启动和运行速度慢、稳定性不够、兼容性差、容易崩溃等。但是一旦X-Window系统出了问题,并不会使整个Linux系统的崩溃而导致数据丢失或系统损坏,因为当X-Window由于自身或应用程序而失去响应或崩溃时,我们可以非常方便地退出X-Window进入终端进行故障处理,要做的只是按“Alt+Ctrl+Backspace”键,这意味着只要系统没有失去对键盘的响应,X-Window出了任何问题,都可以方便地退出
2.2 Apache安装与配置
现在开始搭建环境了,我们打开终端。在/usr/local/目录下,建立一个文件work用于解包。
命令:mkdir /usr/local/work
将你所有下载LAMP服务相关软件复制到/usr/local/work目录下,由于我是光盘所以的软件都在
/mnt/cdrom/目录下。复制到/usr/local/work目录下的命令为:
cp /mnt/cdrom/软件名.tar.gz /usr/local/work/软件名.tar.gz
注意最好不要重命名,以免出错。请一个软件一个软件的复制。
1 先来安装Apache服务器,打开/usr/local/work目录。
cd /usr/local/work
2解压安装包。完成后进入到httpd-2.2.8目录中。
tar xfz httpd-2.2.8.tar.gz
cd httpd-2.2.8
3建立makefile,将Apache服务器安装到/usr/local/Apache2下。
./configure –prefix=/usr/local/Apache2 –enable-module=so
4编译文件
make
5开始安装
make install
6安装完成后,使用vi打开/usr/local/Apache2/conf/httpd.conf设置一下。
vi /usr/local/Apache2/conf/httpd.conf
找到#ServerName将其后面的域名加端口号改为localhost:80并且把前面#去除使其生效。记得保存哦。如果不明白请看图:
7我们现在来启动Apache服务添加系统启动项中。
启动apache服务器并加入系统启动项,以后重新启动服务器后请输入一下命令启动服务。
/usr/local/apache2.2/bin/apachectl start >> /etc/rc.d/rc.local
重启apache服务器
/usr/local/Apache2/bin/apachectl restart
8打开Mozilla浏览器,在地址栏里输入“http://localhost/”,按Enter键后如果显示apache安装测试页面或者浏览器显示“It work”都说明apache安装成功。
2.3 MYSQL安装与配置
1由于前面我们已经把所有的tar.gz包全部复制到/usr/local/work下了,我们这里就不复制了。
2创建MYSQL帐号并加入组群
groupadd mysql
useradd -g mysql mysql
3解压安装包。完成后进入到mysql-5.0.91目录中。
tar -zxvf mysql-5.0.91.tar.gz
cd mysql-5.0.91
4建立makefile,将MYSQL数据库服务器安装到/usr/local/mysql下
./configure --prefix=/usr/local/mysql
5编译文件
make
6安装文件
make install
7安装完成后配置相关文件
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cd /usr/local/mysql
chown -R mysql.mysql .
./bin/mysql_install_db --user=mysql
chown -R root .
chown -R mysql var
8安装完成启动MYSQL数据库服务
/usr/local/mysql/bin/mysqld_safe –user=mysql &
service mysqld start
9进入MYSQL
/usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or "g.
Your MySQL connection id is 3 to server version: 5.0.22-log
Type 'help;' or '"h' for help. Type '"c' to clear the buffer.
mysql>
================出现以上代码说明已经进入,如果希望有图形化管理数据库可以在PHP装好配置好后,下载一个phpmyadmin来管理MYSQL数据库===================
2.4 PHP 安装与配置
1同样由于前面我们已经把所有的tar.gz包全部复制到/usr/local/work下了,我们这里就不复制了。
2进入目录,分别将libxml2和php解压。
cd /usr/local/work
tar xfz libxml2-2.7.1.tar.gz
tar xfz php-5.2.5.tar.gz
3注意这里是个重点咯,如果这步不做你将无法成功安装PHP,由于linux 9自带的libxml2实在忒老,只能重新安装一个,这时候就出现一个问题咯,我们给先卸载掉系统自带的libxml2,而且是彻底卸除哦。如果在图形化界面的化必须进入命令行操作,因为如果在图形化下当libxml2卸载后图形化界面暂时是无法使用,等新版本安装好后要拷贝一个新版的.so文件才能使用。我们输入一下命令完成卸载工作。
init 3 //进入字符界面
rpm –qa | grep libxml //查看老版本的软件的依存关系,把显示的依存关系全部卸除。
rpm –e –nodeps 文件名(不需要跟版本号) //使用这条命令依次卸除
4卸除完老版本后,我们现在安装新版本的libxml2吧
cd /usr/local/work/libxml2-2.7.1 //进入安装目录
./configure –prefix=/usr/local/libxml2 //建立makefile, 将libxml安装到/usr/local/libxml2下
5编译文件并安装
make
make install
6libxml2安装完毕,开始安装PHP5。进入到php-5.2.5目录下
cd ../php-5.2.5
7建立makefile
./configure –with-apxs2=/usr/local/Apache2/bin/apxs
–with-mysql=/usr/local/mysql –with-libxml-dir=/usr/local/libxml2 //以上命令在一行上
8开始编译和安装
make
make install
9复制php.ini-dist或php.ini-recommended到/usr/local/lib目录,并命名为php.ini
cp php.ini-dist /usr/local/lib/php.ini
10更改httpd.conf文件相关设置,该文件位于/usr/local/Apache2/conf中。找到AddType字段在此字段下添加一下命令并保存。
AddType application/x-httpd-php .php
在找到DirectoryIndex字段在index.html添加index.php并保存
11重启启动Apache并在/usr/local/Apache2/htdocs这个目录默认的主目录,如果你在conf把主目录重新定义了,就以你自己的定义的文件夹为主目录。建立一个文件phpinfo.php。
<?php
phpinfo();
?>
12还记得由于我们把老版本的libxml2的文件卸载了,现在图形界面无法进入,我们现在来配置图形化界面的文件。
从到/usr/local/libxml2/lib/libxml2.so.2到/usr/ lib目录下
cp /usr/local/libxml2/lib/libxml2.so.2 /usr/lib/ libxml2.so.2
重启LINUX系统后,使用命令启动httpd服务和mysql服务,服务启动好后,在浏览器中输入http://localhost/phpinfo.php如能显示说明此配置完成。