用源码包安装php-4.34+mysql-4.0.16+apache-2.0...
时间:2006-02-28 来源:weldom
声明:转帖时必须加注来源于 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中都有哪些数据库? |
相关阅读 更多 +
排行榜 更多 +