apache+mysql+phpforlinux全攻略
下载 MySQL, php, apache 套件要架设这样的一个主机需要哪些套件呢?不就是: Apache、MySQL及 PHP 啰!
Apache:目前 Apache 已经出到了 2.0.X 版,但是最广泛使用的还是属于 1.3.X 版本,这一版本目前出到最新的 1.3.20 版,你可以上 Apache 主网页去看看相关的信息:
Apache 主页(英文):
Apache 套件(由主页下载):
PHP:目前最新的是 4.0.6 版(2001年6月才出来的喔),你可以上 php 的主网页去看看一些相关的咚咚喔!
PHP 主页(英文):
PHP 主页下载:
MySQL:目前最新的版本是 3.23.41,同样的,你也可以上 MySQL 官方网页去看看喔!
MySQL 主页(英文):
MySQL 主页下载:
也就是说,我们需要的档案有三个,分别是:
apache-1.3.20.tar.gz
php-4.0.6.tar.gz
mysql-3.23.41.tar.gz
安装 MySQL,php 与 apache
安装这三个套件比较需要小心,因为使用 RPM 升级的话,可能没有办法取得最新的套件版本,所以这里我们使用最原始的原始码升级方法。安装的方法如下:
去除旧版的咚咚与解压缩:
去除相关的旧版资料,如果你是 RedHat 6.1 的话,则下面的套件你可以先去除喔!
[root@tsai /root]# rpm -e mod_perl
[root@tsai /root]# rpm -e phpfi
[root@tsai /root]# rpm -e apache
当然啰,如果你之前安装了旧版的 Apache 、 PHP、或 MySQL,那你也可以移除。其实这是个人习惯,有的人喜欢保存两种版本在他们的系统中,若你也想安装两种版本在你的系统中,那你也不需要移除 rpm 的安装套件喔!不过,为了怕系统冲突,你必须要以 setup 的程序来取消 httpd, php 及 mysql 的服务喔!
解压缩:
假如你将 Apache, MySQL 及 PHP 三个档案放置在 /home/test 这个目录中,而要将资料解压缩到 /usr/local 当中,则可以这样下指令:
[root@tsai /root]# cd /usr/local
[root@tsai local]# tar -zxvf /home/test/apache_1.3.20.tar.gz
[root@tsai local]# tar -zxvf /home/test/mysql-3.23.41.tar.gz
[root@tsai local]# tar -zxvf /home/test/tar -zxvf /test/php-4.0.6.tar.gz
则在 /usr/local 中会多出三个目录,分别是:apache_1.3.20, mysql-3.23.41, php-4.0.6。
安装 MySQL 套件:
如果你英文够好的话,你可以到 /usr/local/mysql-3.23.41 这个目录中察看一下 INSTALL-SOURCE 这个档案,里面对于如何安装适合你的 MySQL 有很详尽的说明。如果你要照我的步骤作的话,请往下看吧!
[root@tsai /root]# cd /usr/local/mysql-3.23.41
[root@tsaimysql-3.23.41]#./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/var
上面这个步骤在检查你的系统,以设定适合你的系统的资料!
其中, --prefix 后面接你要安装的 MySQL 目录所在,而 --localstatedir
后面则是接你要将数据库放置的地方,通常我们都会设定在 var 里面。
[root@tsai mysql-3.23.41]# make
[root@tsai mysql-3.23.41]# make install
上面两个步骤在安装 mysql 到你刚刚设定的 /usr/local/mysql 路径中。
注意啰,上面的步骤按你的 CPU 而可以耗掉很长的时间!
[root@tsai mysql-3.23.41]# ./scripts/mysql_install_db
如果你之前已经安装过 MySQL 的话,这一步骤就不用安装了,
这个步骤在产生 grant tables 这个东西!也就是数据库啦!
这个步骤很是重要,如果没有此步骤,则你的 MySQL 是不会动作的!
[root@tsai mysql]# adduser mysql
[root@tsai mysql]# chown -R mysql:mysql /usr/local/mysql
上面这个步骤在产生 mysql 这个帐号及群组名称,另外,
将 /usr/local/mysql 这个刚安装完毕的咚咚指定为 mysql 的所有,
这是为了安全性的考量,因为 mysql 的帐号与你原本 linux 的帐号是不同的喔!
[root@tsai mysql]# cd /usr/local/mysql/share/mysql
[root@tsai mysql]# chmod 777 mysql.server
上面这个步骤再将你的 mysql.server 这个激活 mysql 的执行档,
设定成大家都可以使用的格式。
[root@tsai mysql]# /usr/local/mysql/bin/safe_mysqld --user=mysql &
上面这一行在以 mysql 这个人来激活 mysql 的服务喔!
[root@tsai mysql]# /usr/local/mysql/bin/mysqladmin -u root password abcde
上面这一行在设定 root 的 mysql 密码,其中 abcde 是密码,你可以自行设定喔!
上面这样就安装完毕了!完成安装后就要开始测试你的 MySQL 啰!
增加 PHP 模块:
基本上,PHP 可视为 Apache 的一个模块,由于是属于 apache 的一个模块,因此我们必须先针对 Apache 进行一次 configure 的设定侦测,这样才能将 php 增加至 apache 当中,详细步骤如下:
[root@tsai /root]# cd /usr/local/apache_1.3.20
[root@tsai apache_1.3.20]# ./configure --prefix=/usr/local/apache
上面的指令是要将 apache 安装在 /usr/local/apache 的意思,
请注意,要先针对 apache 设定侦测一次才行安装 php 喔!
[root@tsai apache_1.3.20]# cd /usr/local/php-4.0.6
[root@tsai php-4.0.6]# ./configure --with-apache=/usr/local/apache_1.3.20
> --with-mysql=/usr/local/mysql
> --enable-track-vars
请注意上面的指令,中间那三行后面都要接一个 的符号,这是指令继续的意思,
也就是说,其实上面最后四行视为同一行的指令!你也可以将上面的指令写成一长串
另外,要注意的是,apache 需要指向刚刚侦测过设定的目录,而 mysql 则指向
已经安装完毕的目录!千万不要搞错啰!
[root@tsai php-4.0.6]# make
[root@tsai php-4.0.6]# make install
开始安装啰!安装完毕之后,会在 /usr/local/apache_1.3.20/src/modules 中
多一个 php4 的子目录,里面就存在了 php4 的主要链接库啰!
[root@tsai php-4.0.6]# cp /usr/local/php-4.0.6/php.ini-dist /usr/local/lib/php.ini
将主要的 php 设定档 php.ini-dist 拷贝成 /usr/local/lib/php.ini 这个档案,
这是因为 apache 或其它程序执行 php 时需要到 usr/local/lib/ 中去使用这档案,
如果您对 php 熟悉的话,可以修改 /usr/local/lib/php.ini 这个档案,以符合你的设定。
上面这样就安装完 php 套件啰!
安装 Apache 套件:
再来就是重头戏啦,开始安装 apache 啰!由于已经安装了 php ,所以在 /usr/local/apache_1.3.20/src/modules 中就会存在 php4 的目录!
[root@tsai /root]# cd /usr/local/apache_1.3.20
[root@tsai apache_1.3.20]# ./configure --prefix=/usr/local/apache
>--activate-module=src/modules/php4/libphp4.a
上面这两行是同一行啦,要注意的是 --activate-module 这一行,这个得先
安装过 php 才能使用这一个模块!
[root@tsai apache_1.3.20]# make; make install
这样就安装完毕啦!开始来设定 WWW 与测试相关的模块啦!
简易设定 apache
要来激活 Apache 啰,在这一版(1.3.20)当中,已经只剩下一个参数设定档『httpd.conf』这个档案。如果你是使用 RedHat6.1 原本的 apache 则有三个档案,分别是:
httpd.conf
access.conf
srm.conf
以下将以 apache_1.3.20 版进行说明,如果你是以旧版的 apache 安装的话,请在其它两个档案中找寻相关的设定吧!
Apache 的主要目录型态:
这是蛮重要的一个地方,因为不同版本的 Redhat 及不同的安装方法,会产生蛮大差异的目录型态,以下以 Redhat6.1, RedHat7.0+CLE0.9, 及使用原始码安装 1.3.20 的目录型态:
Redhat 6.1:若使用原始的 apache 1.3.9 的话,则你的参数设定档会在 /etc/httpd/conf 当中,而主机的网页放置于 /home/httpd/html 中,至于 cgi 的咚咚则放在 /home/httpd/cgi-bin 当中;
RedHat7.0 + CLE 0.9:同样的,这个系统的预设 apache 的参数档,放置在 /etc/httpd/conf 中,不过主机网页移至 /var/www/html 当中,cgi-bin 则放置在 /var/www/cgi-bin 中;
原始码安装:若使用原始码安装,且将预设的路径设置在 /usr/local/apache 时,你的参数设定档会在 /usr/local/apache/conf 中,而更动较大的是主机网页的放置目录,更改成 /usr/local/apache/htdocs 这个目录中,至于 cgi 也是放置在 /usr/local/apache/cgi-bin 当中。
底下将以原