Phiên bản mới nhất Themis web v2.1
demo: http://themis.kienthuc24h.com
Themis web là giải pháp giúp nộp bài trực tuyến trong mạng LAN hoặc WAN để phần mềm chấm bài Themis DSAP chấm.
1. Hướng dẫn cài đặt
a. Download
– Đầu tiên các bạn cần tải phần mềm XAMPP windows để có thể chạy được mã nguồn
Ngoài việc dùng XAMPP bạn có thể dùng Uniform Server sẽ nhẹ hơn rất nhiều.
– Tải mã nguồn Themis web:
link download Themis web v1.1 (04/07/2015 đã fix lỗi không thể đăng xuất)
link download Themis web v2.0 (26/09/2016)
link download Themis web v2.1 (30/07/2017 fix lỗi Undefined, Warning, lỗi trên php 7)
Phiên bản 2.1 thích hợp dùng với Uniform Server – php 7
Vui lòng đọc kỹ “Điều khoản sử dụng về bản quyền” trước khi tải mã nguồn
Themis web v1.0 là phiên bản đầu tiên mình viết, đây chỉ là giải pháp nên tất nhiên nó còn nhiều hạn chế về bảo mật, trang trí và tính tiện dụng. Mình sẽ cập nhật thêm ở những lần sau.
b. Cài đặt
– Sau khi tải xong, mình bắt đầu cài đặt XAMPP:
Các bạn lưu ý trước khi cài đặt XAMPP hãy chắc chắn rằng mình đã tắt skype, vì XAMPP ko thể bật nếu chạy skype.
Đường dẫn mình cài đặt XAMPP là C:xampp
Sau khi cài đặt Xampp xong các bạn vào http://localhost/ nếu xuất hiện như trên video hướng dẫn có nghĩa là bạn đã cài đặt thành công Xampp.
Giờ mình tiếp tục cài mã nguồn themis web
Các bạn giải nén lấy code bên trong.
Vào thư mục C:/xampp/htdocs xóa hết tất cả trong đây. và chép toàn bộ code themis web vào.
Giờ mình sẽ cài đặt cơ sở dữ liệu cho Themis web. Các bạn vào http://localhost/phpmyadmin. bấm tạo cơ sở dữ liệu như trong video, mình đặt tên là themis.
Tiếp đến các bạn import database vào. sau đó F5 trang http://localhost/ nếu được như trên video là ok.
Các bạn lưu ý là đặt tên cơ sở dữ liệu phải là themis thì mới dùng được, còn nếu các bạn dùng phần mềm khác XAMPP và đặt tên khác thì vui lòng config lại trong file mysql.php
Nếu bạn gặp lỗi sau Undefined index có thể khắc phục bằng cách bên dưới hoặc dùng ngay phiên bản mới nhất 2.1 đã được khắc phục
Để khắc phục các bạn tìm file PHP.ini (nó nằm ở c:/Xampp/php/php.ini)và thay đổi theo các thông số dưới đây:
error_reporting = E_ALL display_errors = off log_errors = off
sau khi chỉnh xong các bạn bấm save lại. Sau đó khởi động lại Xampp. Như vậy là đã cài đặt xong.
2. Hướng dẫn cấu hình Themis web để sử dụng
a. Add problem
Trước tiên các bạn phải chuẩn bị đề bài và bộ test, các thư mục chứa bài làm, như thông thường.
Bây giờ mình sẽ bật themis, mình sẽ add contest như thông thường.
Tiếp đến mình sẽ thiết lập cho themis web, ở phần mềm themis các bạn nhấn F11, ở ô thư mục nộp bài trực tuyến các bạn chọn đường dẫn đến folder nopbai trong code themis web.
Giờ chúng ta sẽ tiến hành add đề bài, copy đề bài có kiểu file là DOC hoặc PDF vào thư mục debai trong code themis web
Lưu ý: Tên đề bài không được có kí tự đặc biệt nào ngoại trừ 1 dấu chấm duy nhất phân biệt kiểu file. Vì đây chỉ là giải pháp nên chỉ có thế 🙂
Như vậy là xong, giờ mình sẽ đăng ký tài khoản và nộp bài thử.
Tài khoản admin mặc định là admin/admin
Lưu ý là những bài nào đang chờ chấm thì thí sinh dù nộp 100 bài như vậy thì hệ thống sẽ chỉ chấm bài nộp cuối cùng và các bài trước đó được nộp đang chờ sẽ bỏ qua. nên không có chuyện spam submit được 🙂
b. Thành viên và logs điểm
Để xóa thành viên các bạn vào phpmyadmin chọn table members nhấn vào nút delete và ok là xong.
để xóa hết kết quả bảng rank các bạn chỉ cần xóa tất cả file trong /nopbai/logs/. Tuy nhiên thư mục bài làm của thí sinh trong phần mềm themis sẽ còn lưu code.
– Để xem đề bài các bạn vào bảng điểm.
3. Câu hỏi
1. Các máy tính trong mạng LAN có thể truy cập themis web bằng cách nào?
– Đây là điều mà mình quên hướng dẫn trong lúc quay video clip, bạn vào Run (nút Windows + R) sau đó gõ CMD và nhấn enter, sau đó gõ ipconfig, nhìn dòng IPv4 Address.. các máy tính trong mạng LAN có thể vào themis web bằng cách gõ http://(ip đó).
2. Themis web có cập nhật những phiên bản tốt hơn không?
– Có, mình sẽ tiếp tục cập nhật nếu trong thời gian tới themis web được áp dụng rộng rãi và nhu cầu các tính năng bảo mật ngày càng nhiều mình sẽ viết bản cập nhật.
3. Mình muốn mở cuộc thi online trên cả mạng WAN có được không?
– Được, vấn đề này ít người quan tâm nên mình không viết hướng dẫn, tuy nhiên nếu bạn cần có thể comment dưới đây, mình sẽ hướng dẫn.
– Tuy nhiên các bạn có thể tìm hiểu về việc mở port 80 trong modem wifi. Thường là mục port following trong các modem mạng. Hoặc bạn có thể nhấc máy lên và gọi cho nhà mạng để được họ hỗ trợ mở port.
4. Minh có thể thiết lập themis web chấm bài bằng nhiều máy chấm cùng lúc không?
– Đây là điều hoàn toàn làm được, các vui lòng comment mình sẽ hướng dẫn.
5. Máy chấm của mình bị quá tải và shutdown, vì sao vậy?
– Điều này có thể là do bạn bị tấn công DDOS.
6. Khi tôi bấm vào trang rank, hệ thống bị chuyển hướng hoặc các vấn đề khác, làm thay đổi trang, làm sao để khắc phục?
– Điều này có thể là mã nguồn đã bị hack, có thể là thành viên đã chèn đoạn code HTML vào phần username, bạn có thể vào phpmyadmin để xem và xóa đoạn mã đó. Vì themis web v1.0 chỉ là giải pháp tạm thời trong mạng nội bộ nên mình chưa fix 🙂 Nếu có thời gian mình sẽ fix ở những bản nâng cấp sau 🙂
– Ở phiên bản themis web 2.0 trở lên mình đã bổ sung tính năng không cho phép thành viên tự đăng kí account và chỉnh sửa thông tin. Bạn có thể áp dụng biện pháp này.
Có thắc mắc gì các bạn vui lòng comment dưới đây, mình sẽ giải đáp
Không nói chuyện :3
Mã nguồn mở =))
ờ :v
có vấn đề khi cài xampp vào Win64 thì phải
windows 8 thì em phải tắt services world wide web rồi bật lại xampp,
cách làm
– nhấn tổ hợp phím: Windows + R để vào hộp thoại Run.
– Nhập từ khóa: services.msc và nhấn Enter
– Cửa sổ Service hiện ra, bạn kéo xuống dưới cùng
– Chọn Word Wide Web Publishing Service, click phải chuột và chọn Stop
Xin chào!
Xin cám ơn vì đã chia sẻ chương trình này. Để tránh thông báo “Undefined index…” bạn nên sử dụng hàm isset để kiểm tra phần tử trong mảng trước khi dùng nó hoặc khởi tạo các biến trước khi dùng (cái này mình nghĩ là bạn biết nhưng chắc lười check ^^)
Mình có fix một số chỗ trong code (thấy chỗ nào làm chỗ đó, chắc là còn sót), bạn nào cần thì downlaod về dùng nhé.
https://mega.nz/#!CYkUkJqJ!3x5dvbaM5capiuLD90KlO1uUH4utuIpWyxY1wssOsiM
Về vấn đề dùng Skype khi chạy webserver, mình có thể thiết lập trong Skype như thế này: Tool, Options, Advanced settings, Connection rồi uncheck mục Use port 80 and 443… rồi save và restart Skype. Sau này có thể dùng Skype chung với Webserver mà không có vấn đề gì.
Một số ý kiến đóng góp cho vui nhà vui cửa nếu có gì mong mọi người bỏ qua. Thân.
Cảm ơn những thông tin bổ ích của bạn nhé, khi nào rãnh mình sẽ up lại code bạn đã điều chỉnh lên 🙂
Thân
Cám ơn bạn đã phản hồi. Mình quên mất là nếu đặt code trong sub folder của server thì một số mục của menu bên trái sẽ trỏ sai link, mình cũng có sửa trong file đã gởi ở trên.
ok bạn 🙂
Chào bạn! Rất cảm ơn bạn vì chương trình này! Mình muốn cải tiến nộp bài qua mạng WAN theo ý tưởng sau : Xây dựng trang taibai.php chạy với quyền admin tại máy có cài themis với hai chức năng
1. Kiểm tra xem có tập tin .pas trong thư mục /nopbai trên web hay không. Nếu có thì tự động tải về thư mục quy định sẵn trên máy ví dụ d:baicham (đây là thư mục được chọn chấm trực tuyến của themis).
2. Kiểm tra xem trong thư mục d:baichamlogs có tập tin không. Nếu có thì tự động tải lên thư mục /nopbai/logs trên web.
Với ý tưởng như vậy nhưng mình còn vướng chỗ viết code tự động tải file từ một thư mục trên web xuống một thư mục trên máy và ngược lại vì mình chưa biết dùng câu lệnh nào! Mong bạn chỉ giúp với! Cảm ơn bạn nhiều!
Hi bạn, ý tưởng này cũng rất giống ý tưởng lúc trước của mình, nhưng rất tiếc là mình không biết, thường thì down và upload file trong môi trường web bạn có thể sử dụng FTP, lúc trước mình có tìm 1 số phần mềm auto sync nhưng vẫn còn nhiều hạn chế 🙂
Như mình đã nói ở trên, mình tạo ra Themis web chỉ mang tính giải pháp thôi, nên thật ra code và giao diện còn thô sơ và chưa chuẩn mực cho lắm 🙂
Hồi trước mình có mở port máy nhà để các bạn khác chấm thử khá hiệu quả, tuy nhiên để tổ chức contest lớn, bạn có thể dùng VPS windows 🙂
Rất hi vọng bạn có thể viết được chương trình giúp auto sync FTP 😀 mình sẽ giới thiệu trên kienthuc24h.com
Thân.
Cảm ơn bạn đã góp ý! Mình tính viết chương trình tự động odanload và upload bằng c# khi có thời gian. Còn trong PHP khi mình muốn nhấn vào một button thì sẽ tải file baitap.doc từ thư mục baitap trên web vào một thư mục baitap trên ổ D thì có cách gì không vậy bạn!
Cảm ơn bạn đã góp ý! Mình tính viết chương trình tự động download và upload bằng c# khi có thời gian. Còn trong PHP khi mình muốn nhấn vào một button thì sẽ tải file baitap.doc từ thư mục baitap trên web vào một thư mục baitap trên ổ D thì có cách gì không vậy bạn!
Bấm vào nút nó tự tải về thì theo mình là làm được đó bạn 🙂
p/s: bạn vào profile chỉnh lại email để nhận được thông báo khi có phản hồi nhé
Mình có viết file taibai.php như thế này :
Nhưng mà khi mình thực hành như thế này :
– Máy 1 mình cài gói xampp thành webserver và chép file taibai.php này vào thư mục htdocs khi chạy thì sẽ tải được file vào ổ D.
– Bây giờ ở tại máy 2 nối cùng mạng lan mình truy cập vào web ở máy 1 chạy file này thì nó lại lưu vào ổ D của máy 1 bạn à. Ý mình là muốn tải nó vào ổ D của máy 2 cơ, vì mai mốt mình up web lên server thì coi như là máy 1, máy ở nhà mình mở themis thi xem như là máy 2.
mình hiểu ý bạn rồi, hoặc là bạn viết php khi bấm vào button nó tự hiện khung download file bài, trog google chorme có tính năng tự động save ở vị trí đặt sẳn đó. mà mình thấy như thế này không hiệu quả lắm 🙂 hoặc là bạn mở port cho mạng WAN đó, r trỏ domain về IP?
Mà bạn định mở contest online hả? bạn làm bên trang nào nhỉ 🙂
Mình chỉ là tay ngang thôi, trình độ còn gà mờ lắm! Viết chủ yếu để học hỏi thôi! Mình tình mỗi khi nộp bài thì tên bài sẽ được lưu vào file danhsach.txt. Sau đó tại máy cài themis ở nhà mình sẽ cũng lập localhost và tạo trang thubai.php dựa vào file danh sách dùng hàm file_put_contents và file_get_contents để lấy nội dung các file bài làm trên máy chủ web lưu vào thư mục chấm trực tuyến ở localhost. Ý tưởng vậy thôi mình sẽ viết thứ, khi nào chạy được mình gửi bạn xem thử góp ý nha!
ok bạn 🙂
chúc bạn thành công
Bạn ơi cho mình hỏi, sao mình làm hết tất cả theo hướng dẫn, thì nộp bìa đc, chấm bài đc, nhưng nó ko cập nhật điển trên trang Rank mà vẫn cứ báo là chưa nộp bài
Hi bạn, không biết bạn có thư mục Logs trong /nopbai/ chưa nhỉ? nếu chưa có hãy tạo lại, và bạn cũng lưu ý là để chuẩn nhất, thì ko nên đổi tên các thư mục nhé, nếu vẫn chưa chấm được bạn có thể liên hệ mình,
http://facebook.com/miticc06 mình sẽ hỗ trợ bạn qua teamview nếu bạn muốn nhé 🙂
Thân.
thanks bạn, mình làm đc rồi, bạn có thể chỉ mình cách thiết lập chấp tự động trên mạng WAN ko ah
Bạn có thể chỉ mình cách thiết lập themis web cho mạng WAN ko
ban vao cmd, go ipconfig tim dia chi ip cua may ban trong mang LAN,
sau do vao trang dieu khien cua modem, tim Port Forwarding nhap dia chi IP cua may ban va mo port 80 la dc.
sau do ban chi can truy cap vao IP wan cua ban la dc
ok thanks bạn nhiều 😉
Chào bạn. Mình nghĩ bạn nên add thêm cột tổng điểm trong phần rank trong bản update tới. như thế sẽ tiện hơn rất nhiều. cảm ơn bạn.
Hi bạn, hiện tại mình đã viết phiên bản themis web 2.0 và tất là có tổng điểm và 1 số tính năng khác, kèm thêm giao diện đẹp tuy nhiên là mình định làm việc khác nên chưa public, nếu bạn cần bạn có thể liên hệ mình qua facebook https://www.facebook.com/miticc06
Thân
Chào bạn! Mình thấy trang Themisweb của bạn viết rất có ích và đúng là giải pháp cho các cuộc thi lập trình, mình cũng đã dùng nó để cho HS thi một vài cuộc thi lập trình ở địa phương rất tiện lợi cho việc chấm và thu bài. Tuy nhiên, khi cùng lúc có hơn 10 user đăng nhập đến trang web để nộp bài thì mình thấy có hiện tượng Giật (điểm và các thông báo điểm nó chớp chớp) và các máy thường xuyên bị mất kết nối với database. Bạn có giải pháp nào cho vấn đề này ko ah
Chào bạn! Trang web chấp thi lập trình trực tuyến của bạn viết đúng là 1 giải pháp cho các cuộc thi lập trình, việc chấm và thu bài rất tiện lợi. Mình cũng đã sữ dụng trang web của bạn viết để tổ chức một vài cuộc thi lập trình nhỏ. Tuy nhiên khi có hơn 10 user cùng đăng nhập vào và nộp bài thì trang web ở máy user rất giật (các điểm đã chấm cứ chớp chớp) và rất hay hiện thông báo ko thể kết nối đến database. Bạn có giải pháp nào chó vấn đề này chưa ạ
Hi bạn, mình rất vui khi giải pháp trên đã được ứng dụng ở nơi của bạn.
– Thật ra phiên bản v.1.0 là phiên bản đầu tiên mình ra nên còn nhiều hạn chế, hiện tại mình đã có bản v.2.0 đẹp và cải tiến nhiều hơn, nhưng mình chưa public. nếu bạn có nhu cầu hãy email về địa chỉ [email protected]
– còn tình trạng mất kết nối cơ sở dữ liệu mình chưa gặp bao giờ nên cũng không biết, tuy nhiên mình nghĩ là máy chủ của bạn bị yếu, và mặc định là bảng rank auto update 1s 1 lần nên làm cho máy chủ phải xử lí liên tục. Không biết bạn có thể gửi mình full zip file htdocs và cơ sở dữ liệu không, để mình kiểm tra lại.
Thân 🙂
Xin chào Admin
Tối rất muốn làm themmis web, xin admin cho sdt để tôi liên hệ đặt hàng. Cảm ơn
ĐT của tôi: 0962204961
Bạn ơi, mình muốn để set up chấm bài trên WAN thì phải làm sao?
Bạn tìm hiểu về cách mở port 80 trên modem internet của mình nha. cái này bạn có thể liên hệ nhà mạng để họ giúp bạn
Em cài đặt thành công trên server rồi, cảm ơn CBHT team về sản phẩm này.
Vẫn còn một tí bất tiện ở chỗ bảng rank lệ thuộc vào thư mục đề bài, còn lại rất ok.
Cho em hỏi là em được phép chỉnh sửa mã nguồn một tí được không, tất nhiên là phi thương mại, để tự train thôi :v
Vâng được ạ 😀
… Cho mình xin một xíu thông tin về bản gốc là được :)…
Cảm ơn bạn rất nhiều.
Bi lỗi này thì sửa sao vậy admin ơi?
Notice: Undefined variable: dd in C:xampphtdocsdata-rank.php on line 65
bạn vào file này: c:Xamppphpphp.ini
chỉnh lại các thông số như sau:
error_reporting = E_ALL
display_errors = off
log_errors = off
Vẫn bị admin ah
save lại và restart apache đi bạn.
có thể khởi động lại máy tính cũng được
Lỗi này sửa sao admin ơi?
Notice: Undefined variable: dd in C:xampphtdocsdata-rank.php on line 65
Chào bạn, bạn thiết lập các thông số sau:
error_reporting = E_ALL
display_errors = off
log_errors = off
tại file này c:/Xampp/php/php.ini
Mình cài được rồi bạn co thể cho mình video dể các trong toàn manjng lan có thể truy cập vào web để nộp bài được ko? xin cam ơn bạn trước nha
để các máy trong mạng lan truy cập được, bạn vào cmd, gõ vào ipconfig, máy sẽ hiện địa chỉ ip của bạn trong mạng Lan, lúc này bạn có thể dùng địa chỉ này để truy cập trong mạng LAN
làm sao để xóa một tài khoản, mình kiếm cái members gì đó mà không thấy
Bạn vào phpmyadmin để xóa nha
Admin hướng dẫn tạo web online đi
Thật ra thì mình cũng muốn hướng dẫn lắm, nhưng mỗi loại modem mạng có cách làm riêng. bạn có thể tham khảo về Port Forwarding trên router của mình, hoặc liên hệ nhà cung cấp internet để họ hướng dẫn bạn mở Port 80
Thì admin cứ hướng dẫn tạo web trước, còn vụ đó mọi người lo sau 🙂
Ở trên mình có thêm hướng dẫn rồi bạn.
https://kienthuc24h.com/themisweb/hdcaidat.pdf
Thank ad. Mà web demo của ad không truy cập được
À do trước mình chuyển từ server qua share hosting nên chưa setup lại trang đó, hiện tại demo vẫn như ảnh nha bạn.
MÌnh muốn thêm một cột “Trường” đang học của học sinh trong bảng điểm thì làm thế nào vậy add?
Trường hợp muốn thêm, phải can thiệp code, hiện tại mình chưa có thời gian để điều chỉnh, nếu bạn vẫn muốn thì sau ngày 17/1 liên hệ lại mình qua email [email protected] mình sẽ hỗ trợ nhé.
Mình đã thử thêm vào nhưng bị lỗi. Thêm được cái tiêu đề ở trên, còn lấy thông tin của học sinh thì chưa được. Bạn có thể gửi cho mình đoạn code đó rồi mình thêm vào cũng được. Thanks.
Bạn đã thêm cột trong sql chưa, nếu đã thêm rồi thì nó giống với phần lấy tên trong code php thôi
Mình chưa thêm cột trong SQL.
Thôi có gì mình sẽ liên hệ lại sau cũng được. Cảm ơn ad.
Ok bạn 😀
demo has been shutdown
Nộp bài và chấm như thế nào ạ.
Chào các bạn hiện tại KienThuc24h.com cùng team đang xây dựng phần mềm chấm bài khác trên nền Windows, không sử dụng Themis, và dự kiến sẽ có nhiều tính năng đặc biệt hỗ trợ việc dạy và học tốt hơn.
Xin thông tin đến các bạn!
Làm sao để làm themis online vậy bạn 🙁
Ad cho mình hỏi khi nào thì có phiên bản chấm bài trên nền window vậy? Mình đang rất mong nó đây.
Chào bạn, hiện tại bên mình đã có sản phẩm, nhưng bọn mình vẫn chưa tiến hành xây dựng được chấm online trên nền web. Hiện tại mình cũng chưa có khoảng thời gian chính xác về tính năng này. Rât mong bạn thông cảm
không thể kết nối: Access denied for user ‘root’@’localhost’ (using password: YES)
tôi biết đây là lỗi gì? nhờ bạn chỉ dùm
Bạn vui lòng kiểm tra lại tài khoản kết nối database trong mysql.php nhé, và kiểm tra lại xem đã hoàn thành các bước hướng dẫn chưa
Database bảng điểm được lưu ở đâu vậy ạ?
Mình không có lưu database nha bạn, do chương trình xuất file, bạn có thể tìm trong thư mục nopbai/logs
luc sau nhan open roi ra cai gi vay anh
Ad cho em hỏi câu này ạ <3
4. Minh có thể thiết lập themis web chấm bài bằng nhiều máy chấm cùng lúc không?
– Đây là điều hoàn toàn làm được, các vui lòng comment mình sẽ hướng dẫn.
Mình có hosting + domain và có í tưởng làm web online chấm tự động cho học sinh. Xin được chỉ dẫn và nếu cần thì mình sẽ mua bản quyền. Nhưng hi vọng admin bản quyển re rẻ vì mình làm giáo dục là free cho các em học sinh… phi lợi nhuận đó!
Xin nhờ ad hướng dẫn để sử dụng themis web trong WAN với ạ