[backcolor=black] 索引 [/backcolor]
[backcolor=black] 前言 [/backcolor]
好吧。。。我这个码盲竟然开始写建站类的文章了,请大家鄙视我这个连helloworld都不会的人吧。
从这篇文章中你将会了解到:
- 在win7、win8系统下,利用现有工具和程序,只需要点几个按钮,快速配置网站程序所需要的运行环境(Apache+MySQL+PHP),让你的PC变身网站服务器。
- 在ADSL拨号这种动态IP的网络环境下,实现只要你的PC开机,其他人就可以随时通过顶级域名访问你在自己PC上建立的网站。
- 服务器放置在国内的风险。
以下需求可以通过实践本文中提到的方法实现:
- 利用带宽和PC效能等过剩资源建立博客/论坛/门户供其他人访问。
- 搭建自己的网络硬盘/同步盘系统。
- 各种游戏的服务器,比如minecraft。
下面开始教程:
[backcolor=black] 首先需要准备的工具/注册的账号 [/backcolor]
首先是需要准备的工具,第一个是一键搭好网站环境的工具,这里暂时推荐康盛的ComsenzEXP x3。
推荐理由是:
- 从XP到win8 64bit都可以正常运行。
- 安装过程全部是中文,并且没有命令提示符下的操作。
- 程序有一个简易的图形化控制界面。
- 虽然是一个Discuz论坛的建站程序,但是实践发现搭好的环境可以支持绝大部分需要PHP+mySQL的网站程序。
下载地址:
http://download.comsenz.com/ComsenzEXP/x3/
准备网站程序
- 网站程序,大家可以根据自己的需求进行选择,很多网站程序都是开源的,想要开论坛可以下Discuz或者PHPwind,想要开博客可以下wordpress,总之搜索引擎上输入需求都可以找到结果。
- 为大家演示的是在环境下安装Discuz x3 UTF-8版本。
- 对于程序的编码用GBK还是UTF-8,需要看网站的用户,如果都是国人可以选择GBK,如果有使用其他语言系统的人,建议用UTF-8。
本文演示的Discuz x3 UTF-8程序下载:
http://download.comsenz.com/DiscuzX/3.0/Discuz_X3.0_SC_UTF8.zip
其他开源程序推荐:
博客:wordpress
http://cn.wordpress.org/
SNS/微博:ThinkSNS
http://www.thinksns.com/
Wiki(这个就是维基百科使用的程序):
http://www.mediawiki.org/wiki/MediaWiki/zh-hans
视频站:MaxCMS
http://www.maxcms.net/
其他的网盘程序、FTP程序有很多,大家可以根据自己的口味选择。
准备免费二级域名&动态域名解析工具
- 没有域名的话,其他人访问你的网站只能通过IP地址(很邪恶的赶脚不是么)。
- 因为家用线路基本都是动态分配IP,所以IP变了再重新告诉别人,或者自己重新记会很不方便。
- 所以我们需要动态域名解析工具,其实简单来说就是把一个免费的二级域名解析到目前你这台机器的IP,所有人只需要记住这个二级域名,IP怎么变一样可以访问自己建立的网站。
- 各位也需要做好心理准备,实际测试发现所有免费的动态域名解析都不稳定,谁让它是免费的呢。。。
这里推荐比较成熟的花生壳:
注册地址:
https://console.oray.com/passport/register.html
注册后,会送你一个免费的二级域名。
之后下载花生壳软件,在本机登陆后运行,这个二级域名就可以解析到目前的IP:
http://www.oray.com/peanuthull/download_ddns_6.5.php
顶级域名
- 所谓的顶级域名,就是拥有一个xxx.com、xxxx.net的使用权限,上面的二级域名xxxx.xxxx.com。
- 这篇文章之后,我会单独发文为大家推荐免费的顶级域名,以及便宜的顶级域名注册方法。
- 顶级域名可以搭配上面用动态解析的二级域名,实现对方输入顶级域名后直接访问使用动态IP搭建的网站。
[backcolor=black] 网站程序所需运行环境的搭建 [/backcolor]
- 其实对于使用Windows系统的用户来说可以考虑系统自带的IIS组件建站,但是IIS不好好调整的话会出现各种不稳定问题(真想知道微软是怎么调教自己网站的),而且对于码盲来说操作上也会麻烦些,用IIS建站还需要手动安装PHP、mySQL数据库、各种插件、模块,我表示消受不起。。。。
- 所以暂时弃用IIS。
- 在windows环境下可以实现一键配置好环境,目前都是用Apache,其实Apache运行在Linux系统下效率才高,同样也是因为我实在太码盲,用Linux系统必然会出现各种不可预料的问题,于是纠结地用Apache for windows。
- 目前各种一键建站软件可以直接为你配置好Apache+PHP+mySQL的环境,剩下你需要做的只是在网站的文件夹里面放程序、设置数据库。
▲运行刚才下载的ComsenzEXP X3。
- 建议把整套建站程序+网站装在你的SSD盘符下,因为都是小文件并且涉及数据库读写,SSD在这方面要比机械硬盘强很多。
- 而且作为硬件玩家,也相信各位的SSD并不差。
- 选择自定义安装。
点击下一步
▲务必勾选phpMyAdmin组件,这个组件可以允许你连mySQL程序都不碰就实现数据库的管理。
点击下一步
▲有一些我们经常使用的程序会占用80端口,比如我这里使用的skype就会占用它,所以安装开始软件就会提示要不要修改端口。
- 这里强烈不建议点击确定继续安装,因为这样做的话,访问网站就需要在网址后面加半角冒号后面跟着端口号,比如www.pc426.com:81,这样是很蛋疼的。
- 所以点取消并关掉使用80端口的程序,然后重新运行安装程序。
- 后面的数据库端口被占用是因为在系统里我已经安装过mySQL占用3306端口,数据库端口不是默认没什么关系,注意安装网站程序的时候设置数据库地址、半角冒号、3307,比如localhost:3307。
- 解决端口占用问题后,继续下一步
▲安装成功后,会打开一个网页,并且打开图形化的控制界面。
- 这个图形化界面在修改apache设置、需要重启apache的时候很有用,可以摆脱输入命令或者用批处理。
- 网页中给出的信息大家务必要注意数据库的密码,下一步中会需要,默认密码是11111111。
- 为了安全,首先我们需要更改数据库的密码。
- 浏览器中输入这个网址打开phpmyadmin:
- http://127.0.0.1/phpmyadmin
- 顺便说一下,127.0.0.1等同于localhost,是代表本机的IP。
▲打开网页后,语言选择简体中文
▲用户名root,密码11111111,点击执行
▲初始的页面,常规设置下方点击修改密码
▲弹出对话框中输入密码,我输入的是pc426,这个密码需要牢记,安装所有需要数据库的网站程序都需要它。
当然,如果在乎安全性,可以点击生成随机生成一串密码,生成后务必牢记。
点击执行
▲密码修改完成,我们可以关掉phpmyadmin的页面了。
[backcolor=black] 安装网站程序 [/backcolor]
- 目前比较成熟的程序都会有专门的程序引导用户安装,安装过程大同小异,简单来说具有如下共通的步骤:
- 拷贝网站程序到根目录。
- 设置数据库,包括设置数据库服务器地址、数据库名、数据库用户名、密码、表前缀。
- 设置管理员ID和密码。
- 下面先进行第一步,拷贝网站程序到根目录:
- 在这之前,我们需要先删除ComsenzEXP自带的程序,首先找到网站所在的文件夹。
- ComsenzEXP的网站目录在程序安装目录下的wwwroot文件夹下,这就是根目录,也就是直接输入服务器IP后访问的目录。
- 上面的http://127.0.0.1/phpmyadmin这个链接后面的phpmyadmin,实际上就是wwwroot文件夹里面新建了一个phpmyadmin的文件夹,这里面放了程序。
▲再说一下其他的目录是做什么用的:
- Apache,也就是apache程序的目录,后面的文章会涉及调整一些服务器的参数、打开关闭某些功能、添加功能,都是在apache里面的conf目录中修改配置文件。
- backup,ComsenzEXP原附带程序的备份目录,安装其他程序后就没有用了。
- expfile,安装ComsenzEXP所需文件的目录,可能要涉及修补被修改的文件,建议保留。
- MySQL,数据库程序的所在目录。
- PHP5,PHP的所在目录。
- wwwroot,网站根目录。
- 另外,后期会有添加虚拟主机的教程(可以理解为不同域名解析同一IP但是访问不同文件夹),这个目录下我们可能会添加其他文件夹。
进入wwwroot目录
▲务必保留phpMyAdmin目录,否则误删后,你就需要重新下一套程序、修改配置文件管理数据库。
除phpMyAdmin外其他文件全部删除。
下面打开刚才下好的discuz程序压缩包
▲一般建站程序的压缩包打开后,都不会在根目录直接附上网站的文件,一般都会把程序放在upload目录。
当然,也注意不要把upload文件夹复制到wwwroot文件夹,这样做的话就需要在域名后加upload才能访问网站,比如
www.pc426.com/upload
进入upload文件夹
▲把里面的所有文件拖到wwwroot文件夹下
▲到这里,网站程序准备完成。
- 有部分程序可能需要在安装之前修改配置文件,这些大家可以通过readme来了解。
- 另外,如果你还想加一些小程序,也可以直接把程序复制到这个目录里,域名后跟着程序的文件名就可以运行,但是前提是千万不要覆盖掉这个目录里的文件。
- 下一步开始安装程序。
打开浏览器,输入安装程序目录,比如discuz的就是127.0.0.1/install/index.php
▲见到这样的页面,同意条款
▲安装环境检查,目录不可写一般是因为目录权限的问题,函数依赖性一般是因为php的配置文件问题,直接baidu相关问题找解决方案就可以。
环境没问题就可以点击下一步
▲其他的设置,这里是全新安装。
点下一步
▲设置数据库。
- 如果上面数据库端口有改动,比如改成了3307,那么数据库服务器部分就填localhost:3307,注意要用半角冒号。
- 数据库名自定义。
- 用户名就是刚才登陆phpmyAdmin的root,密码是修改后的pc426
- 数据表前缀为了防止意外不建议修改。
- 其他和注册网站ID差不多。
设置完成后点下一步
▲开始创建数据表,等待安装完成。
▲根据自己的需要选择是否开通云平台,这个可以后开,测试的时候点击暂不开通就可以。
▲熟悉的DZ论坛页面。
- 话说好怀念。。。两年前的PC426就是这样开始的。
- 现在你的PC已经正式成为了一台网站服务器,但是如果你在内网,其他人还不能访问你的站点,如果你在外网,其他人只能通过你的IP访问网站。
- 我们还差映射和域名解析这两步,完成它,其他人就可以直接通过输入域名访问你的网站。
[backcolor=black] 动态域名解析教程 [/backcolor]
- 如果你在内网,如果路由器不做设置的话,只有处于相同内网的用户可以通过内网IP访问你的网站。
- 所以我们需要设置DMZ主机。
- 当然,在此之前务必设置一下防火墙开放80端口,否则只有自己能上自己的网站。
首先要知道自己的内网ip地址,运行中输入ipconfig
▲可以看到内网IP地址是192.168.1.101,记住它进行下一步。
首先登陆路由器的管理界面
▲我的路由器是TP-LINK 841N,DMZ主机在转发规则中,其他路由器参见说明书。
DMZ状态启用,DMZ主机IP地址输入安装了网站程序的IP。
另外建议将这台机器的IP与mac地址绑定,防止下一次被分配了其他IP出现意外。
现在,你的站点就可以在外网通过IP访问了
▲看一下目前你被分配的IP,浏览器中输入它
▲输入本机IP可以访问网站就说明路由器的设置生效了。
下面开始做动态域名解析
▲用刚才注册的账号登陆花生壳客户端,右键你的免费二级域名点击域名诊断。
可以看到域名的IP地址指向正确,说明动态解析已经生效,下面可以在公网直接输入你的免费二级域名访问网站了。
注意:要始终开着花生壳客户端。
浏览器中输入域名试一试:
▲动态域名解析成功。只要你的服务器开着、内网IP不变、花生壳开着,你就可以随时随地访问自己建立的站点。
- 当然,随时随地是理论性的,因为虽然你的PC稳定性自己有信心,但是很可惜民用网络的环境不算太好,在自己机器上搭建的网站对于其他地区的用户来说访问过来可能延迟很高,或者经常丢包。
- 动态域名解析也不算稳定。
- 这就是为什么有一定流量的网站目前没办法在大陆地区的家里、或者办公室里搭一个服务器供全国用户访问、而要花费很多预算买机房空间的原因。
▲这个是P站(www.
pixiv.net)的集群,直接在办公室中腾出一个房间布置的。
- 另外去年我去11区基友家的时候,就试过用11区的民用光纤搭网站,结果线路质量出乎意料的好。。。好吧,试试我到了11区能不能直接在自己房间里放PC426的服务器。
- 其实我们经常看到一些漫画作品中熟练操作各种程序的角色房间里那一排一排的机柜。。。就是我说的那种情况。
- 好想试试这种感觉。。。
▲目前PC426的服务器放在日本北海道的石狩数据中心
▲虽然目前这个机房走的是日本NTT的线路,要先跳到美国NTT再跳到中国,但是并没有发现非常严重的抽风问题。
- 据说KDDI以及一些公司已经筹集了资金去铺设中国和日本的海底光缆,到时候部分线路估计可以实现日本和中国的直连。
- 另外在网站开设初期,还有一些免费的空间也可以考虑,我也会为大家推荐几个,当然,肯定没有自己的机器架服务器方便。
为什么如此纠结?下面的顶级域名解析会为大家解释:
[backcolor=black] 顶级域名实现动态解析 [/backcolor]
感觉二级域名很长?那么可以直接考虑注册一个顶级域名,搭配动态解析建网站:
至于顶级域名的注册,我会单独发文章和大家分享,包括免费的顶级域名,以及低价渠道注册域名的方式。
▲首先,确保以上步骤全部做完、并且拥有一个顶级域名。
- 如果你的网站主要面对国内用户,可以考虑实用DNSPOD的解析服务。
- 域名使用DNSPOD做解析的教程会在顶级域名注册的文章中一起为大家提供。
- 其实需要做的很简单,在DNSPOD的管理页面中,将记录类型调整为CNAME,记录值为你的免费二级域名就可以了。
- 如上图设置。
试试浏览器里面访问:
▲可以看到,直接通过51loli.com就可以访问自己搭建的网站。
想要www.51loli.com?DNSPOD里面做如下设置:
▲主机记录填www,CNAME到免费二级域名。
- 顶级域名,也就是@,显性URL转发到www.51loli.com。
- 当然,这样做其实会遇到一些延迟,DNSPOD的域名转发服务器没记错应该是在美国,租了亚马逊的AWS。
- 避免延迟可以在Apache设置上做修改,让使用51loli.com访问网站的用户直接跳转为www.51loli.com,但是这些有点高深,不符合码盲建站的定位,后面会为大家提供方法。
- 如果遇到问题欢迎讨论,力所能及能解决的我都会帮助大家解决。
另外。。。求技术大神的支援。
[backcolor=black] 最后再吐槽一下,为什么我蛋疼的把服务器放在了国外 [/backcolor]
同时这里也请所有打算开网站的童鞋注意:
首先是天朝的备案问题:
- 这个规定只有中国有:任何在中国境内的网站,域名必须要备案才能正常运营,我们看到国内网站底部的xICP备xxxx号就是备案号。
- 备案其实不麻烦,在一个服务商处买一个空间,本人到服务商那里填表拍照核验、等20天备案号就下来,这20天网站是不能上线的,备案号下来网站才可以正常运营。
- 但是有个天朝特色的问题,那就是国内网站在运营过程中,经常会碰到备案号被注销的情况,虽然说只有发现你的网站有不和谐的东西或者发现你的备案资料虚假才会被注销备案,但是去年我遇到了什么问题都没犯就被注销备案号的情况。
- 不知道大家有没有印象,去年这个时候PC426曾经必须使用pc426.org域名访问,就是因为pc426.com的备案号被注销,继续运营有域名、和你自己被黑名单的风险,尤其自己被黑名单是不能容忍的,今后想用自己的名字在国内开网站会遇到重重阻拦,只能“关站”备案。
- 当初幸好我有备无患把pc426.org也挂上了备案号,否则将会面临只能选择快速备案的问题。
- 所谓快速备案,实际上就是和通信管理局打通关系的人,可以找关系只用几天甚至几小时给你搞定备案号,但是因为这里面很多信息涉及虚假问题,后期被撤备案的风险会非常大,一旦选择将会面临担惊受怕、无限纠结循环。
- 在DIY行业的论坛中,可以很明显体现出备案的可笑之处,比如CHH的备案号被注销后,现在算是一个漏网之鱼,轮子不去备案也可以正常运营;还比如GZ(pcinlife)的备案号被注销后没有来得及备案,结果发生了去年的关站风波,而且出事情的时候帮GZ的站长提过建议,也确定pcinlife.com这个域名已经被黑名单,回不了国内,目前GZ论坛放在美国。
然后就是防止小人制造内容并举报,导致服务器被拔线:
- 很多人的具体做法是,注册很多马甲在你网站隐蔽的地方发露点图、发挑逗性欲的内容,甚至发很多不和谐内容,然后拿链接去有关部门举报,如果关系够凶残,可以直接导致有关部门突击服务器机房拔你的线,理由是调查取证,之后到你这里送水,邀请你去喝茶……
- 甚至很多内容他们是通过破解你的FTP密码,直接在你网站目录里生成的页面。
- 很多网站有了实际流量后,站长都会遭遇这个问题,例子数不胜数。
- 作为一代有为青年,怎么可以在这个环节上犯错误?于是趁着还没人对我有想法,赶紧搬出天朝。
- 可笑的是,搬出天朝后,出现这些内容的处理方式就完全不同了,多数情况下举报者得到的回复是:对不起,您举报的网站是境外网站,不在我们的管辖范围内;有一些关系的举报者得到的处理方式也只是墙掉你,墙你不怕,换IP或者反向代理就可以解决;除非你犯了非常非常大的错误,比如骗了很多人的钱财,才会被请去喝茶。
最后就是产品和价格的“性价比”问题:
- 拿我现在用的服务器举例,CPU和内存不存在超售的问题,可以保证效能,带宽方面可以保证50M的国际带宽。
- 这样规格的VPS在国内是找不到的,最要命的是,国内一个CPU和内存存在超售问题、带宽3M的VPS还要比我现在用的贵几十人民币。
- 国内带宽成本为什么这么高昂?这和联通、电信的态度有关,跨运营商的数据是按照流量计费的,比如你的服务器是电信线路,一个联通的用户在你的服务器上拖下来1GB的文件,那么联通就要向电信缴纳1GB的流量费用。
- 加高带宽=不可预见的成本提升,而且详细计算的话,短期内利润是降低的,毕竟基础设施投入巨大、流量费用也直接提升上来了,用户量却是不变的,涨那点价格根本不能补贴投入,长期的话只能寄希望于互联网渗透到各个层面,让需求变多,但是谁会考虑那么远呢?
- 相反。。。国际流量费用也是需要联通或者电信掏的。
- 其实也很可笑,每一个从天朝搬出去有流量的网站,都意味着运营商丢了一个客户、并且产生了额外的国际流量费用。国家通过半封闭或者全封闭的方式扶持这些企业成长起来,其实并不是想看到你们继续利用这个封闭的市场搞垄断的,可惜素质....
- 当你们看这篇文章的时候,联通或者电信就在乖乖的为NTT掏钱,但是这个费用他们并不吝惜,因为远比黑来的钱少多了,所以就随便搞吧。
代价是偶尔线路抽风会流失没有耐心的用户,不过这个代价要比上面的小太多太多。
为什么要把服务器放日本不是米国?因为我是码盲。。。用不明白Linux,米国的服务器99%都是Linux,Windows授权费用绑定,自己有序列号也不能用。
嘛。。。吐槽有点过了貌似。