FreeBSD 6.2 build web server 笔记
2007-11-27
重要的前提:先安装apache mysql php php-extensions zend phpmyadmin不要搞乱
apache---------------------------
# cd /usr/ports/www/apache22
#make install clean
根据自已的不同选取安装模块,如果你不知道选取那些,那就默认,直接回答OK 即可,
默认已经足够了,所以我这里回答OK,
mysql------------------------------
# cd /usr/ports/databases/mysql50-server
# make install clean
# cd /usr/ports/databases/php5-mysql
# make install clean
php----------------------------------
# cd /usr/ports/lang/php5
# make install clean
# cd /usr/ports/lang/php5-extensions/
# make install clean
然后还会出现一个选单,保持默认就可以了
最后选中UTF8
除了预设的项目外,我们必须再选择下列几个常用的项目:CTYPE、CURL、EXIF、FILTER、FTP、GD、GETEXT、GMP、MBSTRING、MCRYPT、MYSQL、PDF、IMAP、PCRE、SESSION、SOCKETS、ZLIB、ZIP。这些项目非常常用,尤其是 SESSION。
安装完成后,运行cp –rp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
ZendOptimizer-----------------------------------
# cd /usr/ports/devel/ZendOptimizer
# make install clean
phpmyadmin--------------------------------------
# cd /usr/ports/databases/phpmyadmin/
# make install clean
基本设置++++++++++++++++++++++++++++
apache--------------------------------------------
修改 /etc/rc.conf 并加入下列这一行,以让开机时启动 apache22:
apache22_enable="yes"
设定/usr/local/etc/apache22/httpd.conf
ServerAdmin 设定管理者邮件
设定您的信箱,这个信箱地址当网页出现错误讯息时将出现在该页面上。以下范例为默认值:
ServerAdmin you@example.com
ServerName 设定主机名称及端口号
ServerName 可以让您设定您的主机名称,如果您没有主机名称,可以设定为您机器所使用的 IP。ServerName 会被用来重新转向网址,例如,当您输入一个网址 「http://www.example.com/dir」时,Apache 会参考您在 ServerName 中的设定,将 www.example.com 改成 ServerName,并在您所输入的网址后加上一个斜线「/」以连到 dir 目录中,也就是将网址转向到「http://www.example.com/dir/」。如果您的网址设定不正确,则使用者可能会连到一个不存在的地址。
所以,如果您没有主机名称,可以将这个值设定为 IP,让网址转向后还是可以连到正确的地方。在 ServerName 的设定中,我们也指定了 HTTP 的连接埠 80。
ServerName www.example.com:80
DocumentRoot 设定网页根目录
DocumentRoot 可以让我们指定网页根目录的位置,也就是我们存放网页的目录。
DocumentRoot "/usr/local/www/apache22/data"
设定好 DocumentRoot 后,我们必须要再设定该目录的权限。在 DocumentRoot 之后,有下列区段:(中间有些#掉的注释)
Options Indexes FollowSymLinks 注解这项
#Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
Allow from all
您必须将 也改成您的网页根目录位置。
DirectoryIndex 指定预设网页档名
DirectoryIndex index.html index.htm index.php index.php3 index.cgi index.pl
当使用者使用网址「http://www.example.com/dir」连到一个目录中时,如果没有指定网页,Apache 会去查找 DirectoryIndex 中所设定的网页在不在,如果存在则秀出预设的网页。
如果apache解释不了php
首先,确定你正确编译了php的mod,接着,在httpd.conf里面要加上以下的东东:
#加载你的mod,以下只是举例,你的mod可能不在同一个目录,名字也可能不一样
代码:
LoadModule php5_module libexec/apache22/libphp5.so
#如果你想index.php做主页,把它加进以下这一个配置项
代码:
DirectoryIndex index.html index.htm index.php
#让apache知道php文件应该用php的mod来处理,...你也可以定义其它后缀名
代码:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
加入PHP支持-----------------------------------------
如果您要使用 PHP,则必须在 httpd.conf 中加入 PHP 的支持,请在 httpd.conf 档案其它AddType周围加入下列内容,以便归类:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
取消 #AddHandler cgi-script .cgi 前的 # ,并加 .pl 以支持 cgi , pl
如: AddHandler cgi-script .cgi .pl
上述设定完成后,您就可以存盘离开。
接下来,我们必在修改 /etc/rc.conf ,并加入下列设定以在开机时启动 Apache:
apache22_enable="YES"
重启虚拟机后,打开网页http://IP/ (请将 IP 改成您的虚拟机 IP),显示It works!,不像原来,有个漂亮的页面。
我们可以在网页根目录中新增一个档案来测试 PHP 是否有正常运作,请使用文书编辑软件在/usr/local/www/apache22/data下开一个新文件 test.php,并加入下列内容:
<?
phpinfo();
?>
接下来您就可以连到该网页 http://IP/test.php (请将 IP 改成您的虚拟机 IP) 看看是否可以使用 PHP。如果有支持 PHP,则会显示 PHP 组态,如果没有,则只会出现上述档案内容。
MySQL5.0.33-------------------------------------
修改 /etc/rc.conf 并加入下列这一行,以让开机时启动 MySQL:
mysql_enable="yes"
接着您就可以使用下列指令启动 MySQL 了:
# /usr/local/etc/rc.d/mysql-server start
启动 MySQL 后,我们就可以使用下列指令进入 MySQL 交互式命令列了:
# /usr/local/bin/mysql mysql
MySQL 刚安装完成时,并未设定 root 的密码,因此我们接着要设定 root 的密码并实时更新设定:
mysql> Update user SET password=password('你的密码') where user='root';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
最后请以 exit; 来离开 MySQL。
phpmyadmin-----------------------------------------
将phpMyAdmin移动到DocumentRoot目录下
$cfg['Servers'][$i]['auth_type'] = 'config'; 改为
$cfg['Servers'][$i]['auth_type'] = 'http';
apache---------------------------
# cd /usr/ports/www/apache22
#make install clean
根据自已的不同选取安装模块,如果你不知道选取那些,那就默认,直接回答OK 即可,
默认已经足够了,所以我这里回答OK,
mysql------------------------------
# cd /usr/ports/databases/mysql50-server
# make install clean
# cd /usr/ports/databases/php5-mysql
# make install clean
php----------------------------------
# cd /usr/ports/lang/php5
# make install clean
# cd /usr/ports/lang/php5-extensions/
# make install clean
然后还会出现一个选单,保持默认就可以了
最后选中UTF8
除了预设的项目外,我们必须再选择下列几个常用的项目:CTYPE、CURL、EXIF、FILTER、FTP、GD、GETEXT、GMP、MBSTRING、MCRYPT、MYSQL、PDF、IMAP、PCRE、SESSION、SOCKETS、ZLIB、ZIP。这些项目非常常用,尤其是 SESSION。
安装完成后,运行cp –rp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
ZendOptimizer-----------------------------------
# cd /usr/ports/devel/ZendOptimizer
# make install clean
phpmyadmin--------------------------------------
# cd /usr/ports/databases/phpmyadmin/
# make install clean
基本设置++++++++++++++++++++++++++++
apache--------------------------------------------
修改 /etc/rc.conf 并加入下列这一行,以让开机时启动 apache22:
apache22_enable="yes"
设定/usr/local/etc/apache22/httpd.conf
ServerAdmin 设定管理者邮件
设定您的信箱,这个信箱地址当网页出现错误讯息时将出现在该页面上。以下范例为默认值:
ServerAdmin you@example.com
ServerName 设定主机名称及端口号
ServerName 可以让您设定您的主机名称,如果您没有主机名称,可以设定为您机器所使用的 IP。ServerName 会被用来重新转向网址,例如,当您输入一个网址 「http://www.example.com/dir」时,Apache 会参考您在 ServerName 中的设定,将 www.example.com 改成 ServerName,并在您所输入的网址后加上一个斜线「/」以连到 dir 目录中,也就是将网址转向到「http://www.example.com/dir/」。如果您的网址设定不正确,则使用者可能会连到一个不存在的地址。
所以,如果您没有主机名称,可以将这个值设定为 IP,让网址转向后还是可以连到正确的地方。在 ServerName 的设定中,我们也指定了 HTTP 的连接埠 80。
ServerName www.example.com:80
DocumentRoot 设定网页根目录
DocumentRoot 可以让我们指定网页根目录的位置,也就是我们存放网页的目录。
DocumentRoot "/usr/local/www/apache22/data"
设定好 DocumentRoot 后,我们必须要再设定该目录的权限。在 DocumentRoot 之后,有下列区段:(中间有些#掉的注释)
Options Indexes FollowSymLinks 注解这项
#Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
Allow from all
您必须将 也改成您的网页根目录位置。
DirectoryIndex 指定预设网页档名
DirectoryIndex index.html index.htm index.php index.php3 index.cgi index.pl
当使用者使用网址「http://www.example.com/dir」连到一个目录中时,如果没有指定网页,Apache 会去查找 DirectoryIndex 中所设定的网页在不在,如果存在则秀出预设的网页。
如果apache解释不了php
首先,确定你正确编译了php的mod,接着,在httpd.conf里面要加上以下的东东:
#加载你的mod,以下只是举例,你的mod可能不在同一个目录,名字也可能不一样
代码:
LoadModule php5_module libexec/apache22/libphp5.so
#如果你想index.php做主页,把它加进以下这一个配置项
代码:
DirectoryIndex index.html index.htm index.php
#让apache知道php文件应该用php的mod来处理,...你也可以定义其它后缀名
代码:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
加入PHP支持-----------------------------------------
如果您要使用 PHP,则必须在 httpd.conf 中加入 PHP 的支持,请在 httpd.conf 档案其它AddType周围加入下列内容,以便归类:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
取消 #AddHandler cgi-script .cgi 前的 # ,并加 .pl 以支持 cgi , pl
如: AddHandler cgi-script .cgi .pl
上述设定完成后,您就可以存盘离开。
接下来,我们必在修改 /etc/rc.conf ,并加入下列设定以在开机时启动 Apache:
apache22_enable="YES"
重启虚拟机后,打开网页http://IP/ (请将 IP 改成您的虚拟机 IP),显示It works!,不像原来,有个漂亮的页面。
我们可以在网页根目录中新增一个档案来测试 PHP 是否有正常运作,请使用文书编辑软件在/usr/local/www/apache22/data下开一个新文件 test.php,并加入下列内容:
<?
phpinfo();
?>
接下来您就可以连到该网页 http://IP/test.php (请将 IP 改成您的虚拟机 IP) 看看是否可以使用 PHP。如果有支持 PHP,则会显示 PHP 组态,如果没有,则只会出现上述档案内容。
MySQL5.0.33-------------------------------------
修改 /etc/rc.conf 并加入下列这一行,以让开机时启动 MySQL:
mysql_enable="yes"
接着您就可以使用下列指令启动 MySQL 了:
# /usr/local/etc/rc.d/mysql-server start
启动 MySQL 后,我们就可以使用下列指令进入 MySQL 交互式命令列了:
# /usr/local/bin/mysql mysql
MySQL 刚安装完成时,并未设定 root 的密码,因此我们接着要设定 root 的密码并实时更新设定:
mysql> Update user SET password=password('你的密码') where user='root';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
最后请以 exit; 来离开 MySQL。
phpmyadmin-----------------------------------------
将phpMyAdmin移动到DocumentRoot目录下
$cfg['Servers'][$i]['auth_type'] = 'config'; 改为
$cfg['Servers'][$i]['auth_type'] = 'http';
[本日志由 kevin 于 2007-12-05 09:55 PM 编辑]
评论: 0 查看次数: -
