Ubuntu-servers

来自Ubuntu中文
Zoomba留言 | 贡献2013年8月23日 (五) 15:35的版本 →‎mount共享文件夹
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航跳到搜索

以菜鸟方式使用ubuntu servers10.04服务器版教程

联系我:一般还是使用站内短信通知比较快。 http://forum.ubuntu.org.cn/ucp.php?i=pm&mode=compose&u=171468

email:[email protected]

安装

1.使用wubi方式安装服务器版

即在windows控制下安装服务器,方便系统重装等。性能有点损失。

servers版已经被证明无法wubi安装,所以我们选择xubuntu进行改造(请寻找长期支持版下载)。

http://www.xubuntu.org/getubuntu

wubi安装好后(记得要英文环境),对软件源进行设置以保证软件下载速度。在终端运行

sudo tasksel

对需要的服务进行选择。Basic ubuntu server选上,其它自己安排。(空格选取,tab选择)

有图形的ubuntu servers安装好了

2.正常安装

请参考其它文章

3.使用vbox安装

这种情况下,就能安全、高效的运行服务器了。

这里重点说一下vbox安装服务器的特殊之处。

环境设置

关闭“声音”硬件,图形无需任何加速。系统语言为“英文”

内存512M足已,磁盘4G已够,安装方式默认尽快。

安装好后,请修改服务器的软件源

sudo nano /etc/apt/sources.list

以最快速度更新。

sudo apt-get update
sudo apt-get upgrade

如果没有选好软件包的,请设置后,运行命令

sudo tasksel

重新选择

安装增强工具

我们要实现“共享文件夹”“内部网络”就必须安装增强工具。

设备-》安装增强功能

在这之前,前确认gcc已经安装在服务器上

sudo apt-get install gcc

加载增强工具光驱

sudo mount /dev/cdrom /media

安装

cd /media
ls

此时看见一个以.run结尾的文件,运行它

sudo bash *.run

除了图形界面安装失败外,其它均应该正常。

mount共享文件夹

在服务器的家目录里新建一个文件夹share

mkdir ~/share

先设置一个共享文件夹,比如名字为forcat,共享名为forcat。在服务器上输入

mount -t vboxsf forcat ~/share

好了,进入share就进入了共享文件夹。

内部测试网络

我们有了服务器虚拟机。但需要网络才能使用。

如果我们只是想在本地测试,或着没有网络设备(比如网卡)。我们就可以选择网络为host-only

ifconfig -a

应该能看见网卡地址,类似

192.168.56.101

如果你选择了多个网卡,服务器可能只设置了一个网卡导致其它网卡无法使用。请编辑网络配置文件

sudo nano /etc/network/interfaces

添加新网卡eth1、2……

重新启动网络

sudo /etc/init.d/networking restart

本地机子浏览器输入

192.168.56.101

应该能看见“it‘s work”的提示。


前期设置

wubi安装的去图形化设置

使用wubi安装的系统残留有图形界面,这不符合服务器的初衷。不过作为菜鸟,我建议你保留图形界面。通过修改参数,以不进入图形界面来保证服务器性能。

sudo nano /etc/default/grub

找到这行

GRUB_CMDLINE_LINUX_DEFAULT= "quiet splash"

在这句话最前面加#来屏蔽它。再起一行输入

GRUB_CMDLINE_LINUX_DEFAULT= "quiet splash text"

这样登录首选进入命令行模式。

记得要运行命令才能生效

sudo update-grub

如果要进入图形界面,使用命令

startx

主机名设置

wubi安装后的主机名默认为ubuntu,不很好用也没突出服务器特色。

sudo nano /etc/hostname

修改为你想要的名字。

网络设置

sudo nano /etc/network/interface

根据需要设置固定网络地址。如果是动态获取,那么就不用动了。

远程管理

正常情况下,服务器是不接显示器、键盘、鼠标(这个东西接了也没用)。基本就像个TPlink无线来由器那样,只要通电、通网络就行了。我们的管理是通过网络上其它机子进行。

open ssh远程管理

这是一个命令行方式的远程安全登录方式。win用户要专门下载ssh软件,ubuntu用户就不用了。

安装

命令

sudo tasksel

选择OpenSSH server。(空格选取,tab选择)

使用

在远程机子上输入类似命令

ssh -l cat650 192.168.1.120

“cat650”是登录用户名,192.168.1.120是服务器的网络地址。大家根据自己的实际填写。 第一次登录后会询问“密钥”问题,确认使用即可。(因为没有在国际组织登记密钥,所以被视为不安全)。

图形远程管理器webmin

这个东西太好用了。建立服务器就需要这样的东西,使用浏览器就能远程操作服务器。很多管理都非常专业,有中文支持。不安装太对不起菜鸟了。

安装

先去官方网站看看它的最新版本

http://www.webmin.com/download.html

找到deb版,在服务器上下载(请先ssh连接上)。命令(举个例子)

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.540_all.deb

默认下载到了当前用户的“家”目录中了。安装deb包即可。

sudo dpkg -i webmin_1.540_all.deb.deb

如果安装不正常,通常是缺乏相关依赖

sudo apt-get -f install

重启应该正常了。如果还有问题,请联系我

使用

在远程机子的浏览器上,输入如下类似地址

https://192.168.1.120:10000

注意,https,是加密连接。端口号默认是10000。具体IP地址输入服务器实际IP地址。

mySQL的web远程管理器

这里针对的是LAMP下的mysql数据库的web管理器。

sudo apt-get install phpmyadmin

登录地址:

192.168.1.120/phpmyadmin

使用方式在具体应用中说明

提示一点:安装过程需要输入密码。

登录时,默认用户名是root。大家不要弄错了。

基本服务应用

网页服务LAMP

使用浏览器能得到的服务,Linux+Apache(网页服务器)+Mysql(数据库)+Perl/PHP/Python(动态页面)的简称。

安装

命令

sudo tasksel

选择LAMP server。(空格选取,tab选择)

使用

此时网页服务器已经开启,在浏览器中输入服务器地址应该很明显的看到it work的提示。

如果你有已经建好的网站,把文件放到

/var/www/

中。把原有的index.html替换成你的index.html即可。

网页的基础知识,以及如何制作,这里就没办法做科普了。置于文件的上传,我们选择使用samba或NFS。因为ftp安全性太差,这里不建议大家建立ftp服务器。

文件服务器samba

linux真正的文件服务器叫NFS,但是win用户无法访问。介于现在网络中许多用户使用的是win系统,建立一个linux与win都能访问的文件系统就只好选samba了。

安装

sudo tasksel

选择samba server。(空格选取,tab选择)

或者命令安装:

sudo apt-get install samba smb-client

使用

配置文件位于

/etc/samba/smb.conf

每次配置后要重新启动服务。

sudo server smbd restart

相应的启动是start,关闭是stop

案例:无密码要求最简单的共享

进入webadmin(选择言语为 中文)

“服务器”管理中的 samba windows文件共享

创建一个新的文件共享。

案例:密码要求的共享

配置步骤: 1、samba组件安装: (1)首先用“rpm –qa |grep samba”命令检验系统samba服务是否安装。

  1. rpm –qa |grep samba

samba-common-3.0.0.15.i386.rpm samba-client-3.0.0-15.i386.rpm samba-3.0.0-15.i386.rpm

(2)如果没有显示samba(版本)信息,则说明没有安装,利用“RedHat Linux安装光盘”里自带的RPM包进行安装(也可自己在网上下载相关的版本包进行安装)。

  1. rpm -ivh samba-common-3.0.0.15.i386.rpm
  2. rpm -ivh samba-client-3.0.0-15.i386.rpm
  3. rpm -ivh samba-3.0.0-15.i386.rpm

此外还有一个工具就是图形界面的Swat。 要是用这个工具﹐大家还要修改一处﹐就是﹕ vi /etc/xinetd.d/swat把其中的 disable = yes 改为 disable = no就可以了。

  1. rpm -ivh samba-swat-3.0.0-15.i386.rpm

然后开启浏览器输入http://hostname:901 也可以安装redhat-config-samba这个工具。 为了方便远程管理,Webmin也不错(建议安装)

  1. Samba config file created using SWAT
  2. from 0.0.0.0 (0.0.0.0)
  3. Date: 2003/11/19 15:38:38

2、修改samba配置文件:( /etc/smb.conf )

  • Global parameters
  1. 全局配置参数

[global]

  1. 设置工作组或者说是域名。

workgroup = MYGROUP

  1. 网络上看到的计算器名称(samba)。

netbios name = SAMBA

  1. 服务器描述,%v显示Samba版本。

server string = Samba Server %v

  1. 设置samba服务器使用的认证过程。默认为USER,有四个选项:User,Share,Server和Domain。

Security = User

  1. 设置纯文本密码的最少字符数。

min passwd length = 6

  1. 匿名、名称、密码都不正确不准登录服务器。即任何非法用户名登录均被视为gues用户。

map to guest = Bad User

  1. 用户名的映像。

username map = /etc/samba/smbusers

  1. 存放samba密码的路径

smb passed file = /etc/samba/smbpasswd

  1. samba日志文件的名字和路径。

log file = /var/log/samba/%m.log

  1. 日志文件的最大尺寸(KB)

max log size = 50

  1. 作为时间服务器。

time server = Yes

  1. 设置连接被视为无效而断开前,未激活状态的时间(MIN),防止资源被无效连接耗费。

deadtime = 5

  1. 网络协议选项,注意不要更改,否则影响网络速度及网络问题。

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

  1. 用户成功登录时在netlogon共享中运行的批处理文件或者windows命令文件,注意:这一项很重要,还有就是一定要配合下面的[netlogon]共享才能配置出你的PDC﹐%U为自动匹配登录用户的名称。

logon script = %U.bat

  1. 在服务器上保存Windows用户登录时的配置文件路径,%L为Samba匹配服务器名称。

logon path = \%Lprofile\%U

  1. 设定登录时主目录的当地路径。

logon drive = H:

  1. Samba接受所在组用户以域登录。

domain logons = Yes

  1. 如果要把samba设置为域服务器,浏览器的OS级别一定要高于Windows。这里说名一下:OS级别:windows95为1,98为16,2000为32。

os level = 65

  1. 设置samba试图成为主浏览器。

domain master = Yes

  1. 设置samba为WINS服务器。

wins support = Yes

  1. 超级用户。

admin users = root

  1. 设置新文件权限。

create mask = 0740

  1. 建立新文件时强制权限限制。

force create mode = 0740

  1. 允许用户在NT2000下改变权限。

security mask = 0740 force security mode = 0740

  1. 创建新目录时允许拥有的最大权限。

directory mask = 0750 force directory mode = 0750 directory security mask = 0750 force directory security mode = 0750

  1. Windows工作方式,只要文件被修改,其时间戳将随时更新。

dos filetimes = Yes

  1. Samba对文件生成时间作取整处理,计为下1秒,这也是windows工作方式。

dos filetime resolution = Yes

  1. 共享家目录。

[homes] comment = Home Directories read only = No browseable = No

  1. 重要的设置,samba作为域服务器时存放用户登录时执行的文件或脚本。

[netlogon] comment = Network Logon Service path = /home/netlogon write list = root guest ok = Yes share modes = No

  1. 用户配置文件存放目录 。

[Profile] path = /home/profiles read only = No create mask = 0770 force create mode = 0770 security mask = 0770 force security mode = 0770 directory mask = 0770 force directory mode = 0770 directory security mask = 0770 force directory security mode = 0770 browseable = No

  1. 打印机共享目录。

[printers] comment = All Printers path = /var/spool/samba printable = Yes browseable = No


注意: 1、Smb.conf其它参数用缺省即可。由于Linux的权限管理没有NT全面,在权限分配较复杂情况下,可以通过两种方式: A、对一个目录产生多个共享目录,每个目录对相应的用户组分配不同权限。 B、可以和Linux上文件权限相结合。比如:samba共享目录可以给每个人写权限,但Linux上文件权限为只给特定组写权限,则其它人只能读。

2、用户及密码管理: A、如果encrypt passwords = yes,用户会有两个密码(Linux,smbpasswd),用户改密码会麻烦,所以我设置为no,samba会用/etc/passwd做用户验证,用户也只维护一个密码,比较方便,但不足够安全,好象unix password sync = Yes可以既方便又安全,但我没成功。 B、修改/etc/passwd,使用户的shell为/usr/bin/passwd,这样用户想改密码时,telnet到samba服务器即可,其它如sendmail服务器也可以用这种方法。 C、如不想用户的目录出现/GNUstep目录,运行mv /etc/skel /etc/skel.backup即可。

3、windows98客户端:改注册表。 在HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDVNETSUP中增加一DWORD值:值名:EnablePlainTextPassword 数值:0x01。改windowshosts文件,ipaddree samba server name

4、过网关:如客户端和samba server之间有路由器,确保客户端和samba server在同一workgroup, 客户端编辑windowslmhosts文件,a.b.c.d samba server的netbios名或主机名。 我现在的做法为:给分公司IT设一个帐号在总部,让他们通过CUTEFTP再通过public目录实现总部和分公司的文件传输。这样可以避免分公司一定要跟总公司在一个域(他们还有NT)。

5、磁盘限额: 例如一百名,设定和 bob 相同的 quota 值,首先以手动编辑 bob 的 quota 信息,然后执行:

  1. csh
  2. edquota -p bob ‘awk -F:’$3 > 499 {print $1}‘/etc/passwd’

这是假设你的使用者 UID 从 500 开始


接下来就要手动在/home下建立目录:profiles,访问权限为0770,组为你想要建立的组﹐比如share用来存放Windows用户的配置文件。 netlogon访问权限为1750,这里加上了sticky选项,不允许其它用户删除目录里的文件,只有超级用户或者建立者才可以,注意sticky选项只对目录起作用。组为share 下面建立/etc/samba下面的smbpasswd文件:

  1. cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

为了安全起见﹐设置权限:

  1. cd /etc
  2. chmod 500 samba
  3. cd samba
  4. chmod 600 smbapsswd

接下来大家可以在netlogon目录里建立windows用户的登录脚本,比如批处理文件,需要注意的是,一定要在Windows下面建立,因为如果在Linux下建立,那幺Windows就不会执行Linux的文件。比如有个帐户feixue,批处理文件可以这样: feixue.bat内容为: @net time SambaServer /set /yes @net use H: SambaServerfeixue -y @regedit -s SambaServer etlogon*.reg 等。 需要注意的是把批处理文件保存到netlogon下面后一定要检查文件的权限,修正后用户才会执行,不然的话嘿嘿,你有麻烦了﹗﹗﹗ 如何配置Windows端登录Samba域,对于98来说很容易,在网络属性里选Client for microsoft networks,在第一项打勾,下面输入你的Samba服务器的域名(工作组)。重新激活机器以后,邓入对话框就会有三项:用户名、密码、域名。 NT/2000下面登录samba域会困难一点,首先你要在Samba服务器上建立windowsNT/2000机器的信用帐号。 下面以一个计算器名为test的计算机为例:

  1. useradd -c 'Test Compter' -d /dev/null -g share -s /bin/false -r test$

我们创建了一个Linux本地帐号,出于安全的考虑不需要它登录到Linux进行任何操作,因此的用户目录为/dev/null,shell是/bin/false。 然后我们就可以用smbpasswd创建相应的Samba机器帐号:

  1. smbpasswd -a -m test

其中-a是添加,-m是机器信任帐号。这样,依据test$的Linux帐号创建了一个NT域的机器信任帐号test。 然后在windowsNT/2000上加入Samba域,根据提示输入超级用户的用户名称和密码,就可以加入Samba域了。 重新激活机器以后,就会有三个选项了,比如用原先建立的用户feixue登入即可。

建立blog(博客)服务器

blog的建立需要用到PHP言语以及数据库。考虑到菜鸟们的水平,我们选用世界著名的blog管理器:wordpress.org

安装

下载最新版本,使用wget.

cn.wordpress.org

这里可以下载到官方中文版

按要求把解压出来的wordpress文件夹放到

/var/www/blog/

中。注意有些人是租用的服务器,具体位置要询问服务器商,包括权限设置等。

用phpmyadmin建立一个新数据库:wordpress

好了,访问安装页面(假设服务器地址是192.168.1.120)

192.168.1.120/blog/wordpress/wp-admin/install.php

按要求输入信息。

使用

192.168.1.120/blog/wordpress/wp-admin/

是管理页面。

192.168.1.120/blog/wordpress/

就是正常的页面。至此已经能看到blog正常运行了。剩下就是自己的一些调整。

快速建立动态网站

动态网站需要的知识很多,我们很少有人能完全掌握。还好有组织为我们提供了快速版本 cms

我们把下载下来的包解压到/var/www/ 新文件夹中。按要求建立数据库(用webmin新增数据库即可)即可使用,很简单吧。

知名的有

joomla 需要下载中文语言包;zoomla 中文版
wordpress 快速建立博客(非常简单)