Showing posts with label Tek. Show all posts
Showing posts with label Tek. Show all posts
Saturday, March 3, 2018
Friday, March 2, 2018
Fix lỗi khi chuyển snaphot trên vultr dùng vestacp
1) Vultr là VPS tốt, có snaphot miễn phí để sao lưu hệ thống bằng tay.
2) Ví dụ mình cần sao lưu snaphot và chuyển sang một location khác. Tốc độ sao lưu và restore khá nhanh, miễn phí. Dùng cách này nhân bản VPS rất nhanh.
3) Sau khi sao lưu (tương tự ghost Windows), tất nhiên IP sẽ đổi và buộc phải tùy chỉnh, nếu không httpd (Apache2) sẽ không chạy. Nginx thì okey.
4) Vultr của mình hiện cài VestaCP cũng miễn phí.
5) Việc đơn giản là theo hướng dẫn mặc định của Vutrl về sao lưu snaphot. Với Centos thì như sau. Tùy chỉnh đầu tiên.
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR===> ID mới
NETMASK= ==> mới
GATEWAY= ==> như hệ thống cung cấp
DNS1= ==> như hệ thống cung cấp
Tham khảo thêm tại đây
6) Tuy nhiên httpd vẫn chưa khởi động được vì trong hệ thống vẫn đang dùng config của IP cũ. Việc đơn giản là truy cập vào thư mục sau, nếu dùng Centos
/etc/httpd/conf.d
Xóa file gán với IP cũ. Hệ thống sẽ tự động sinh ra file cấu hình mới gán với IP mới.
7. Trên VestaCP, thêm IP mới tương ứng với IP của hệ thống hiện tại. Vào domain, đổi IP sang IP mới cho từng domain. Xóa IP cũ.
8. VestaCP user(s) and REBUILD WEB for the user/s nếu không thư mục public sẽ không gán cho user.
9. Có thể phải chỉnh config trên thư mục gán cho từng domain. Ví dụ dùng laravel thì phải vào thư hục /home/admin/conf/web điều chỉnh thư mục gốc của từng domain.
Reboot, khởi động lại httpd và nginx. Tận hưởng
Updated: Ở bước 8, ===> Phải config lại trên home/admin/conf mỗi lần Rebuild USER, nhất là với Laravel, vì thư mục phải thiết lập /public . Vãi. Nhớ reboot httpd trên Control Panel
2) Ví dụ mình cần sao lưu snaphot và chuyển sang một location khác. Tốc độ sao lưu và restore khá nhanh, miễn phí. Dùng cách này nhân bản VPS rất nhanh.
3) Sau khi sao lưu (tương tự ghost Windows), tất nhiên IP sẽ đổi và buộc phải tùy chỉnh, nếu không httpd (Apache2) sẽ không chạy. Nginx thì okey.
4) Vultr của mình hiện cài VestaCP cũng miễn phí.
5) Việc đơn giản là theo hướng dẫn mặc định của Vutrl về sao lưu snaphot. Với Centos thì như sau. Tùy chỉnh đầu tiên.
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR===> ID mới
NETMASK= ==> mới
GATEWAY= ==> như hệ thống cung cấp
DNS1= ==> như hệ thống cung cấp
Tham khảo thêm tại đây
6) Tuy nhiên httpd vẫn chưa khởi động được vì trong hệ thống vẫn đang dùng config của IP cũ. Việc đơn giản là truy cập vào thư mục sau, nếu dùng Centos
/etc/httpd/conf.d
Xóa file gán với IP cũ. Hệ thống sẽ tự động sinh ra file cấu hình mới gán với IP mới.
7. Trên VestaCP, thêm IP mới tương ứng với IP của hệ thống hiện tại. Vào domain, đổi IP sang IP mới cho từng domain. Xóa IP cũ.
8. VestaCP user(s) and REBUILD WEB for the user/s nếu không thư mục public sẽ không gán cho user.
9. Có thể phải chỉnh config trên thư mục gán cho từng domain. Ví dụ dùng laravel thì phải vào thư hục /home/admin/conf/web điều chỉnh thư mục gốc của từng domain.
Reboot, khởi động lại httpd và nginx. Tận hưởng
Updated: Ở bước 8, ===> Phải config lại trên home/admin/conf mỗi lần Rebuild USER, nhất là với Laravel, vì thư mục phải thiết lập /public . Vãi. Nhớ reboot httpd trên Control Panel
Sunday, February 25, 2018
CDN giá rẻ bunnycdn và netdepot
có nhiều dịch vụ cdn tốt, tuy nhiên bunnycdn và netdepot có thể coi là lựa chọn phù hợp.
amazon cloudfront tất nhiên là dịch vụ khả tín nhất thế giới, nhưng giá cắt cmn cổ.
vài dịch vụ khác đáng xem qua như maxcdn, keycdn, tùm lum.
bunnycdn nhanh như thỏ, vì giá chạm mức 0.01/GB, chỉ yêu cầu trả mức thấp nhất $10 annual.
trong khi netdepot thì miễn phí 100GB đầu tiên. why not?
amazon cloudfront tất nhiên là dịch vụ khả tín nhất thế giới, nhưng giá cắt cmn cổ.
vài dịch vụ khác đáng xem qua như maxcdn, keycdn, tùm lum.
bunnycdn nhanh như thỏ, vì giá chạm mức 0.01/GB, chỉ yêu cầu trả mức thấp nhất $10 annual.
trong khi netdepot thì miễn phí 100GB đầu tiên. why not?
Ở mục
Tek
Tuesday, February 13, 2018
Autofocus trên Chrome không chạy
số là mình có ông bạn kêu la là cần phải để chế độ tự động đưa con trỏ vào thẻ tìm kiếm trên trang https://tudien.net.
thực ra cũng chẳng có gì to tát.
đầu tiên, mình set autofocus/hoặc autofocus = "autofocus" trên thẻ input dạng "text" trên ô tìm kiếm.
kết quả là cả firefox và internet explorer cùi mía chạy ngon.
nhưng không hiểu sao chrome tắt tịt.
thôi ông chuyển qua chơi js cho nó có chút kĩ nghệ.
khi mình thêm vào js cái đoạn sau:
document.getElementById('autofocus').focus();
(Diễn giải: Thiết lập trên thẻ ID "autofocus" giá trị focus();).
kết quả là nó vẫn không chạy. Ồ hóa ra mình đang chơi jQuery. Thôi xong, thêm cái code đơn giản sau:
$('#autofocus').focus();
Done.
thực ra cũng chẳng có gì to tát.
đầu tiên, mình set autofocus/hoặc autofocus = "autofocus" trên thẻ input dạng "text" trên ô tìm kiếm.
kết quả là cả firefox và internet explorer cùi mía chạy ngon.
nhưng không hiểu sao chrome tắt tịt.
thôi ông chuyển qua chơi js cho nó có chút kĩ nghệ.
khi mình thêm vào js cái đoạn sau:
document.getElementById('autofocus').focus();
(Diễn giải: Thiết lập trên thẻ ID "autofocus" giá trị focus();).
kết quả là nó vẫn không chạy. Ồ hóa ra mình đang chơi jQuery. Thôi xong, thêm cái code đơn giản sau:
$('#autofocus').focus();
Done.
Tuesday, November 28, 2017
wget tải file từ thư mục web
You may use this in shell:
wget -r --no-parent http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/
The Parameters are:
-r //recursive Download
and
--no-parent // Don´t download something from the parent directory
If you don't want to download the entire content, you may use:
-l1 just download the directory (tzivi in your case)
-l2 download the directory and all level 1 subfolders ('tzivi/something' but not 'tivizi/somthing/foo')
And so on. If you insert no
-l
option, wget
will use -l 5
automatically.
If you insert a
-l 0
you´ll download the whole Internet, because wget
will follow every link it findsGreat, so to simplify for the next reader:
wget -r -l1 --no-parent http://www.stanford.edu/~boyd/cvxbook/cvxbook_additional_exercises/
was the answer for me. Thanks your answer. – isomorphismes Jun 21 '14 at 17:05Link: https://stackoverflow.com/questions/17282915/download-an-entire-directory-using-wget
Ở mục
Tek
Wednesday, November 8, 2017
Sunday, October 29, 2017
Đọc economist.com, nytimes.com, newyorker.com miễn phí
Giả sử bạn chưa có thật nhiều tiền để đọc mấy trang sang chảnh trên, hoặc giả sử bạn vẫn quen tinh thần báo chùa.
Mẹo 1: bật bài muốn xem, copy link bài báo, dán vào trình duyệt chế độ private mode.
Mẹo 2: Dùng instapaper.com hoặc getpocket.com, cá nhân mình thích instapapper vì bắt nội dung nhanh hơn.
Bước 1: Đăng ký tài khoản, cài đặt extension cho trình duyệt (chrome hoặc firefox).
Bước 2: Mỗi khi muốn xem bài báo đã khóa nội dung bằng paywall, click vào cái biểu tượng của extensions trên trình duyệt, nội dung sẽ load vào trong các trang đã đăng ký kia. Xem trên trình duyệt, hoặc ứng dụng trên di động rất tiện, có cả chế độ offline.
Lưu ý: Với economist (thời sự kinh tế trung lập chém gió bão uy tín cao) và newyorker (ưng mục truyện ngắn), kể cả khi trang đã hiện paywall, vẫn có thể lấy được content sau khi click vào các extensions.
Với nytimes, một khi paywall đã bật, không lấy được nữa, nhưng ngay khi trang đã load nội dung, trước lúc paywall bật lên, nhấn vào extensions trên vẫn lấy được bài. đã thử với ft.com nhưng không thành công
Mẹo 1: bật bài muốn xem, copy link bài báo, dán vào trình duyệt chế độ private mode.
Mẹo 2: Dùng instapaper.com hoặc getpocket.com, cá nhân mình thích instapapper vì bắt nội dung nhanh hơn.
Bước 1: Đăng ký tài khoản, cài đặt extension cho trình duyệt (chrome hoặc firefox).
Bước 2: Mỗi khi muốn xem bài báo đã khóa nội dung bằng paywall, click vào cái biểu tượng của extensions trên trình duyệt, nội dung sẽ load vào trong các trang đã đăng ký kia. Xem trên trình duyệt, hoặc ứng dụng trên di động rất tiện, có cả chế độ offline.
Lưu ý: Với economist (thời sự kinh tế trung lập chém gió bão uy tín cao) và newyorker (ưng mục truyện ngắn), kể cả khi trang đã hiện paywall, vẫn có thể lấy được content sau khi click vào các extensions.
Với nytimes, một khi paywall đã bật, không lấy được nữa, nhưng ngay khi trang đã load nội dung, trước lúc paywall bật lên, nhấn vào extensions trên vẫn lấy được bài. đã thử với ft.com nhưng không thành công
Ở mục
Tek
Friday, October 27, 2017
pocket.com versus instapaper
bỏ báo mới theo pocket từ ngày về với đội iphone, cơ hội nào cho lá cải?
1) step 1: mua apple's toy hay android's ecosytem cùi-mía
2) cài pocket trên các thiết bị, thỉnh thoảng vào đọc vài bài tâm lí học ứng dụng không liên quan đến thần kinh. hoặc theo trending, hoặc từ khóa hoặc whatever tiếng việt, anh đủ cả.
1) step 1: mua apple's toy hay android's ecosytem cùi-mía
2) cài pocket trên các thiết bị, thỉnh thoảng vào đọc vài bài tâm lí học ứng dụng không liên quan đến thần kinh. hoặc theo trending, hoặc từ khóa hoặc whatever tiếng việt, anh đủ cả.
3, forward sang kindle nếu thích tăng trình độ high-tech
4) công bố báo chí không lá cải (lắm), ví dụ như http://sharedli.st/vuong
5) nếu có nhiều người share list như vầy thì mấy trang như báo mới hay viet-studies chắc cũng ít khách đi hơn.
6) chuyển sang instapaper vì nhiều toys miễn phí, khi pocket bản chùa chưa thật sang chảnh. nhưng instapaper thuần quá, chưa socialized.
4) công bố báo chí không lá cải (lắm), ví dụ như http://sharedli.st/vuong
5) nếu có nhiều người share list như vầy thì mấy trang như báo mới hay viet-studies chắc cũng ít khách đi hơn.
6) chuyển sang instapaper vì nhiều toys miễn phí, khi pocket bản chùa chưa thật sang chảnh. nhưng instapaper thuần quá, chưa socialized.
Ở mục
Tek
Wednesday, October 25, 2017
luật .htaccess
coi ví dụ, no need to elaborate more.
picture credit:https://namecheap.simplekb.com/
#bật htaccess
RewriteEngine On
# thiết lập cho htacess, ví dụ ! : không, thiết lập cho file css, js
RewriteCond %{REQUEST_URI} !(css|js)$
RewriteBase /
#thiết lập luật chuyển tiếp cho htacess
RewriteRule ^$ /index.php [L]
RewriteRule ^about$ /about.php [L]
RewriteRule ^chuyende$ /chuyende.php [L]
RewriteRule ^chude-([^/]*).html$ /chude.php?cid=$1 [L]
#RewriteRule ^chude/[^/]*)$ /chude.php?cid=$1 [L]
# luật dưới xác định chữ a-z cả chữ viết hoa A-Z, dấu _ và dấu -, dấu + tức mở rộng thành phần, kết thúc bằng $
RewriteRule ^[a-zA-Z-_]+-([^/]*).html$ /chude.php?cid=$1 [L]
RewriteRule ^listchuyende/([^/]*).html$ /listchuyende.php?cid=$1 [L]
RewriteRule ^[a-zA-Z-0-9-_]+/([^/]*).html$ /listchuyende.php?cid=$1 [L]
RewriteRule ^page/([^/]*)$ /index.php?page=$1 [L]
RewriteRule ^chude/([^/]*)/page/([^/]*)$ /chude.php?cid=$1&page=$2 [L]
RewriteRule ^chude([^/]*)/page([^/]*)$ /chude.php?cid=$1&page=$2 [L]
RewriteRule ^chitietchude/([^/]*)$ /chitietchude.php?cid=$1 [L]
picture credit:https://namecheap.simplekb.com/
#bật htaccess
RewriteEngine On
# thiết lập cho htacess, ví dụ ! : không, thiết lập cho file css, js
RewriteCond %{REQUEST_URI} !(css|js)$
RewriteBase /
#thiết lập luật chuyển tiếp cho htacess
RewriteRule ^$ /index.php [L]
RewriteRule ^about$ /about.php [L]
RewriteRule ^chuyende$ /chuyende.php [L]
RewriteRule ^chude-([^/]*).html$ /chude.php?cid=$1 [L]
#RewriteRule ^chude/[^/]*)$ /chude.php?cid=$1 [L]
# luật dưới xác định chữ a-z cả chữ viết hoa A-Z, dấu _ và dấu -, dấu + tức mở rộng thành phần, kết thúc bằng $
RewriteRule ^[a-zA-Z-_]+-([^/]*).html$ /chude.php?cid=$1 [L]
RewriteRule ^listchuyende/([^/]*).html$ /listchuyende.php?cid=$1 [L]
RewriteRule ^[a-zA-Z-0-9-_]+/([^/]*).html$ /listchuyende.php?cid=$1 [L]
RewriteRule ^page/([^/]*)$ /index.php?page=$1 [L]
RewriteRule ^chude/([^/]*)/page/([^/]*)$ /chude.php?cid=$1&page=$2 [L]
RewriteRule ^chude([^/]*)/page([^/]*)$ /chude.php?cid=$1&page=$2 [L]
RewriteRule ^chitietchude/([^/]*)$ /chitietchude.php?cid=$1 [L]
Ở mục
Tek
Cài Laravel trên shared hosting, the case of stablehost
1. Chưa mua SSH để cài composer với hầm bà lằng
2. Thử dùng script cài tự động provided by cpanel with GUI interface, quite convenient I suppose.
3. Ví dụ stablehost trong trường hợp này, script sẽ tự động cài vào trong thư mục public_html.
4. Laravel không có file index sẵn ngang hàng với thư mục root, chỉ có thư mục public chứa các tập tin tĩnh và các tập tin màu mè cho hệ thống như CSS hay Js.
5. Dùng đoạn script nhỏ sau, tùy chỉnh .htaccess thôi, đưa vào thư mục ngang hàng root.
RewriteEngine On
RewriteRule ^$ public/index.php [L]
#RewriteRule ^((?!public/).*)$ public/$1 [L,NC] (không cần)
(Lưu ý nhét trong thẻ IfModule)
6. Xóa file index.php mặc định do script tạo ra trên thư mục root. Done. Có thể truy xuất trực tiếp mà không phải vô thư mục phụ đại loại domain.com/public.
7. Shared hosting is cùi bắp, nhưng có cái hosting giá giảm sâu đang tạm làm demo.
8. Giờ là chuyện của symphony.
PS: Xem thêm hướng dẫn dài ngoằng làm kiểu khác tại đây: https://github.com/yeungon/laravel-deploy-on-shared-hosting/blob/master/README-vi.md, hoặc
https://laracasts.com/discuss/channels/general-discussion/where-do-you-set-public-directory-laravel-5
2. Thử dùng script cài tự động provided by cpanel with GUI interface, quite convenient I suppose.
3. Ví dụ stablehost trong trường hợp này, script sẽ tự động cài vào trong thư mục public_html.
4. Laravel không có file index sẵn ngang hàng với thư mục root, chỉ có thư mục public chứa các tập tin tĩnh và các tập tin màu mè cho hệ thống như CSS hay Js.
5. Dùng đoạn script nhỏ sau, tùy chỉnh .htaccess thôi, đưa vào thư mục ngang hàng root.
RewriteEngine On
RewriteRule ^$ public/index.php [L]
(Lưu ý nhét trong thẻ IfModule)
6. Xóa file index.php mặc định do script tạo ra trên thư mục root. Done. Có thể truy xuất trực tiếp mà không phải vô thư mục phụ đại loại domain.com/public.
7. Shared hosting is cùi bắp, nhưng có cái hosting giá giảm sâu đang tạm làm demo.
8. Giờ là chuyện của symphony.
PS: Xem thêm hướng dẫn dài ngoằng làm kiểu khác tại đây: https://github.com/yeungon/laravel-deploy-on-shared-hosting/blob/master/README-vi.md, hoặc
https://laracasts.com/discuss/channels/general-discussion/where-do-you-set-public-directory-laravel-5
Monday, September 26, 2016
[PHP] Đệ quy với số Fibonacci
Sau đây là code để PHP xử lý ra số Fibonacci của biến bất kì.
Số Fibonacci là số có tổng của 2 số đứng trước nó trong dãy số nguyên. Ví dụ, ngoài 1 và 2 có số Fibonacci là 1, tất cả các số Fibonacci khác đều có giá trị được tính bằng.
n >=2.
n = (n-1) + (n-2)
Ví dụ: 9 = (9 -1) + (9-2) = 7+ 8 = 15
Code cơ bản để hiểu đệ quy:
// hàm đệ quy: recruisive functionVí dụ áp dụng:
function dequy ($test) {
if ($test==1) { //base case
return 1;}
else {
return ($test * ($test-1)); // return case, calling itself
}
}
// using recruisive function in particular case//Bây giờ code này dùng trong php để dụng hàm xử lý số Fibonacci:
echo dequy (10); // ra 90, bằng 10* (10-1)
function Fibonacci($numberone) {//Dùng thôi
if ($numberone==1 OR $numberone==2){
return 1;}
else {
return ($numberone -1 ) + ($numberone - 2);
}
}
echo Fibonacci (9), "
";//15
echo Fibonacci (20),"
";// = 18 + 19 = 37
//Code khác xử lý recrusive function to handle the Fibocacci
// Xài thôi
function getfib ($y) {
if ($y<=2) { // nếu nhỏ hơn 2
return 1;}
else {
return ($y-1) + ($y-2);}
}
$y=10;
echo "Số Fibonacci của\n".$y."\nlà\n".getfib (10), "
";
Ở mục
Tek
Sunday, July 17, 2016
Giấu ảnh hay chữ trong ảnh bằng python
Cái Матрёшка [mɐˈtrʲɵʂkə] viết bằng thuần Python có thể giúp mã hóa ảnh hoặc chữ trong ảnh.
python matroschka.py -hide -m foo -k bar resources/matroschka_medium.png resources/matroschka_big.png
Để giải mã và lưu ảnh trong resources/secret-image.png
python matroschka.py -open -m foo -k bar resources/matroschka_big.png
Trình này theo chuẩn bản quyền GNU nên xài thoải mái.
Chi tiết: https://github.com/fgrimme/Matroschka
Cơ chế mã hóa HMAC-SHA256 nên để giải mã, phải có khóa được sinh tự nhiên khi mã. Chỉ có ảnh PNG và BMP, ảnh chưa nén được hỗ trợ. Ảnh nhúng có thể ở định dạng png, file text có thể dạng txt hoặc chữ.
Đây là các lệnh để mã và giải mã:
Hide Secret
Reveal Secret
Ví dụ
Để giấu ảnh matroschka_medium.png vào trong file matroschka_big.png, thực thi lệnh sau, Linux hay Windows (chưa thử) :-)
python matroschka.py -hide -m-k
Reveal Secret
python matroschka.py -open -m-k
Ví dụ
Để giấu ảnh matroschka_medium.png vào trong file matroschka_big.png, thực thi lệnh sau, Linux hay Windows (chưa thử) :-)
python matroschka.py -hide -m foo -k bar resources/matroschka_medium.png resources/matroschka_big.png
Để giải mã và lưu ảnh trong resources/secret-image.png
python matroschka.py -open -m foo -k bar resources/matroschka_big.png
Trình này theo chuẩn bản quyền GNU nên xài thoải mái.
Chi tiết: https://github.com/fgrimme/Matroschka
Ở mục
Tek
Saturday, July 2, 2016
Cài No-Sketch Engine trên VPS cho người dùng Linux bằng cách copy-paste
No Sketch Engine là hệ thống platform trưng diện corpus, khá tốt. Dịch vụ trả phí 5 bảng/tháng tại SketchEngine.
Hệ thống này dùng mã mở, với nhiều tính năng cao cấp. Nhưng nếu tự xây một corpus riêng thì cũng được, cụ thể như sau:
1. Cần một VPS, thích thì dùng localhost cũng được, Linux. Nên dùng Ubuntu hay Fedora, vì đỡ phải lo các gói bổ sung.
2. Tại đây mình cài trên Ubuntu 16.04 LTS. Chạy lệnh cập nhật hệ thống. Lệnh này bao giờ cũng mần đầu tiên khi setup VPS (lệnh 1):
3. Cài các gói bổ sung trước, cần thiết để sau này cài các gói nhị nhân dạng .deb (lệnh 2), chỉ 4 gói.
Chú ý: Nếu theo hướng dẫn cũ thì lệnh cài các gói bổ sung như sau (8 gói):
Tuy nhiên, nếu chạy lệnh trên, thì kể cả sudo khỉ gió, cũng không được, vì quá đát. Nhìn từ hai lệnh trên, có thể thấy, nếu thực hiện theo lệnh (2) thì sẽ thiếu các gói: libantlr3c, python-simplejson, libltdl7.
Do đó, để bảo đảm hệ thống đầy đủ, ta chạy tiếp các lệnh sau để sổ sung dependencies tương ứng:
Riêng thư viện libantlr3c mình phải chiến kiểu .deb trực tiếp.
Ngay trong root, tải về gói thư viện này tại, lần lượt:
4. Giờ mới bắt đầu cài No Sketch Engine, dùng các gói .deb cho tiện. Quẳng vô root cũng được, hoặc tạo một thư mục tạm thời để dễ dọn dẹp.
Cứ theo đạo diễn wget và diễn viên dpkg -i để cài 6 gói sau: Finlib, Manatee-Open, Manatee-Python, Bonito, Bonito-www, Example corpora. Tải đến đâu, cài đến đó, hoặc tải hết cài luôn, tùy nghi.
http://corpora.fi.muni.cz/noske/deb/1604/finlib/finlib_2.35.1-1_amd64.deb
http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open_2.137.2-1ubuntu1_amd64.deb
http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open-python_2.137.2-1ubuntu1_amd64.deb
http://corpora.fi.muni.cz/noske/deb/1604/bonito-open/bonito-open_3.86.10-1_all.deb
http://corpora.fi.muni.cz/noske/deb/1604/bonito-open/bonito-open-www_3.86.10-1_all.deb
http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open-susanne_2.137.2-1ubuntu1_amd64.deb
5. Cuối cùng dọn dẹp, kiểm tra, điều chỉnh:
Vào bontino bằng lệnh đơn giản sau: cd /var/ww/bonito
Có thể dùng lệnh ls để xem các file và thư mục con.
Vào edit file run.cgi bằng lệnh: nano run.cgi khi đang trong thư mục bonito.
Kiểm tra các thống số sau trong file này:
Hướng dẫn vô cùng lằng nhằng và hổ lốn với người xài Linux không chuyên, tại đây: https://nlp.fi.muni.cz/trac/noske/wiki/Downloads
Demo mới cài: http://45.32.15.179/bonito/run.cgi/first_form
Hệ thống này dùng mã mở, với nhiều tính năng cao cấp. Nhưng nếu tự xây một corpus riêng thì cũng được, cụ thể như sau:
1. Cần một VPS, thích thì dùng localhost cũng được, Linux. Nên dùng Ubuntu hay Fedora, vì đỡ phải lo các gói bổ sung.
2. Tại đây mình cài trên Ubuntu 16.04 LTS. Chạy lệnh cập nhật hệ thống. Lệnh này bao giờ cũng mần đầu tiên khi setup VPS (lệnh 1):
(1): sudo apt-get update
3. Cài các gói bổ sung trước, cần thiết để sau này cài các gói nhị nhân dạng .deb (lệnh 2), chỉ 4 gói.
(2): apt-get install libpcre3 libpcre++-dev apache2 python-cheetah
Chú ý: Nếu theo hướng dẫn cũ thì lệnh cài các gói bổ sung như sau (8 gói):
apt-get install libantlr3c-antlrdbg-3.2-0 libpcre3 python-simplejson python-cheetah libltdl7 apache2
Tuy nhiên, nếu chạy lệnh trên, thì kể cả sudo khỉ gió, cũng không được, vì quá đát. Nhìn từ hai lệnh trên, có thể thấy, nếu thực hiện theo lệnh (2) thì sẽ thiếu các gói: libantlr3c, python-simplejson, libltdl7.
Do đó, để bảo đảm hệ thống đầy đủ, ta chạy tiếp các lệnh sau để sổ sung dependencies tương ứng:
(4): apt-get install python-simplejson(5): apt-get install libltdl7
Riêng thư viện libantlr3c mình phải chiến kiểu .deb trực tiếp.
Ngay trong root, tải về gói thư viện này tại, lần lượt:
(6): wget http://corpora.fi.muni.cz/noske/deb/1604/antlr3c/libantlr3c_3.4-1_amd64.debTrên Ubuntu thì dùng lệnh dpkg -i để cài các gói nhị phân .deb. Do đó, mình sẽ cài luôn sau khi tải về gói trên bằng lệnh:
(7): dpkg -i libantlr3c_3.4-1_amd64.debKế tiếp, tải thư viện cuối cùng python- signalfd
(8): wget http://corpora.fi.muni.cz/noske/deb/1604/python-signalfd/python-signalfd_0.1-1ubuntu1_amd64.debCài đặt gói deb trên bằng lệnh thông thường: dpkr -i python-signalfd_0.1-1ubuntu1_amd64.deb
4. Giờ mới bắt đầu cài No Sketch Engine, dùng các gói .deb cho tiện. Quẳng vô root cũng được, hoặc tạo một thư mục tạm thời để dễ dọn dẹp.
Cứ theo đạo diễn wget và diễn viên dpkg -i để cài 6 gói sau: Finlib, Manatee-Open, Manatee-Python, Bonito, Bonito-www, Example corpora. Tải đến đâu, cài đến đó, hoặc tải hết cài luôn, tùy nghi.
http://corpora.fi.muni.cz/noske/deb/1604/finlib/finlib_2.35.1-1_amd64.deb
http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open_2.137.2-1ubuntu1_amd64.deb
http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open-python_2.137.2-1ubuntu1_amd64.deb
http://corpora.fi.muni.cz/noske/deb/1604/bonito-open/bonito-open_3.86.10-1_all.deb
http://corpora.fi.muni.cz/noske/deb/1604/bonito-open/bonito-open-www_3.86.10-1_all.deb
http://corpora.fi.muni.cz/noske/deb/1604/manatee-open/manatee-open-susanne_2.137.2-1ubuntu1_amd64.deb
5. Cuối cùng dọn dẹp, kiểm tra, điều chỉnh:
Vào bontino bằng lệnh đơn giản sau: cd /var/ww/bonito
Có thể dùng lệnh ls để xem các file và thư mục con.
Vào edit file run.cgi bằng lệnh: nano run.cgi khi đang trong thư mục bonito.
Kiểm tra các thống số sau trong file này:
the line corplist = ['susanne', 'bnc'] contains a list of available corporathe line corpname = 'bnc' sets the default corpusthe line os.environ['MANATEE_REGISTRY'] = '/var/lib/manatee/registry' is the path to the directory with corpus configuration files
Lúc này, corpus mẫu susanne đã có ở trong mantee/registry, không tin thử coi :-). Giờ muốn điều chỉnh thông số trên trang index sau này thì thực hiện theo hướng dẫn trên. Ví dụ trong dòng the line corplist thì thêm corpus, dòng the line corpname thì đặt corpus mặc định. Quan trọng nhất là trong dòng os.environ, đặt đường dẫn cho corpus như trên, hoặc nơi nào tùy nghi.
Cuối cùng chạy lại apache2 và truy cập ip/bonito hoặc localhost/bonito hoặc domain.com/bonito tùy nghi.
Hướng dẫn vô cùng lằng nhằng và hổ lốn với người xài Linux không chuyên, tại đây: https://nlp.fi.muni.cz/trac/noske/wiki/Downloads
Demo mới cài: http://45.32.15.179/bonito/run.cgi/first_form
Ở mục
Tek
Subscribe to:
Posts (Atom)