当前位置: 编程技术>php
本页文章导读:
▪Apache设置虚拟WEB
Apache Server设置虚拟WEB 先举个例子:假设你的PHP装在 d:/php/ 下.Copy php4apache.dll (php4apache2.dll) 到d:/php/在 Aapche的httpd.conf 下面加入:###################################################.........
▪PHP&MYSQL服务器配置说明
Apache 1.3.22 for Win32+PHP 4.0.6+Active Perl 5.006001+Zend Optimizer v1.1.0+mod_gzip 1.3.19.1a+MySQL 4.0.0 Alpha Apache 1.X for win32虽然**能差(和IIS比起来差太远了,希望2.X for win32早点.........
▪国内php原创论坛
国内php原创论坛 ofstar ctb wdb discuz fastboard之比较-----个人总结由于旅行的fastboard加密了就不做比较了--当然是款不错的程序下面的比较单从技术角度出发,不考虑个人专好,毕.........
[1]Apache设置虚拟WEB
来源: 互联网 发布时间: 2013-11-30
Apache Server设置虚拟WEB
先举个例子:
假设你的PHP装在 d:/php/ 下.
Copy php4apache.dll (php4apache2.dll) 到d:/php/
在 Aapche的httpd.conf 下面加入:
######################################################
Aapche1 是:
LoadModule php4_module "d:/php/php4apache.dll"
Aapche2 是:
LoadModule php4_module "d:/php/php4apache2.dll"
添加由PHP解析的扩展名:
AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc .izz
######################################################
现在,你只要重启Apache后,就可以支持PHP了.
#下面这一行只有Apache1支持
LoadModule gzip_module modules/ApacheModuleGzip.dll
ApacheModuleGzip(即:mod_gzip),是Remote Communications免费提供的一个Apache模块,它可以压缩静态的web页面。它工作得很好,你只需要将它和apache一起编译就行了(或者将它作为一个DSO使用)。
你也可以在冰冰本站下载:
http://justdn.com/down/apache/ApacheModuleGzip.dll
更多的PHP加速和缓冲建议可以在冰冰的PHP文档中获取.
Apache 如何建虚拟主机呢?下面简单介绍基于域名的虚拟主机.
比如你的服务器地址是:61.132.27.69 (这个是冰冰的啦),现在我们要建 www.justdn.org 和 www.justdn.com 两个虚拟主机.
在Apache的httpd.conf后面加上如下的代码
######################################################
NameVirtualHost 61.132.27.69
<VirtualHost 61.132.27.69>
ServerAdmin webmaster@justdn.com
DocumentRoot C:/home/justdn.com/
ServerName www.justdn.com
ServerAlias justdn.com wwww.justdn.com
ErrorLog logs/www.justdn.com-error_log
CustomLog logs/www.justdn.com-access_log common
ErrorDocument 404 /404.html
</VirtualHost>
<VirtualHost 61.132.27.69>
ServerAdmin webmaster@justdn.com
DocumentRoot c:/home/justdn.org/
ServerName www.justdn.org
ServerAlias wwww.justdn.org justdn.org
ErrorLog logs/www.justdn.org-error_log
CustomLog logs/www.justdn.org-access_log common
</VirtualHost>
######################################################
下面解释一下,
ServerAdmin,就是管理员的邮箱啦.
DocumentRoot,该虚拟主机的站点文档目录.
ServerName,域名咯.
ServerAlias justdn.com wwww.justdn.com,说明既可以用 www.justdn.com 访问,又可以用 justdn.com 访问站点.
ErrorDocument 404 /404.html,指自定义该站点的404页面为该站点根目录下的404.html文件.
说明:
Unix 平台与NT平台使用apache server的设置相同。以下重点以unix平台为例说明apache server的设置。另外值得注意的是,虚拟web的成功设置,有大约50%的工作量是在域名的注册与解析方面。所以一般先注册好域名然后再做虚拟WEB 设置。
一 、IP型虚拟主机
IP型虚拟主机指每一虚拟主机对应唯一的IP。可通过多个物理网卡或虚拟网口实现多IP,Solaris2.5和Windows NT都支持这种方式。
两种配置多虚拟主机的方法:
1、为每一虚拟主机启动一个httpd进程。
下列情况下使用此方法:
1) 需考虑安全隔离问题,如两个httpd运行于不同的User、Group、Listen、ServerRoot,两者用户除通过Web相互浏览数据,无法访问其他数据。
2) 能提供足够内存和文件描述器。
设置方法:
为每一虚拟主机建立一个独立的httpd安装,在每一个安装路径的配置文件httpd.conf里,用Listen指令指定进程服务的IP,如:Listen 10.68.37.10:80
2、为所有虚拟主机启动一个httpd进程。
下列情况下使用此方法:
1) 允许在虚拟主机间共享httpd配置。
2) 计算机服务于大量的请求,运行多个进程使服务器性能降低成为重要考虑因素。
设置方法:
在配置文件httpd.conf里,用VirtualHost指令为每一虚拟主机设置ServerAdmin、ServerName、DocumentRoot、 ErrorLog、TransferLog或CustomLog,如:
〈VirtualHost www.smallco.com〉 #此处建议用IP
ServerAdmin webmaster@mail.smallco.com
DocumentRoot /usr/local/etc/httpd/htdocs/smallco
ServerName www.smallco.com #建议此处用域名
ErrorLog /usr/local/etc/httpd/logs/smallco/error_log
TransferLog /usr/local/etc/httpd/logs/smallco/access_log
〈/VirtualHost〉
〈VirtualHost www.baygroup.org〉 #此处建议用IP
ServerAdmin webmaster@mail.baygroup.org
DocumentRoot /groups/baygroup/www
ServerName www.baygroup.org #建议此处用域名
ErrorLog /groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
〈/VirtualHost〉
同时要做虚拟网口或网卡的配置,在DNS也要做相应设置。
二 、名字型虚拟主机(Apache1.3以上版本支持)
IP型虚拟主机虽好,但不是最佳方案。它要求每一虚拟主机有一专用 IP,在某些机器上难于实现。名字型虚拟主机是指每一虚拟主机的名字不相同,但IP一样。它的好处是不限制虚拟主机数量,配置、使用简单,不需另外的软硬件。缺点是客户端必须支持该部分协议,最近版本的浏览器都支持,某些老版本浏览器不支持。但Apache为此提供了解决方法。
设置方法:
在配置文件httpd.conf里,用NameVirtualHost指令设置虚拟主机,如:
NameVirtualHost 111.22.33.44
〈VirtualHost 111.22.33.44〉 #建议此处用IP
ServerName www.domain.tld #建议此处用域名
DocumentRoot /web/domain
〈/VirtualHost〉
同时,在DNS定义www.domain.tld指向111.22.33.44。
注意:当在NameVirtualHost指令后使用IP时,任何使用IP的URL请求都是针对虚拟主机的,主服务器从不会响应一个使用IP的URL 请求。另外,有些服务器希望以多个名字被访问。例如,假设有某一IP的服务器,希望以名domain.tld、www2.domain.tld都能被访问,做法是在VirtualHost指令部分使用ServerAlias指令。如:ServerAlias domain.tld *.domain.tld
另附一些虚拟主机的设置实例。
附:虚拟主机设置实例
IP型的虚拟主机配置
Setup 1: 服务器有两个IP,
111.22.33.44 server.domain.tld
111.22.33.55 www.otherdomain.tld
www.domain.tld 是server.domain.tld 的别名(CNAME),代表主服务器。
服务器配置:
...
Port 80
DocumentRoot /www/domain
ServerName www.domain.tld
〈VirtualHost 111.22.33.55〉
DocumentRoot /www/otherdomain
ServerName www.otherdomain.tld
...
〈/VirtualHost〉
Setup 2: 基本同Setup1,但不设置专门的主服务器。
服务器配置:
...
Port 80
ServerName server.domain.tld
〈VirtualHost 111.22.33.44〉
DocumentRoot /www/domain
ServerName www.domain.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.55〉
DocumentRoot /www/otherdomain
ServerName www.otherdomain.tld
...
〈/VirtualHost〉
这种设置只有当URL为http://server.domain.tld时才击中主服务器
Setup 3: 服务器有两个IP,
111.22.33.44 server.domain.tld
111.22.33.55 www-cache.domain.tld
www.domain.tld 是server.domain.tld 的别名(CNAME),代表主服务器。
www-cache.domain.tld是proxy-cache,端口是8080,Web服务器使用默认的80。
服务器配置:
...
Port 80
Listen 111.22.33.44:80
Listen 111.22.33.55:8080
ServerName server.domain.tld
〈VirtualHost 111.22.33.44:80〉
DocumentRoot /www/domain
ServerName www.domain.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.55:8080〉
ServerName www-cache.domain.tld
...
〈Directory proxy:〉
order deny,allow
deny from all
allow from 111.22.33
〈/Directory〉
〈/VirtualHost〉
名字型虚拟主机配置
Setup 1: 服务器有一个IP,
111.22.33.44 server.domain.tld.
www.domain.tld和www.sub.domain.tld是别名(CNAMEs) 。
服务器配置:
...
Port 80
ServerName server.domain.tld
NameVirtualHost 111.22.33.44
〈VirtualHost 111.22.33.44〉
DocumentRoot /www/domain
ServerName www.domain.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.44〉
DocumentRoot /www/subdomain
ServerName www.sub.domain.tld
...
〈/VirtualHost〉
若使用IP访问服务器,由于 www.domain.tld 有最高优先级,被认为是默认服务器或
第一服务器。
Setup 2:服务器有两个IP,
111.22.33.44 server1.domain.tld 用于主服务器
111.22.33.55 server2.domain.tld 用于虚拟主机
别名www.domain.tld用于主服务器,
别名www.otherdomain.tld用于一个虚拟主机,
别名www.sub.domain.tld,*.sub.domain.tld 用于另一虚拟主机,
服务器配置:
...
Port 80
ServerName www.domain.tld
DocumentRoot /www/domain
NameVirtualHost 111.22.33.55
〈VirtualHost 111.22.33.55〉
DocumentRoot /www/otherdomain
ServerName www.otherdomain.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.55〉
DocumentRoot /www/subdomain
ServerName www.sub.domain.tld
ServerAlias *.sub.domain.tld
...
〈/VirtualHost〉
混合型(IP/名字)虚拟主机配置
Setup:服务器有三个IP,
111.22.33.44 server.domain.tld 用于名字型虚拟主机
111.22.33.55 www.otherdomain1.tld 用于IP型虚拟主机
111.22.33.66 www.otherdomain2.tld 用于IP型虚拟主机
服务器配置:
...
Port 80
ServerName server.domain.tld
NameVirtualHost 111.22.33.44
〈VirtualHost 111.22.33.44〉
DocumentRoot /www/domain
ServerName www.domain.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.44〉
DocumentRoot /www/subdomain1
ServerName www.sub1.domain.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.44〉
DocumentRoot /www/subdomain2
ServerName www.sub2.domain.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.55〉
DocumentRoot /www/otherdomain1
ServerName www.otherdomain1.tld
...
〈/VirtualHost〉
〈VirtualHost 111.22.33.66〉
DocumentRoot /www/otherdomain2
ServerName www.otherdomain2.tld
...
〈/VirtualHost〉
端口型虚拟主机配置
Setup: 服务器有一个IP,
111.22.33.44 www.domain.tld
不需要另外的别名或IP,采用端口型虚拟主机即可设置一个配置有别于主服务器的虚
拟主机。
服务器配置:
...
Listen 80
Listen 8080
ServerName www.domain.tld
DocumentRoot /www/domain
〈VirtualHost 111.22.33.44:8080〉
DocumentRoot /www/domain2
...
〈/VirtualHost〉
[2]PHP&MYSQL服务器配置说明
来源: 互联网 发布时间: 2013-11-30
Apache 1.3.22 for Win32+PHP 4.0.6+Active Perl 5.006001+Zend Optimizer v1.1.0+mod_gzip 1.3.19.1a+MySQL 4.0.0 Alpha
Apache 1.X for win32虽然**能差(和IIS比起来差太远了,希望2.X for win32早点出),但是它的bug比较少,资源占用也少,而且它的模块式更方便功能的增加。PHP-4具有执行快速,**能效率高的特点,PERL提供了perl-cgi的支持,Zend Optimizer是加速php程序的,mod_zip用来压缩web server输出数据,MySql为数据库。以下是以win2k/xp作为蓝本,win9x运行这些服务软件太麻烦了,没办法作为service来运行。
一、
各软件下载地点:
Apache: http://www.apache.org/dist/httpd/binaries/win32/
PHP: http://www.php.net/downloads.php (下载.zip版本)
Active Perl: http://www.activestate.com/Products...l/download.plex (下载win32)
Zend Optimizer: http://www.zend.com/store/getfreefi...pid=13&zbid=198
mod_gzip: http://www.remotecommunications.com/apache/mod_gzip/ (下载.dll)
MySQL: http://www.mysql.com/downloads/index.html
其他软件:
phpMyAdmin: http://sourceforge.net/project/show...elease_id=44593 (用于对数据库的控制操作)
二、
安装路径(以下是范例,可以随便安装,但是最好不要安装在带有长名字的路径)
Apache :d:\apache
PHP :d:\php
Perl :d:\perl
MySQL :d:\mysql
mod_gzip :解压在d:\apache\modules
Zend Optimizer :解压在d:\php
网站文件放置 :d:\myweb
phpMyAdmin :解压在d:\myweb\phpmyadmin
Windows : d:\windows
三、配置mysql
安装后会自动运行winmysqladmin,并且提示输入用户名密码,输入用户名,密码,默认情况下已经安装为NT的Service,如果需要更安全点,那么在winmysqladmin 的my.ini Setup那一页 port=端口 那里修改默认的端口,在下面还有用户名密码的修改。修改完了,点击左边的Save Modiffication保存设置,然后右键点击控制台窗体,选WinNT->Stop The Service->Start The Service,这样新设置就生效了。
四、配置php
将php.ini-dist改名为php.ini,并且打开修改。
在[php]的下一行添加
zend_optimizer.optimization_level=15
zend_extension_ts="d:\php\ZendOptimizer.dll"
zendoptimizer.dll的路径一定要符合
接着查找extension_dir,在后面=加上你的windir\system32\目录全称,例如:extension_dir = d:\windows\system32\ (最后的\一定不能省略!)
查找extension=php_exif.dll、extension=php_imap.dll、extension=php_ldap.dll、extension=php_zlib.dll,将前面的分号注释去掉
查找mysql.default_port,在等号后面添加你的 mysql 端口,例如:mysql.default_port = 3306 (3306是mysql的默认端口)
查找mysql.default_host,在等号后面添加localhost,例如:mysql.default_host = localhost
保存
将php.ini php.exe复制到windows目录,将php里面php4ts.dll、dlls以及extensions目录下面的全部.dll文件复制到windows\system32下面(不要覆盖已有文件)
五、配置Apache
打开apache\conf\httpd.conf文件,以下为主要设置
ServerType standalone
ServerRoot "d:/Apache"
# Apache安装的目录
PidFile logs/httpd.pid
ScoreBoardFile logs/apache_runtime_status
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MaxRequestsPerChild 1024
ThreadsPerChild 50
SendBufferSize 65536
MaxClients 150
Listen 80
# 监听80端口,默认web server端口
BindAddress *
# 在任何ip均可以使用web server
LoadModule vhost_alias_module modules/mod_vhost_alias.so
AddModule mod_vhost_alias.c
# 去掉这两行前面的#,开启虚拟域名的支持
Port 80
ServerAdmin me@localhost
ServerName localhost
# 端口、管理员email,服务器域名,按实际修改
DocumentRoot "d:/myweb/"
# web文件保存地址,这里是以d:/myweb作为例子
<Directory "d:/myweb/">
Options FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
# 设置d:/myweb的访问选项
ScriptAlias /cgi-bin "e:/myweb/cgi"
<Directory "d:/myweb/cgi/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
# 设置cgi-bin目录权限
#!/perl/bin/perl
# 这一行配置perl-cgi的运行环境,由于Active Perl安装在d:\perl,所以这里直接使用相对路径
# 注意,要运行的cgi、pl文件的头一行要和这里相同,否则不能运行。这里也可以写成
# #!d:/perl/bin/perl
# 另外这个配置第一个#不代表注释的意思,所以不能省略!!
查找DirectoryIndex index.html,在下面添加
DirectoryIndex index.htm
DirectoryIndex default.htm
DirectoryIndex default.html
DirectoryIndex index.php
DirectoryIndex index.php3
DirectoryIndex index.cgi
查找AddType application/x-httpd-php
修改为AddType application/x-httpd-php .php .phtml .php3
查找AddHandler cgi-script
修改为AddHandler cgi-script .cgi .pl
LoadModule php4_module d:/php/sapi/php4apache.dll
LoadModule gzip_module d:/apache/modules/ApacheModuleGzip.dll
# 加载php4,gzip模块
### 以下为gzip模块设置
mod_gzip_on Yes
mod_gzip_minimum_file_size 300
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 100000
mod_gzip_keep_workfiles No
mod_gzip_dechunk Yes
mod_gzip_can_negotiate Yes
mod_gzip_temp_dir d:/apache/temp
# 必须在apache目录下面有一个temp目录,没有就新建一个
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.htm$
mod_gzip_item_include file \.shtml$
mod_gzip_item_include file \.shtm$
mod_gzip_item_include file \.pl$
mod_gzip_item_include file \.cgi$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include handler ^perl-script$
mod_gzip_item_include mime ^httpd/unix-directory$
mod_gzip_item_include handler ^server-status$
mod_gzip_item_include handler ^server-info$
mod_gzip_item_include mime ^application/x-httpd-php
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.php3$
mod_gzip_item_include file \.mht$
mod_gzip_item_exclude file \.css$
mod_gzip_item_exclude file \.js$
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude reqheader Content-Type:multipart/form-data
mod_gzip_item_exclude reqheader Content-Type:application/x-www-form-urlencoded
mod_gzip_item_exclude file \attachment.php$
#上面这个是VBB必须要的
### End of mod_gzip sample config
LogFormat "%h %l %u %t \"%r\" %>s %b mod_gzip: %{mod_gzip_result}n In:%{mod_gzip_input_size}n Out:%{mod_gzip_output_size}n:%{mod_gzip_compression_ratio}npct." mod_gzip_info
# 记录gzip运行情况
# 以上为httpd.conf需要添加或者修改的地方,其他不用修改可以了
六、配置phpmyadmin
打开config.inc.php文件修改
$cfgServers[1]['host'] = 'localhost'; //mysql地址
$cfgServers[1]['port'] = '3306'; //mysql端口
$cfgServers[1]['user'] = 'username'; //mysql用户名
$cfgServers[1]['password'] = 'passwd'; //mysql密码
$cfgDefaultLang = 'zh'; //配置phpmyadmin为简体中文界面
由于phpmyadmin这个是mysql配置,所以需要将他放在一个别人猜不到的目录或者该目录需要用户权限验证
七、测试
如果按照默认的d:\myweb\phpmyadmin,那么用浏览器打开以下地址http://localhost/phpmyadmin/
如果测试成功会出现phpmyadmin的mysql管理页面,点击Show PHP information ,或者去http://localhost/phpmyadmin/phpinfo.php,这个显示出web php mysql的配置情况以及运行情况.........
只要配置没问题,那么上面Apache 1.3.22 for Win32+PHP 4.0.6+Active Perl 5.006001+Zend Optimizer v1.1.0+mod_gzip 1.3.19.1a+MySQL 4.0.0 Alpha配置完毕
[3]国内php原创论坛
来源: 互联网 发布时间: 2013-11-30
国内php原创论坛 ofstar ctb wdb discuz fastboard之比较-----个人总结
由于旅行的fastboard加密了就不做比较了--当然是款不错的程序
下面的比较单从技术角度出发,不考虑个人专好,毕竟个人专好,因人而异!
以下主要比较:速度,稳定性,安全,负载能力,后台,前台功能
ofstar与ctb之比较
1,在速度上ofstar远远快于ctb
2,在稳定性上ctb还是采用传统的稳定性概念,某种意义上是不稳定的!
3,在安全上ctb没有过滤恶意代码等所造成的安全问题!
4,在负载能力上,当大量数据存在时,ctb存在管理,搜索,线程,帖子浏览所造成的负荷比较大!ofstar采用了独有的读写算法,第一次突破了文本数据库的负载问题!
5,后台上ctb和 ofstar 各有所长,不过在备份上,ctb备份比较麻烦
6,前台功能ctb不如ofstar!
7,ctb起步早,ctb插件较多,现成的风格也较多!
ofstar与wdb之比较
现有的所有wdb(原版,或是hack版)存在者极严重的安全漏洞,可以轻松得到管理员密码!因此不做详细比较,简单点:稳定性,安全,负载能力,后台,模版套系都不及ofstar,而且后期其他人的修改版的速度远不及ofstar
ofstar与discuz之比较
ofstar采用平面文件数据库,discuz采用mysql数据库
1,速度上ofstar远远快于discuz
2,在稳定性上,由于采用不同的数据库,如做比较涵盖范围较大,不过ofstar独有的文本稳定性算法,这点比较优秀,而且在大型论坛中也实验成功!
3,在安全上,由于采用不同的数据库,比较性降低,就代码上ofstar较discuz 免费版强
4,由于数据库物理结构不同,在负载能力上与后台管理,由于ofstar采用了独特的算法,两者不相上下!
5,前台功能上,ofstar在图片和附件的防盗做得比较好,后台功能discuz用户组功能比ofstar完善,其他不相上下!
6,discuz发展早,插件较多
(出处:pocky)
最新技术文章: