- 论坛徽章:
- 0
|
本文转自www.macfans.com.cn bbs中风霆洞天兄之高贴,感觉很好,特此推荐。
OS X 10.3 Apache+PHP+MySQL+MyAdmin 简易攻略
-在MAC上搭建自己的交互式网站
说明:以下只是本人实际操作心得,适用于OS X 10.3版本。
此文为原创,版权属于Utopia Legend。
我尽量把过程写的简单易懂,但有部分操作需要在Terminal下完成,所以有一定Terminal操作经验的用户可能会较快上手。如果没有,呢么最好不要着急动手,先耐心看完全文,然后再决定如何开始。
Apache Web Server
建立自己的网站,首先就要有服务器软件,OS X 10.3里提供的 个人网业共享功能其实就是基于Apache Web Server的服务。启动该服务,打开sharing,选择personal web sharing就可以了。
确认启动,在Terminal里面输入:shell>;cat /etc/hostconfig
你将会在显示的文件中找到“WEBSERVER=-YES-“该段文字,说明已经可以使用了。
OS X已经给你准备好了测试需要用的网页了,选择在sharing界面下personal web sharing,你会看到在底部有两个页面的地址,一般选择第二个地址,因为这个是在你自己用户目录下的。点击该地址,就能在Safari里看到你的第一个网页了。关于地址,如果你是单机联网,呢么你在MAC上和远程电脑访问的地址都是http://外网ip/~用户名/;而如果你使用路由器的话,你在内网访问只能用内网ip,远程访问就必须使用外网ip了。
默认的网页保存地址在~/Sites里,接下来只要把你写好的网页放在该文件夹,确认读取权限后就可以访问了。
Apache的默认首页是~/Sties/目录下的index.html,也就是说当你访问http://ip/~用户名/时,Apache会默认返回?/Sites/index.html。你可以修改该设置适合网站的需要。
打开Apache的设置文件
shell>;vi /etc/httpd/httpd.conf
搜索 DirectoryIndex 找到
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
DirectoryIndex index.html index.htm
你可以按照上面的说明,排列默认主页的先后。
PHP
PHP是一种脚本编程语言,主要用于Web服务器的服务器端应用程序。当PHP脚本被客户端请求时,在服务器端的PHP程序开始执行,并把结果返回给客户端。现在有不少论坛就是用PHP写的。OS X 10.3同样也已经内置了PHP,不过版本不是最新的。
启动PHP,如果熟悉UNIX,可以用vi在Terminal下完成,也可以用BBEdit。修改该文件需要有root权限,所以在这之前先激活root账户。
打开Apache的设置文件
shell>;vi /etc/httpd/httpd.conf
搜索php关键字
#LoadModule php4_module libexec/httpd/libphp4.so
去掉开头的“#“
继续搜索到
#AddModule mod_php4.c
同样去掉“#“
然后保存文件,退出。
在Terminal下重新启动Apache Web Server
shell>;sudo apachectl restart
return>;httpd restarted
确认php启动
shell>;tail /var/log/httpd/error_log
找到这句
[Wed Dec 22 12:51:18 2004] [notice] Apache/1.3.33 (Darwin) PHP/4.3.2 configured -- resuming normal operations
就说明运行了。
那么马上写一个PHP的页面试试吧
用编辑器写一个test.php文件,内容如下
html>;
body>;
h1> HP Test Page
? phpinfo()?>;
/body>;
/html>;
写好后保存在~/Sites/目录下。
访问http://ip/~yourusername/test.php
你会看到一个信息报告,说明PHP已经在你server端正常运行了。
现在你已经可以在网上找一些PHP源代码,加在你的网页上运行了。
MySQL
光有PHP,还不完整,许多网站的登陆和搜索功能都需要有数据库支持,所以接下来介绍一下MySQL。MySQL是一个开放源代码的小型数据库管理系统,因为其体积小,速度快,加上免费,所以是个人和小型网站的首选。
OS X 10.3的Personal中没有安装MySQL,在Server版本中是内置的。
安装MySQL,首先建议参考其官方网站的说明
http://dev.mysql.com/doc/mysql/en/index.html
关于在MAC OS上安装MySQL的说明在这里
http://dev.mysql.com/doc/mysql/en/Mac_OS_X_installation.html
我安装的是带有PKG的安装包,Installer package (Mac OS X v10.3)
Standard 4.1.8 23.1M
http://dev.mysql.com/downloads/mysql/4.1.html
下载文件后,.dmg镜像文件自动打开,可以看到两个.PKG文件,先安装 mysql-standard-4.1.8-apple-darwin7.6.0-powerpc.pkg,然后再安装MySQLStartupItem.pkg。
安装完毕后进入Terminal
shell>; sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
系统会要求root密码。
此时MySQL就应该启动了,接下来是配制了。
MySQL有两个很重要的shell命令,mysql和mysqladmin,这两个命令在 /usr/local/mysql/bin/目录下,每次都要打这一长串目录名会很麻烦,所以我们首先用修改系统PATH来解决。
在Terminal下
shell> ATH=/Library/MySQL/bin PATH
确认修改
shell>;echo $PATH
你会看到路径名已经增加了
return>;/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple-darwin-current
然后我们开始配制
首先设定root的密码
shell>; mysqladmin -u root password *******
shell>; mysqladmin -u root -h localhost password *******
两行的密码要一致
然后进入MySQL
shell>;mysql –u root –p
输入密码回车
此时你会发现shell的提示符变为mysql>;
下面介绍一下一些基本的命令
mysql>;SHOW DATABASES;
显示所有的数据库
mysql>;USE databasename;
调用数据库
mysql>;SHOW TABLES;
现实表单项目
mysql>;DESCRIBE tablename;
显示子项内容
mysql>; SELECT * FROM tablename;
显示数据内容
mysql>;CREATE DATABASE databasename;
创建数据库
MySQL支持外部程序访问,所以访问时,必须提供MySQL的访问用户名和密码,一般来说,都会有一个root管理权限的用户,然后再设置拥有使用权限的普通用户。
创建用户名,进入MySQL
mysql>; GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost'
->; IDENTIFIED BY '*******' WITH GRANT OPTION;
或者
mysql>; INSERT INTO user
->; VALUES('localhost','username',PASSWORD('*******'),
->; 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql>; FLUSH PRIVILEGES;
所有的用户名都在mysql.user下,可以通过
mysql>;USE mysql;
mysql>; SELECT * FROM user;
察看用户信息
安装MySQL时,系统会自动生成一个当前用户名的MySQL用户账户,可以通过以下语句建立账户密码,这样就不用设置新用户账号了。
mysql>; INSERT INTO user (Host,User,Password)
->; VALUES('localhost','username',PASSWORD('*******'));
mysql>; FLUSH PRIVILEGES;
修改密码用
mysql>; UPDATE user SET Password = PASSWORD('*******')
->; WHERE Host = 'localhost' AND User = 'username';
mysql>; FLUSH PRIVILEGES;
删除用户账户
mysql>;DELETE FROM mysql.user WHERE User = ‘username’ and Host = ‘hostname’;
mysql>; FLUSH PRIVILEGES;
此时,你已经可以通过shell访问MySQL了
通过PHP网页访问数据库只需要提供username(用户名),password(密码),host(主机名),database(数据库名)这些信息就可以了。
phpMyAdmin
我最后要介绍的是MySQL的外部管理软件,因为如果通过shell管理MySQL会比较麻烦。phpMyAdmin是一款基于PHP的针对MySQL的数据库管理软件,可以让用户以简洁的方式实现数据库的操作。
官方网站 http://www.phpmyadmin.net/home_page/
我用的是
Latest stable version is: 2.6.0-pl3版本
下载文件后解压缩出一个文件夹,然后把这个文件夹复制或剪切到~/Sites/文件夹里。运行之前需要先配制
用BBEdit打开软件目录文件夹下的config.inc.php
修改一下几项
$cfg['blowfish_secret'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
保存文件退出。
然后打开Safari访问该软件首页
http://ip/~username/phpMyAdmin/index.php
注:上面的地址需要根据实际情况修改。
然后输入用户名和密码就可以进入数据库管理了。
在通过外部程序调用MySQL时可能会出现一个问题,就是php网页不能正确调用数据库或是在phpMyAdmin中输入用户名和密码时出现以下错误提示:
? Error: 1251 SQLSTATE: 08004 (ER_NOT_SUPPORTED_AUTH_MODE) Message: Client does not support authentication protocol requested by server; consider upgrading MySQL client
我在网上找到了一个解决方法:
在Terminal下,进入MySQL
mysql>;USE mysql;
mysql>;UPDATE user SET password = old_password ('*******') WHERE user = 'username';
mysql>;FLUSH PRIVILEGES;
依次对账户进行修改就能解决。
好了,现在你已经可以Mac OS X上建立自己的交互式网站或是PHP的论坛了。 |
|