ubuntu常用服务配置.docx
- 文档编号:26405761
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:14
- 大小:21.78KB
ubuntu常用服务配置.docx
《ubuntu常用服务配置.docx》由会员分享,可在线阅读,更多相关《ubuntu常用服务配置.docx(14页珍藏版)》请在冰豆网上搜索。
ubuntu常用服务配置
mysql授权
GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'youpassword'WITHGRANTOPTION
FLUSHPRIVILEGES;
ubuntusshdroot登录
$sudovi/etc/ssh/sshd_config
找到PermitRootLoginno一行,改为PermitRootLoginyes
3.重启opensshserver
$sudoservicesshrestart
ubuntuapache2配置mpm_prefork.conf
StartServers5
ServerLimit5500
MinSpareServers5
MaxSpareServers10
MaxRequestWorkers5000
MaxConnectionsPerChild400
ubuntuphp配置Memchache
memcached安装
sudoapt-getinstallmemcached
memcached参数说明
memcached-d-m50-p11211-uroot
-m指定使用多少兆的缓存空间;-p指定要监听的端口;-u指定以哪个用户来运行
安装php-memcache模块
sudoapt-getinstallphp5-memcache
php.ini
[Memchache]
memcache.allow_failover=On
memcache.chunk_size=8192
memcache.default_port=11222
ubuntu清理内存
sync&&echo3>/proc/sys/vm/drop_caches
nfs安装
服务端
apt-getinstallnfs-kernel-server
打开/etc/exports文件,在末尾加入:
/var/www/*(rw,sync,no_subtree_check,no_root_squash)
#sudo/etc/init.d/nfs-kernel-serverrestart<---重启nfs服务
#showmount-e<---显示共享出的目录
客户端
apt-getinstallnfs-common
mount-tnfs-onolock192.168.1.100:
/var/www/var/www
二、Ubuntu/Debian安装vsftp软件
1.更新软件源
首先需要更新系统的软件源,便捷工具下载地址:
2.安装vsftp
使用apt-get命令安装vsftp
#apt-getinstallvsftpd-y
3.添加ftp帐号和目录
先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
使用下面的命令创建帐户,该命令指定了/alidata/www/wwwroot为用户pwftp的家目录,您可以自己定义帐户名和目录:
#useradd-d/alidata/www/wwwroot-s/sbin/nologinpwftp
修改该帐户密码:
#passwdpwftp
修改指定目录的权限
#chown-Rpwftp.pwftp/alidata/www/wwwroot
4.配置vsftp
编辑vsftp配置文件,命令如下:
#vi/etc/vsftpd.conf
将配置文件中”anonymous_enable=YES“改为“anonymous_enable=NO”
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
保存退出
编辑/etc/vsftpd.chroot_list文件,将ftp的帐户名添加进去,保存退出
5.修改shell配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
6.重启vsftp服务并测试登录
使用命令启动vsftp服务:
#servicevsftpdrestart
然后用帐号pwftp测试下是否可以登陆ftp。
目录是/alidata/www/wwwroot。
pure-ftpd也提供FXP协议和SSL/TLS支持,是一个很全面的ftpd.首先安装pure-ftpd:
sudoapt-getinstallpure-ftpd
pure-ftpd不是用配置文件而是用命令行参数,这种方式比较怪异。
不过pure-ftpd的作者还是为偏好配置文件的用户提供了wrapper,可以man一下pure-ftpd-wrapper.在Debian/Ubuntu下的wrapper比较怪,是在/etc/pure-ftpd/conf下以设置项作为文件名,该项的设置值作为文件的内容,如需要设置ClientCharset=gbk,就建立一个名为“ClientCharset”的文件,内容为“GBK”.
实验室的FTP需要给每个人配一个私有账号,相当于一个网络硬盘;同时允许匿名登录用于上传公共资料与数据交换。
由于是内部服务器,需要改一下端口号,最后还需要一个管理员帐号。
我使用的设置如下(用传统赋值写法),一些不常用的就不写了:
ClientCharset=gbk#必设,防止Windows登录出现中文乱码
DontResolve=yes#不解析域名,可以节省登录时间
BrokenClientsCompatibility=yes#兼容IE等非标准FTPclient
ChrootEveryone=yes#把所有用户限制在其homedir下
KeepAllFiles=yes#禁止用户删除文件,TrustedGID组中的除外
TrustedGID=1001#管理员组ftpadmins的GID,允许管理员删除文件
CreateHomeDir=yes#当虚拟用户第一次登录时,自动创建homedir
MaxClientsPerIP=2#每个IP限制2个连接
MaxClientsNumber=20#最大并发连接数,默认值是50
MaxDiskUsage=90#分区已使用空间超过90%时不再接受上传
NoAnonymous=no#允许匿名登录
Bind=,8821#改变端口号
每次修改服务器设置后都需要重新启动服务:
sudo/etc/init.d/pure-ftpdrestart
一共建立了两个用户组:
ftpadmins(管理员和普通用户,可以删除文件)和ftpusers(匿名账号,不能删除文件),以及三个用户:
ftpadmin(管理员),ftpuser(普通用户)和ftp(匿名用户).服务器的根目录为/var/ftp,所有者为ftpadmin:
ftpadmins.根目录下有public和users两个目录,public作为匿名访问的根目录,users存放普通用户的文件。
匿名访问空间(public目录)中只有incoming允许上传(777),其它位置只能下载。
users目录也被设为组内的完全访问权限(775),这样同组的普通用户(ftpuser)可以有读写和删除的权限。
普通用户将被限制(chroot)在/var/ftp/users下自己的homedir中,因此虽然有完全访问权限,也不会影响其它位置。
为了保险起见,其它位置的权限设为755,只有ftpadmin有完全权限。
sudogroupaddftpadmins
sudogroupaddftpusers
sudouseradd-gftpadmins-d/dev/null-s/bin/falseftpadmin
sudouseradd-gftpadmins-d/dev/null-s/bin/falseftpuser
sudouseradd-gftpusers-d/var/ftp/public-s/bin/falseftp
sudomkdir/var/ftp
sudomkdir/var/ftp/public
sudomkdir/var/ftp/public/incoming
sudomkdir/var/ftp/users
sudochown-Rftpadmin:
ftpadmins/var/ftp
sudochmod-R755/var/ftp
sudochmod777/var/ftp/public/incoming
sudochmod775/var/ftp/users
由于这些用户仅用于pure-ftpd,不需要给登录权限,因此shell被指定为/bin/false.
下面配置虚拟用户。
虚拟用户是ftp登录时所用的用户账号,但可以共用一个系统账号。
当用户使用虚拟账号登录ftp时,将实际使用虚拟用户对应的系统用户身份进行操作。
实验室的所有普通用户均使用虚拟账号,对应的系统账号是ftpuser.匿名用户只能对应系统中的ftp用户(名称不能改),pure-ftpd的官方文档中建议把匿名用户单独设在一个用户组中。
虚拟用户用pure-pw配置,官方文档在这里。
pure-pw的使用很方便,形式和管理系统用户差不多,只是在useradd,usermod等前面加上pure-pw(用户名要紧随操作后面而不是放在最后,这一点与useradd等不同).匿名用户不需要单独配置,因此homedir一定要在创建系统用户ftp时指定好,其它系统用户的homedir可以简单地指定为/dev/null,创建虚拟用户时再指定homedir.下面创建虚拟管理员账号admin与两个普通账号test1和test2:
sudopure-pwuseraddadmin-uftpadmin-d/var/ftp
sudopure-pwuseraddtest1-uftpuser-d/var/ftp/user/test1
sudopure-pwuseraddtest2-uftpuser-d/var/ftp/user/test2
执行每条命令之后pure-pw会要求输入账号的密码。
在参数的-d选项中指定的homedir的并不需要事先创建好。
如果在配置中设置CreateHomeDir=yes,则在虚拟用户第一次登录时pure-ftpd会自动创建其homedir.
添加虚拟用户时还可以设置用户的带宽、空间配额、IP段等。
修改虚拟用户设置用pure-pwusermod,修改密码用pure-pwpasswd,删除虚拟用户用pure-pwuserdel,用法详见官方文档。
每次修改用户设置后都要更新一下虚拟用户数据库,不需要重新启动服务:
sudopure-pwmkdb
也可以在每次使用pure-pw的时候加上-m参数立即更新虚拟用户数据库。
到这里设置就算完成了,这时ftplocalhost可以匿名登录,但虚拟用户登录会出现530错误。
这是因为默认的认证方式中没有puredb数据库,解决方法是在/etc/pure-ftpd/auth下加入puredb数据库的软链接:
cd/etc/pure-ftpd/auth
sudoln-s../conf/PureDB60puredb
现在就可以使用虚拟账号登录FTP了。
考虑到文件交换的应用,在匿名用户空间/var/ftp/public下新建了一个exchange目录,下设1day,3days和7days(权限均为777)用于临时储存交换数据,当目录中的数据存放超过一定时间后删除。
我写了一个bash脚本用于自动完成清理工作,并在清理时记录当前时间与被删除的文件,脚本如下:
#!
/bin/bash
LOGFILE=/var/log/pure-ftpd/ftpac.log
date>>$LOGFILE
find/var/ftp/public/exchange/1day-mtime+1-typef-execrm{}-v>>$LOGFILE\;
find/var/ftp/public/exchange/3days-mtime+3-typef-execrm{}-v>>$LOGFILE\;
find/var/ftp/public/exchange/7days-mtime+7-typef-execrm{}-v>>$LOGFILE\;
用crontab将脚本设为每天凌晨执行。
补充:
上面的脚本无法删除空目录,更好的方法是用tmpreaper(默认未安装,记得sudoapt-getinstalltmpreaper):
#!
/bin/bash
LOGFILE=/var/log/pure-ftpd/ftpac.log
date>>$LOGFILE
/usr/sbin/tmpreaper--showdeleted-c-M1d/var/ftp/public/exchange/1day>>$LOGFILE
/usr/sbin/tmpreaper--showdeleted-c-M3d/var/ftp/public/exchange/3days>>$LOGFILE
/usr/sbin/tmpreaper--showdeleted-c-M7d/var/ftp/public/exchange/7days>>$LOGFILE
然后把脚本扔进crontab即可。
linux下静态路由修改命令
方法一:
添加路由
routeadd-net192.168.0.0/24gw192.168.0.1
routeadd-host192.168.1.1dev192.168.0.1
删除路由
routedel-net192.168.0.0/24gw192.168.0.1
add增加路由
del删除路由
-net设置到某个网段的路由
-host设置到某台主机的路由
gw出口网关IP地址
dev出口网关物理设备名
svn服务器配置
apt-getinstallsubversion
之后选择SVN服务文件及配置文件的放置位置。
我放在了/srv下的svn目录。
cd/srv
sudomkdirsvn
我的svn版本仓库叫tone_src
cd/srv/svn
sudomkdirtone_src
目录建好后 创建版本仓库
sudosvnadmincreate/srv/svn/tone_src
执行之后tone_src下文件结构如下:
tone@ubuntu:
/srv/svn/tone_src$ls-l
总用量24
drwxr-xr-x2rootroot40961月1510:
52conf
drwxr-sr-x6rootroot40961月1514:
52db
-r--r--r--1rootroot21月1510:
50format
drwxr-xr-x2rootroot40961月1510:
50hooks
drwxr-xr-x2rootroot40961月1510:
50locks
-rw-r--r--1rootroot2461月1510:
50README.txt
下面进行配置:
我们需要修改conf目录下的三个文件,authz;passwd;svnserve.conf
编辑svnserve.conf
[general]
#匿名用户不可读
anon-access=none
#权限用户可写
auth-access=write
#密码文件为passwd
password-db=passwd
#权限文件为authz
authz-db=authz
realm=wx173//配置工程名称
编辑authz制定管理员组即admin组的用户为toneadmin组有rw(读写权限)所有人有r(读权限)
[groups]
admin=tone
[/]
@admin=rw
*=r
这里组的名字不一定叫admin你的管理员组名可以叫做任意的名字,另外比如admin组还有其他用户,可以这样制定admin=tone,tone1,tone2类似这样的写法
编制passwd文件设定用户密码
[users]
#harry=harryssecret
#sally=sallyssecret
tone=www
tone的密码为www对没看错明文的。
以上都做完之后,就可以开启你的svn服务器了。
sudosvnserve-d-r/erv/svn/
-d已守护模式启动
-r制定svn版本库根目录这样是便于客户端不用输入全路径就可以访问版本库了
例如:
svn:
//127.0.0.1/tone_src
值得注意的是我这里是用sudo启动的因为之前的svn目录及tone_src目录我都是在sudo下创建的。
目录的所属权限都是root
如果我以下面的方式启动是可以的但是当客户段提交文件的时候会出问题,因为此时的svnserve服务对svn版本库目录没有写的权限
svnserve-d-r/erv/svn/
同步更新svn目录
使用svnadmincreate创建一个版本库:
svnadmincreateREPO
每个版本库的目录下有一个hooks目录:
root@SVN:
/home/svn/repo#ls/home/svn/repo/
confdavdbformathookslocksREADME.txt
在每个版本库下有hooks文件夹,里面有很多钩子程序:
root@SVN:
/home/svn/repo#ls-lhooks/
total40
-rwxr-xr-x1www-datawww-data3322010-05-3016:
47post-commit
-rw-r–r–1www-datawww-data20002010-05-3015:
22post-commit.tmpl
-rw-r–r–1www-datawww-data16632010-05-2923:
28post-lock.tmpl
-rw-r–r–1www-datawww-data23222010-05-2923:
28post-revprop-change.tmpl
-rw-r–r–1www-datawww-data15922010-05-2923:
28post-unlock.tmpl
-rw-r–r–1www-datawww-data34882010-05-2923:
28pre-commit.tmpl
-rw-r–r–1www-datawww-data24102010-05-2923:
28pre-lock.tmpl
-rw-r–r–1www-datawww-data27962010-05-2923:
28pre-revprop-change.tmpl
-rw-r–r–1www-datawww-data21002010-05-2923:
28pre-unlock.tmpl
-rw-r–r–1www-datawww-data28302010-05-2923:
28start-commit.tmpl
在执行commit操作之后会自动执行post-commit这个钩子程序。
因此可以设置post-commit来自动更新:
操作步骤如下:
1.使用checkout建立一个工作复本
mkdir/home/web
root@SVN:
/home#chownwww-data:
www-dataweb
ls-lweb
drwxr-xr-x2www-datawww-data40962010-05-3016:
15web
必须使用apache的所属用户和组(在ubuntu下面的是www-data)来执行:
checkout
root@SVN:
/home/web#sudosuwww-data
$cd/home/web
$svncheckout
Authenticationrealm:
<:
80>RepoAuth
Passwordfor‘www-data’:
Authenticationrealm:
<:
80>RepoAuth
Username:
jack
Passwordfor‘jack’:
———————————————————————–
ATTENTION!
Yourpasswordforauthenticationrealm:
<:
80>RepoAuth
canonlybestoredtodiskunencrypted!
Youareadvisedtoconfigure
yoursystemsothatSubversioncanstorepasswordsencrypted,if
possible.Seethedocumentationfordetails.
Youcanavoidfutureappearancesofthiswarningbysettingthevalue
ofthe‘store-plaintext-passwords’optiontoeither‘yes’or‘no’in
‘/var/www/.subversion/servers’.
———————————————————————–
Storepasswordunencrypted(yes/no)?
yes
连续输入2次“yes”
root@SVN:
/home/web#ls-alwww/
drwxr-xr-x6www-datawww-data40962010-05-3016:
18.svn
可以看到.svn的权限,userown、goupown都是www-data
2,使用svnupdate测试,看www-data用户是否有权限更新。
$svnupdate/hom
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ubuntu 常用 服务 配置