Ubuntu 14.04 LTS desktop version服务器配置记录
由于之前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-pip
,sudo 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/
还未被加入环境变量中。