本文介绍如何在搭建好hustoj的基础上,设置管理员和进行后台的设置和其他的设置问题。
一、注册一个帐号。
先通过地址http://127.0.0.1/JudgeOnline/ ,访问hustoj,注册帐号。
二、设置管理员权限。
全新安装的hustoj貌似并没有管理员帐号(有待求证,暂时没找到),但是我们可以自己设置一个管理员帐号,此处我们就把刚刚注册好的用户设置为管理员。这一步,需要使用到mysql。
1、打开mysql。(可自行搜索ubuntu如何打开mysql)
具体做法是:打开终端,输入以下命令
sudo mysql -uroot -p //打开mysql的命令
提示输入mysql密码,输入之前设置的密码,回车后进入。注意在输入密码时,系统出于安全考虑,并不会显示任何字符或密码符号,只需要保证输入的密码正确就可以了。
2、依次输入以下命令,一次输入一条(此处为最基础的mysql操作)
use jol; //使用jol 这个数据库
insert into privilege values('admin','administrator','N');// 插入一个字段,其中此处的values()下的三个参数代表的意思是:帐号,权限,最后一个不清楚。
select * from privilege; //查看字段
Ctrl+D退出MySQL管理
说明:values('admin','administrator','N')中的'admin'其实就是我们上面注册的帐号,如果你注册的帐号时haha,那么此处应该调整为values('haha','administrator','N')。
然后从HUSTOJ上注销,重新登录,就可以发现刚才的帐号已经是管理员权限了。
三、进入管理后台
登录后,在帐号的下拉菜单中,点击管理,就可以进入管理后台了,实际上就是跳转到 http://127.0.0.1/JudgeOnline/admin/
再接下来的事情,就是添加题目,修改公告等等的事情了。
至此,hustoj 完全搭建成功了。
四、某些后续
前面三个步骤,已经成功搭建好了hustoj,这个步骤是作为一个补充,按需操作。
1、在服务器上直接放测试数据
添加题目的时候,可以从后台中添加,这个是很简单的操作,后台也增加了导入功能,但是有时我们的题目是原创的,需要我们一个个添加测试数据,那会是一件比较痛苦的事情,其实我们可以在其他机器中,设置好数据,规范命名后,直接放到服务器上,可以通过网络,当然最方便的就是我们能接触到服务器,直接拿U盘拷贝都可以。
测试数据存放的路径是:home/judge/data 但是如果我们直接打开,会发现无法打开,原因是此时对该文件并没有权限的,这时,我们可以通过一条命令,来获得权限。
su // 输入密码后,进入root权限
chmod 777 -R * /home/judge/data //修改路径下的所有文件权限为最高777。
或者使用这样一条语句来实现
sudo chmod 777 /home/judge/data/* // sudo 表示用root权限执行,chmod777表示修改权限为最高的可读可写的状态。
2、局域网设置固定IP
一般而言,在局域网中,最常见的IP分配方式是使用DHCP,进行自动分配,这对于普通机器来说是非常方便的,因为普通机器不需要固定的IP,只要能正常上网就可以了,而DHCP可以自动分配IP,不需要用户进行任何的设置,非常方便。但是如果对于服务器来说,如果IP地址时常改变的话,就会给我们的访问带来非常多的麻烦,因此对于服务器而言,必须要设置成固定IP(静态IP)。下面介绍操作方法:
类似于我们在windows下的操作,点击网络连接,选择「编辑连接」,再点击「编辑」,进入编辑界面。
设置好IP/掩码/网关/DNS。
保存后重启一下网络连接即可,重启的最简单方式是,断开网络,再重新连接就可以了。正常情况下,到这里就大功告成了。
以上是正常的设置方法,然后在我机器中,出现了极其奇葩的情况,我修改IP/掩码/网关/DNS,点保存后,再次进入编辑时却发现,我设置的子网掩码,永远都是20,重启、root、权限都设置过,但是依然无法解决。最后的解决办法是:找到设置自定义IP的文件,直接修改该文件,保存后,重启网络解决问题。
现在介绍一下具体的做法:修改 /etc/NetworkManager/system-connections/ 文件夹下的文件,这个文件名和你设置的名字有关,修改这个文件的内容,但是直接打开时并没有权限,因此我们需要先给它设置权限。
sudo chmod 777 /etc/NetworkManager/system-connections/* //设置该文件下的所有文件为最高权限777
然后打开该文件,进行修改。(重点在于[ipv4]那里的设置)此处的掩码就是20,我们将它修改成我们需要的掩码,保存后,重启网络,就发现能使用静态IP上网了。
其实最后静态ip的子网掩码并没有问题,子网掩码可以用 255.255.240.0来表示,它表示的是前面20位为网络号,后面的12为主机号,其实除了用255.255.240.0来表示外,还可以直接用 「/20」来表示。