Archive for Linode

Linode vpn 设置

// June 25th, 2009 // No Comments » // Funny, Linode, Stuff, Uncategorized, domain

VPN 的好处就不用多说了, 老实说真的花了好多时间来设置VPN, 终于可以利用VPN来看hulu.com 了, Linode.com 200G的流量不能浪费了。

配置参考了 openvpn的官方文档 点击这里查看

VPN设置第一步就是安装。 默认安装的openvpn 已经有样例 这里用证书的方式来进行登录VPN, 所以拷贝了一份examples/easy-rsa 到openvpn 目录。 同时建立一个keys目录来保存私钥已经对应的证书。 用root 用户来见以保证私钥不会被其他人获取。

$sudo apt-get install openvpn openssl ca-certificates bridge-utils;
$cd /etc/openvpn; 
$sudo mv /usr/share/doc/openvpn/examples/easy-rsa ./;
$cd easy-rsa/2.0;
$sudo mkdir keys;

接下来就是创建必要的私钥和证书了,第一次做的时候运行一下下面的命令吧

$sudo source ./vars;
$sudo ./clean-all;
$sudo ./build-ca;

然后创建必要的服务端密钥和证书

$sudo ./build-key-server vpn.demo.com

接下来创建客户端的密钥和证书,

$sudo ./build-key demouser
$sudo ./build-dh

修改/etc/openvpn 目录下面的server.conf 没有的话自己建吧, openvpn 默认是读取这个配置文件来与运行openvpn的。

port 1194
#这个是openvpn的监听端口
proto udp
#我们用udp的协议
dev tun
#这里用了 tun 模式
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/vpn.demo.com.crt
key /etc/openvpn/easy-rsa/2.0/keys/vpn.demo.com.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
#上面是证书及相关私钥。
server 10.8.0.0 255.255.255.0
#设置VPN 服务器私有网络的IP段, 默认会给Linode 服务器建立一个10.8.0.1 的IP。
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
#这里设置了客户端所有网络请求都会被转发到Linode 的VPN 服务器。 这个才是VPN数据包路由的关键。
push "dhcp-option DNS your_Linode_DNS_IP"
#因为数据被被转发到VPN 服务器,所以有必要给客户端指定DNS ,这边的DNS应该是Linode服务器用到的
#DNS, 可以通过Linode 的console 看到。
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

这样服务端的配置就完成鸟, 因为所有的数据请求都转发到了服务端VPN, 在iptables 里面需要加入转发规则。

客户端的配置就更简单了, 安装openvpn 自带的客户端,修改自己对应的ca 证书 和客户端证书就OK了,配置内容如下:

client
dev tun
proto udp
remote yourVpnServerIP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Program Files\\OpenVPN\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\keys\\username.crt"
key "C:\\Program Files\\OpenVPN\\keys\\username.key"
ns-cert-type server
comp-lzo
verb 3

BinGo, 连接到VPN后就客户端就可以看到多了一个本地连接,IP就是 10.8.0.6 Ping 一下 10.8.0.1 正常情况下都没有问题。这个IP用VPN Server的DNS 来作为自己的DNS, 所以还有一个必须要做的就是利用Iptables 来做一下数据包转发。

$sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

如果还不行就要检查一下IPTABLES 转发规则,$sudo iptables -A FORWARD -j ACCEPT 我比较懒 就全部FORWARD了。
MAC下面我使用的是 tunnelblick 这个工具 配置大同小异,记得Set as Nameserver 打钩就可以了。
Enjoy 。。。。

PS: 补充一下 这个配置完全用证书进行VPN连接, 保管好自己客户端的KEY和证书, 经常换服务端客户端证书以提高安全性。

Linode 设置Web Dav 目录

// June 19th, 2009 // No Comments » // Funny, Linode, Stuff, Ubuntu, domain

Web Dav 用来在服务器上设置一个可以远程挂载的目录, 在服务器网速够快的时候相当的方便, 最重要的是挂载到本地后可以当作本地的一个目来来进行管理, 拷贝文件,删除文件都易如反掌, 在配合另外设置的安全验证以后 对个人来说使用将非常的方便, 最棒的是也可以通过浏览器直接访问,利用用户验证达到加密们网络目录的目的, 而且Mac , Linux, Windows都兼容.废话少说现在来设置如何在ubuntu 9,04 服务器上搭建Web Dav 用到的服务器在Linode.com的VPS

如果安装的是Apache2的话 dav_fs dav 模块应该默认都安装了 激活一下就可以用了

$sudo a2enmod dav_fs
$sudo a2enmod dav

然后就是设置DAVLock 和验证模块, 比较懒直接用这个方法 不过安全性已经很高了.

$cd /usr/share/apache2/ 
$sudo mkdir var
$sudo touch ./var/DAVLock
$sudo chown -R www-data:www-data ./var

这里可以利用 htpasswd 来设置用户名, 当然这里的目录都可以改在其他地方,只要能访问到就OK

 sudo htpasswd -m -c /etc/apache2/.htpasswd yourusername
 sudo cat /etc/apache2/.htpasswd

然后就是最重要的虚拟目录配置了, 最好是给一个子域名, 这样容易管理文件 安全性也好.
下面就是样例配置信息 可以在 sites-available 目录里面建立想要的子域名然后修改.

# domain: your sub domain
<VirtualHost *:80>
#这里试用了80 端口, 以后的设置会用SSL来加强安全性 那个时候443端口会被调用
  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin webmas...@yourdomean
  ServerName  yourdomain
  ServerAlias www.yourdomain
 
  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.php
  DocumentRoot /home/demo/public_html/yourdomian/public
 
  # Custom log file locations
  LogLevel warn
  ErrorLog  /home/demo/public_html/yourdomain/log/error.log
  CustomLog /home/demo/public_html/yourdomain/log/access.log combined
 
  ErrorDocument 404 /errors/404.html
  ErrorDocument 403 /errors/403.html
 
## Location of the DavLock file
DavLockDB /usr/share/apache2/var/DAVLock
        <Directory /home/demo/public_html/yourdomain/public/>
        DAV On
        AuthName "WebDAV Login"
        AuthType Basic
        AuthUserFile /etc/apache2/.htpasswd
        ## Limit access for enhanced security
        Require valid-user
        Order allow,deny
        Allow from all
        </Directory>
</VirtualHost>

这样设置就完成拉
enable 这个新建的site就可以reload apache2 来访问了. 提示要求输入刚才创建的用户名密码, 进入就可以看到目录里面的文件了.
Mac 和 Linux 自然不用说, XP 客户端需要安装一个注册表 这里下载 重启以后才能在 my network places 进行添加. 按部就班就行了.

Linode apache2 设置虚拟目录 支持多域名

// June 18th, 2009 // 1 Comment » // Funny, Linode, Ubuntu

VPS 如果不弄个虚拟目录来支持多域名那么真的是浪费,可怜的Linode.com 相对VPS 现在大部分的Share Hosting 都是支持多域名的, 其实想要自己的VPS支持多域名是非常简单的。 在架设了Apache2后 做一些虚拟目录设置就可以了。

最初呢最好是建立自己的一个用户名,用来管理大部分的文件,也方便以后设置FTP ,等等。

mkdir -p /home/demo/public_html/demo.com/{public,private,log,backup}

用来在demo用户目录中创建一个叫demo.com 域名的目录,直接用域名名字来作为目录名方便管理。

sudo vim /etc/apache2/sites-available/demo.com

创建一个以域名名字为文件名的子网站配置文件, 也是为了方便管理。 可选用自己喜欢的编辑器,这里用了vim。

配置文件的大概内容是:

# domain: demo.com
# public: /home/demo/public_html/demo.com/
 
<VirtualHost *:80>
 
  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin webmas...@demo.com
  ServerName  demo.com
  ServerAlias www.demo.com
 
  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.php
  DocumentRoot /home/demo/public_html/demo.com/public
 
  # Custom log file locations
  LogLevel warn
  ErrorLog  /home/demo/public_html/demo.com/log/error.log
  CustomLog /home/demo/public_html/demo.com/log/access.log combined
 
  ErrorDocument 404 /errors/404.html
  ErrorDocument 403 /errors/403.html
 
        <Directory /home/demo/public_html/demo.com/public/>
                Options Indexes FollowSymLinks
                AllowOverride All
        </Directory>
</VirtualHost>

这个是最基本的配置, 可以根据自己的需要修改, 如果以后需要配置其他服务 同样需要在这边修改。

sudo a2ensite demo.com

demo.com 其实就是配置文件的名字。 在安装了apache2 后就可以直接用 a2ensite 命令。

sudo /etc/init.d/apache2 reload

如果显示无错误的话就可以执行apache reload了。
在demo.com 域名指定了 A 记录到 Linode VPS的 公网IP以后就可以直接访问域名来访问虚拟目录了。 DNS继续可能需要一段时间, 所以在修改A 记录以后可以在本地的host 先指定IP来测试页面。 AllowOverride 这个设置可以让虚拟目录支持.htaccess 的URL重写记录。

Linode 配置 Apache2 和 PHP5

// June 18th, 2009 // 10 Comments » // Funny, Linode, PHP, Stuff, Ubuntu, Uncategorized, domain

配置Linode上的ubuntu 服务器已经有几天了, 抽空整理了一下配置文档,
ubuntu 服务器的配置非常简单, 默认Linode 给的VPS 已经安装了一个裸系统, 需要什么自己apt就可以了。 在修改了源之后进行一次系统更新 然后就开始这是apache2 服务器。

$sudo aptitude install apache2 apache2.2-common apache2-mpm-prefork
apache2-utils libexpat1 ssl-cert

这边安装了最基本的apache2 服务, 我添加了ssl-cert . 从文档上看 最新的apache2 已经内建了SSL 模块,这点在后来设置 Web Dav的时候才发现的, 很棒。

接下来就是安装PHP5, 数据库的支持肯定是需要的,所以安装php5的时候肯定要添加上相关的模块:

$sudo aptitude install libapache2-mod-php5 php5 php5-common php5-curl php5-dev
 php5-gd php5-imagick php5-mcrypt php5-memcache php5-mhash php5-mysql
php5-pspell php5-snmp php5-xmlrpc php5-xsl

比较懒,干脆把大部分的模块都装了进去。

$sudo aptitude install mysql

数据库安装就不需要说明了, 第一次安装运行需要填写对应的root密码,照做就Ok了, 之后可以安装phpmyadmin来管理数据库, 这个管理软件比较完善。

这样apache2 和php5就安装完成了,暂时按照默认的配置文件运行apache2

$sudo /etc/init.d/apache2 reload

在Linode上 因为VPS分配了一个独立的公网IP, 如果域名指向暂时没弄好的话可以直接在浏览器上打IP查看apache2的运行情况。