VPS建站LAMP 101

自从跑到Linode上买了VPS,建站就得自己从零开始,这里写点基本建站的过程。

  • 以下内容是标准而又基础的LAMP搭建,不涉及ngix, lighttpd这些服务。
  • 以下内容非特别注明都在root权限下执行。
  • 以下内容使用的操作系统是Debian 5.0 (Lenny) 64bit,不过只要是Debian Like(比如 Ubuntu)的系统应该是通用的。
  • 由于各家VPS提供商的基础系统安装步骤各不相同,文章内容并不涉及到系统安装和域名设置。

设置时区
  系统安装完毕后,最好先设置一下时区。一般来说大部分发行版本默认的时区设置是UTC,个人建议还是把它设置成自己的当前时区比较好。

dpkg-reconfigure tzdata


设置HostName
  HostName设置成自己喜欢的就行,不过有些系统保留的名字不要用。

echo “youlikename” > /etc/hostname
hostname -F /etc/hostname

  设置完HostName后,继续让这个名字和Linode分配给你的公网ip地址相关联。
修改/etc/hosts:

127.0.0.1 localhost
12.34.56.78 youlikename

安装配置Apache服务
  对于Debian Like用户来说安装任何东西都极其简单,使用以下命令就可安装Apache Web服务。

apt-get install apache2

  然后需要修改/etc/apache2/ports.conf,加入以下内容:

NameVirtualHost 12.34.56.78:80

  IP地址当然是VPS供应商提供给你的独立IP,如果不想站点公开化当然也可以更改80端口。
  然后需要修改默认的虚拟主机IP地址和端口,修改/etc/apache2/sites-available/default:

<VirtualHost 12.34.56.78:80>

配置虚拟主机
  Apache2开始对虚拟主机的配置基本上做到了傻瓜化,非常适合各类像我这样的新手。所有的虚拟主机配置文件被放置在:

/etc/apache2/sites-available/

  每个配置文件和域名一一对应,便于管理。比如需要设置两个站点,可以创建如下两个配置文件:site1.com; site2.org。
/etc/apache2/sites-available/site1.com

<VirtualHost *:80>
     ServerAdmin admin@site1.com
     ServerName site1.com
     ServerAlias www.site1.com
     DocumentRoot /srv/www/site1.com/public_html/
     ErrorLog /srv/www/site1.com/logs/error.log
     CustomLog /srv/www/site1.com/logs/access.log combined
</VirtualHost>

/etc/apache2/sites-available/site2.org

<VirtualHost *:80>
     ServerAdmin admin@site2.org
     ServerName site2.org
     ServerAlias www.site2.org
     DocumentRoot /srv/www/site2.org/public_html/
     ErrorLog /srv/www/site2.org/logs/error.log
     CustomLog /srv/www/site2.org/logs/access.log combined
</VirtualHost>

  然后建立相应的目录:

mkdir -p /srv/www/site1.com/public_html
mkdir -p /srv/www/site1.com/logs
mkdir -p /srv/www/site2.org/public_html
mkdir -p /srv/www/site2.org/logs

  最后启用这两个站点:

a2ensite site1.com
a2ensite site2.org

/etc/init.d/apache2 reload

  Apache2提供了两个命令来快速启用和关闭某个站点:a2ensite和a2dissite。

安装配置Mysql
  安装Mysql Server一如既往的简单:

apt-get install mysql-server

  安装完毕后我建议运行一下mysql_secure_installation来做一些基本的安全设置,它会检查root密码、移除anonymous帐号、禁止root远程登录、移除test数据库。
  使用root帐号进入mysql。

mysql -u root -p

  创建数据库。

create database site1db;

  给新创建的数据库制定一个用户和密码。

grant all on site1db.* to ‘site1dbuser’ identified by ‘site1dbpwd’;

安装配置PHP
  在Debian下安装东西实在是没啥技术含量.

apt-get install php5 php-pear php5-suhosin

  然后对php.ini做些修改,让它能在VPS有更好的性能,不过我一直牢记着这条“premature optimization is the root of all evil”,所以在这些基础的设置之外个人建议各位和我一样的新手们,咱先不要去考虑其他的优化参数。
  修改/etc/php5/apache2/php.ini:

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
display_errors = Off
log_errors = On
error_log = /var/log/php.log
max_execution_time = 300
memory_limit = 64M
register_globals = Off

  你可以把上面这些内容复制到php.ini的末尾,也可以把它们一条一条找出来,然后去掉行首的注释字符“;”。
  为了让php支持Mysql,安装下面这个包:

apt-get install php5-mysql

  101教程到此结束,基本上做完上面这些事,站点就能运转起来了。

  最后,如果你对Linode有兴趣可以用这个地址注册:http://www.linode.com/?r=2423bd4b1aea90e0163241cd71513fe1b81108d3或者在注册的referral code中填2423bd4b1aea90e0163241cd71513fe1b81108d3,大约在三个月后我能得到一些好处,当然你直接跑去注册也没问题,以上链接并不会给你带来更多的优惠(当然也没什么坏处)。我个人在这里提供一个首月返还$10的Promo Code:storecrowd,这个是实在的优惠。

如果你对Linode有兴趣可以用这个地址注册:http://www.linode.com/?r=2423bd4b1aea90e0163241cd71513fe1b81108d3或者在注册的referral code中填2423bd4b1aea90e0163241cd71513fe1b81108d3,大约在三个月后我能得到一些好处,当然你直接跑去注册也没问题,以上链接并不会给你带来更多的优惠(当然也没什么坏处)。我个人在这里提供一个首月返还$10的Promo Code:storecrowd,这个是实在的优惠。

从Dreamhost向Linode搬迁中

  自从05年底开始使用Dreamhost的服务至今也有小四年的时间,在下一个账期开始前我还是决定终止Dreamhost的服务全面转向VPS Hosting供应商:Linode
  我并不想说关于Dreamhost的坏话,抛开有些高的当机率和所有共享主机商都斤斤计较的CPU使用率外,Dreamhost提供了一个对我这样初学者来说极其友好的服务和进阶功能。这次转向Linode说到底是我有些贱的折腾习惯在作怪,顺便面对每年更高的主机租用价格让我能增加一点把Blog写下去的压力。
  有关Linode的一些事实:

  • Linode是一家美国的VPS提供商,VPS就相当于把一台物理主机划分为多台虚拟主机,各台虚拟主机都有自己独立的CPU、内存、硬盘,逻辑上它完全是一台独立的服务器。所以相对Dreamhost那样over selling严重的Share Server,VPS对各类资源有很大的保证。Linode使用的是Xen技术,至于Xen具体是啥有兴趣的可以自己找Wiki去看看,反正很NB就是了。
  • Linode作为VPS来说是比较便宜的一家,我购买的是最便宜的Linode 360,价格是每月$19.95,加上一次购买一年给打了9折的折扣,另外还找了一个首月返还$10的Promo Code: storecrowd,所以一年的总费用是:$19.95 x 12 x 0.9 – $10 = $205.46。
  • Linode只能用信用卡。
  • Linode提供四个机房的服务器供选择,我使用的是Fremont, CA机房的,经很多人测试亚洲访问的速度应该是很不错的,我的实际测试是使用浏览器下载电信和网通都可以维持在150k/s左右。(可以到Linode“>这里测试)
  • 由于使用的是VPS,所以你需要对于Linux有些了解。基础系统不需要你安装,但是对于如何搭建一个Web服务还是要知道一点的,不过Linode有丰富的文档可供参考,我一开始就是照着文档一步一步搭起来的。
  • Linode提供DNS管理,完全可以(我也建议这样)把域名的DNS交给Linode来管理,它的界面友好,生效速度极快。我的经验是一般15分钟-1小时肯定同步完毕,国内一般都要12小时以上。

  估计接下来的一段日子我会大量更新有关Linode上的一些使用技巧和如何搭建一个基本的Web服务器。最后,如果你对Linode有兴趣可以用这个地址注册:http://www.linode.com/?r=2423bd4b1aea90e0163241cd71513fe1b81108d3或者在注册的referral code中填2423bd4b1aea90e0163241cd71513fe1b81108d3,大约在三个月后我能得到一些好处,当然你直接跑去注册也没问题,以上链接并不会给你带来更多的优惠(当然也没什么坏处)。我个人在这里提供一个首月返还$10的Promo Code:storecrowd,这个是实在的优惠。

Debian安装过程中发生/target/错误的解决

  最近Debian每日生成的安装盘在最后需要安装Grub步骤时会发生不能正确安装到/target/的错误信息。暂时的解决方法如下:

  • Alt + F2,切换到另一个控制台,回车。
  • #chroot /target
    #apt-get install grub

  • Alt + F1,切换回安装界面,选择Back,再试一次。

Debian APT(Cydia) - 崭新的iTouch/iPhone包管理

原文:Bringing Debian APT to the iPhone
译文:将 Debian APT 引入 iPhone

  有关在iTouch/iPhone中引入Debian的APT包管理系统具体内容可以参看以上两篇文章,这里只是粗略的说一下使用感受。

  • 完全可以放弃Installer中自带的那个BSD Subsystem。现有的BSD Subsystem几乎是所有用户装完Installer后第一顺位安装的包,但是它许多功能上都存在缺陷,需要若干个补丁才能勉勉强强够用。而使用Cydia的Telesphoreo项目完全替代了BSD Subsystem,而其安装完后就能开始工作。
  • Cydia在安装的时候会首先移除原有的BSD Subsystem,所以在安装完毕后记得在Installer里安装一下Fake BSD Subsystem,因为很多基于Installer管理的软件会检查是否已安装BSD Subsystem。
  • Cydia会把一些文件移动到”/private/var”下用来空出”/”那可怜的300MB空间,这个过程就是各类论坛上所说的“扩容”操作,而且Cydia做的很好,所以可以省略各位浪费时间去核对命令行或者使用很容易出错的BossTool。
  • 基于Debian优秀的APT包管理机制,理论上各类软件的互相依赖是会自动解决的,所以基于Cydia来发布的软件可以不用把所需的lib库重复打包。
  • Cydia有搜索功能,同时软件列表中也提供类似通讯录那样的首字母导航。所以不需要再象Installer那样疯狂的滑动屏幕寻找软件了。
  • Cydia其实只是APT的一个GUI界面,所以你完全可以在Terminall中使用类似”apt-get update””apt-get install vim”这样的命令来安装/升级程序。
  • 更强大的Ruby和Python,加上已经能完美工作的Vim,iTouch/iPhone已经是一台合格的工作站了。

  Cydia/APT很好很强大,不过它并不和Installer冲突。Installer庞大的软件源暂时是Cydia/APT比不上的,但是Cydia/APT在BSD系统方面的优秀表现让我把这方面相关的软件都交给了它来管理。

Technorati Tags: , , , , , , ,

幸福生活从懒得动弹开始

  俺家机器不多不少三台,操作系统三套:媒体中心(PC,MCE);工作站(PC,Debian);笔记本(Mac,OSX)。用起来得两个房间跑来跑去,上回算是解决了一点,这回多了一台工作站索性花了点时间来配远程登陆。
  终端登录方面:

  • linux的机器远程登陆字符界面是很简单的,打开ssh就好了。
  • OSX完全是Unix规范,所以也完全可以用ssh。
  • Windows从一开始就没考虑字符界面,登陆进去能干吗?

  图形界面方面:

  • Windows用PcAnywhere解决掉。
  • OSX和Debian都是首选VNC。
  • OSX下找到一个Vine,包括Server和Client端,都是图形界面很好用。
  • Debian下就麻烦了,尝试了vnc4server和tightvncserver都连不上,也不知道哪出错。
  • 搜了一下发现KDE下有两个小东西:Krdc和Krfb,都是图形界面,配置也简单易懂,用OSX连接也很正常。

  下图是在OSX下连接Windows和Debian的效果,总体感觉是基于VNC的速度都很快,效果也不错,PcAnywhere就比较慢(特别是在提高色深后更加明显)。
VNC & PcAnywhere

Technorati Tags: , , ,