在树莓派上搭建代码托管服务(SVN)

1、首先需要安装Subversion软件:

sudo apt-get install subversion

2、创建仓库

svnadmin create /var/svn

/var/svn 为所创建仓库的路径,理论上可以是任何目录
3、修改配置文件/var/svn/conf/svnserve.conf
#去掉#[general]前面的#号

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd

注意:所有的行都必须顶格,否则报错。 建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容.
4、修改配置文件passwd

[users]
svnuser = password
ukonline2000 = ukonline2000

注意:
一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用。
5、停止Subversion服务器:

killall svnserve

6、启动Subversion服务器 对于单个代码仓库,启动命令:

svnserve -d -r /var/svn

其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接 用svn://服务器ip来访问了。

另外,客户端推荐用TortoiseSVN。

树莓派配置为无线路由器

首先需要一个受驱动支持的无线网卡,配置的结果就是把树梅派的网络连接通过无线网卡分享出来。做分享的无线网卡当然就不能同时来连接网络了。
安装hostapd

sudo apt-get install hostapd

配置hostapd.conf

interface=wlan0
driver=nl80211
ssid=网络名称
channel=6
hw_mode=g
wpa=2
wpa_passphrase=密码
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

安装isc-dhcp-server

sudo apt-get install isc-dhcp-server

配置/etc/dhcp/dhcpd.conf,在末尾添加

subnet 192.168.111.0 netmask 255.255.255.0 {
range 192.168.111.50 192.168.111.150;
option routers 192.168.111.1;
option domain-name-servers 8.8.8.8;
option ip-forwarding off;
option broadcast-address 192.168.111.255;
}

启动hostapd

sudo hostapd hostapd.conf -B

设置无线网卡地址

ifconfig wlan0 192.168.111.1

启动isc-dhcp-server

/etc/init.d/isc-dhcp-server start

配置iptables

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

这样就可以把树梅派的的有线网络连接通过无线网卡信号分享出去,可以用手机或平板测试一下。如果对iptables足够了解还可以配置很多高级内容。树梅派仅仅配置成为一个无线路由可能还不够,可以配合文件服务器一起用。并不是所有网卡都能配置成功,下面是简单测试结果:
|树梅派|pc|
|TP-Link 722N|可以|可以|
|NW336|不可以|可以|
关于传输速度方面也可以做更多的测试。

显示树莓派状态信息的PHP页面

将下面的代码复制下来保存为php页面,访问这个页面就能查看实时的树莓派状态信息了。原理是打印shell_exec的结果。

<?php
    /**
    * state
    *
    * @package custom
    */
?>
	<article class="content">
	<section class="post">
		<div id='server_state'>
			<h5>uname -a</h5>
			<pre><?php echo shell_exec("uname -a"); ?></pre><br/>
    
			<h5>Uptime</h5>
			<pre><?php echo ltrim(shell_exec("uptime"), " "); ?></pre><br/>
    
			<h5>cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq </h5>
			<pre>
				<?php
					$t = shell_exec("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");
        	echo sprintf("%s/1000=%sKHz", str_replace("\n", "", $t), $t/1000);
				?>
			</pre><br/>
    
			<h5>cat /sys/class/thermal/thermal_zone0/temp </h5>
			<pre>
				<?php
					$t = shell_exec("cat /sys/class/thermal/thermal_zone0/temp");
        echo sprintf("%s/1000=%sC°", str_replace("\n", "", $t), $t/1000);
       ?>
      </pre><br/>
    
			<h5>free -h</h5>
			<pre><?php echo shell_exec("free -h"); ?></pre><br/>
    
			<h5>cat /proc/cpuinfo</h5>
			<pre><?php echo shell_exec("cat /proc/cpuinfo"); ?></pre>
</div>

via

利用Nginx的Referer防盗链

Nginx Referer模块并不能100%的去拦截站点,因为浏览器的Referer头内容可以伪造。若有特殊要求可以使用第三方模块ngx_http_accesskey_module~来实现公用key的防盗链,迅雷都可以防的哦亲。
那么我们开始来配置Nginx,还是以raspberry pi为基准,首先进入/etc/nginx/sites-available 打开default文件添加下面内容。
1.指定目录进行防盗链(推存使用):

location /usr/upload/photos/ {  
	valid_referers none blocked *.google.com *.google.cn *.google.com.tw *.google.hk *.bing.com *.baidu.com *.soso.com *.qq.com *.yahpp.com *.baiducontent.com *.googleusercontent.com raspiweb.dyndns.org;  
	if ($invalid_referer) 
	{  
		return   403;  
	}  
}

2.我们还可以整个站点防盗链

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {   
	valid_referers none blocked *.google.com *.google.cn *.google.com.tw *.google.hk *.bing.com *.baidu.com *.soso.com *.qq.com *.yahpp.com *.baiducontent.com *.googleusercontent.com raspiweb.dyndns.org; 
	if ($invalid_referer) 
	{   
		return 403; 
	}   
	expires 1d;
}

接着就大功告成了~
via

树莓派播放FM电台音频流

基本需要:
– RaspBIAN WHEEZY 系统
– 网络
– 耳机或者音响
1.启动树莓派(raspberry pi)
2.登录raspberry pi但是不要启动桌面
3.终端中输入:

sudo apt-get install mpd mpc alsamixer

4.添加一个网络FM音频流(例如SKY.FM:http://46.249.57.192:8016):

mpc add http://URL

5.播放音频流:

mpc play

6.提高音量:

mpc volume +10

7.减少音量:

mpc volume -10

8.停止播放:

mpc stop

9.使用alsamixer GUI:

alsamixer

10.保存FM站:

mpc save 站名称

11.加载以保存的站点

mpc load 站点

via