快速搭建Linux开发测试WEB服务器系列4-Samba共享服务
前面我们已经能让工作站已经能很好的运行了. 接下来我们给这个工作站配置和局域网内的其他 Windows 计算机进行共享的服务. 这样能让工作效率更高效化. Linux 下和 Windows 主机进行共享通常会使用 Samba 服务来实现. 如果是只是 linux 和 linxu 主机进行共享的话, 建议使用 NFS 服务更好. 但是办公电脑 Windwos 系统居多. 我们选择 Samba 服务来实现共享.
首先需要安装 Samba 软件包. 这个在 Ubuntu 下面安装非常方便.
1 | sudo apt-get install samba |
安装完成后系统默认就启动了 samba 服务了. 可以通过查看进程看到:
1 2 3 | sudo netstat -tlnp |grep smb tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 6761/smbd tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 6761/smbd |
从上面的结果看出. 需要注意的是 Samba 服务默认使用 139 和 445 端口, 记得别在防火墙里把这两个端口关闭了 (通常情况下是开启的). 不然外面就无法使用本机到共享资源了.
另外: Samba 有两个服务器. 一个是smb,另一个是nmb. smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么. nmb 是把Linux机器所共享的工作组及在此工作组下的netbios name解析出来, 如果不打开nmb服务器的话,那只能通过IP访问共享.
再来看看手动控制 samba 服务. 可以看看系统里是否运行着 smb 和 nmb.
1 2 | pgrep smbd pgrep nmbd |
在 Ubuntu 到发行版本里, 这两个服务被安装在 /usr/sbin/ 目录下, 另外 /etc/init.d/ 目录下可以用 samba 控制samba服务到启动, 关闭, 重启等.比如:
1 | sudo /etc/init.d/samba start|stop|restart |
或者手动直接执行命令启动
1 2 | sudo /usr/sbin/smbd sudo /usr/sbin/nmbd |
手动干掉他们也很容易:
1 2 | sudo pkill smbd sudo pkill nmbd |
下面来说一下 Samba 服务器的具体配置.
Samba 服务装好后, 在 /etc/samba/目录下会有一个主配置文件 smb.conf 和其他的一些文件. smb.conf 就是smb.conf 的核心配置文件了. 共享服务的设置主要在这个文件里设定. 操作前先备份以下. 然后建立个新的 smb.conf 文件. 先做些准备工作. 我们先在 /home 目录下建立一个文件夹为 mmShare 然后在建立2个文件夹, 一个只允许认证用户只读操作 readOnly, 一个允许认证用户可读可写writable. 最后把 mmShare 文件夹的权限打开.
1 2 3 4 | sudo mkdir /home/mmShare sudo mkdir /home/mmShare/readOnly sudo mkdir /home/mmShare/writable sudo chmod -R 777 /home/mmShare |
再建立一个专门放日志文件的目录, 方便以后管理查询
1 2 | sudo mkdir /home/mmLog sudo mkdir /home/mmLog/samba |
现在设置samba服务
1 2 | sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.backup sudo vim /etc/samba/smb.conf |
在文件里写入下面的内容:
[global]
workgroup = WORKGROUP
server string = Ubuntu Samba Server
netbios name = mHardy
log file = /home/mmLog/samba/log.%m
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd[readShare]
comment = ReadOnly Share
path = /home/mmShare/readOnly
read only = yes
guest ok = yes[writeShare]
comment = Writable Share
path = /home/mmShare/writable
writable = yes
create mask = 0664
directory mask = 0775
smb.conf 文件的配置信息简单的说明以下.
[global] #主机设置
workgroup = 工作组名
server string = 主机说明
netbios name = 主机名称
security = share(不进行安全登录) | user(安全登录,密码文件跟smbpasswd有关) | domain(让Samba作为PDC)
encrypt passwords = yes(输入密码) | no(不需输入密码)
smb passwd file = /etc/samba/smbpasswd 密码文件
log file = /var/log/samba/log.%m 日志文件,可更改
max log size = 0 日志文件大小,0为无限制,单位为KB
load printers = yes
printing = lprng 打印机相关
[Share Directory] #共享文件夹名
comment = 目录的说明
path = 共享名对应的真实目录
read only = 是否只读
public = 是否让所有的用户都可以登入
writable = 是否可写,如果read only=no,而writable=yes,则以writable为准
create mask = 创建新文件权限
directory mask = 创建新目录权限
现在只要添加个共享访问用户, Windows 主机即可通过网络邻居访问到本工作站的共享文件夹了.
我们给系统添加一个帐号 为 smb , 为方便记忆, 我们设置密码也为: smb
1 2 | sudo useradd smb sudo passwd smb |
现在把用户 smb 加入 samba 服务帐号用户, 未方便记忆, 同样设置密码也为: smb, 重启 samba 服务, 设置生效.
1 2 | sudo smbpasswd -a smb sudo /etc/init.d/samba restart |
OK, 现在从 Window 网上邻居可以正常访问 mHardy 的共享了. 测试可以看出. readOnly 文件夹是不能创建文件夹和文件的. 而 writable 文件夹是可以创建文件夹和文件的. 如果要提高工作站安全的话. 可以设置禁止smb用户从本地登录系统.
到这里, 和 Windows 主机间的共享服务配置完毕. 下面再简单的介绍了解一下从 Linux 主机访问 Windows 共享的方法.
Linux 下访问 Windows 或者其他 Linux 主机的共享可以在终端下用 smbclient 工具实现. 使用smbclient 工具, 需要先安装这个软件包. 安装也非常的方便.
1 | sudo apt-get install smbclient |
使用很简单命令语法为:
smbclient -L //IP地址或者主机名
smbclient -L //IP地址或者主机名/共享文件夹名
smbclient -L //IP地址或者主机名/共享文件夹名 -U 用户名
也可以把共享目录映射为一个本地目录. 使用 mount 命令即可. 也可以使用smbmount 命令. 这里需要先安装一下 smbfs 包
1 | sudo apt-get install smbfs |
映射的两种模式:
1. mount 方法
mount -t smbfs -o codepage=cp936,username=用户名,password=密码, -l //ip地址/共享文件夹名 挂载点
mount -t smbfs -o codepage=cp936,username=用户名,password=密码, -l //计算机名/共享文件夹名 挂载点
mount -t smbfs -o codepage=cp936 //ip地址或计算机名/共享文件夹名 挂载点
卸载命令:
umount 挂载点
2. smbmount 方法, 其实是 mount 的一个变种.
smbmount -o username=用户名,password=密码, -l //ip地址或计算机名/共享文件夹名 挂载点
smbmount //ip地址或计算机名/共享文件夹名 挂载点
卸载命令:
smbumount 挂载点
具体的命令参数可以参考 linux samba 相关资料. 这里就不在啰嗦了.
下篇我们开始安装 Web 服务器的数据库 MySQL .
快速搭建Linux开发测试WEB服务器系列3-中文输入和其他
由于我们安装的是E文环境. 为什么使用E文环境. 因为如果选择的是中文环境的话, 安装过程可能会稍长. 最主要的是在不开启window的情况下. command-line 模式下, 命令提示都是乱码. 配合好系统后 E 文环境比中文环境显示效果要漂亮点. 谁不爱美呢?
这里设置一下方便在 E 文环境下输入中文. 毕竟处理中文信息是必须的. 这里需要一个中文字体. 通常我个人喜欢 ZhunYuan.ttf, 网上很多地方可以找到, 另外 DejaVuSansYuanTi 这套字体也不错. 不过有点大. 全部下载有 几十M . 启动 startx 在系统菜单的 place 里选择 Connect to server, 弹出框选择 window share, 方便从局域网里的其他电脑上 copy 字体文件. 现在还没装中文字体, 也没装浏览器, 通常中文都是乱码. 不过没关系. 在用户主目录下建立一个字体隐藏的文件夹(.fonts): mkdir ~/.fonts 复杂字体到这个文件夹下面.
刷新一下系统字体缓存:
1 | sudo fc-cache -f -v |
打开一个终端. 现在安装中文输入法 fcitx 和 im-switch
1 | sudo apt-get install fcitx im-switch |
安装完成后设置 fcitx 为默认的输入法:
1 | im-switch -s fcitx -z default |
这个时候 Ctrl + Alt + backspace 退出图形界面. 然后重新进入图形界面 startx
输入法生效. 不过中文显示是乱码, 这个只要修改 ~/.fcitx/config 文件里的内容即可, 修改: 显示字体(中)=* 改成 显示字体(中)=ZhunYuan 修改后同样退出图形界面, 然后重进即可生效. config 文件里的配置选项很多. 多是中文的. 依据自己喜欢设置即可.
这里还是不能使用中文输入法的. 需要修改一下系统配置文件.
1 | sudo gedit /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules |
然后找到下面的部分,在文件尾部.
"/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so" "xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"
将"ko:ja:th:zh" 改为 "en:ko:ja:th:zh" 然后退出图形界面, 重进, 中文输入支持OK.
其他的再安装一个浏览器, 这个是很需要的. 现在安装软件就不需要在终端里敲字母了. 因为我们已经安装新里德软件管理器了. 在终端下启动输入命令: synaptic 或者 window界面的 system -> administrator -> synaptic ... 打开就行了. 使用时需要提供管理员密码.
在新里德里搜索 firefox, 选择一个安装, 通常使用命令行效率更高一点. 文档查看器可以安装 evince 中文乱码的话google一下. 解决方案太多了. 另外建议安装一个 nautilus-open-terminal 这个软件包可以在任意一个目录位置打开一个终端. 非常方便.
还有个很重要的东西未安装, 就是浏览器的flash支持. 在终端里安装 flash 10:
先要安装一下一个包: libcurl3 ,
1 2 3 | sudo apt-get install libcurl3 wget http://ubuntu:ubuntuftp@ftp.ubuntu.org.cn/home/dbzhang800/wiki/install_flash_player_10_linux.deb sudo dpkg -i install_flash_player_10_linux.deb |
OK, 接下来我们配置 Liunx 和 Window 之间的共享服务.
快速搭建Linux开发测试WEB服务器系列2-Vmware Tools
上一篇已经把基本系统和gnome基本桌面管理器都安装好了. 应该是在虚拟机 VMware 里安装这套系统的. 特意说一下 install vmware tools .
安装 vmware tools 需要头文件支持. 先安装一下:
1 | sudo apt-get install linux-headers-`uname -r` |
打开上篇安装好的系统. 正常登录系统, 不要进入图形模式, 进入 命令行模式就行了. 然后鼠标切换出来. 在Vmware 软件的菜单栏选择 vm -> install vmware tools 现在鼠标切入到 linux 系统.
查看一下 /media/cdrom0 目录, 看看linux.iso有没有自动挂载成功. ls /media/cdrom0
如果没有的话, 手动挂载一下:
1 | sudo mount /dev/cdrom /media/cdrom0 |
进入 /media/cdrom0 目录, 把驱动文件解压到 /tmp 目录里去.
1 2 | cd /media/cdrom0 tar -zxf VMware-Tools-**.tar.gz -C /tmp |
现在可以卸载掉挂在的光驱.
1 | sudo umount /media/cdrom0 |
进入/tmp/vmware-tools-distrib 目录 安装 tools 或者直接指定安装
1 | sudo /tmp/vmware-tools-distrib/vmware-install.pl |
剩下的一路回车, 在选择分辨率的时候按一个选定的数字回车即可.
安装成功. 系统重启一下. 不然网络不能使用的. sudo reboot
关于重启后鼠标中键不能使用的请参考下面的模式修改.
1 | sudo gedit /etc/X11/xorg.conf |
找到并修改内容:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "vmmouse" #使用vmware的鼠标驱动,
Option "CorePointer" #解决“鼠标有效边界混乱”问题
Option "Device" "/dev/input/mice"
Option "Protocol" "Imps/2" #使用Imps/2协议,解决“鼠标滚轮失效”问题。
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
OK, 虚拟机部分设置到这里就和正常的电脑使用没有什么区别了.
下篇说一下 在英文环境中中文输入法的问题和一些杂项.
快速搭建Linux开发测试WEB服务器系列1-系统安装
近来一直在做 Window 下的网络项目, 有一段时间没有玩 Linux, 刚好周末有点时间. 把现在常用Linux Web 服务器开发测试环境搭建一遍, 方便工作使用. 首先搭建一台简洁版的linux工作站吧. 通常发行的Linux带了太多的软件包. 而这些我几乎用不到. 所以定制一台. 只安装我用到的软件就行了.
首先选一个比较稳定版本的Linux发行版本吧. 个人推荐 Debian, 在国外的 webhosting 服务商可以看到. 大部分是使用 Debian 系统的. Debian 的稳定性那是一流的. 不过发行包非常大. 一张DVD就有4G多. 不过可以选 Debian 的分支版本. 就是现在很热的 Ubuntu 来做工作站. Ubuntu 是越来越热了. 从 5.10 我就开始用它了. 个人也是非常的喜欢它.
那么现在开始安装个简洁版的Linux系统吧. 下载一张 Ubuntu 的 Alternate CD, 建议使用 8.04.2版本, 这个是LTS版本, 也就是长支持版本, 会支持到 2011 的样子. 也是目前 Ubuntu 系列中最稳定的版本了. 放入电脑光驱, 设置为 CD 启动 First . 开机进入 安装界面. 我们只安装 Base System.
安装基本系统
选择第一行 install ubuntu, 然后按 F4 键, 选择安装 command-line 系统. 语言设置为 english. 然后按照提示输入相关资料. 通常磁盘选择的时候使用整个磁盘自动分区. 在安装到 Configuring apt 部分的时候需要连接到外网服务器扫描镜像站点. 这个需要的时间视本地网络环境可能有长短. 普通 ADSL 用户需要耐心等待. 安装完成, 重启OK.
配置系统, 安装软件.
备份修改源信息
1 2 | sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup sudo vim /etc/apt/sources.list |
去掉 deb cdrom 这行的 "#" 其他行都加#注释掉 或者删除都可以. 我们暂时用CD做为源.
开始使用CDROM做源提供软件安装
1 | sudo mount /dev/cdrom /media/cdrom0 |
更新一下源地址
1 | sudo apt-get update |
安装一下编译环境
1 | sudo apt-get install make gcc build-essential |
安装X基本软件包.
1 | sudo apt-get install x-window-system-core |
安装一下显视驱动
1 | sudo apt-get install libgl1-mesa-dri |
使用gnome桌面管理器, 安装gnome桌面核心包. gnome-core 这个包CD里没有单独带. 现在抛弃CD源, 改用国内的CN99源. 关于软件包的源, 国内很多服务器都提供. 自己选择一个比较快的下载点即可. 通常推荐电信用户使用 cn99 的源, 速度快, 还稳定.
这里先去掉卸载掉CD:
1 | sudo umount /media/cdrom0 |
这里要重新修改 sources.list 文件:
1 | sudo vim /etc/apt/sources.list |
把里面的信息全部删除. 输入下面的信息:
deb http://ubuntu.cn99.com/ubuntu/ hardy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-security main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-updates main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-proposed main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-backports main restricted universe multiverse
再更新一下源地址:
1 | sudo apt-get update |
一般修改源操作后都记得执行一下更新命令. 不然源修改无效.
安装gnome桌面核心包.
1 | sudo apt-get install gnome-core |
这里有个软件包是专门处理其他语言文件的. 如果硬盘空间很紧张的话可以安装以下. 效果不是很好. 不建议安装. 安装也可以.
1 2 | sudo apt-get install localepurge sudo localepurge |
安装完了执行一次, 选择要保留的选择. 选 en, 和 zh 相关的., 以后安装软件后都会自动执行的.
安装一下一些很有用的系统小工具, 比较多. 各个包名之间用空格分开. 一次性安装完.
1 | sudo apt-get install gnome-system-tools gnome-system-monitor gnome-volume-manager gnome-utils gnome-netstatus-applet network-manager synaptic gnome-audio gnome-themes metacity-themes gconf-editor |
再安装几个常用的小软件:
1 2 | sudo apt-get install unrar unzip p7zip-full cabextract sudo apt-get install autoconf automake1.9 |
安装完后现在更新一下系统:
1 | sudo apt-get upgrade |
OK, 现在输入 startx 系统即可进入 window 界面. 不过比较丑陋. 但是很简洁. 我喜欢.
下篇说一下虚拟机里安装这套系统里必须安装的那个 tools 工具.