Ubuntu 14.04 LTS desktop version服务器配置记录

2015-12-19 09:12:37 ServerUbuntu

由于之前ACM队的主服务器老是挂掉,硬盘里东西又太多,迁移和备份都比较麻烦,于是趁着这次队里有结余经费,就买了块新硬盘,准备重新配置一下服务器。

考虑到要便于日后维护,我选择了Ubuntu 14.04 LTS desktop版(ubuntu-14.04.3-desktop-amd64.iso)。现将安装配置过程记录如下:

安装系统

没什么好说的,不过装的时候我好像忘了配swap分区……不过问题不大,实在不行的话学弟学妹们可以再重装一次。

配置IP

可在图形界面中配置IP,设置如下:

  • IP address: 121.194.86.2
  • Subnet Mask: 255.255.255.0
  • Default Gateway: 121.194.86.254
  • DNS server: 202.204.105.1, 202.204.105.5

修改软件源

在desktop版中可以直接使用图形界面来选择软件源,在命令行下,可以修改/etc/apt/sources.list文件,把软件源改成清华源北交大源(这两个比较快)。具体修改方法两个镜像站都写了:清华北交。需要注意的是一定要填对版本代号。修改完成后需要sudo apt-get update同步本地包数据库。

安装SSH

到服务器旁边配置服务器实在是太蠢了,因此我们需要安装SSH服务(desktop版需要手动安装)。安装方法就是sudo apt-get install openssh-server

添加用户并授予sudo权限

因为要给学弟账号来管理维护服务器,所以需要添加用户。首先应使用sudo adduser username添加一个名为username的用户。adduser相比useradd命令,更好的地方在于会自动创建/home/username的主目录且让你创建用户密码。要添加sudo权限,我们只需sudo usermod -G 27 username,因为sudo的组号为27。

给root设置密码

执行sudo passwd root

修复root不能远程登录

修改/etc/ssh/sshd_config文件,将PermitRootLogin without-password一行改为PermitRootLogin yes,这样就可以远程登录root了,这主要是为了下一步准备的。

如果需要立即使用,则需重启sshd。奈何智商捉鸡,找半天不知道怎么重启,最后是重启的电脑解决的。后来想想可以kill掉sshd进程再开启。

使用FTP

还是FTP传文件比较轻松。我们知道SSH是自带FTP的,这个FTP是SFTP,端口是SSH的22(FTP是21端口)。使用Xftp/FlashFXP等软件可以很轻松地使用SFTP,但是很多路径需要权限,所以不能使用root登录是很麻烦的事情。因此需要上一步修复root不能远程登录的问题。

安装nginx

sudo apt-get install nginx即可。配置文件在/etc/nginx/nginx.conf,网站目录在/usr/share/nginx/html。(如果是CentOS 6,配置文件会在/usr/local/nginx/conf/nginx.conf

注意:

  • 修改nginx配置文件后,需要使用nginx -s reload使得新配置文件生效。
  • 配置文件很重要,因此若需重装系统,一定要备份nginx配置文件。
  • 配置文件不能出错,且不能存在无法访问的反向代理项,否则nginx开机启动会失败。我折腾了好长时间才发现是这个问题。因为我是直接复制以前的nginx配置文件过来的,只是根据新版本nginx的默认配置文件做了修改以适应新版本,但是具体的配置项是没改的。

新的配置文件其实就是把旧配置文件的所有server项复制到默认配置文件中,并把所有不可访问的server项注释掉了。另外,我把默认开启的gzip压缩关掉了,因为关闭压缩反而可以稍微提高内网访问加载速度。

端口映射

离校后想借助VPN连接到校内服务器上,但是学校的VPN只支持访问*.cugb.edu.cn:*,不支持访问实验室的IP段,因此我们可以借助acm.cugb.edu.cn的服务器做一个端口映射,将实验室其他服务器的远程端口映射到acm服务器上。

例如,将一台Windows Server服务器的3389端口映射到acm服务器的33237上,这样就可以通过远程acm.cugb.edu.cn:33237实现远程该Windows Server服务器。

具体操作如下:

iptables -t nat -A PREROUTING -d 121.194.86.2 -p tcp --dport 33237 -j DNAT --to-destination 121.194.86.237:3389
iptables -t nat -A POSTROUTING -d 121.194.86.237 -p tcp --dport 3389 -j SNAT --to 121.194.86.2

之后需要对iptables进行保存操作,请参考保存并自动设置iptables

其他

  • 使用sudo -i可以使用当前用户的密码切换到root用户,而su -则需要输入root的密码。
  • 可以安装一个Shadowsocks。安装方法sudo apt-get install python-pipsudo pip install shadowsocks,使用方法ssserver -k yourpassword -d start,从json读取配置信息的使用方法是ssserver -c config.json -d start
  • 欲实现Shadowsocks开机启动,需在/etc/rc.local中加入/usr/local/bin/ssserver -k yourpassword -d start。注意:要写清楚ssserver所在路径,因为执行这段脚本时/usr/local/bin/还未被加入环境变量中。
如果长时间无法加载评论,请对 *.disqus.com 启用代理!