Dropbox命令行工具安装与开机自启动

系统要求
# 2.4 以上版本的C 库
# wget 命令
# Python 2.5
# web 浏览器

Dropbox命令行工具安装与使用的常用命令

cd ~ && wget -O – "http://www.dropbox.com/download?plat=lnx.x86" | tar xzf –
cd ~ && wget -O – "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf –
~/.dropbox-dist/dropboxd
killall dropbox

wget –no-check-certificate https://www.dropbox.com/download?dl=packages/dropbox.py
chmod 755 ~/dropbox.py
python dropbox.py start
python dropbox.py stop
python dropbox.py status

系统开机自启动脚本 /etc/init.d/dropbox

#!/bin/sh
#dropbox service
DROPBOX_USERS="user1 user2"

DAEMON=.dropbox-dist/dropbox

start() {
echo "Starting dropbox…"
for dbuser in $DROPBOX_USERS; do
HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
if [ -x $HOMEDIR/$DAEMON ]; then
HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
fi
done
}

stop() {
echo "Stopping dropbox…"
for dbuser in $DROPBOX_USERS; do
HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
if [ -x $HOMEDIR/$DAEMON ]; then
start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
fi
done
}

status() {
for dbuser in $DROPBOX_USERS; do
dbpid=`pgrep -u $dbuser dropbox`
if [ -z $dbpid ] ; then
echo "dropboxd for USER $dbuser: not running."
else
echo "dropboxd for USER $dbuser: running (pid $dbpid)"
fi
done
}

case "$1" in

start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
stop
start
;;
status)
status
;;
*)
echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
exit 1

esac

exit 0

自启动命令:

chmod +x /etc/init.d/dropbox
update-rc.d dropbox defaults

Debian系统可能还需要在脚本前加上:

### BEGIN INIT INFO
# Provides: dropbox
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: false
# Short-Description: dropbox service
### END INIT INFO

本文来源及其它LINUX系统的使用方法参考: http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-in-an-entirely-text-based-linux-environment#debianubuntu

Ubuntu VPS上安装 xfce 和 vnc

1. 安装显示系统 x11,命令:

root@xiaokyun:~#apt-get install xorg

这一步要安装包的大小大约是 20 来 M,如果是美国的服务器,可以眼争争的看着它完成,很快的。完了我们就有了 X11 了。

2. 安装桌面支持,Linux 著名的桌面系统有 gnome 和 KDE,还有轻量级的 xfce4,由于实际网络及系统的条件,我这里选择安装 xfce4,命令:

root@xiaokyun:~#apt-get install xfce4

这一步安装包大小 200 来 M,对于每秒 10 几 M 的下载速度可能还不够你上个小 WC,安装之前你会看到一堆东西要安装,都要安装了。

3. 现在可以安装 vnc 服务端,命令:

root@xiaokyun:~#apt-get install vnc4server

4. 现在你可以执行 vnc 服务端了,可以直接执行

root@xiaokyun:~# vncserver

现在还用不着急着去用 -geometry 1024X768 -depth 16 去指定显示分辨率和颜色深度。执行 vncserver 后正常的话会提示你输入两篇连接密码,成功的话能够看到类似的信息:

New ‘xiaokyun:1 (root)’ desktop is xiaokyun:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/xiaokyun:1.log

5. 客户端连接,vnc 客户端很多种,我也是建议你用 TightVNC, 从 http://www.tightvnc.com/download.html 下载,您只需要在你的本地电脑上安装 vncview 组件。
打开 vncview,输入服务器的 ip地址:1,然后连接,按照提示输入刚刚设置的密码就可登陆。

vnc-client-login

OK,成功登陆了,可是你现在应该也只是能看到一个命令窗口,和 ssh 分别不那么大,对的,现在还是个 xterm+tvm,所以还有点工作要做.

burst-vnc1

6. 把原来的 vncserver 结束掉,修改下 /root/.vnc/xstartup 文件

root@xiaokyun:~#vncserver -kill :1 杀了刚刚启的 vncserver 进程

root@xiaokyun:~#vi /root/.vnc/xstartup 打开 /root/.vnc/xstartup 文件,里面的内容只需要下面两行,其他的可以注释掉:

#!/bin/sh
/usr/bin/startxfce4 &

本文原始链接 http://unmi.cc/vnc-burst-vps-ubuntu-xfce/, 来自 隔叶黄莺 Unmi Blog
保存该文件,由于 /usr/bin/startxce4 本身是可执行的,其实可不用 chmod +x 加执行权限

7. 现在再执行 vncserver 来启动 vnc 服务

root@xiaokyun:~#vncserver

现在再次用 vncviewer 来连接服务器,看到的就是真正的 xfce 界面了,速度基本还是能接受的。

vnc-ubuntu-xfce

其他一些内容,自己酌情而定了,有说要执行如下两命令:

apt-get install x-window-system-core 不知具体内情
apt-get install x11vnc 好像也用不着
apt-get install xdm 或说要安装这个,用于登陆界面

另外在启动 vncserver 时可以加一些启动选项,执行 vncserver –help 可以看到支持的选项:

root@xiaokyun:~# vncserver –help
VNC4 server
Usage: vncserver [] [:<DISPLAY#>]
vncserver -kill :<DISPLAY#>
are Xvnc4 options, or:

-name
-depth
-geometry x
-httpport number
-basehttpport number
-alwaysshared
-nevershared
-pixelformat rgb
-pixelformat bgr

See vnc4server and Xvnc4 manual pages for more information.

比如执行 vncserver -geometry 800×600 后,客户端连接后的分辨率就是 800×600,还有颜色深浅的设置等,默认是 1024×768。也能用 -httpport 设置 http 连接端口,用于客户端直接用浏览器 Applet 进行连接,如 http://ipaddress:5901。

对于 /root/.vnc/xstartup 文件的修改,有不同的意见是,只注释掉原始文件的 #x-window-manager& 行,最后加上:

x-sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

保存它来作用到 vncserver。

有些地方提到的可定制启动 vncserver 的参数,CentOS 是在 /etc/sysconfig/vncservers 文件后加上:

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800×600"
如果想设置多个用户,可以用如下格式:
VNCSERVERS="1:one 2:two 3:three"
VNCSERVERARGS[1]="-geometry 800×600"
VNCSERVERARGS[2]="-geometry 800×600"
VNCSERVERARGS[3]="-geometry 800×600"

不知道 Ubuntu 的启动参数该加到哪个文件中,反正是找不到 /etc/sysconfi/vncservers 文件,会是 xstartup 文件吗?

原文链接:http://unmi.cc/vnc-burst-vps-ubuntu-xfce/

linux 多账户下实现Apache虚拟主机之间的相互隔离设置

合租了linux服务器,作为管理员以及和合租者都希望将自己的虚拟主机目录和别人的隔离(因为每个用户都有linux登录账户),这个问题起初也烦恼我很久,不过很快我就有了解决办法。

1.假设 有两个站点 siteA 和 siteB(假设这两个站点的目录在/var/www/下)
2.使用root账户登录终端建立两个帐号 userA 和 userB, 要满足使用userA登录时候只能有权限进入siteA目录,登录siteB只能进入siteB目录

useradd userA
useradd userB

3.linux 在新建账户的时候如果没有为此帐号分配组,则默认会建立以该帐号同名的组,于是上面就自动产生了userA 和 userB组
4.然后将siteA 和 siteB这两个目录的所属

cd /var/www
chgrp userA siteA/ #注意这里的userA是同名的组名非帐户
chgrp userB siteB/

5.然后修改两个目录的访问权限,只能同一个组可有访问和修改

chmod 755 siteA/ #755的权限就是文件的创建者和所属组可有读取,写入
chmod 755 siteB/

6.此时我们就实现了不同的用户组账户进入对应的目录的权限,但是此时Apache没有读取这两个目录的权限,因为Apache不属于上述任何组
7.启动Apache的默认账户一般是 apache (如果没有建立一个)
8.如果将Apache账户 分别加入 userA 和 userB组,那么apache 就有权限可有访问到这两个目录了

gpasswd -a apache userA #将apache账户分别加入 userA组和 userB组
gpasswd -a apache userB
service httpd restart

原文:http://blog.css-js.com/linux/linux-centos-apache-dirset.html

Nano编辑器

^G        Get Help
^Y       Prev Page
^V       Next Page
^P       Prev Line
^N       Next Line
^X        Exit
M-Y     Color syntax highlighting enable/disable

备注:
1.^表示Ctrl键
2.M-表示Esc键或者Alt键,Debian下只有Esc键有效
3.^G表示同时按下Ctrl键和G键
4.M-Y表示同时按下Esc键和Y键
5.所有组合键中的字母键无需大写

原文链接:http://godontop.com/63.html