在MAC上搭建自己的交互式网站

来源:互联网 发布:淘宝网丝绒长裙 编辑:程序博客网 时间:2024/06/05 20:17
-os x 10.3 apache+php+mysql+myadmin 简易攻略 
本文转自风霆洞天兄之高贴,感觉很好,特此推荐。 

说明:以下只是本人实际操作心得,适用于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>php 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>path=/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的论坛了。
0 0