树莓派实现NAS家庭服务器(流媒体播放、文件共享及下载机)

树莓派实现NAS家庭服务器(流媒体播放、文件共享及下载机)

一、家庭服务器实现的主要功能

1、流媒体播放服务:利用DLNA实现电视、手机、电脑播放其上面的媒体文件。

2、文件共享:利用samba实现手机、电脑等终端与服务器的文件共享。

3、自动下载:利用aria2c实现自动下载。

先上几张效果图:

用orico的包装盒做了个机箱。

内部效果,线还是有些凌乱

放在桌上,感觉还不错,呵呵

二、准备工作

1、树莓派B+

2、安装raspbian系统,具体安装方法见:树莓派学习笔记(1):入手树莓派

3、设置固定IP为192.168.1.120,设置方法见:树莓派学习笔记(3):利用VNC远程控制树莓派。

4、安装vnc软件,安装方法见:树莓派学习笔记(3):利用VNC远程控制树莓派。

5、准备了一块旧移动硬盘(80G)

6、准备了可外接供电的usb hub一个,树莓派本身输出电流较小,很难保证移动硬盘的运行,所以加了一个可外接供电的usb hub。

三、安装samba实现文件共享

1、准备硬盘

      硬盘进行分区和格式化,这里我直接就分了一个区,格式化为ext4格式,据网上介绍说如果是fat或者ntfs等格式可能会出现权限问题,于是干脆直接格式化为ext4格式。硬盘在树莓派上格式化会比较慢,我就在电脑上进行了格式化。电脑操作系统是windows7,利用软件MiniTool Partition Wizard Home Edition 8.0,下载地址:http://www.partitionwizard.com/download.html。具体使用方法是先将原分区删除,然后点击creat,在格式那里选ext4,类型我选的primary,label用的nas,然后点击apply就开始格式化硬盘了。(如果用容量较小的U盘,可以直接用树莓派格式化,命令为:mkfs -t ext4 /dev/sdb1)

1

2、将硬盘挂载到树莓派上

      树莓派开机后,用putty连接(连接方法见树莓派学习笔记(1):入手树莓派)后,为方便操作直接进行root用户(具体方法见http://www.cnblogs.com/xiaowuyi/p/3980037.html一楼评论处),然后运行df –h,查看硬盘挂载情况。


  1. root@raspberrypi:/home/pi# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. rootfs 2.9G 2.4G 387M 87% /
  4. /dev/root 2.9G 2.4G 387M 87% /
  5. devtmpfs 183M 0 183M 0% /dev
  6. tmpfs 38M 792K 37M 3% /run
  7. tmpfs 5.0M 0 5.0M 0% /run/lock
  8. tmpfs 75M 0 75M 0% /run/shm
  9. /dev/mmcblk0p1 56M 9.7M 47M 18% /boot
  10. /dev/sda1 70G 24M 67G 1% /media/nas

 

最后一行/dev/sda1说明硬盘已经挂载。为下一步安装samba,将共享文件夹设为/samba。于是新建文件夹:


  1. mkdir /samba

 设置访问权限:


  1. shmod 777 /samba

 将硬盘挂载到/samba文件夹,具体步骤:


  1. umount /dev/sda1 #取消挂载
  2.  
  3. mount /dev/sda1 /samba

 这里再查看df -h,结果为:

2

这里表示已挂载成功。

3、解决硬盘的自动挂载

      每次树莓派重启或者硬盘插拔都需要对硬盘进行重新挂载,比较麻烦,因此需要自动挂载。这里要修改/etc/fstab文件。有人喜欢用vi进行编辑,我比较喜欢直接vnc连接上后,用编辑器进行编辑。

image

可以看到,fstab文件其实就是一个表格,表格各列的含意如下:

第一列:磁盘分区名/卷标,一般是/dev/sdaN(N表示正整数)

第二列:挂载点,我们在这里把/dev/sda1挂到/samba上。

第三列:缺省设置,一般用defautls。

第四列:是否备份:0——表示不做 dump 备份;1——表示要将整个 <fie sysytem> 里的内容备份;2 也表示要做 dump 备份,但该分区的重要性比 1 小。

第五列:检测顺序:0——不进行检测;根分区(/),必须填写 1,其它的都不能填写 1。如果有分区填写大于 1 的话,则在检查完根分区后,从小到大依次检查下去。

具体填写方法在图中已注明。

4、安装samba

更新一下源:


  1. sudo apt-get update

安装samba


  1. sudo apt-get install samba samba-common-bin

安装完成后,配置/etc/samba/smb.conf文件

在其最后添加以下命令:


  1. #================================================
  2.  
  3. [share] #共享文件的名称,将在网络上以此名称显示
  4. path = /samba #共享文件的路径
  5. valid users = root pi #允许访问的用户,这里我用的是root 和 pi 两个用户
  6. browseable = yes #允许浏览
  7. public = yes #共享开放
  8. writable = yes #可写
  9.  
  10. #================================================

 保存后,重启samba服务,输入


  1. /etc/init.d/samba restart

 最后添加共享用户:


  1. smbpasswd –a pi #这里我用的pi。

 设置开机自启动,编辑/etc/rc.loca,如下

4

5、测试samba安装效果

在windows计算机上,打开我的电脑,在左下角网络点右键,选映射网络驱动器

image

点击完成会提示输入用户名和密码,这里输入设置的共享用户名和密码。

image

 最后在计算机下会出现共享的文件夹,点开文件夹,新建test.txt文件进行一下测试,如果能正常建立,就说明ok了,如果不行,应该是权限问 题,可再重新设置一下/samba文件夹权限。这里注意,如果在/samba文件夹下新建新的文件夹,也需要设置权限,可以用vnc连接后,用管理员浏 览,点右键设置文件夹权限为read and write,也可以用chmod命令设置。

四、安装DLNA实现流媒体服务器

DLNA主要面向媒体资源(比如视频、音乐)实现网内共享,具体步骤如下:

1、安装minidlna

更新一下安装源


  1. sudo apt-get update

 安装minidlna


  1. sudo apt-get install minidlna

2、设置配置文件

设置/etc/minidlna.conf文件,在文件尾部添加如下内容:


  1. #===================================================================================
  2.  
  3. media_dir=A,/samba/DLNA/Music #A表示这个目录是存放音乐的,当minidlna读到配置文件时,它会自动加载这个目录下的音乐文件
  4. media_dir=P,/samba/DLNA/Picture
  5. media_dir=V,/samba/DLNA/Video
  6. db_dir=/samba/DLNA/db #配置minidlna的数库数据的存放目录
  7. log_dir=/samba/DLNA/log #配置日志目录
  8. #=======================================================================================

3、建立文件夹

在/samba文件夹下,建立以上文件夹,并设置好权限为read and write。

4、重启minidlna


  1. /etc/init.d/minidlna restart

测试:


  1. /etc/init.d/minidlna status

返回如下结果为正常。

image

5、在电脑上进行播放

先在树莓派以上对应的video等文件夹内存上一些文件(可利用samba直接从电脑上考入),然后返回到计算机进行操作。

点击我的电脑下面的网络,出现媒体设备

image

双击进入媒体播放器,在左边的列表栏下方其它媒体库中出现raspberrypi:root,点击后,可选择音乐,视频等。

image

这时双击就可以欣赏了。

6、手机上进行播放

手机上实现网络共享,可安装es file explorer软件,在其网络处进行设置,设置方法与电脑基本一样,这里不再详述。设置后,文件均可浏览,媒体文件双击可以在线播放。

也可以直接使用updp播放器,这里我安装的是moliplayer,可以在其附近设备里,直接找到raspberrypi:root,访问其媒体问题,注意,这里是访问的DLNA共享,所以不需要再输入密码。

7、智能电视进行播放

智能电视一般都是用的android系统,与手机基本一样。

五、安装aria2实现下载机功能

1、安装aria2

更新一下安装源

sudo apt-get update

安装aria2


  1. sudo apt-get install aria2

2、创建配置文件

在/etc目录下创建aria2目录用来存放配置文件:


  1. sudo mkdir /etc/aria2

创建空白的aria2.session文件:


  1. sudo touch /etc/aria2/aria2.session

创建配置文件


  1. sudo nano /etc/aria2/aria2.conf

在该文件中输入以下内容:


  1. #=========文件保存目录自行修改
  2. dir=/samba
  3. disable-ipv6=true
  4. #打开rpc的目的是为了给web管理端用
  5. enable-rpc=true
  6. rpc-allow-origin-all=true
  7. rpc-listen-all=true
  8. #rpc-listen-port=6800
  9. continue=true
  10. input-file=/etc/aria2/aria2.session
  11. save-session=/etc/aria2/aria2.session
  12. max-concurrent-downloads=3

这里为了方便共享,我直接设置将文件下载到samba共享文件夹。

3、启动aria2


  1. sudo aria2 –conf-path=/etc/aria2/aria2.conf

如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,转为后台运行:


  1. sudo aria2 –conf-path=/etc/aria2/aria2.conf -D

同时其此句写到开机启动中,编辑/etc/rc.loca,如下

3

4、安装appache

        为了能web管理aria2进行下载,需要安装yaaw和appache环境。

安装appach


  1. sudo apt-get install appache2

修改/var/www的权限


  1. chmod 777 /var/www

5、安装yaaw

        从https://github.com/binux/yaaw下载yaaw,点击右下角的 ,下载后将解压后的文件夹内内容拷贝到/var/www文件夹下。这时输入树莓派IP,如果出现以下页面,则表示已经正常工作了。

image

image

这里可以点add添加下载任务,具体方法不再详述。

6、实现迅雷的离线下载

        很多网站都介绍了aria2实现迅雷离线下载的方法,这里也做一下描述。我以firefox浏览器为例,chrome浏览器本身有一个迅雷离线增加插件,可以从https://chrome.google.com/webstore/detail/mbl%E8%BF%85%E9%9B%B7%E7%A6%BB%E7%BA%BF%E5%A2%9E%E5%BC%BA%E8%84%9A%E6%9C%AC/bcbkegabebafalcgckcdphlpainejkja进行安装,安装后就和firefox基本一样了。

在firefox里添加一个书签:

image

具体为:

===========================================================

名称为:ThunderLixianExporter

地址为:javascript:void((function(){var d=document;var s=d.createElement('script');s.src='http://s.binux.me/tle.js';s.id='TLE_script';d.body.appendChild(s)})())

==================================================================

 登录迅雷离线网站:lixian.xunlei.com,登录后,点一下书签中的ThunderLixianExporter,然后点击迅雷页面右上角的配置按钮(小齿轮)。

image

image

image

在上面的窗口中填写aria2.json-RPC Path,这个值来自于yaaw那个页面,具体方法是,输入树莓派IP显示yaaw页面,点击右上的配置图标,如下图

image

在set页面中存在该值:

image

保存好后,在离线页面的每行记录的取回本地后面会出现一个下拉菜单,选择yaaw就会直接添加到yaaw任务中了。

image

image

 

到此,树莓派的NAS服务器搭建完成,试了一下效果,还是很满意的。

六、制作外壳

1、外壳

        直接从家里找了一个orico的包装盒,大小正好合适,而且外壳比较硬,外观也比较不错。

2、加装1602显示屏

        加装一个1602显示屏,目的是显示时间和CPU温度,当然也可以显示其它内容,我这里只显示了这两项。这里还需要加装一个电位器(也就是可变电阻,如果没有,可以加一个10K的电阻)

(1)1602硬件连接

1602共16个端口,只用其中12个,具体接法如下:

LCD1602液晶屏模块提供了16个引脚,我们只需接其中的12个即可:

VSS,接地
VDD,接5V电源
VO,液晶对比度调节,接电位器中间的引脚,电位器两边的引脚分别接5V和接地。
RS,寄存器选择,接GPIO14
RW,读写选择,接地,表示写模式
EN,使能信号,接GPIO15
D0,数据位0,4位工作模式下不用,不接
D1,数据位1,4位工作模式下不用,不接
D2,数据位2,4位工作模式下不用,不接
D3,数据位3,4位工作模式下不用,不接
D4,数据位4,接GPIO17
D5,数据位5,接GPIO18
D6,数据位6,接GPIO27
D7,数据位7,接GPIO22
A,液晶屏背光+,接5V
K,液晶屏背光-,接地

注意:1、这里的VSS、VDD等在有些1602的板子上会标明,有些则只标了数字,如一端写着1,一端写着16,1对应的就是VSS端,16对应的就是K端,因此依次连接就可以了。

        2、GPIO各端口及5V、接地等端口见下图,因为我用的是B+的板了,因此这里的图也是B+的端口图。

        3、连接通电后,1602会亮起,其中一行为黑色方格,一行什么也不显示,如果全不显示,可调节一下电位器

(2)代码

对于1602板子的操作,已经有人做了一个示例,这样用起来就比较简单了。示例代码下载地址:https://github.com/lifanxi/rpimenu.git,解压后有Adafruit_CharLCD.py文件,此文件在LCD上会显示两行字符:LCD 1602 Test, 123456789ABCDEF。这里只需要在此文件上进行一下修改就可以了。


  1. #!/usr/bin/python
  2. #<span style="font-family: 宋体; font-size: 12px;">转载请注明:@小五义<a href="http://www.cnblogs.com/xiaowuyi">http://www.cnblogs.com/xiaowuyi</a> QQ群:64770604</span>
  3. #
  4. # based on code from lrvick and LiquidCrystal
  5. # lrvic - https://github.com/lrvick/raspi-hd44780/blob/master/hd44780.py
  6. # LiquidCrystal - https://github.com/arduino/Arduino/blob/master/libraries/LiquidCrystal/LiquidCrystal.cpp
  7. #
  8. #from time import sleep
  9. import time,os
  10. class Adafruit_CharLCD:
  11. # commands
  12. LCD_CLEARDISPLAY = 0x01
  13. LCD_RETURNHOME = 0x02
  14. LCD_ENTRYMODESET = 0x04
  15. LCD_DISPLAYCONTROL = 0x08
  16. LCD_CURSORSHIFT = 0x10
  17. LCD_FUNCTIONSET = 0x20
  18. LCD_SETCGRAMADDR = 0x40
  19. LCD_SETDDRAMADDR = 0x80
  20. # flags for display entry mode
  21. LCD_ENTRYRIGHT = 0x00
  22. LCD_ENTRYLEFT = 0x02
  23. LCD_ENTRYSHIFTINCREMENT = 0x01
  24. LCD_ENTRYSHIFTDECREMENT = 0x00
  25. # flags for display on/off control
  26. LCD_DISPLAYON = 0x04
  27. LCD_DISPLAYOFF = 0x00
  28. LCD_CURSORON = 0x02
  29. LCD_CURSOROFF = 0x00
  30. LCD_BLINKON = 0x01
  31. LCD_BLINKOFF = 0x00
  32. # flags for display/cursor shift
  33. LCD_DISPLAYMOVE = 0x08
  34. LCD_CURSORMOVE = 0x00
  35. # flags for display/cursor shift
  36. LCD_DISPLAYMOVE = 0x08
  37. LCD_CURSORMOVE = 0x00
  38. LCD_MOVERIGHT = 0x04
  39. LCD_MOVELEFT = 0x00
  40. # flags for function set
  41. LCD_8BITMODE = 0x10
  42. LCD_4BITMODE = 0x00
  43. LCD_2LINE = 0x08
  44. LCD_1LINE = 0x00
  45. LCD_5x10DOTS = 0x04
  46. LCD_5x8DOTS = 0x00
  47. def __init__(self, pin_rs=14, pin_e=15, pins_db=[17, 18, 27, 22], GPIO = None):
  48. # Emulate the old behavior of using RPi.GPIO if we haven't been given
  49. # an explicit GPIO interface to use
  50. if not GPIO:
  51. import RPi.GPIO as GPIO
  52. GPIO.setwarnings(False)
  53. self.GPIO = GPIO
  54. self.pin_rs = pin_rs
  55. self.pin_e = pin_e
  56. self.pins_db = pins_db
  57. self.GPIO.setmode(GPIO.BCM)
  58. self.GPIO.setup(self.pin_e, GPIO.OUT)
  59. self.GPIO.setup(self.pin_rs, GPIO.OUT)
  60. for pin in self.pins_db:
  61. self.GPIO.setup(pin, GPIO.OUT)
  62. self.write4bits(0x33) # initialization
  63. self.write4bits(0x32) # initialization
  64. self.write4bits(0x28) # 2 line 5x7 matrix
  65. self.write4bits(0x0C) # turn cursor off 0x0E to enable cursor
  66. self.write4bits(0x06) # shift cursor right
  67. self.displaycontrol = self.LCD_DISPLAYON | self.LCD_CURSOROFF | self.LCD_BLINKOFF
  68. self.displayfunction = self.LCD_4BITMODE | self.LCD_1LINE | self.LCD_5x8DOTS
  69. self.displayfunction |= self.LCD_2LINE
  70. """ Initialize to default text direction (for romance languages) """
  71. self.displaymode = self.LCD_ENTRYLEFT | self.LCD_ENTRYSHIFTDECREMENT
  72. self.write4bits(self.LCD_ENTRYMODESET | self.displaymode) # set the entry mode
  73. self.clear()
  74. def begin(self, cols, lines):
  75. if (lines > 1):
  76. self.numlines = lines
  77. self.displayfunction |= self.LCD_2LINE
  78. self.currline = 0
  79. def home(self):
  80. self.write4bits(self.LCD_RETURNHOME) # set cursor position to zero
  81. self.delayMicroseconds(3000) # this command takes a long time!
  82. def clear(self):
  83. self.write4bits(self.LCD_CLEARDISPLAY) # command to clear display
  84. self.delayMicroseconds(3000) # 3000 microsecond sleep, clearing the display takes a long time
  85. def setCursor(self, col, row):
  86. self.row_offsets = [ 0x00, 0x40, 0x14, 0x54 ]
  87. if ( row > self.numlines ):
  88. row = self.numlines - 1 # we count rows starting w/0
  89. self.write4bits(self.LCD_SETDDRAMADDR | (col + self.row_offsets[row]))
  90. def noDisplay(self):
  91. """ Turn the display off (quickly) """
  92. self.displaycontrol &= ~self.LCD_DISPLAYON
  93. self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)
  94. def display(self):
  95. """ Turn the display on (quickly) """
  96. self.displaycontrol |= self.LCD_DISPLAYON
  97. self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)
  98. def noCursor(self):
  99. """ Turns the underline cursor on/off """
  100. self.displaycontrol &= ~self.LCD_CURSORON
  101. self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)
  102. def cursor(self):
  103. """ Cursor On """
  104. self.displaycontrol |= self.LCD_CURSORON
  105. self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)
  106. def noBlink(self):
  107. """ Turn on and off the blinking cursor """
  108. self.displaycontrol &= ~self.LCD_BLINKON
  109. self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)
  110. def noBlink(self):
  111. """ Turn on and off the blinking cursor """
  112. self.displaycontrol &= ~self.LCD_BLINKON
  113. self.write4bits(self.LCD_DISPLAYCONTROL | self.displaycontrol)
  114. def DisplayLeft(self):
  115. """ These commands scroll the display without changing the RAM """
  116. self.write4bits(self.LCD_CURSORSHIFT | self.LCD_DISPLAYMOVE | self.LCD_MOVELEFT)
  117. def scrollDisplayRight(self):
  118. """ These commands scroll the display without changing the RAM """
  119. self.write4bits(self.LCD_CURSORSHIFT | self.LCD_DISPLAYMOVE | self.LCD_MOVERIGHT);
  120. def leftToRight(self):
  121. """ This is for text that flows Left to Right """
  122. self.displaymode |= self.LCD_ENTRYLEFT
  123. self.write4bits(self.LCD_ENTRYMODESET | self.displaymode);
  124. def rightToLeft(self):
  125. """ This is for text that flows Right to Left """
  126. self.displaymode &= ~self.LCD_ENTRYLEFT
  127. self.write4bits(self.LCD_ENTRYMODESET | self.displaymode)
  128. def autoscroll(self):
  129. """ This will 'right justify' text from the cursor """
  130. self.displaymode |= self.LCD_ENTRYSHIFTINCREMENT
  131. self.write4bits(self.LCD_ENTRYMODESET | self.displaymode)
  132. def noAutoscroll(self):
  133. """ This will 'left justify' text from the cursor """
  134. self.displaymode &= ~self.LCD_ENTRYSHIFTINCREMENT
  135. self.write4bits(self.LCD_ENTRYMODESET | self.displaymode)
  136. def write4bits(self, bits, char_mode=False):
  137. """ Send command to LCD """
  138. self.delayMicroseconds(1000) # 1000 microsecond sleep
  139. bits=bin(bits)[2:].zfill(8)
  140. self.GPIO.output(self.pin_rs, char_mode)
  141. for pin in self.pins_db:
  142. self.GPIO.output(pin, False)
  143. for i in range(4):
  144. if bits[i] == "1":
  145. self.GPIO.output(self.pins_db[::-1][i], True)
  146. self.pulseEnable()
  147. for pin in self.pins_db:
  148. self.GPIO.output(pin, False)
  149. for i in range(4,8):
  150. if bits[i] == "1":
  151. self.GPIO.output(self.pins_db[::-1][i-4], True)
  152. self.pulseEnable()
  153. def delayMicroseconds(self, microseconds):
  154. seconds = microseconds / float(1000000) # divide microseconds by 1 million for seconds
  155. time.sleep(seconds)
  156. def pulseEnable(self):
  157. self.GPIO.output(self.pin_e, False)
  158. self.delayMicroseconds(1) # 1 microsecond pause - enable pulse must be > 450ns
  159. self.GPIO.output(self.pin_e, True)
  160. self.delayMicroseconds(1) # 1 microsecond pause - enable pulse must be > 450ns
  161. self.GPIO.output(self.pin_e, False)
  162. self.delayMicroseconds(1) # commands need > 37us to settle
  163. def message(self, text):
  164. """ Send string to LCD. Newline wraps to second line"""
  165. for char in text:
  166. if char == '\n':
  167. self.write4bits(0xC0) # next line
  168. else:
  169. self.write4bits(ord(char),True)
  170.  
  171. if __name__ == '__main__':
  172. while 1:
  173. lcd = Adafruit_CharLCD()
  174. lcd.clear()
  175. cputemp=os.popen('vcgencmd measure_temp').readline()
  176. sumcputemp=cputemp.replace("temp=","CPU:").replace("'C\n","")
  177. lcdout=time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))+"\n"+sumcputemp
  178. lcd.message(lcdout)
  179. time.sleep(30)

3、开面自启动上面的程序

        将以上文件命名为1602.py,保存在/home/pi下面,修改/etc/rc.loca,添加上sudo python /home/pi/1602/py。树莓派开机时,插上电源,当1602能正常显示CPU温度时,表示机器已经启动完成,各项功能可正常使用。

4、一些其它的想法

(1)本想再加装一个风扇用来散热,结果手上没有3.3V的风扇了,所以就没加。感兴趣的朋友可以自己加一下,因为树莓派输出为3.3V,所以最好是直接买3.3V的,如果买5V的,就一定要带个3.3V的继电器,要不没法对风扇控制。如果风扇一直常开那就无所谓了,5V就可以,直接接正负级。我原 本的想法是CPU上了50度,风扇再运转,这样可以降温,同时噪音也不会大。

(2)这个家庭服务器搭建起来以后,后面还有很多文章可做,比如可以依托他建立家庭监控系统,装上两个摄像头什么的,也可以做一些外网访问的设置,这样就可以直接从外网进行操作了。

原文发布时间:2014-10-27

本文来自云栖合作伙伴“linux中国”

时间: 2024-09-16 10:47:50

树莓派实现NAS家庭服务器(流媒体播放、文件共享及下载机)的相关文章

【合集】用Raspberry Pi(树莓派)打造各种服务器

[合集]用Raspberry Pi(树莓派)打造各种服务器 Raspberry Pi(树莓派)有很多的应用,其中搭建服务器是大家应用比较多的,今天就整理一个合集用Raspberry Pi(树莓派)打造各种服务器.欢迎大家提出宝贵意见,更欢迎大家补充您用树莓派所做的好玩的应用! [教程] 将树莓派变成网络打印机服务器(更新PC和手机端设置)!http://www.eeboard.com/bbs/thread-8818-1-1.html[心得] [分享]用树莓派构建你自己的微型服务器,可以外网访问h

详细测试 Linux比拼微软家庭服务器

当我开始注意微软公司的Windows家庭服务器时(Windows Home Server,WHS),结果却失望地发现,这个"革命性"的WHS并不像所宣传的那样. 作为一台专供家庭所使用的普通文件服务器,这本身并没有什么错.毕竟,现在有越来越多的家庭已经拥有了多台电脑和容量高达数GB之多的数码音乐.照片和电影,能够在自己的家中拥有一台简单易用的文件服务器,这是非常不错.但是问题是,为什么我要为此而额外付钱呢? 因为,现在有许多电脑设备生产厂商都已经推出了各种各样的外部存储设备,这些设备拥

宏碁发布针对家庭和小型商业用户的家庭服务器

宏碁今天http://www.aliyun.com/zixun/aggregation/18782.html">正式发布了一款针对家庭用户和小型商业用户的家庭服务器Aspire EasyStore,这款系统装备了微软Windows Home Server系统,可为家庭网络提供文件共享.数据保护,以及远程访问等功能. 通过Windows Home Server操作系统,父母可以在外出时远程查看家里孩子的功课.他们也可以从远程上传照片和视频至家中的Home Server服务器.家庭成员可以从家

宏碁正式发布家庭服务器Aspire EasyStore

宏碁今天http://www.aliyun.com/zixun/aggregation/18782.html">正式发布了一款针对家庭用户和小型商业用户的家庭服务器Aspire EasyStore,这款系统装备了微软Windows Home Server系统,可为家庭网络提供文件共享.数据保护,以及远程访问等功能. 通过Windows Home Server操作系统,父母可以在外出时远程查看家里孩子的功课.他们也可以从远程上传照片和视频至家中的Home Server服务器.家庭成员可以从家

在win7中访问NAS/Samba服务器失败怎么办?

  NAS/Samba服务器是什么?其实这种电脑的两种服务器,或者说一般都被咱们当做是服务器来使用,他们主要的作用便是可以实现文件间的共享,对于经常需要使用共享功能的朋友来说是一款不错的工具.但是最近,却有一个使用win7 64位旗舰版的用户向我们咨询,说是不知道为什么,自己win7纯净版电脑中的NAS/Samba服务器访问失败,那么遇到这样的问题,我们要如何解决呢? 故障分析:一般情况下,win7纯净版出现这样的情况是因为纯净版默认只采用NTLM v2协议的认证回应消息,而目前纯净版中的NAS

如何用树莓派搭建个人 web 服务器

个人 Web 服务器即 "云",只不过是你拥有和控制它,而不是一个大型公司. 拥有一个自己的云有很多好处,包括可定制.免费存储.免费的互联网服务.通往开源软件之路.高安全性.完全控制您的内容.快速更改的能力.实验代码的地方等等. 这些好处大部分是无法估量的,但在财务上,这些好处可以为您每个月节省超过 100 美元. Building your own web server with Raspberry Pi 我本可以选择 AWS ,但我更喜欢完全自由且安全性可控,并且我可以学一下这些东

惠普推出兼容Mac和PC的MediaSmart Server家庭服务器

Mac系统是苹果机专用系统,正常情况下在普通pc上无法安装的操作系统.苹果公司不但生产MAC的大部分硬件,连MAC所用的操作系统都是它自行开发的,接下来,我们就来了解一下它的操作系统.  苹果机现在的操作系统已经到了OS 10,代号为MAC OSX(X为10的罗马数字写法),这是MAC电脑诞生15年来最大的变化.新系统非常可靠,它的许多特点和服务都体现了苹果公司的理念. 另外,现在疯狂肆虐的电脑病毒几乎都是针对Windows的,由于MAC的架构与Windows不同,所以很少受到病毒的袭击.MAC

首款家庭服务器联想ideacentre D400正式开卖

为了下载电影,常常一个晚上都不关机,在硬盘的读盘声与风扇的噪音中夜不能寐.然而下载后的电影,还要尽快看完,因为你的硬盘已经没有太多的容量,需要马上腾出空间留给新的下载任务.想把照片.视频.设计作品分享给亲朋好友,却只能商量个时间,在QQ上传.限制,无处不在-- 现在,这一切都将结束!8月5日,国内首款上市的http://www.aliyun.com/zixun/aggregation/23051.html">家庭服务器联想ideacentre D400正式开卖了!它专为家庭多媒体爱好者.S

海量存储联想发布Ideacentre D400家庭服务器

家庭服务器已不是个什么新鲜词儿了.简单的说,它基于家庭及SOHO小企业用户应用为主,相当于一个数据中转中枢,可以帮助用户轻松的保护电脑系统.保存不断增加的工作数据和多媒体内容,并通过网络随时随地.安全的访问,与亲朋好友随时分享.由于存储空间大和基于互联网的设置,用户通过它实现海量数据的存储,以及随时随地的分享,再也不是梦想! 一般情况下,我们通过PC硬盘.U盘.移动硬盘等方式来存储我们的信息,但是随着工作和生活中对信息数据量.及时访问.安全性等需求的提高,传统的数据存储方式已经越来越不能适应我们