Fedora 8 下测试php,mysql,apache

计算机技术   2008-06-07 18:23   阅读14   评论0  
字号:    

 首先,非常高兴今天我的apahce服务器终于能够运行php程序了,这是我非常高兴的,从暑假起我就想在Linux下能够进行php编程,现在终于可以实现这个梦想了,真是太高兴了。哈哈……

    现在把需要的东西记录下来。

    下面这个不知道有没有用,应该是在没有装相应软件的情况下的步骤。

一、关闭图形界面

因为用于开发测试使用,所以没有必要使用图形环境,固将其关闭,以减少资源占用。

编辑/etc/inittab文件:

[root@webapp ~]# cat /etc/inittab

id:3:initdefault:

二、安装所需软件

装完Fedora 7后默认已经安装了Apache,所以我们需要安装的是php和Mysql以及subversion:

1、安装PHP

[root@webapp ~]# yum install php

2、安装Mysql 5

3、安装安装Subversion

[root@webapp ~]# yum install subversion

4、安装php-mysql链接库

yum install php-mysql

三、配置mysql

编辑/etc/my.cnf

四、配置subversion

我的svn库位置放在 /shanmin/svn,请根据自己保存的位置更改相应的命令

创建svn库:svnadmin create /shanmin/svn/

编辑/shanmin/svn/conf/svnserve.conf,把匿名权限设置为none,验证权限设置为write,并且使用passwd验证用户,修改完的代码:

 [root@dev conf]# cat svnserve.conf

### This file controls the configuration of the svnserve daemon, if you

### use it to allow access to this repository.  (If you only allow

### access through http: and/or file: URLs, then this file is

### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]

### These options control access to the repository for unauthenticated

### and authenticated users.  Valid values are "write", "read",

### and "none".  The sample settings below are the defaults.

anon-access = none

auth-access = write

### The password-db option controls the location of the password

### database file.  Unless you specify a path starting with a /,

### the file's location is relative to the conf directory.

### Uncomment the line below to use the default password file.

password-db = passwd

### The authz-db option

controls the location of the authorization

### rules for path-based access control.  Unless you specify a path

### starting with a /, the file's location is relative to the conf

### directory.  If you don't specify an authz-db, no path-based access

### control is done.

### Uncomment the line below to use the default authorization file.

# authz-db = authz

### This option specifies the authentication realm of the repository.

### If two repositories have the same authentication realm, they should

### have the same password database, and vice versa.  The default realm

### is repository's uuid.

# realm = My First Repository

设置passwd文件

 [root@dev conf]# cat passwd

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

[users]

harry = harryssecret

# sally = sallyssecret

passwd文件中,格式是 用户名=密码

 

设置自动发布.这个是用于我们远程提交到svn的代码,自动的发布到apache的目录下,这样我们就可以把提交代码和ftp合并成一个了(这也是我为什么在整个安装过程未提及FTP的原因)。

在/shanmin/svn/hooks下增加post-commit文件。(这里我的web目录为/var/www/html)

 [root@dev hooks]# cat post-commit

#!/bin/sh

export LANG=en_US.UTF-8

/usr/bin/svn update /var/www/html

把这个文件设置成可执行文件。例如:chmod 777 post-commit

五、打开所需服务,关闭无用服务

根据我的习惯,我使用setup关闭和打开了几个服务。(注:因为我把Fedora7放在VMWare里面,所以我尽量的让Fedora7少占资源,把能关的服务都关掉)(从默认开始)

autofs 关闭。不使用移动存储设备就关掉这个。

bluetooth 关闭。没有蓝牙设备,没有任何用处。

cpuspeed 关闭。用于CPU降速的,如果CPU不支持降速就关掉这个。

httpd 打开

iptables 关闭。因为是在内网开发测试使用,所以防火墙基本上没有什么用途。

ip6tables 关闭。没有使用ipv6

isdn 关闭。没有使用ISDN

irqbalance 关闭。不在多CPU环境下,这个服务没有什么用处。

mysqld 打开

netfs 关闭。如果不使用网络挂接就关掉。

yum-updatest 关闭。这个用于自动升级提醒,不进图形界面就没有用处。

 

运行Subversion服务

默认没有给svn提供一个开启的服务,所以我们得手动添加到rc.local文件中(其实完全可以不使用svn服务,而使用Apache。但是因为开发测试环境也在Apache下,我会影响开发,所以一直使用单独的svn服务)。

编辑/etc/rc.local文件,加入svn服务器运行命令

 [root@dev ~]# cat /etc/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

svnserve -d -r /shanmin/svn

六、重起服务器,做最后设置和测试

 把svn中的数据取到apache目录下:

[root@dev ~]# svn checkout svn://127.0.0.1/ /var/www/html/

验证是否正常取出

[root@dev ~]# ll /var/www/html/ -a

total 24

drwxr-xr-x 3 root root 4096 2007-06-24 17:08 .

drwxr-xr-x 6 root root 4096 2007-05-26 03:46 ..

drwxr-xr-x 6 root root 4096 2007-06-24 17:08 .svn

如果有.svn目录证明正常取出。

配置mysql远程管理,默认mysql的root在本机管理,简单起见,我都是把localhost改为%

 [root@dev ~]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.0.37 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> update user set host='%' where host='localhost' and user='root';

Query OK, 1 row affected (0.04 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

mysql>

完成。

后面的对我的帮助也很大,现在也把它贴在这里,以备以后能够用得着。

apache+mysql+php这是一个经典的应用组合,每次学习都要配置,我自己还是很喜欢用这个组合来实现一些东西的。

首先,在官方下载apache、mysql和php的最新版本:

数据库:mysql-standard-5.0.27-linux-i386-glibc23.tar.gz

web服务器:httpd-2.2.3.tar.gz

脚本:php-5.2.0.tar.bz2

然后安装(下载好的安装包都放置在/usr/local/下面)

一、安装mysql

# groupadd mysql

# useradd -g mysql mysql

# cd /usr/local

# tar zvxf mysql-standard-5.0.27-linux-i386-glibc23.tar.gz

# ln -s mysql-standard-5.0.27-linux-i386-glibc23 mysql

# cd mysql

# scripts/mysql_install_db --user=mysql

# chown -R root .

# chown -R mysql data

# chgrp -R mysql .

# cp support-files/my-medium.cnf /etc/my.cnf //复制配置文件,当启动mysql时会读取配置

# vi /etc/my.cnf

查找 The Mysql server

[mysqld]

添加一行:set-variable = max_connections=150

保存并退出

# /usr/local/mysql/bin/safe_mysqld --user=mysql & //启动mysql

此时可以使用/usr/local/mysql/bin/mysqladmin version 查看Mysql DBMS版本和使用信息.

# /usr/local/mysql/bin/mysqladmin -uroot password xxxxx //为root访问设置密码

当计算机重新启动后mysql不会启动,如果想同时启动就添加下面的内容:

# vi /etc/rc.local

添加:/usr/local/mysql/bin/safe_mysqld --user=mysql &

保存并退出

二、安装apache

# cd /usr/local

# tar -zxvf httpd-2.2.3.tar.gz

# cd httpd-2.2.3

# ./configure --prefix=/usr/local/apache --enable-module=most --enable-shared=max

# make

# make install

启动Apache服务: # /usr/local/apache/bin/apachectl start

关闭Apache服务: # /usr/local/apache/bin/apachectl stop

重启Apache服务: # /usr/local/apache/bin/apachectl restart

三、安装php

# cd /usr/local

# tar -jxvf php-5.2.0.tar.bz2

# cd php-5.2.0

# ./configure --prefix=/usr/local/php --with-mysqld=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs

# make

# make install

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

四、配置apache

编辑httpd.conf文件

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

在LoadModule处添加: LoadModule php5_module module/libphp5.so

在DirectoryIndex处添加: index.php

在AddType application处添加: AddType application/x-httpd-php .php .phtml

AddType applicatoin/x-httpd-php-source .phps

五、测试php模块的加载

# /usr/local/apache/bin/apachectl start //开启apache

在浏览器中输入:http://localhost/

浏览器中显示:It Works 表示apache开启www服务

在/var/www/html目录下建一个文件phpinfo.php

输入:phpinfo();

保存并退出

在浏览器中输入:http://localhost/phpinfo.php

浏览器中显示一个关于apache和php安装的Web页,表示成功加载php模块。

不知道这些东西是不是真的有用,但是有了先放到这里,用的时候再拿出来,嘿嘿……

评论(?)
阅读(?)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
网易公司版权所有 ©1997-2009