架设Samba服务器

2017年2月11日更新

2017年2月11日注:现在我是用生成静态文件再部署到GitHub的方式写博客。这篇文章介绍的写博客的方式太落后了,就当一篇Samba服务器架设笔记吧。

概述

最近觉得写博客的方式太过效率低下,每次都是现在本地编辑好.md文件,再通过插件在本地浏览器上查看效果,由于本地的插件对.md文件的解析和Hexo的一些模板对.md的解析有些不同,且Hexo还扩展了一些标签,导致前端效果不一致。此外本地编辑完还要上传,再移动到服务器指定的目录下,这种做法太麻烦了,尤其是动作频繁的时候。决定把Hexo的博客目录直接做成Samba服务。这篇是架设笔记。

不知道你有没有在服务器编辑文本的经历,在本地写完再上传相当麻烦,尤其是频繁需要对服务器的文本进行新增,编辑,删除的时候。

本地编辑博客的方式太过效率低下,缺点如下:

  1. 每次都是现在本地编辑好.md文件,再通过插件在本地浏览器上查看效果,由于本地的插件对.md文件的解析和Hexo的一些模板对.md的解析有些不同,且Hexo还扩展了一些标签,导致前端效果不一致。
    此外本地编辑完还要上传,再移动到服务器指定的目录下,这种做法太麻烦了。
  2. 需要编辑既存文本时更麻烦,要么通过SSH连接服务器,命令行通过nano或者vim在线编辑,要么下载到本地,编辑好再上传覆盖。
  3. 写了一段时间博客了,现有的方法下频繁编辑简直难以忍受,于是决定把Hexo的博客目录直接做成Samba服务,这样就可以用Mac或者Windows的图形界面的文本编辑器(e.g. Sublime)编辑博客了,这篇是架设笔记。

Samba简介

Samba is the standard Windows interoperability suite of programs for Linux and Unix.

一言蔽之。就一般的使用意义而言,Samba其实就是一个能像共享Windows文件一样共享类Unix系统上的文件的服务器软件。

译文。

Supervisor是一个允许用户监控类UNIX操作系统上若干进程的C/S系统。

它虽然有一些类似于launchd,daemontools,以及runit的功能。但不像这些程序,它并不是以替身的形式运行的。相反它意在用于控制与一个工程或者一个资源消耗者相关的进程,当然它跟其他程序一样也是随系统启动而启动。

下载和安装

在最新的Ubuntu系统上直接可以用apt-get下载和安装。

1
> apt-get install samba

添加用户

成功安装后,添加Samba用户。

1
> smbpasswd -a charles

编辑配置

1
> nano /etc/samba/smb.conf

在文件的结尾处添加如下配置。

1
2
3
4
5
6
7
8
9
10
11
[share]
# 当前共享路径共享
comment = This is Charles' demo Samba Share
# 要共享的服务器路径,注意这里一定共享路径给其他用户开权限,我是直接chmod 777了
path = /home/charles/share
# 是否可浏览
browseable = yes
# 是否可读(no表示可写)
read only = no
# 游客是否可读
guest ok = no

更多详细配置请见官方文档。编辑好之后我们可以通过如下命令查看配置。

1
> testparm

启动和使用

1
> service smbd restart

在Mac系统下的使用方法,Finder -> Menu -> Go -> Connect to Server -> 输入服务器地址 -> 输入刚刚创建的账号和密码。即可。

参考

  1. Samba
  2. The Samba Configuration File