Linux+Apache+Mysql+PHP典型配置

==================================================================================
安装MySQL需要下面两个文件:
MySQL-server-4.0.16-0.i386.rpm   
MySQL-client-4.0.16-0.i386.rpm
下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停 止。
1)安装服务器端
在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm
显示如下信息。
warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...       ########################################### [100%]
1:MySQL-server     ########################################### [100%]
。。。。。。(省略显示)
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略显示)
Starting mysqld daemon with databases from /var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address     State   
tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN   
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm
warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...    ########################################### [100%]
1:MySQL-client  ########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。

登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于 初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。
===========================================================================================

1.apache

  在如下页面下载apache的for Linux 的源码包

  http://www.apache.org/dist/httpd/;

  存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹。

  命令列表:

  cd /home/wj

  tar -zxvf httpd-2.0.54.tar.gz

  mv httpd-2.0.54 apache

  cd apache

  ./configure --prefix=/usr/local/apache2 --enable-module=so

  make

  make install

  安装apache至/usr/local/apache 并配置apache支持dso方式

  2.php

  在如下页面下载php的for Linux 的源码包

  http://www.php.net/downloads.php ;

  存至/home/wj目录

  命令列表:

  cd /home/wj

  tar -zxvf php-5.0.4.tar.gz

  mv php-5.0.4 php

  cd php

  ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-MySQL

  make

  make install

  其中apache和mysql是根据你安装的目录名变,我的是 =/usr/local/apache2/bin/apxs 和MySQL

  cp php.ini-dist /usr/local/lib/php.ini

  以dso方式安装php至/usr/local/php 设置配置文件目录为/usr/local/lib 开启mysql,xml支持

  3.配置

  vi /usr/local/apache/conf/httpd.conf

  对apache做如下配置

  #将ServerAdmin mailto:linux@linuxidc.com一行改为您的邮箱地址

  #DocumentRoot "/home/httpd/html/" 此处为html文件主目录

  # 同上

  #Options FollowSymLinks MultiViews 为安全起见,去掉"Indexes"

  #

  # DirectoryIndex default.php default.phtml default.php3 default.html default.htm

  #

  #设置apache的默认文件名次序

  #AddType application/x-httpd-php .php .phtml .php3 .inc

  #AddType application/x-httpd-php-source .phps

  #设置php文件后缀

  存盘退出

  vi /usr/local/lib/php.ini

  #register-golbals = On

  存盘退出

  4.启动服务

  /usr/local/apache/bin/apachectl start

  5.测试

  然后写个php测试页info.php:内容如下

  〈?php

  phpinfo();

  ?>

  正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功。

  6、apache自动启动- -

  下面用自启动apache为例;

  自启动脚本:

  /usr/local/apache/bin/apachectl start

  文件位于/etc/rc.d/init.d下,名为apached,注意要可执行.

  #chmod +x /etc/rc.d/init.d/apached //设置文件的属性为可执行

  #ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立软连接,快捷方式

  #ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache

======================================================================================


apache2.2配置好httpd.conf后,无论访问什么路径都出现 403 forbidden的提示,一般有两种可能性。

一种可能性是DocumentRoot选项的设置,如果在安装好apache2后修改了该选项,并且忘记了配置该新目录的访问权限就会出现这样的情况。比如apache2安装好后默认的参数如下
DocumentRoot /usr/local/www/data

<directory "/usr/local/www/data">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</directory>

我们常常会重新指定web文件存放的目录,比如设定
DocumentRoot /var/www
这时往往会忽略了对后面的Directory 项的修改,必须将里面的路径同时修改为 /var/www才行,否则将会访问所有目录都出现 403 forbidden错误。

另外一种可能性出现在我们配置了不同的VirtualHost,并且有某个VirtualHost的DocumentRoot不在全局的 DocumentRoot目录下,这时必须在全局种单独增加对该目录的Directory 项进行设置,否则该VirtualHost下的所有访问均会出现403 forbidden错误。

这个问题是因为Apache2对于权限和安全的更高要求,对分布在不同磁盘上的目录文件进行严格管理,我们进行web规划的时候必须注意这一点。

posted @ 2008-03-11 15:54  xin478  阅读(931)  评论(0编辑  收藏  举报