+ -
当前位置:首页 → 问答吧 → 用源码包安装php-4.34+mysql-4.0.16+apache-2.0.48+vbb-2.32实践总结

用源码包安装php-4.34+mysql-4.0.16+apache-2.0.48+vbb-2.32实践总结

时间:2003-12-04

来源:互联网

声明:转帖时必须加注来源于 http://www.linuxsir.org 以及作者在LinuxSir 的ID;以及保留此声明;

虽然本人深知这篇文章是小儿科,但LinuxSir的弟兄写大多数文章,被没有加注版权的信息转到别的站上,有些事说也说不清楚;

有的弟兄把LinuxSir原创文件转到别的站上,没有加任何声明之类的;而别的弟兄又把这些本来是来源 LinuxSir 的作品又从别的站上转回来;当然这次是加注来源了:( 而此文章的来源的网站的负责人竟然找上门来,说是他们原创的。说来说去,真是欲哭无泪!

所以还是把来源加上为好

多谢

北南 呈上

==============================================================
本帖中可能会存在很多的错误,比如专有名词的译法等,请您指正,多谢!

北南 呈上
==============================================================

操作环境:

Fedora 1.0 core ,本文是讲如何用源码包安装php4.34+mysql4.0.16+apache-2.0.48,这些版本,目前都是最新最稳定的版本;本文只要是讲最简单的安装操作;也就是说让一个新手,能建一个支持由apache 来运行的简单的网站,并支持php和mysql ;

一点说明:

对于高手来说,可能这都是小儿科,所以这篇文章,对于高手来说,没有一点价值。因为对apache熟悉一点的情况下,我们更多的关心扩展功能,比如对asp jsp的支持等。

如果您是初学linux,或者是没有成功编译过apache+mysql+php的安装,我还是建议看一下我写这篇文章,至少于apache和php mysql的安装有点了解,这也是我写此文的目的;


==============================================================
正文:
==============================================================



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

一、如果您原来是采用rpm包安装的apache和php以及mysql,现在大可去完全卸掉它。我们要学会用rpm -qa 这个命令,查询我们安装过的相应的php、mysql以及apache的RPM,然后把这些包一个一个的卸掉

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

1.卸载mysql ;

[root@linuxsir01 root]# rpm -qa | grep mysql
libdbi-dbd-mysql-0.6.5-7
mod_auth_mysql-20030510-3
php-mysql-4.3.3-6
mysql-3.23.58-4
mysql-bench-3.23.58-4
mysql-server-3.23.58-4
freeradius-mysql-0.9.1-1
mysql-devel-3.23.58-4
[root@linuxsir01 root]#

卸载过程:是从最下面的一个包开始,因为有些东西是有顺序的。所以这是要注意的。

在这里,我们应该先应该把mysql-devel-3.23.58-4卸掉,然后才是freeradius-mysql-0.9.1-1等, 要一个一个的来;

方法是:
[root@linuxsir01 root]#rpm -e mysql-devel

再举一例:比如我们想卸载php-mysql-4.3.3-6,应该用下面的办法

[root@linuxsir01 root]#rpm -e php-mysql

这回应该明白了吧:)

如果有卸不掉的,就是有顺序,比如和php相关的,当然要先卸php的了;

2.卸载apache ,方法和mysql的方法是一样的。

[root@linuxsir01 root]# rpm -qa | grep httpd
redhat-config-httpd-1.1.0-5
httpd-devel-2.0.47-10
httpd-manual-2.0.47-10
httpd-2.0.47-10

3.卸载php,和mysql的方法是一样的;
[root@linuxsir01 root]# rpm -qa | grep php
asp2php-0.76.2-6
php-domxml-4.3.3-6
php-mysql-4.3.3-6
asp2php-gtk-0.76.2-6
php-4.3.3-6
php-odbc-4.3.3-6
php-xmlrpc-4.3.3-6
php-imap-4.3.3-6
php-pgsql-4.3.3-6
php-devel-4.3.3-6
php-ldap-4.3.3-6
php-snmp-4.3.3-6

注意:如果有卸不掉的包,应该加参数来卸载,比如我们卸载php-snmp-4.3.3-6,有困难,就要用找出相依赖的包,先卸掉那个包,然后再来卸这个包。可能有实在也卸不掉的。应该用--nodeps这个参数。比如
[root@linuxsir01 root]# rpm -e php-snmp-4.3.3-6 --nodeps



==============================================================
二、通过源码包安装mysql
==============================================================
1.下载:当前最新最稳定的版本应该是mysql-4.0.16 ,比如我们在/opt目录下建一个临时的安装目录software,把下载下来的mysql-4.0.16.tar.gz,放到/opt/software/目录中;

[root@linuxsir01 root]# mkdir /opt/software


http://www.mysql.com/get/Downloads/M...ihostunit.com/

2.解压、编译和安装:

1]解压
[root@linuxsir01 root]# cd /opt/software

[root@linuxsir01 software]# ls
mysql-4.0.16.tar.gz

[root@linuxsir01 software]#tar zxvf mysql-4.0.16.tar.gz

2]编译和安装:在这个地方值得注意的是,我们要把mysql-4.0.16安装到我们指定的目录中,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在/opt 目录里。所以在这里,我们就要把mysql-4.0.16也安装到/opt/mysql这个目录中;
[root@linuxsir01 software]#cd

[root@linuxsir01 software]# cd mysql-4.0.16
[root@linuxsir01 mysql-4.0.16]#
./configure --prefix=/opt/mysql --with-mysqld-user=beinan --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock

[注]关于configure的选项的一点说明:

--prefix=/opt/mysql 把mysql-4.0.16指定安装到/opt/mysql目录中;
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/opt/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/opt/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=beinan 这个是让mysql服务器也能让系统中普通用户beinan也能启动mysql服务器。当然要活学活用了:)你也可以把beinan换成你的系统中已经存在的普通用户,比如您的系统中已经存在sir这个用户,那就把beinan替换成sir就行了。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;

[root@linuxsir01 mysql-4.0.16]#make

[root@linuxsir01 mysql-4.0.16]#make install

这样就安装完了:)

3]配制mysql:安装只是第一步,我们还要对mysql进行相应的配制;

一般的情况下mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。让mysql服务器启动时能找到它。

我们安装好mysql后,配制文件应该在/opt/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf
,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;

进入/opt/mysql这个目录,看一下是不是已经安装好了呢??

[root@linuxsir01 mysql-4.0.16]# cd /opt/mysql/
[root@linuxsir01 mysql]# ls
bin include info lib libexec man mysql-test share sql-bench

我们把/opt/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。
[root@linuxsir01 mysql]# cp /opt/mysql/share/mysql/my-medium.cnf /etc/my.cnf

做了这些工作以后,还得创造MySQL授权表, 否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。mysql的命令都安装到了/opt/mysql/bin这个目录中。

[root@linuxsir01 mysql]#/opt/mysql/bin/mysql_install_db

运行mysql_install_db命令过后,我们查看/opt/mysql就会发现,有个var的目录。这个目录,就是用来装所有数据库的位置,比如我们创建了linuxsir的数据库后,就在在/opt/mysql/var目录中有linuxsir的目录。这回应该明白了吧。

4]启动mysql服务器,可能这是最轻松的了,不过也不能高兴的太早,因为有时会出现权限方面的错误。:)

mysql服务器启动,应该是/opt/mysql/share/mysql目录中的 mysql.server
启动方法是:
[root@linuxsir01 mysql]# /opt/mysql/share/mysql/mysql.server start

启动过后,我们要查看mysql是否启动了,应该用下面的命令;

[root@linuxsir01 mysql]# ps -aux | grep mysqld

如果出现的仅仅是如下的一行,那mysql是没有启动成功。

root 3345 0.0 0.1 5812 648 pts/2 S 17:41 0:00 grep mysqld

我们如何查看错误信息呢?在哪里查看呢?应该到/opt/mysql/var目录中去找一个带有.err后缀的文件;
[root@linuxsir01 var]# cd /opt/myql/var
[root@linuxsir01 var]# more *.err

可能会出现存在下面的错误信息:

031203 14:49:10 mysqld started
031203 14:49:10 Can't start server : Bind on unix socket: Permission denied
031203 14:49:10 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
031203 14:49:10 Aborting

031203 14:49:10 /opt/mysql/libexec/mysqld: Shutdown Complete

031203 14:49:10 mysqld ended

其实这是权限方面的事,我们把权限设置一下就OK了。我们要设置的权限是/opt/mysql/var的目录。要设置为1777。

方法是:

[root@linuxsir01 mysql]# chmod 755 /opt/mysql/var
另外我们要用beinan这个用户来启动mysqld服务器,当然也得改变一下 /opt/mysql/var的属主

[root@linuxsir01 mysql]# chown -R beinan:beinan /opt/mysql/var

[root@linuxsir01 mysql]#su beinan

然后再重启mysql服务器。

[root@linuxsir01 mysql]$ /opt/mysql/share/mysql/mysql.server start

是不是成功了呢??

[root@linuxsir01 mysql]$ps -aux | grep mysql


5]为了让mysql也能让我们刚才编译是指定的普通用户beinan也能启动mysql服务器。所以我们还要把/opt/mysql目录归属到beinan这个用户手下,在这里,我们要用到chown命令。

[root@linuxsir01 mysql]# chown -R beinan.beinan /opt/mysql/

如果您编译时,比如用的是系统中已经存在的sir用户,应该是下面的办法,我们应该学会活学活用,对不对?

[root@linuxsir01 mysql]# chown -R sir.sir /opt/mysql/

至此mysql已经编译安装完成了,下面我们要介绍一点mysql的基本管理,以及最基本的用法。如果您想学的更多的,应该找一下mysql的手册,现在网上一大堆。随手可得,对不对??

3.mysql的一点用法,最基础的的基础



1]如何创建mysqld数据库的管理用户??

数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令;

[root@linuxsir01 root]# /opt/mysql/bin/mysqladmin -u root password 123456
[root@linuxsir01 root]#

通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。

2]如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例;

[root@linuxsir01 root]#/opt/mysql/bin/mysql -uroot -p123456

输出上面的命令后,出现的是如下的提示;

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 3.23.58

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

mysql>

注意:操作这些命令的时候,应该把mysqld服务器打开。这些新手兄弟早就知道了吧:)


3]如何在数据库中操作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄,也不是什么难事;在windows中操作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。

在mysql数据库中,每操作一个命令,都是;号结尾的,可能有的新手弟兄,忘记输入了;号结尾,结果退不出来。:):)

1]查看mysql中都有哪些数据库?
代码:
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
 
mysql>
在mysql安装好,设置好管理员后,第一次进入系统,我们用show databases;命令查看数据库的列表,发现有两个数据库,mysql和test,这是系统自建的,是让大家练习用的。

4]如何创建和删除一个数据库?

比如我要创建一个名为linux的数据库,应该运行如下命令

mysql> create database [数据库名];

所以我们应该运行如下的命令,来创建名为linux的数据库

mysql> create database linux;
Query OK, 1 row affected (0.00 sec)

是不是建好了呢??肯定是建好了,因为都有OK了:)

查看是不是有linux这个数据库了呢?
代码:
mysql> show databases;
+----------+
| Database |
+----------+
| linux |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)
 
mysql>
那我们如何删除一个数据库呢??
mysql> drop database [数据库名];

比如我们要把刚才创建的linux数据库删除,应该用下面的命令;
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)

是不是已经删除了呢??
代码:
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
 
mysql>
5]如何操作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令

mysql>use [数据库];

比如我想指定linux这个数据库为当前数据库,应该是

mysql> use linux;
Database changed
mysql>



6]如何备份数据库??

比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump

命令格式如下:

[root@linuxsir01 root]# /opt/mysql/bin/mysqldump -uroot -p linux > /root/linux.sql
Enter password:在这里输入数据库的密码

通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排;

比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。
[root@linuxsir01 root]#/opt/mysql/bin/mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在这里输入数据库管理员root的数据库密码

这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql

综上所述,我们学习时要学会变通。:):)

5]如何把把备份的数据库导入到数据库中?

首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。

比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作;

[root@linuxsir01 root]# /opt/mysql/bin/mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
Enter password:在这里输入密码

如果机器好,数据库比较小,几分钟就好了。

6]其它一些比较常用的mysql指令;

查看状态
mysql> show status;

查看进程
代码:
mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)
 
mysql>
查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库;

mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)

mysql>


7]对mysql数据库常用命令的一点补充;


几个常用的mysql相关的管理命令

mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。

mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;

isamchk 是用来修复、检查和优化.ism后缀的数据库文件;

mysqldump 是用于备份数据库,前面已经简单的说明过;


myisamchk 用来修复.myi后缀的数据库文件;

比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令;

要把mysqld服务器停下来
[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop

然后执行
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI

上面的命令的意思就是检查所有的.myi文件,数据库的目录在/opt/mysql/var/linux/目录中

如果有问题,应该用-r参数来修复
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI

6]mysqlshow 命令:显示用户选择的数据库和表
[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [数据库名]

比如我要查看名为linux的数据库;应该是:

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux

==============================================================
三、安装apache-2.0.48
==============================================================

1.下载:当前最新最稳定的版本应该是httpd-2.0.48 ,比如我们在/opt目录下建一个临时的安装目录software,把下载下来的httpd-2.0.48.tar.gz,放到/opt/software/目录中;


http://nagoya.apache.org/mirror/http...-2.0.48.tar.gz

2.解压:

[root@linuxsir01 mysql]# cd /opt/software/
[root@linuxsir01 software]# ls

mysql-4.0.16 httpd-2.0.48.tar.gz mysql-4.0.16.tar.gz
[root@linuxsir01 software]#tar zxvf httpd-2.0.48.tar.gz

3.编译:在这个地方值得注意的是,我们要把httpd-2.0.48安装到我们指定的目录中,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在/opt 目录里。所以在这里,我们就要把httpd-2.0.48也安装到/opt/apache这个目录中;

[root@linuxsir01 software]# cd httpd-2.0.48

[root@linuxsir01 httpd-2.0.48]#./configure --prefix=/opt/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf

一点简单的说明:这个apache的安装,有很多的选项,如果您是比较精通,所以必要看此文,可以自己定义来安装。因为我大多是采用默认的配制,如果您想让apache有更多的功能,比如支持压缩输出以及jsp等支持,可以看其它的文章。这篇文件主还要给初学linux的弟兄写的一个简单的入门型文章,直接的说,就是给一点都不懂在linux如何安装apache,并支持php+mysql的。能让初学linux的弟兄自己架一个最简单的网站,这样弄明白原理以后,就便于深入学习和研究。我写此文的目的仅此而已;

--prefix=/opt/apache 指定把apahce安装到/opt/apache目录中;
--enable-cgi 支持CGI;
--with-config-file-path=/opt/apache/conf 指定把apache的配制文件放在/opt/apache/conf中;比如httpd.conf配制文件就在这个目录中;
--enable-track-vars 为启动cookie的get/post等追踪功能

如果需要更多的选项,可能通过下面的命令来查看;

[root@linuxsir01 httpd-2.0.48]#./configure --help

下一步就是make 和make install

[root@linuxsir01 httpd-2.0.48]#make

[root@linuxsir01 httpd-2.0.48]#make install

安装完成后,会在/opt/目录下生成/opt/apache

4.启动apache;如果编译成功后,我们首先想到的是如何启动apache,在这里,我们要明白apache的守护进程是 /opt/apache/bin目录中 apachectl ;

启动apache守护进程;
[root@linuxsir01 httpd-2.0.48]# /opt/apache/bin/apachectl start

打开浏览器,输入 http://localhost 就能看到一个apache的欢迎页面了,这表示我们已经成功解决了apache的安装。

安装仅仅是第一步,那我们如何配制她呢,比如我们想自己指定网站存放的目录??

5.配制apache,我们只做简单的说明,只是让一个网站能简单运行起来就OK了,如果入门后,我们才能进一步学习;学习根本就不能一天的事,可能要花一辈子,或许一辈子过去了,自己感觉也没有学到什么:)


1]配制文件是/opt/apache/conf/httpd.conf,如果是用rpm包安装的,应该在/etc/httpd/conf中,如果是其它方法安装的,用locate httpd.conf来查找。

2]编译安装的apache默认存放主页的位置应该是/opt/apache/htdocs
这个目录。我们可以把这个目录清空,然后换成自己的东西。当然我们也可以自己来指定一个目录来存放我们自己的小站;


3]改配制文件时,我们要对原文件进行备份,切记!!

[root@linuxsir01 root]# cp /opt/apache/conf/httpd.conf /opt/apache/conf/httpd.confBAK

3.一些重要配制选项的说明:


ServerRoot "/opt/apache"
[注]这是ServerRoot指定apache程序所在的的目录,比如日志文件、配制文件等目录,这个不要改动。


Listen 80 [注]apache 默认端口80,如果您想改在别的端口访问,就改一下。最好还是不要改了。比如我要改为8080,那访问网址时,应该用如下的格式

http://www.linuxsir.org:8080



ServerAdmin root@localhost 注:在这里,把管理员的信箱放上去,比如我的管理信箱是 [email protected] 那就改这句为

ServerAdmin [email protected]




#ServerName new.host.name:80 注:前面有#号就是注销掉了,我们要在下面加一行。比如我没有域名,我就用自己本地机的IP设置为192.168.0.1,所以我在这里就设置了相同的;应该是:当然,这个得与自己机器所设置的IP地址一致,在这里,我的网卡的IP地址,我已经设置成了192.168.0.1

ServerName 192.168.0.1:80



DocumentRoot "/opt/apache/htdocs" 这个是存放网页的目录,也就是说,我们应该把网页的目录指定到哪里,这样当访问网址时,就调用这个目录的文件。比如我把存放网页的目录指定到了/var/home/freewill,那应该这样写

DocumentRoot "/var/home/freewill"


<Directory "/opt/apache/htdocs"> 注:这句应该和DocumentRoot 的目录保持一致。比如我在上面设置的是/var/home/freewill,那在这句中,也应该用这/var/home/freewill

也就是:
<Directory "/var/home/freewill">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>



AddDefaultCharset ISO-8859-1
注:这句是指定网页的默认语言的,如果网页出乱中文乱码,应该改AddDefaultCharset 后面的值为GB2312。也就是改成下面这样的。

AddDefaultCharset GB2312


找到下面的一行在后面加上index.php ,让网站的默认页是index.php也行;

DirectoryIndex index.html index.html.var index.php

其它的都默认就好了,这是最简单的了。其它的也不要改动什么,如果想要改动,可以自己研究研究,其实也不是那么难。比如设置请求时间,进程数,这些都比较简单,改一下数字就行了。还有就是设置log存放位置,里面也有选项,其实看一下就明白了,如果我们以实践为基础的话,想把LOG文件放在哪,就放在哪。还有cgi的存放位置等,也可以自己定义;哈哈。。。还是那句话,实践是检验真理的唯一标准。

配制好后,我们就重启apache后,我们就进行相应的处事处事阶段,比如我们要设置存放主页的目录等。

比如我们上面已经把主页目前设置为/var/home/freewill,那我们就应该建一个目录到/var/home中
[root@linuxsir01 home]# mkdir freewill
[root@linuxsir01 home]# chmod 755 freewill

然后我们把index.html的文件放入到/var/home/freewill目录中的时候,可能访问不到的情况。
这时不要忘记设置权限,切记!!

[root@linuxsir01 www]# chmod -R 755 freewill

然后就重启apache的守护进程httpd

[root@linuxsir01 apache]# /opt/apache/bin/apachectl restart

查看是否已经启动了apache服务器??

[root@linuxsir01 apache]# ps aux | grep httpd


在浏览器的地址栏中输入192.168.0.1 或者是localhost,这样应该能看到页面了吧。:):)

注:如果是通过root用户,或者其它用户把相应的网站文件复制到网站存放的目录下的,要改变网站存放目录中所有文件的权限,就是上面所说的chmod -R 755 目录名,OK ??

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

四、安装php
==============================================================

1.下载php最新最稳定的版本php-4.3.4,可以自己选下载地址;比如我们在/opt目录下建一个临时的安装目录software,把下载下来的php-4.3.4.tar.bz2,放到/opt/software/目录中;


http://cn.php.net/get/php-4.3.4.tar.bz2/from/a/mirror

2.解压:
[root@linuxsir01 software]# ls
httpd-2.0.48 mysql-4.0.16 httpd-2.0.48.tar.gz mysql-4.0.16.tar.gz php-4.3.4.tar.bz2

[root@linuxsir01 software]#tar jxvf php-4.3.4.tar.bz2

3.编译和安装:注意,本文是通过动态编译安装的php;

[root@linuxsir01 software]# cd php-4.3.4

[root@linuxsir01 php-4.3.4]#./configure --prefix=/opt/php --with-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/opt/php/etc

一点说明:

--prefix=/opt/php 指定把php-4.3.4安装到/opt/php目录中;
--with-mysql=/opt/mysql 指定mysql数据服务器安装的位置;
--with-apxs2=/opt/apache/bin/apxs 这是加入apache中为DSO模块的位置;
-enable-track-vars 为启动cookie的get/post等追踪功能
--with-config-file-path=/opt/php/etc 指定php的配制文件存放的目录是/opt/php/etc目录,我们安装完成后,也要把php.ini复制到这个目录中来。


安装:

[root@linuxsir01 php-4.3.4]#make

[root@linuxsir01 php-4.3.4]#make install

复制php.ini-dist为php.ini,并存放到/opt/php/etc/目录下

[root@linuxsir01 php-4.3.4]# cp php.ini-dist /opt/php/etc/php.ini

编辑/opt/php/etc/php.ini文件,找到如下的一行
;default_charset = "iso-8859-1"
在这行下面加一行
default_charset = "gb2312"

其它的配制,就自己来定,我也不懂:(,找一本php的手册来读一读。不改也行,不过可能不能适合你的需要。因为这个文章仅是一个入门的,我也是学的稀里糊涂的,我不懂的东西,肯定我不会写,因为我写文章都是根据实践而来的,我实践不出来,是不是写出来,也是骗人的?:)

4.更改apache的配制文件:得加一行,目的是让apache能解释php程序。
找到#AddType application/x-tar .tgz 这行,在下面加一行。前面不要加#号。

AddType application/x-httpd-php .php


找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php

DirectoryIndex index.html index.html.var index.php

注意:改变了http.conf后,要重启apache服务器,否则不会生效!!


5]然后我们在网站存放的目录下建一个index.php的文件。我们还是用前面apache自己指定网站存放的位置,/var/home/freewill目录。在这个目录中建一个文件index.php,内容是如下的

<? phpinfo(); ?>

然后改变这个文件的权限

chmod 755 index.php

在浏览器中打入 http://localhost/index.php ,就能看到php的信息了。如果还是出现的是 <? phpinfo(); ?> 字样的页面,那就是没有成功:( ,可能是您改变了apache的配制文件,忘记了重启apache服务器了,要重启一下试试看。


把apache mysql php 配制好后,就重启httpd 和mysql 服务,前面已经说过方法。回头再复习一遍。可能新手弟兄会忘记这件事,特此提醒一下。

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

五。安装vbb论坛;

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

说明:本文是以从前到后以举列的形式,在前面apache的配制中,我们举的例子是,把网站存放在/var/home/freewill 这个目录中。所以现在还是用这个例子;


1下载,可以到 cnvbb.com 去下载2.32版本的

2 创建mysql的数据库,前面已经讲过,回头去看一看;

3 把压缩包复制到你所设置apache 指定的目录中,然后解压。

比如我们指定网站的存放目录是是/var/home/freewill ,那应该是把解压包复制到这个目录中来,如果是rar文件,您还要安装能解rar的软件,这在 http://www.linuxsir.org 的下载中有 winrar ,按说明安装上就行。

解压命令
[root@linuxsir01 freewill]# rar x rar压缩的文件名

如果是zip压缩包,应该用unzip 命令

[root@linuxsir01 freewill]# unzip 以zip后缀的文件名

然后把已经解压的生成的目录,改为您想要的目录, 比如bbs ,我们要用到mv
[root@linuxsir01 freewill]#mv 原目录名 想改成的目录名
比如我想把/var/home/freewill下的目录名为vbb23改为bbs,应该是
[root@linuxsir01 freewill]#cd /var/home/freewill
[root@linuxsir01 freewill]#mv vbb23 bbs

我感觉就是新手弟兄也应该知道这样做了。:)

比如解开的压缩文件有两个目录,一个是upload,另一个是 extras,那就改upload目录为bbs就OK了。其实不改也没有什么,只是访问的时候,要用到如

http://www.linuxsir.org/upload 这样的目录,如果改成bbs的名呢,那就访问时,应该是

http://www.linuxsir.org/bbs 这样的目录。

想来想去,还是改吧,这样记忆上方便点。当然改成你自己喜欢的也行,什么都可以。

4 进入解压的目录后,比如您已经改成了bbs目录,就进入admin目录里,把config.php.new 复制为config.php

[root@linuxsir01 bbs]cd admin
[root@linuxsir01 admin]# cp config.php.new config.php
[root@linuxsir01 admin]#

5 改config.php文件。

$dbservertype="mysql";

// 服务器的主机名或IP地址,这个保持不变就行。
$servername="localhost";

// 登录到数据库的用户名和密码,要把您的数据库管理密码放上去。比如数据库的密码是123456,就是下面的设置。
$dbusername="root";
$dbpassword="123456";

// 数据库名称,如果您的数据库是linux,所以你就可以改成您的数据库名
$dbname="linux";

// 提供技术支持的邮箱地址 - 任何错误都会发送到此邮箱内,添上您的管理信箱吧。
$technicalemail = "[email protected] ";

// 是否持续地与数据库相连
// 0 = 不使用
// 1 = 使用
$usepconnect = 0;

// 允许哪些用户可以查看管理日志
// 使用逗号分隔开每一个用户的uesrid
$canviewadminlog = "1";

// 允许哪些用户可以删除管理日志
// 使用逗号分隔开每一个用户的uesrid
$canpruneadminlog = "1";

6 改完config.php后,我们要创建数据库。前面已经说了;如果这时您还没有创数据库,以及数据库管理员等,现在已经到创建的时候了。如果创建这些,请参看前面的说明

7 安装:在浏览器中打入地址:比如

http://192.168.0.1/bbs/admin/install.php

这样一步一步的就安装下去了。

安装完成后,会有提示删除相应的文件,比如install.php等,切记!!

8 访问:

在浏览器的地址栏中输入地址就能访问。应该没有问题吧。

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

六,动态域名的申请和设置:

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

9. 如果您有ADSL,是pppoe拔号的,我们可以用下面的命令,知道自己的IP地址,也就是外部能访问的地址:

[root@linuxsir01 root]# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:218.85.179.201 P-t-P:218.85.160.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:1290 errors:0 dropped:0 overruns:0 frame:0
TX packets:1323 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1321840 (1.2 Mb) TX bytes:181060 (176.8 Kb)

能过上面知道,我们访问internet是通过218.85.179.201这个地址。所以我们如果想让在internet的用户也能访问到我们架在自己机器上的网站,应该通过218.85.179.201这个地址。比如

http://218.85.179.201/bbs 这样就能访问到我们所架设的BBS了。

其实这也是比较麻烦,还有一个比较简单的,就是申请一个三级动态域名。现在 http://www.3322.org 上有申请。我们可以去申请一个。当然也要把它的动态更新IP的程序也要下载下来。这样就方便了。

http://www.3322.org/dyndnspage/ez-ip...linux-i386.tgz

要用真实的信箱,否则收不到密码。切记!

比如我们申请的是 http://linuxsir001.3322.org 这个域名,要记好自己的申请时的用户名和密码。因为用软件更新IP,也要用户名和密码。

[root@linuxsir01 sir]# tar zxvf ez-ipupdate-3.0.10-linux-i386.tgz

[root@linuxsir01 ez-ipupdate-3.0.10-linux-i386]#

按他的说明文件,把ez-ipupdate 拷入/usr/local/bin目录中
[root@linuxsir01 ez-ipupdate-3.0.10-linux-i386]# cp ez-ipupdate /usr/local/bin/

然后我们来改一下解压包中的qdns.conf

#!/usr/local/bin/ez-ipupdate -c
#
# example config file for ez-ipupdate
#
# this file is actually executable!
#

#下面动态域名和静态域名选一个

#动态域名
service-type=qdns
#静态域名
#service-type=qdns-static

#设置用户名和密码,在这里,我们要用到3322.org申请时的用户名和分给的密码,当然密码您可以去3322.org去改一个好记的密码。比如我们申请到的用户名是linuxsir001,密码为123456所以下一行应该是
user=linuxsir001:123456

#你需要更新的域名,这一行,我们应该加上我们申请来的域名,比如linuxsir001.3322.org
host=linuxsir001.linuxsir.org

#你的网络端口
interface=ppp0

#如果使用通配符,请将下面的注释去掉
#wildcard

#如果使用邮件服务器(mx)
#mx=mx.abc.com


max-interval=2073600


改好后,我们要改变一下qdns.conf的权限
#chmod 755 qdns.conf

运行qdns.conf,就能自动更新IP了。

#./qdns.conf

OK

用 http://linuxsir001.3322.org 就能生效


10 相应的补充:如果您已经有数据库备份,应该先创建、导入数据库,然后再来安装vbb程序。

后记:综上所述,看来架一个小站,不是太难:)

作者: 北南南北   发布时间: 2003-12-04

北南兄写的非常详细 太棒了

作者: 大熊宝宝   发布时间: 2003-12-05

太好了。非常感謝!

作者: Jansfer   发布时间: 2003-12-05

我之前已經安裝了,但有些東西還是不大對,正好參攷北南兄寫的再試試!再次感謝!

作者: Jansfer   发布时间: 2003-12-05

不管如何,先“拍个马匹” :) 再次狠狠被南北兄精神感动一番

作者: akenlx   发布时间: 2003-12-05

安装mysql时,
我运行configure 显示mysqld ended, 查看err信息,好象是安装路径的权限出了问题,但是我试了几次都不行,是不是需要先增加mysql组和用户,并且付给一定的权限?

作者: ejia_00   发布时间: 2003-12-06

非常感谢版主的帮助,

作者: smartma   发布时间: 2003-12-07

引用:
最初由 ejia_00 发表
安装mysql时,
我运行configure 显示mysqld ended, 是不是要先增加mysql组和用户?
我上面写的没有错,我是用beinan这个帐号来编译的,进程的调用是通过beinan这个帐号进行的。也一样以运行。如果不指定,系统会默认为mysql用户和组。如果编译时不指定,当然得添加mysql用户和组,然后再来编译安装了。

指定一个有普通权限的用户来启动mysql进程,主要是为了便于管理。

如果大家想用mysql作为启动进程的帐号,那就应该添加一个mysql用户和组。

# groupadd mysql
# useradd -g mysql mysql


兄弟如果在编译时,指定一个普通用户来运行mysql,就应该看一下权限操作,在上面有写。比如chmod和chown的运用。




多谢兄弟提出疑问,我在行文中没有把这件事说清楚。有时间我会补充一下。

再次感谢

北南 呈上

作者: 北南南北   发布时间: 2003-12-07

对我来说很有用,我是新手,我知道怎么安装,可是具体的命令就不怎么知道了,谢谢!

作者: carshu   发布时间: 2003-12-07

非常感谢如此详细的说明
不过,在安装的时候遇到一点问题
就是在编译 php 4.3.4 的时候,
./configure --prefix=/opt/php --with-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/opt/php/etc

之后,前面几行正常,到
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root .. ./configure:line2425: lex:command not found
configure:error:cannot find output from lex:giving up
不知道能否帮忙解决?

作者: geny   发布时间: 2003-12-07

引用:
最初由 geny 发表
非常感谢如此详细的说明
不过,在安装的时候遇到一点问题
就是在编译 php 4.3.4 的时候,
./configure --prefix=/opt/php --with-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/opt/php/etc

之后,前面几行正常,到
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root .. ./configure:line2425: lex:command not found
configure:error:cannot find output from lex:giving up
不知道能否帮忙解决?
少东西


[root@beinan root]# rpm -qa flex

flex-2.5.4a-30

找出上面的包安装上

作者: 北南南北   发布时间: 2003-12-08

执行./configure --prefix=/root/soft/mysql --with-mysqld-user=cyhhr --with-charset=gb2312 --with-extra-chtra-charsets=all --with-unix-socket-path=/root/soft/mysql/var/mysql.sock后出现
checking build system type... i686-pc-linuxoldld
checking host system type... i686-pc-linuxoldld
checking target system type... i686-pc-linuxoldld
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for gawk... (cached) gawk
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
请高手指点!

作者: yitong   发布时间: 2003-12-08

好文章,收藏!

作者: xiaolei   发布时间: 2003-12-08

引用:
最初由 yitong 发表
执行./configure --prefix=/root/soft/mysql --with-mysqld-user=cyhhr --with-charset=gb2312 --with-extra-chtra-charsets=all --with-unix-socket-path=/root/soft/mysql/var/mysql.sock后出现
checking build system type... i686-pc-linuxoldld
checking host system type... i686-pc-linuxoldld
checking target system type... i686-pc-linuxoldld
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for gawk... (cached) gawk
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
请高手指点!
没有安装开发工具,应该把开发工具安装上,以及开发库等。

在安装盘中找出带有gcc文件名的,都安装上。

#rpm -ivh gcc*

作者: 北南南北   发布时间: 2003-12-08

执行./configure --prefix=/root/soft/mysql --with-mysqld-user=cyhhr --with-charset=gb2312 --with-extra-chtra-charsets=all --with-unix-socket-path=/root/soft/mysql/var/mysql.sock后出现
.........
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for termcap functions library... configure: error: No curses/termcap library found
望高手指点

作者: yitong   发布时间: 2003-12-08

我不明白到处都是用源码安装,当然我自己也用过,不过现在不了。
直接安装rpm包,只需要3分钟全部搞定?为何要这么复杂???

不明白ing....

作者: dindindang   发布时间: 2003-12-08

引用:
最初由 dindindang 发表
我不明白到处都是用源码安装,当然我自己也用过,不过现在不了。
直接安装rpm包,只需要3分钟全部搞定?为何要这么复杂???

不明白ing....
我写过一篇RPM的,也是告诉对www服务器一无所知的,这些文章都是写给新手的,就是初学Linux不久,如果初学linux的弟兄,不会一下就明白如何安装吧。我写文章的目的就是告诉新手怎么操作,而不是教给高手怎么做。因为高手不需要我写的这点东西。我在前言中也说了,对于高手来说,这个文档是没有一点必要的。

http://www.linuxsir.org/bbs/showthre...threadid=76390

这是给新手写的原理性文章,当然rpm很方便。不是说rpm不行。但也有看缺点。

http://www.linuxsir.org/bbs/showthre...threadid=41065


三。各种服务器的架设,要自己来编译安装,要放在/opt分区中,这是极为重要的,目的很简单,是为了管理方便。不会危胁系统的正常高效率的运行。不可把软件安装到/usr目录中,因为这是系统的专用分区,太多的小文件,会把服务器的速度拖慢,我们可以把自己编译安装的apache放在这个分区中,也可以把mysql放在这个分区等等。所以说/opt分区也要大,除了/var分区以外,/opt分区应该是最大的分区。

作者: 北南南北   发布时间: 2003-12-08

执行./configure --prefix=/root/soft/mysql --with-mysqld-user=cyhhr --with-charset=gb2312 --with-extra-chtra-charsets=all --with-unix-socket-path=/root/soft/mysql/var/mysql.sock后出现
.........
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for termcap functions library... configure: error: No curses/termcap library found
望高手指点

我也遇到了这个问题,请指点,谢谢

作者: sev3n   发布时间: 2003-12-09

好文章,兄弟们顶啊

作者: 冰箱   发布时间: 2003-12-09




缺少ncurses库文件。安装上就可以。
引用:
执行./configure --prefix=/root/soft/mysql --with-mysqld-user=cyhhr --with-charset=gb2312 --with-extra-chtra-charsets=all --with-unix-socket-path=/root/soft/mysql/var/mysql.sock后出现
.........
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for termcap functions library... configure: error: No curses/termcap library found

望高手指点

作者: kenwee   发布时间: 2003-12-10

[root@zsw etc]# /opt/apache/bin/apachectl start 这样启动却是一点问题也没能的啊!!
[root@zsw etc]# ps -aux |grep httpd
root 12668 0.0 1.9 8852 2460 ? S 07:52 0:00 /opt/apache/bin/httpd -k start
nobody 12669 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12670 0.0 2.1 8936 2696 ? S 07:52 0:00 [httpd]
nobody 12671 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12672 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12673 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12674 0.0 2.0 8872 2520 ? S 07:52 0:00 [httpd]
root 12676 0.0 0.5 4816 640 pts/2 S 07:52 0:00 grep httpd
[root@zsw etc]# /etc/init.d/httpd start 这又是怎么一回事呢?怎么会失败呢?
启动 httpd:Syntax error on line 357 of /etc/httpd/conf/httpd.conf:
Invalid command 'Order', perhaps mis-spelled or defined by a module not included in the server configuration
[失败]
[root@zsw etc]#
好不明白,请问这是怎么回事啊!!!!!

作者: 再见理想   发布时间: 2003-12-10

北南大哥体会到源码的灵活了吧,呵呵!
一写就是重量级的,佩服!

作者: tram   发布时间: 2003-12-10

[root@zsw etc]# /opt/apache/bin/apachectl start 这样启动却是一点问题也没有的啊!!
[root@zsw etc]# ps -aux |grep httpd
root 12668 0.0 1.9 8852 2460 ? S 07:52 0:00 /opt/apache/bin/httpd -k start
nobody 12669 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12670 0.0 2.1 8936 2696 ? S 07:52 0:00 [httpd]
nobody 12671 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12672 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12673 0.0 1.9 8872 2456 ? S 07:52 0:00 [httpd]
nobody 12674 0.0 2.0 8872 2520 ? S 07:52 0:00 [httpd]
root 12676 0.0 0.5 4816 640 pts/2 S 07:52 0:00 grep httpd
[root@zsw etc]# /etc/init.d/httpd start 这又是怎么一回事呢?怎么会失败呢?
启动 httpd:Syntax error on line 357 of /etc/httpd/conf/httpd.conf:
Invalid command 'Order', perhaps mis-spelled or defined by a module not included in the server configuration
[失败]
[root@zsw etc]#
好不明白,请问这是怎么回事啊!!!!!

作者: 再见理想   发布时间: 2003-12-10

引用:
[root@zsw etc]# /etc/init.d/httpd start 这又是怎么一回事呢?怎么会失败呢?
启动 httpd:Syntax error on line 357 of /etc/httpd/conf/httpd.conf:
Invalid command 'Order', perhaps mis-spelled or defined by a module not included in the server configuration
[失败]
[root@zsw etc]#
好不明白,请问这是怎么回事啊!!!!!
这是因为原来的apache 没有卸掉。再说,我们编译的apache安装点已经放在了/opt/apache目录下,用 /opt/apache/bin/apachectl start 才是启动最新版本的。如果用的是/etc/init.d/httpd start 是老版本的。所以还得把原来系统中存在的apache卸掉。


引用:
北南大哥体会到源码的灵活了吧,呵呵!
一写就是重量级的,佩服!
体会到了,源码包安装,就是想放在哪就放在哪,不想用了,就删除一下目录就OK了。比较方便。

tram兄抬举我了,我这是雕虫小技。根本没有办法和tram兄弄的LFS的那个规模宏大相比。不值一提。

我写的文章,都是给菜鸟级别看的。菜鸟一进门,可能这些入门的东西都得扔到垃圾堆了:(

作者: 北南南北   发布时间: 2003-12-10

请问一下这一句是什么意思:--enable-force-cgi-redirect

作者: 随风飘来   发布时间: 2003-12-10

引用:
最初由 随风飘来 发表
请问一下这一句是什么意思:--enable-force-cgi-redirect
允许内部服务器重定向的安全性检查

在 PHP 中,编译时设置选项 --enable-force-cgi-redirect 以及运行时设置选项 doc_root 和 user_dir 能够用来防止这种攻击,如果服务端的目录树存在有访问限制的目录。以下将详细解释各种不同的组合。

doc_root string

PHP 在服务器上的根目录。仅在非空时使用。如果 PHP 被配置为安全模式,则此目录之外的文件一概不被解析。如果 PHP 编译时没有指定FORCE_REDIRECT,并且在任何 web 服务器(除了 IIS)中以 CGI 方式运行 PHP,则应该设定 doc_root。替代方案是使用下面的 cgi.force_redirect 配置选项。

user_dir string

在用户目录之下使用 PHP 文件的基本目录名,例如 public_html

作者: 北南南北   发布时间: 2003-12-10

# /opt/mysql/share/mysql/mysql.server start 之后,不出现#,

不过运行/opt/mysql/bin/mysql -uroot -p123456 可以,

请问这是正常的吗?

作者: Freefrag   发布时间: 2003-12-11

# /opt/mysql/share/mysql/mysql.server start 之后,
# Starting mysqld daemon with databases from /opt/mysql/var
不出现#,
不过运行/opt/mysql/bin/mysql -uroot -p123456 可以,
请问这是正常的吗?

作者: Freefrag   发布时间: 2003-12-11

引用:
最初由 Freefrag 发表
# /opt/mysql/share/mysql/mysql.server start 之后,
# Starting mysqld daemon with databases from /opt/mysql/var
不出现#,
不过运行/opt/mysql/bin/mysql -uroot -p123456 可以,
请问这是正常的吗?
是正常的。

因为进程启动的时候把显示器和键盘占用了,因为启动的时候是临时占用一下前台。其实这时一按回车键,进程自动调到后台了,这时就把前台释放出来了。


# /opt/mysql/share/mysql/mysql.server start 在这里按两下回车。

作者: 北南南北   发布时间: 2003-12-12

非常支持南北北南大大的贴,他发贴是为了我们这些菜鸟指出了光明大道,打倒某些同志老是藐视南北北南大大,为什么呢!?因为他们从来都是光说不练,只有自己暗爽,从来不资源共享,他们也写两篇好文章来呀,可以就以上的题目写个《用源码包安装php-4.34+mysql-4.0.16+apache-2.0.48+vbb-2.32实践总结之RPM和源码编译区别》怎么样,这个题目不错吧,可他们肯写吗?就在上面非常含糊的说了几句,是菜鸟都看不懂,你看人家南北北南大大写的多详细,在此郑重声明支持南北北南大大的正义行为,他是好人哦!!!是菜鸟的福星,救星,幸运星,鄙视胡乱批判南北北南大大的人!!!

作者: longlei   发布时间: 2003-12-13

我也装了呀,我现在按照http://www.linuxsir.org/bbs/showthre...5&pagenumber=1想删除MYSQL不知道为什么删除不掉,哪位大大给点信息呀!
下面就是我删除的过程,在线等待!我已经把libdbi-dbd-mysql-0.6.5-5和mysql-devel-3.23.58-1删除了但mysql-3.23.58-1却删不掉为什么?
[root@longlei /]# rpm -qa |grep mysql
mysql-3.23.58-1
mysql-devel-3.23.58-1
libdbi-dbd-mysql-0.6.5-5
[root@longlei /]# rpm -e mysql-3.23.58-1
error: Failed dependencies:
libmysqlclient.so.10 is needed by (installed) perl-DBD-MySQL-2.1021-3
libmysqlclient.so.10 is needed by (installed) libdbi-dbd-mysql-0.6.5-5
libmysqlclient.so.10 is needed by (installed) MySQL-python-0.9.1-6
libmysqlclient.so.10 is needed by (installed) MyODBC-2.50.39-12
mysql = 3.23.58 is needed by (installed) mysql-devel-3.23.58-1
mysql is needed by (installed) MySQL-python-0.9.1-6
[root@longlei /]# rpm -e libdbi-dbd-mysql-0.6.5-5
[root@longlei /]# rpm -e mysql-devel-3.23.58-1
[root@longlei /]# rpm -e mysql-3.23.58-1
error: Failed dependencies:
libmysqlclient.so.10 is needed by (installed) perl-DBD-MySQL-2.1021-3
libmysqlclient.so.10 is needed by (installed) MySQL-python-0.9.1-6
libmysqlclient.so.10 is needed by (installed) MyODBC-2.50.39-12
mysql is needed by (installed) MySQL-python-0.9.1-6
[root@longlei /]#

作者: longlei   发布时间: 2003-12-13

[root@longlei /]# rpm -e mysql-3.23.58-1 --nodeps

#rpm -e perl-DBD-MySQL-2.1021-3 --nodeps

#rpm -e MyODBC-2.50.39-12 --nodeps


#rpm -e MySQL-python-0.9.1-6 --nodeps

作者: 北南南北   发布时间: 2003-12-13

我知道了,谢谢大大,您是指导是我的幸福!!!敬礼!!鞠躬!!!

作者: longlei   发布时间: 2003-12-13

大大,我按您说的去卸载包,可现在出现了循环的毛病,最后一个rpm -e mysql-3.23.58-1和rpm -e perl-DBD-MySQL-2.1021-3不停的出现循环,相互都说要先下载对方,怎么办?敬礼鞠躬!!!在线等待!
[root@longlei /]# rpm -e perl-DBD-MySQL-2.1021-3
error: Failed dependencies:
perl-DBD-MySQL is needed by (installed) mysql-3.23.58-1
[root@longlei /]# rpm -e mysql-3.23.58-1
error: Failed dependencies:
libmysqlclient.so.10 is needed by (installed) perl-DBD-MySQL-2.1021-3

作者: longlei   发布时间: 2003-12-13

我知道怎么做了,RPM -E --NODEPS(都是小写)不要考虑关连性直接删除,版主大大,您说对吗?

作者: longlei   发布时间: 2003-12-13

大大,我还想问个问题,您知道在网上下包都会有个什么MD5呀,或是别的验证方式,您能教我怎么用吗?或是怎么把他们导入呢?

作者: longlei   发布时间: 2003-12-13

引用:
最初由 longlei 发表
大大,我还想问个问题,您知道在网上下包都会有个什么MD5呀,或是别的验证方式,您能教我怎么用吗?或是怎么把他们导入呢?

如果是md5,其实就是一个验证号码,我们可以验证它,来比较和软件作者提供的md5相比较,如果号是一致的,就是表示,这个软件自从经过作者出手以来,没有人改动过。

验证方法:

[root@beinan root]# md5sum /mnt/WinE/Fedora1.0/yarrow-i386-disc1.iso
76ef22495d186580e47efd8d7a65fe6b /mnt/WinE/Fedora1.0/yarrow-i386-disc1.iso


这个应该明白了吧


另外卸载rpm包,用的--nodeps参数,其实就是执行的动作,这个动作是什么呢?就忽略依赖关系。因为有些软件是相互依赖的,先卸哪个都不行,就得用nodeps这个参数才行。

linux的文件名和命令都是大小写区分的。命令大多数都是小写的,不过有的命令的参数,有时是大写的。

作者: 北南南北   发布时间: 2003-12-13

我按楼主说的方法做的,但我是用root编译的,在最后编辑cnvbb的/admin/config.php时,让我选择数据库运行身份,我该写哪个啊?我写root后,安装时说我没有权限连接数据库,然后换成zhangxc用户(我的普通用户)也不成呀。怎么搞?比如我不想用普通用户运行mysql的话,怎么把用户切换成root呀?
还有:我按着上面的方法后,在地址中输入:10.0.3.40/index.php后,出现了让我下载这个文件呀,晕.然后我直接输入地址到打开了网页,怎么办?谢谢。

作者: zhangxc0707   发布时间: 2003-12-13

我在装cnvbb时,提示:
正在尝试连接数据库...

Warning: mysql_connect(): Host '10.0.3.40' is not allowed to connect to this MySQL server in /usr/local/httpd/htdocs/bbs/admin/db_mysql.php on line 34

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /usr/local/httpd/htdocs/bbs/admin/db_mysql.php on line 47

数据库连接失败因为你并没有连接服务器的权限。请返回上一步并确定你输入的数据库登录资料是正确无误的

怎么办啊? 我的数据库是以mysql身份运行的,config.php文件里的也是mysql,那请问密码是空的吗?

作者: zhangxc0707   发布时间: 2003-12-13

我安装好了vbb,为什么不能上传附件?vbb里相关设置已经设了啊,linux下相关目录的权限已设成755了。谁能告诉我哪里有问题吗?

作者: sunsky   发布时间: 2003-12-14

兄弟你怎么设的mysql和cnvbb呀,我怎么就装不上啊,就如上面所说的,你把你的config.php文件给我看看,好吗?,还有mysql的权限

作者: zhangxc0707   发布时间: 2003-12-14

引用:
最初由 zhangxc0707 发表
兄弟你怎么设的mysql和cnvbb呀,我怎么就装不上啊,就如上面所说的,你把你的config.php文件给我看看,好吗?,还有mysql的权限
要先设置数据库管理员用

#mysqladmin -u root password 在这里添上你的数据库管理员的密码

然后用
#mysql -uroot -p

输入密码,进入数据库,然后创建一个数据库,比如说是 sirmysql


mysql> create database sirmysql;

然后退出

在vbb的config.php中,要把数据库的用户名


// 登录到数据库的用户名和密码
$dbusername="root";
$dbpassword="在这里添上,你刚才设置的数据管理员的密码";

// 数据库名称
$dbname="sirmysql";这不是刚才我们创建的数据库名吗??就应该添在这里,这在第一帖中都已经说过了。感觉没有什么特别之处吧。






引用:
我安装好了vbb,为什么不能上传附件?vbb里相关设置已经设了啊,linux下相关目录的权限已设成755了。谁能告诉我哪里有问题吗?
上传附件,要看他后台的设置,关于附件的,他有说明,比如要bbs的目录里要建一个tmp目录,权限为777 。这在后台中有。不妨看看

作者: 兰陵生   发布时间: 2003-12-14

南北北南大大,真的非常感谢您,鞠躬!!!!敬礼!!!!对您的无私帮助非常的感谢!

作者: longlei   发布时间: 2003-12-14

出现这样的错误是什么原因?? 请指点..

[root@localhost mysql-4.0.16]# ./configure --prefix=/opt/mysql --with-mysqld-user=meteor --with-charset=gb2312 --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock
checking build system type... i686-pc-linux
checking host system type... i686-pc-linux
checking target system type... i686-pc-linux
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... configure: error: newly created file is older than distributed files!
Check your system clock
[root@localhost mysql-4.0.16]#

作者: e5w   发布时间: 2003-12-18

噢,我知道了,我的系统的时间竟然是2002年.

应该是这里的问题.

作者: e5w   发布时间: 2003-12-18

热门下载

更多