Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 160

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ


-----------o0o-----------

BÀI GIẢNG
Mã Nguồn Mở

Tác giả: Ths. Nguyễn Văn Ninh

HÀ NỘI - 2019
Lời mở đầu
Tài liệu được sưu tầm sử dụng với mục đích giúp sinh viên nắm thông tin cơ bản về
mã nguồn mở. Giúp sinh viên hệ thống kiến thức, hiểu thêm về các phần mềm, phần
cứng, các mô hình hiện đại, trong thời đại công nghệ mới xung quanh chúng ta…
Sinh viên sẽ sử dụng kiến thức trong môn học để tự xây dựng các phần mềm ứng
dụng, tự xây dựng giải pháp cho các doanh nghiệp. Tuy nhiên, môn học còn hạn chế ở
khía cạnh nội dung, lĩnh vực mã nguồn mở có lượng kiến thức vô cùng lớn, rất khó để
trình bày hết được. Vậy mong tài liệu sẽ được các bạn bổ sung thêm nhiều thông tin
cần thiết để giúp môn học ngày càng tạo nên nhiều ứng dụng thực tế hữu ích cho xã
hội.

Tác giả

2
Chương 1. Giới thiệu về mã nguồn mở
1.1. Khái quát về mã nguồn mở
Mã nguồn mở là những phần mềm được cung cấp dưới cả dạng mã và nguồn, không
chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền
sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui định trong giấy
phép PMNM (ví dụ General Public Licence – GPL) mà không cần xin phép ai, điều mà
họ không được phép làm đối với các phần mềm nguồn đóng (tức là phần mềm thương
mại). Nhìn chung, thuật ngữ “Open source” được dùng để lôi cuốn các nhà kinh doanh,
một điều thuận lợi chính là sự miễn phí và cho phép người dùng có quyền “sở hữu hệ
thống”.

Nhà cung cấp mã nguồn mở có quyền yêu cầu người dùng trả một số chi phí về các
dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, vv… tức là những dịch vụ thực sự đã
thực hiện để phục vụ người dùng, nhưng không được bán các sản phẩm nguồn mở vì
nó là tài sản của trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào.

Tiện ích mà Open Source mang lại chính là quyền tự do sử dụng chương trình cho
mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sữa phù hợp
với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các phiên bản cho nhiều
người, quyền tự do cải tiến chương trình và phát hành những bản cải tiến vì mục đích
công cộng.

* Lợi ích của phần mềm mã nguồn mở-miễn phí?

- Phần mềm có thể được sao chép hoàn toàn miễn phí, bạn hoàn toàn an tâm khi
chia sẻ một chương trình tuyệt vời với bạn bè.
- Các định dạng file không hoàn toàn bị kiểm soát bởi một vài nhà cung cấp. Điều gì
sẽ xảy ra khi dữ liệu nằm trong một phần mềm độc quyền? Việc sử dụng một định
dạng file bí ẩn sẽ khiến bạn chỉ dùng chương trình của một công ty. Do yêu cầu công
việc, bạn muốn sử dụng dữ liệu trên cho một ứng dụng khác nhưng chương trình bản
quyền không cho phép ! Còn nếu như nhà cung cấp chấm dứt hổ trợ và ngưng việc
3
nâng cấp sản phẩm, chắc chắn rằng dữ liệu của bạn sẽ phải vứt xó. Với phần mềm bản
quyền, chỉ có duy nhất nhà cung cấp có thể giải quyết vấn đề của bạn. Nhưng! với
OpenSource bạn có thể gặp hàng tá nhà cung cấp làm vừa lòng mình.
- Hầu hết các sản phẩm Open Source đều có khả năng bảo mật tuyệt vời, khi một
vết nứt được tìm thấy, nó thường được trám nhanh hơn phần mềm có bản quyền.
- Các hệ thống Open Source, nhất là các hệ thống dựa trên UNIX, thường linh hoạt
đến khó tin nổi. Bởi vì chúng được xây dựng từ nhiều khối thống nhất và được miêu tả
cặn kẽ, rất dễ để bạn thay thế nhiều phần của hệ thống với phần có giao diện tương tự.
- Có một cộng đồng hỗ trợ lớn. Không bị phụ thuộc vào một công ty nào.

Hình 1.1 : Ứng dụng đa dạng của mã nguồn mở

* Cơ hội kinh doanh với mã nguồn mở?


- Open source đã được chấp nhận trong các công ty lớn. Nhiều hợp đồng lớn đã
chấp nhận phần mềm Open Source, chẳng hạn như tại IBM, Oracle và Sun. Thậm chí
Microsoft đã phải lưu tâm đến Open Source như đối thủ to lớn.

4
- Với Open Source, việc phân phối và phát triển là một phương pháp lâu dài để tạo
ra phần mềm, người mua được cung cấp cả giải pháp phần mềm lẫn những dòng mã có
giấy phép Open Source. Hơn nữa, các doanh nghiệp vừa và nhỏ cũng sẽ ưa chuộng
phần mềm Open Source hơn.
- Hiện nay đã có một số tổ chức dự định sử dụng Open Source để xây dựng nhân tố
cốt lõi của hệ thống-từ hệ điều hành, cơ sở dữ liệu, ứng dụng và Web server… đến các
hệ thống quản trị nội dung và nhiều phần mềm kinh doanh thông minh.
- Mặc dù con đường để free software khẳng định vị trí vẫn còn dài, nhưng đáng chú
ý là Open Source đã giành được khoảng 70% thị trường ứng dụng Web, và dường như
con số này vẫn tiếp tục tăng lên hàng năm.
- Bằng cách này, cả công ty lẫn khách hàng đều có lợi. Về phía khách hàng, họ được
dùng phần mềm chất lượng tốt, hỗ trợ khách hàng đầy đủ với giá rẻ. Về phía nhà cung
cấp, dựa trên Open Source, tiết kiệm đáng kể các chi phí về phát triển, kiểm lỗi, quản
lý dự án. Đồng thời, nhân lực của họ lại nhanh chóng nâng cao trình độ, giảm bớt thời
gian làm việc “chân tay” khi tiếp nhận source code có “giá trị” và “chất lượng” từ
những Open Source được xây dựng chuyên nghiệp, cấu trúc phần mềm, lập trình,… tốt
ngay từ đầu.

Hình 1.2 : Một số phần mềm mã nguồn mở

5
1.2. Các học thuyết về phần mềm mã nguồn mở
1.2.1. Học thuyết FSF
Tổ chức phần mềm tự do FSF (Free Software Foundation) đề xuất nhằm bảo vệ các
quyền tự do của người dùng
- Quyền tự do chạy một chương trình với bất kì mục đích nào.
- Quyền tự do nghiên cứu cách thức vận hành của một chương trình và thích ứng nó
cho phù hợp với nhu cầu của mình.
- Quyền tự do phân phát các phiên bản của phần mềm để giúp đỡ những người xung
quanh.
- Quyền tự do thêm mới các chức năng cho một chương trình và công bố những tính
năng mới đó đến công chúng để toàn cộng đồng được hưởng lợi.
1.2.2. Học thuyết OSI
Chương trình sáng kiến nguồn mở OSI (Open Source Initiative) đề xuất.
Chú trọng giá trị kĩ thuật của việc tạo ra những phần mềm mạnh, có độ tin cậy cao
và phù hợp với kinh doanh, đặc biệt là lợi ích thực tiễn của phương pháp xây dựng và
quảng bá phần mềm nguồn mở.
Open Source không chỉ có nghĩa là truy cập vào source code. Các điều khoản phân
phối phần mềm nguồn mở phải tuân theo các tiêu chí sau:
* Free Redistribution – Miễn phí phân phối lại:
- Việc cấp giấy phép sẽ không hạn chế bất kì ai từ việc bán hoặc cho theo các cách
khác nhau.
- Việc cấp giấy phép sẽ không đòi hỏi phải có trả tiền hoặc các chi phí khác.
* Source code:
- Chương trình phải bao gồm source code, và phải cho phép phân phối source code
cũng như các hình thức biên soạn.
- Trong trường hợp một số sản phẩm không được phân phối với mã nguồn, thì phải
công bố trên các phương tiện đại chúng hoặc download từ Internet mà không có phí.

6
- Source code phải được ưu tiên trong trường hợp lập trình viên sẽ chỉnh sửa
chương trình.
- Cố ý làm rối source code là không được phép.
* Derived Works – Các sản phẩm dẫn xuất: Giấy phép phải cho phép sửa đổi, bổ
sung, các sản phẩm dẫn xuất phải cho phép họ được phân phối theo cùng một
điều khoản như giấy phép của phần mềm gốc.
* Integrity of The Author's Source Code – Sự toàn vẹn source code của tác giả
- Giấy phép có thể đưa ra các hạn chế mã nguồn.
- Giấy phép có thể yêu cầu các sản phẩm dẫn xuất mang một tên khác hay
phiên bản khác từ phần mềm ban đầu.
* No Discrimination Against Persons or Groups - Không phân biệt đối xử với
cá nhân hoặc nhóm: Giấy phép không được phân biệt đối xử đối với bất kì người nào
hoặc nhóm người.
* No Discrimination Against Fields of Endeavor – Chống lại phân biệt sự cố
gắng của các thành viên: Giấy phép không được giới hạn việc sử dụng chương trình
trong các lĩnh vực cụ thể.
* Distribution of License – Phân phối giấy phép: Các quyền kèm theo trong các
chương trình cần phải áp dụng cho tất cả các chương trình được phân phối, mà không
cần thực hiện thêm một giấy phép giữa các bên.

1.3. Các loại giấy phép mã nguồn mở


Open Source Initiative (OSI) là tổ chức phi lợi nhuận đề xướng khái niệm nguồn
mở.

OSI quản lí “The Open Source Definition” (định nghĩa về nguồn mở) nhằm xác
định
chính xác khái niệm về nguồn mở (http://opensource.org/docs/definition.php).

7
Phần mềm mã nguồn mở đơn giản là phần mềm dùng loại giấy phép đáp ứng định
nghĩa về nguồn mở trên.

* Một số giấy phép mã nguồn mở phổ biến:

- Gnu General Public License (GPL);

- Gnu Lesser General Public License (LGPL);

- Mozilla Public License (MPL);

- Apache Software License;

- Apple Public Source License;

- Artistic License;

- BSD License.

- MIT license

- Sun Industry Standards Source License

Cơ bản các giấy phép đều cho phép tự do sử dụng, phân phối, sửa đổi.

Nguồn mở không có nghĩa là trở thành của công. Tác giả vẫn là người nắm giữ bản
quyền và không bị khước từ bất cứ quyền nào. Họ cho phép sử dụng với những giới
hạn riêng. Ví dụ: Phải giữ tên tác giả ở những phiên bản kế thừa.

Người giữ bản quyền gốc có thể cung cấp phần mềm theo cả giấy phép nguồn mở
và giấy phép thương mại với các điều khoản khác nhau.

Phần mềm nguồn mở đôi khi cũng phải trả phí bản quyền.

Với đối tượng cá nhân thì không có nhiều sự khác biệt giữa các loại giấy phép.

1.3.1. Giấy phép GNU


8
a. GNU General Public License (GPL)

Giấy phép GNU hiện đang có 2 phiên bản được sử dụng phổ biến là GPL-2.0 và
GPL-3.0. Chúng ta sẽ nói về phiên bản mới nhất GPL-3.0.

* Quyền lợi khi sử dụng phần mềm áp dụng giấy phép GPL

– Được sao chép và phân phối chương trình, được yêu cầu trả phí cho việc phân
phối đó.

– Được thay đổi chương trình để sử dụng cho mục đích cá nhân.

– Được phân phối bản đã được thay đổi đó.

* Nghĩa vụ

– Khi sao chép và phân phối chương trình, phải đính kèm các thông báo về bản
quyền gốc và không bảo hành( trừ trường hợp có văn bản thêm về quy định bảo hành)

– Khi phân phối bản đã được thay đổi bởi bản thân, phải chú thích rõ đó là bản đã
được thay đổi, các thành phần được thay đổi, và áp dụng giấy phép GNU cho bản đã
được thay đổi đó.

– Khi phát hành chương trình phải công khai mã nguồn của chương trình, đồng thời
phải công bố mã nguồn của chương trình trong tối thiểu 3 năm mà không được đòi một
khoản phí nào từ những người yêu cầu mã nguồn trừ chi phí vận chuyển hay tương
đương.

b. GNU Library or “Lesser” General Public License (LGPL)

LGPL là một phiên bản sửa đổi của GPL. Giấy phép này thường bị hạn chế đối với
các thư viện phần mềm. Nó được gọi là Lesser General Public License vì nó cung cấp
sự bảo vệ ít hơn so với GPL. Điều này cho phép các chương trình không phải là Open
source có thể truy cập hoặc liên kết tới các thư viện nguồn mở mà không phải công
khai mã nguồn như giấy phép GPL.

9
1.3.2. Giấy phép BSD
a. BSD 3-Clause “New” or “Revised” license
Giấy phép BSD(Berkeley Software Distribution License) có thể nói là lâu đời nhất
trong các giấy phép nguồn mở, nó đã và đang tồn tại ở một số dạng kể từ những năm
1980. Giấy phép BSD 3-Clause “New” or “Revised” license là bản sửa đổi của giấy
phép BSD cũ đã loại bỏ một số điều khoản mà người ta cho rằng phi thực tế.
* Điều khoản của giấy phép:
Tái phân phối và sử dụng ở dạng mã nguồn và nhị phân, có hoặc không có sửa đổi
mã nguồn, đều được cho phép miễn là các điều khoản sau được đáp ứng:
– Việc phân phối lại mã nguồn phải giữ lại thông báo bản quyền, danh sách các điều
kiện và tuyên bố từ chối trách nhiệm.
– Việc phân phối lại dưới dạng nhị phân phải sao chép thông báo bản quyền, danh
sách các điều kiện và tuyên bố từ chối trách nhiệm trong tài liệu và/hoặc các tài liệu
khác được cung cấp bởi bản phân phối.
– Tên của người giữ bản quyền cũng như tên của những người đóng góp của nó có
thể được sử dụng để xác nhận hoặc quảng cáo các sản phẩm có nguồn gốc từ phần
mềm này mà không có sự cho phép trước bằng văn bản cụ thể.
b. BSD 2-Clause “Simplified” or “FreeBSD” license
Giấy phép BSD 2-Clause “Simplified” or “FreeBSD” license về cơ bản giống với
giấy phép BSD 3-Clause. Nhưng BSD 2-Clause yêu cầu “Tên của những người đóng
góp trước đó không được sử dụng để quảng cáo cho bất kỳ phiên bản phái sinh nào mà
không có được sự cho phép bằng văn bản của họ”. BSD 3-Clause đã giảm bớt sự phiền
hà khi sử dụng phần mềm nguồn mở theo giấy phép BSD.

1.3.3. Một số loại giấy phép khác


a. Apache License 2.0
Giấy phép Apache là một giấy phép phần mềm tự do của Quỹ phần mềm Apache
(Apache Software Foundation – ASF). Giấy phép Apache trao cho người dùng phần
10
mềm nguồn mở, quyền tự do sử dụng phần mềm với bất kì mục đích nào, phân phối
chỉnh sửa, và phân phối bản sửa đổi của phần mềm, theo các điều khoản của giấy phép
mà không lo vấn đề bàn quyền.
* Các điều khoản của giấy phép:
– Giấy phép Apache cho phép người dùng tự do sử dụng phần mềm với bất kì mục
đích nào, tự do phân phối, tự do sửa đổi, tự do phân phối bản sửa đổi mình làm.
– Giấy phép Apache không yêu cầu bản sửa đổi của phần mềm phải được phân phối
dưới cùng giấy phép với bản gốc, cũng không yêu cầu bản sửa đổi phải được phân phối
dưới dạng mã nguồn mở. Giấy phép Apache chỉ yêu cầu có một thông báo nhắc nhở
người nhận rằng giấy phép Apache đã được sử dụng trong sản phẩm họ nhận được.
=> Nói tóm lại người sử dụng phần mềm được quyền sử dụng chương trình và mã
nguồn theo cách họ muốn, kể cả việc giữ lại mã nguồn cho riêng mình.
Giấy phép Apache không yêu cầu trích dẫn toàn bộ giấy phép vào sản phẩm hay tệp
tin đính kèm bản phân phối, mà chỉ cần thêm vào phần thông báo có chứa đường link
tới website chứa giấy phép với nội dung như sau:
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an “AS IS” BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
b. MIT license
Giấy phép MIT là loại giấy phép cho phép sử dụng mã nguồn tự do nhất, nó có thể
kết hợp với các mã nguồn khác và đảm bảo tương thích theo điều kiện của mọi loại
11
giấy phép khác. Với giấy phép MIT bạn có thể sử dụng, sao chép, sửa đổi, hợp nhất,
xuất bản, phân phối và/hoặc bán các bản sao của phần mềm mà không vi phạm bản
quyền. Bạn chỉ cần tuân thủ điều kiện duy nhất sau:
– Thông báo bản quyền và thông báo cho phép của phần mềm gốc sử dụng giấy
phép MIT sẽ phải bao gồm trong tất cả các bản sao hoặc phần quan trọng của phần
mềm.
c. Mozilla Public License 2.0
Giấy phép MPL 2.0 là một giấy phép phần mềm tự do của Quỹ Mozilla. MPL là sự
kết hợp giữa giấy phép BSD có chỉnh sửa và giấy phép GNU. Một số lập trình viên
đóng góp cho cộng đồng phần mềm mã nguồn mở nhưng không muốn từ bỏ hoàn toàn
quyền sở hữu đối với những sửa đổi của họ và MPL là một ví dụ điển hình nhất đáp
ứng nhu cầu này của họ. Nó ra đời để giúp phân phối trình duyệt web Mozilla (nền
tảng nguồn mở của Netscape). MPL yêu cầu việc công bố mã nguồn của mọi thay đổi
được đưa ra công chúng. Thời gian yêu cầu để công bố được giới hạn trong vòng
khoảng 6 tháng – 1 năm tuỳ theo từng trường hợp.
d. Sun Industry Standards Source License
SISSL là giấy phép mã nguồn theo chuẩn của Sun. Đối với phần mềm có áp dụng
giấy phép này, mã nguồn gốc được công bố theo một phiên bản nào đó của giấy phép,
người sử dụng sẽ luôn phải sử dụng mã gốc đó theo các điều khoản của phiên bản đó.
Không ai có quyền chỉnh sửa các điều khoản áp dụng cho mã nguồn gốc ngoài Sun.

12
Chương 2. Phần mềm mã nguồn mở
2.1. Hệ điều hành mã nguồn mở

Hệ điều hành mã nguồn mở được hiểu là hệ điều hành nhà phát triển cho phép
người dùng gọi chung là các cá nhân hoặc tố chức được phép can thiệp vào sâu bên
trong bao gồm chỉnh sửa hoặc tùy biến mã nguồn thành những hệ điều hành mới để sử
dụng cho các mục đích cụ thể mà không thu phí. Chức năng của các hệ điều hành mã
nguồn mở tương tự như các hệ điều hành bình thường khác như Windows, iOS,
TizenOS…

Các hệ điều hành mã nguồn mở tuy không bị tính phí khi sử dụng nhưng người sử
dụng nó để phát triển hoặc tùy biến vẫn phải tuân theo một số giấy phép đặc biệt do
nhà giới thiệu đưa ra. Cùng tìm hiểu về ưu nhược điểm của hệ điều hành mã nguồn mở
là gì ở phần bên dưới đây.

Hình 2.1: Một số hệ điều hành mã nguồn mở

13
* Ưu điểm nhược điểm của các hệ điều hành mã nguồn mở là gì?

Ưu điểm của các hệ điều hành mã nguồn mở là khả năng tùy biến, người dùng là cá
nhân hoặc tổ chức có thể phát triển, chỉnh sửa tinh chỉnh các chức năng trong hệ điều
hành mã nguồn mở để đưa ra một sản phẩm cụ thể phù hợp với nhu cầu sử dụng cụ thể
của mình. Ví dụ như trình duyệt chrome là một ứng dụng mã nguồn mở, Cốc cốc là
trình duyệt được tùy biến dựa trên Chrome với giao diện khác biệt và một số tính năng
mới như tích hợp Unikey và công cụ internet download manager vào trình duyệt. Ngoài
tính tùy biến, các hệ điều hành mã nguồn mở còn có ưu điểm là được cung cấp miễn
phí.

Nhược điểm của các hệ điều hành mã nguồn mở là tính năng sơ sài, do đó muốn có
nhiều tính năng thông minh hỗ trợ người dùng, nhà phát triển là cá nhân hoặc tổ chức
phải nâng cấp thêm nhiều tính năng về giao diện, ứng dụng, khả năng giao tiếp cũng
như anh ninh bảo mật để các hệ điều hành mã nguồn mở này hoàn thiện hơn và được
người dùng đón nhận. 

2.2. Hệ điều hành GNU/Linux


Linux được xem là cha đẻ của các hệ điều hành mã nguồn mở hiện nay, như
Ubuntu, Linux Mint, Fedora và tất nhiên là cả hệ điều hành Android cũng do Google
phát triển từ Linux lên. Trên Linux, người dùng có thể dễ dàng tùy biến giao diện hay
bất kỳ thứ gì họ muốn điều mà không thể làm được trên windows. Linux tương thích
với nhiều môi trường phát triển ứng dụng khác nhau và nguồn của cải quý giá cho lập
trình viên cũng như các nhà phát triển ứng dụng. Tuy nhiên, do là hệ điều hành mã
nguồn mở tương đối sơ khai nên số lượng ứng dụng hỗ trợ người dùng rất hạn chế,
driver hỗ trợ ứng dụng bên thứ ba tương đối ít.

14
Hình 2.2: Ảnh giao diện của hệ điều hành Ubuntu, một hệ điều hành phát triển từ
Linux

2.2.1. Một số vấn đề cơ bản trong điều hành Linux


- Là các hệ điều hành sử dụng hạt nhân Linux.
- Được gọi với tên Bản phân phối Linux (Linux Distribution), gọi tắt là Linux
Distro
- Được phát hành bởi các nhà phân phối hệ điều hành (Linux Distributor)
Có hơn 500 bản phân phối Linux. 10 bản phân phối phổ biến nhất năm 2010 gồm
Ubuntu, Fedora, OpenSuSe, Debian, Mandriva, LinuxMint, PCLinuxOS, Slackware,
Gentoo Linux, CentOS.
a. Các thành phần của một hệ điều hành Linux
Một hệ điều hành Linux thường bao gồm các thành phần sau: Hạt nhân Linux, trình
điều khiển thiết bị, bộ khởi động, cửa sổ lệnh hoặc giao diện người dùng đồ họa, các
tiện ích về tập tin và hệ thống...

15
Hình 2.3 : Thành phần của một hệ điều hành Linux

b. Kiến trúc hạt nhân Linux

Hình 2.4 : Kiến trúc hạt nhân Linux

16
Hạt nhân Linux gồm 5 thành phần cơ bản sau:
- Bộ định thời : Điều khiển việc truy cập đến CPU
- Bộ quản lý bộ nhớ: Đảm bảo nhiều tiến trình cùng sử dụng bộ nhớ máy tính một
cách an toàn; cung cấp cơ chế bộ nhớ ảo
- Hệ thống tập tin trừu tượng: Trừu tượng hóa những chi tiết khác biệt của các loại
thiết bị bằng cách giới thiệu một giao diện tập tin chung cho tất cả các thiết bị
- Giao diện mạng: Cung cấp truy cập đến nhiều chuẩn mạng và những loại thiết bị
mạng
khác nhau.
- Giao tiếp liên quá trình: Hộ trợ cơ chế giao tiếp giữa các tiến trình trên cùng một
máy
tính
c. Lý do để chọn hệ điều hành Linux
- Ứng dụng: Nhiều ứng dụng sẵn dùng trên Linux (miễn phí lẫn thương mại): văn
bản, đồ họa, đa phương tiện, Internet, bảo mật, quản trị, máy chủ …
- Ngoại vi: Hỗ trợ nhiều chủng loại thiết bị ngoại vi, hỗ trợ nhanh chóng các thiết bị
ngoại vi mới
- Phần mềm: Tồn tại một lượng lớn các phần mềm dưới dạng mã nguồn hoặc mã
thực thi
- Nền: Hỗ trợ nhiều kiến trúc máy tính: Intel, Alpha, MIPS, Motorola, 64bits
system, IBM S/390, SMPs
- Bộ giả lập: Cho phép chạy các ứng dụng của các hệ điều hành khác như MS-DOS,
Windows, Macintosh
- Máy ảo: Bộ quản lý máy ảo cho phép chạy nhiều máy ảo với những hệ điều hành
khác nhau trên cùng một máy tính thật (máy chủ)
- Hệ điều hành chuẩn: Dùng như hệ điều hành cho những nhà sản xuất phần cứng
khác
nhau.
17
- Đa người dùng & Đa tác vụ
- Tương thích: Hơn 95% mã nguồn được viết bằng C , độc lập thiết bị, nên có thể
dịch để dùng cho nhiều loại máy khác nhau: Máy chủ, máy để bàn, di dộng,
- POSIX (Portable Operating System Interface for Computer Environments): Cho
phép
ứng dụng phát triển trên Linux có thể dùng trên các hệ thống khác như UNIX
- Miễn phí, mã nguồn mở & tự do: Tiết kiệm chi phí, không phụ thuộc nhà phát
triển ứng dụng
d. Làm việc trên một hệ điều hành Linux
- Cần được nhà quản trị máy tính Linux cung cấp một tài khoản biểu hiện bằng một
tên
đăng nhập (login name/username) và một mật khẩu (password)
- Thực hiện thao tác đăng nhập (login/logon) vào máy tính Linux bằng giao diện đồ
họa
hoặc dòng lệnh. Người dùng phải khai báo username và password đã cấp trên máy này.
e. Các loại tập tin
Tập tin là một khái niệm trừu tượng để chỉ các thiết bị có thể ghi hoặc đọc dữ liệu
vào/ra như đĩa cứng, màn hình, con chuột, …
Có 3 loại tập tin :
- Tập tin bình thường: là các tập tin chương trình hoặc tập tin chứa dữ liệu, văn bản
- Thư mục
- Các tập tin là các thiết bị ngoại vi
f. Chuẩn phân cấp hệ thống tập tin (FHS-Filesystem Hierarchy Standard)
Chuẩn phân cấp hệ thống tập tin là một tài liệu mô tả cách sắp xếp các thư mục trên
hệ thống Linux. FHS được phát triển để cấp một khuôn mẫu chung nhằm giúp cho việc
phát triển các ứng dụng mà không phụ thuộc vào bản phân phối Linux. FHS mô tả các
thư mục sau:
/ : Thư mục gốc
18
/boot: Các tập tin tĩnh cần thiết cho tiến trình khởi động
/dev : Các tập tin thiết bị
/etc : Các tập tinh cấu hình hệ thống và các ứng dụng
/lib : Các thư viện chia sẻ và các môdule của hạt nhân
/mnt : Điểm gắn nối các hệ thống tập tin một cách tạm thời
/opt : Nơi tích hợp các gói chương trình ứng dụng
/sbin: Các tập tin thực thi cần thiết cho hệ thống
/tmp : Nơi chứa các tập tin tạm
/usr : Hệ phân cấp thứ cấp
/var : Dữ liệu biến đổi
g. Đường dẫn (path)
Đường dẫn là một chuỗi các tên thư mục ngăn cách nhau bởi ký tự '/', kết thúc
đường dẫn có thể là tên một tập tin.
Đường dẫn tuyệt đối: là đường dẫn bắt đầu bằng thư mục gốc '/';
Ví dụ: /home/nbhung/Desktop
Thư mục hiện hành: là một vị trí trên cây thư mục
Ví dụ: /home/nbhung
Đường dẫn tương đối: là đường dẫn được tính bắt đầu từ thư mục hiện hành
Ví dụ: Desktop ; Với thư mục hiện hành là /home/nbhung
h. Một số thư mục đặc biệt
- Thư mục gốc ký hiệu /
- Thư mục hiện hành ký hiêu là . (một chấm)
- Thư mục cha ký hiệu .. (hai chấm)
- Thư mục cá nhân (home directory) ký hiệu ~: Mỗi người dùng có một thư mục cá
nhân nơi mà người dùng có toàn quyền (thêm, sửa, xóa tập tin thư mục).
Lưu ý: Tên thư mục và tập tin có phân biệt chữ hoa và chữ thường.
i. Một số lệnh cơ bản trên thư mục
- Xem thư mục hiện hành: pwd
19
- Xem nội dung thư mục ls [dir]
- Chuyển thư mục: cd newdir
- Tạo thư mục: mkdir newdir
- Sao chép thư mục

cp -r ol
- Xóa thư mục rỗng:

rmdir a
- Xóa thư mục:

rm -rf a
k. Một số lệnh thao tác trên tập tin
- Sao chép tập tin cp old-file new-file
- Đổi tên tập tin mv old-name new-name
- Di chuyển tập tin mv file-name dir-name
- Tạo liên kết ln -s file-name link-name
- Tạo/Cập nhật tập tin touch file-name
- Xóa tập tin rm [-f] file-name
- Hiển thị nội dung cat file-name

2.2.2. Cài đặt hệ điều hành Linux (RED HAT)


Lưu ý: trước khi cài đặt, cần tìm hiểu các thông tin về phần cứng của hệ thống, bao
gồm
- Thông tin về ổ đĩa cứng
- Thông tin về card mạng
- Thông tin về card đồ hoạ
20
- Thông tin về màn hình
- Thông tin về giao thức và cấu hình mạng nếu kết nối mạng
- Thông tin về các thiết bị ngoài (chẳng hạn các thiết bị SCSI...)
Có thể chọn nhiều phương án cài đặt như cài đặt từ đĩa mềm, từ đĩa cứng, từ đĩa CD
Rom hoặc qua mạng. Tài liệu này chọn hướng dẫn quá trình cài đặt phiên bản 7.2 từ
đĩa
CDRom. Yêu cầu máy cài đặt có khả năng khởi động (boot) từ ổ đĩa CD-Rom (được
hỗ
trợ hầu hết trong các máy tính hiện nay).
Sau đây là các bước cài đặt cụ thể. Khi kết thúc bước trước chương trình cài đặt tự
động
chuyển sang bước sau. Một số bước cài đặt cho phép quay lại bước trước bằng cách
chọn Back.
1. Đưa đĩa CD Rom Redhat vào ổ đĩa. Khởi động lại máy (lưu ý phải đảm bảo
máy có khả năng khởi động từ đĩa CD-Rom
2. Chọn chế độ cài text
3. Mặc định chọn ngôn ngữ (English) chọn Next
4. Chọn kiểu bàn phím (Generic 105-key PC), kiểu thể hiện bàn phím (US
English).

21
Hình 2.5a: Cài đặt Linux

22
Cấu hình chuột

Hình 2.5b: Cài đặt Linux

Chọn đúng kiểu chuột trong hệ thống. Nếu không tìm được chính xác chọn kiểu
tương
thích trong danh sách.

Cài phân vùng đĩa cứng:


1. Tại màn hình Welcome to Redhat Linux. Chọn Next
2. Chọn chế độ cài đặt Custom.
3. Sử dụng chương trình Disk Druid để tạo phân vùng đĩa chuẩn bị quá trình cài
đặt. Phân vùng đĩa cứng như sau:

23
Hình 2.5c: Cài đặt Linux

Sử dụng phím Tab và phím mũi tên để di chuyển, phím Space hay Enter để chọn
- Dùng Delete xoá các phân vùng cũ của hệ thống trước.
- Chọn New để tạo các phân vùng mới.
- Tạo phân vùng bộ nhớ ảo với các thông số sau:
Type: Linux Swap
Size: 256Mb (gấp đôi kích thước vật lý của bộ nhớ RAM của hệ thống)
Allowable Drives [*] sda xác định vị trí vật lý của phân vùng tại ổ đĩa cứng thứ
nhất
- Tạo phân vùng thứ hai cho thư mục gốc của hệ thống
Mount point: / (liên kết phân vùng này với thư mục gốc root của hệ thống.
Type: ext3
Size:1Mb

24
Grow to fill disk [*] (chọn lựa này tạo phân vùng với dung lượng còn lại của ổ
đĩa cứng thứ nhất)
Allowable Drives [*] sda
- Tạo phân vùng thứ 3 cho thư mục /usr của hệ thống:
Mount point: /usr (liên kết phân vùng này với thư mục /usr trên cây thư mục hệ
thống)
Type : ext3
Size : 3072 ( 3 GB )
Allowable Drives [*] sdb
- Tạo phân vùng thứ 4 cho thư mục /var của hệ thống:
Mount point: /var (liên kết phân vùng này với thư mục /usr trên cây thư mục hệ
thống)
Type: ext3
Size: 1
Grow to fill disk [*] (chọn lựa chọn phân vùng với dung lượng còn lại của ổ
cứng thứ hai)
Allowable Drives [*] sdb
- Kết thúc chọn OK và xác nhận hoàn thành việc thay đổi bảng phân vùng để ghi lại
các thay đổi

25
Hình 2.5d: Cài đặt Linux

Boot loader:
1. Bỏ qua lựa chọn định dạng đĩa có kiểm tra lỗi nếu ổ đĩa cứng không có lỗi.
2. Cấu hình Boot loader
Chọn UseLILO as boot loader
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
Dùng lựa chọn đặt boot loader tại Master Boot Record nếu hệ thống chỉ cài đặt một
hệ điều hành.
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***

26
Cấu hình mạng :
Nếu máy không có card mạng, sẽ không nhận được màn hình này. Thực hiện cấu
hình mạng cho máy như sau:
- Bỏ lựa chọn config using DHCP (chỉ chọn sử dụng chế độ cấp phát địa chỉ IP
động), nhập địa chỉ IP, subnetmask theo hướng dẫn của giáo viên hướng dẫn
thực hành
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
- Nhập hostname
- Cấu hình firewall, chọn Medium
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
Lựa chọn ngôn ngữ English (US)
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
1. Cấu hình Time Zone: (Asia/Saigon)
2. Cấu hình tài khoản:
- Nhập mật khẩu cho tài khoản root, gõ lại mật khẩu tại hộp confirm
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
- ***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.*** Khai báo thêm
các tài khoản khác (nếu cần thiết) Tạo thêm tài khoản mới:
- Chọn New để tạo thêm tài khoản mới, nhập thông tin về người dùng. Nhận
được màn hình tạo tài khoản mới như sau:

27
Hình 2.5e: Cài đặt Linux

Nhập các thông tin về tài khoản:


Username: <tên tài khoản>
Fullname: <tên đầy đủ của tài khoản>
Password: <mật khẩu truy nhập>
Chọn OK
- Ấn Add để đưa tài khoản vào danh sách người dùng
- Chọn Edit để thay đổi thông tin về một tài khoản.
- Chọn Delete để xoá một tài khoản.
- Chọn cấu hình mặc nhận

28
Hình 2.5f: Cài đặt Linux

Xác định các gói cài đặt:


Một số gói cài đặt chủ yếu X Windows System, GNOME, KDE (cho card đồ hoạ),
Network station, Anonymous, FTP server, Development...

29
Hình 2.5g: Cài đặt Linux

Cấu hình giao diện đồ hoạ


Chọn đúng kiểu video card (thông thường redhat có khả năng tự động phát hiện
kiểu
card)
Cài đặt các gói phần mềm
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
1. Tạo đĩa mềm khởi động: chọn có tạo đĩa khởi động phòng khi hệ thống có lỗi.
2. Xác định giao diện đồ hoạ

30
Hình 2.5h: Cài đặt Linux

Xác định kiểu monitor từ danh sách các monitor được hỗ trợ. Chương trình kiểm tra
thử chế độ đồ hoạ, nếu các thông số khai báo không đúng, ta phải khai báo lại.
Nếu cài đặt chế độ đồ hoạ thành công, máy sẽ yêu cầu chọn có nên khởi động máy vào
chế độ đồ hoạ hay không (mặc định là chế độ text)

Hoàn tất quá trình cài đặt và khởi động lại máy (lưu ý bỏ đĩa CD Rom ra khỏi ổ
đĩa trước khi khởi động lại).

* Kết thúc phần hệ điều hành mã nguồn mở. Định hướng nghiên cứu tiếp theo cho sinh viên:
1. Sau khi cài đặt xong hệ điều hành trên. Tiền hành nghiên cứu cách sử dụng, quản trị.
2. Tiến hành cài đặt thêm các hệ điều hành khác và nghiên cứu cách sử dụng, quản trị.

31
2.3. Các ứng dụng cơ bản khác của mã nguồn mở
2.3.1. BIND – Máy chủ tên miền DNS
Dùng BIND cài đặt, cấu hình DNS cho Linux
Hiện tại trên Internet rất nhiều nhà cung cấp phần mềm miễn phí cho
DNS. Nhưng phần mền sử dụng DNS cho unix được sử dụng phổ biến hiện này
là gói phần mềm cho DNS là Bind
Bind được phát triển bởi một tổ chức phi lợi nhuận là Internet Software
Consortium (www.isc.org) và nó cung cấp phần mền bind miễn phí.
Phần mền Bind còn cung cấp tiện ích nslookup là công cụ rất tiện lợi cho việc kiểm
tra tên miền.

Khai báo DNS cho client/server


Với client sử dụng linux hoặc unix ta vào file /etc/resolv.conf
- Client chỉ lấy thông tin về các domain
- Client chỉ gửi query tới server và nhận trả lời
Cấu hình DNS server
- Cấu bình resolver như của (DNS client)
- Cấu hình Bind cho name server (named)
- Xây dự cơ sở dữ liệu cho DNS (cho các zone file)
Cấu hình cho DNS client /etc/resolv.conf

Các từ khóa Miêu tả

Địa chỉ IP của DNS server sẽ gửi truy vấn đến để


nameserver địa chỉ
lấy thông tin về domain

domain name xác định domain mặc định của client

32
Với DNS client chỉ cần cấu hình file resolv.conf

Cài đặt DNS server.


Ta có thể lấy chương trình cài đặt bind cho DNS tại www.isc.org lấy về
server
cd /usr/src
mkdir bind-9.xx
cd bind-9.xx
Lấy chương trình cài đặt DNS về đây bind-9.xx-src.tar.gz
gunzip bind-9.xx-src.tar.gz
tar xf bind-9.xx-src.tar
rm bind-9.xx-src.tar
cd src
make clean
make depend
make install
Vậy là ta đã cài xong phần mền named cho DNS và các zone file sẽ được chứa
trong /var/named còn file cấu hình nằm trong /usr/local/etc vậy ta phải tạo và đặt file
cấu hình và zone file vào các thư mục trên và chạy

33
#/usr/local/sbin/named
Vậy là server đã sẵn sàng cho truy vấn DNS

Cấu trúc file cơ sở dữ liệu (zone file)


Các file cơ sở dữ liệu zone được chỉ làm hai loại cho domain (có dạng db.domain
hoặc domain.root) và các domain ngược ( db.address ) và nó nằm trong thư mục
/var/named của DNS server.
Các dữ liệu nằm trong file cơ dữ liệu được gọi là DNS resource record. Các loại
resource record trong file dữ liệu bao gồm:
SOA record
Chỉ rõ domain ở cột quản lý bởi name server ghi sau trường SOA. Trong trường hợp
file db.domain
@ IN SOA vdc-hn01.vnn.vn. postmaster.vnn.vn. (
1999082802 ; serial number
1800 ; refresh every 30 mins
3600 ; retry every hour
86400 ; expire after 24 hours
6400 ; minimum TTL 2 hours
)
IN NS vdc-hn01.vnn.vn.
IN NS hcm-server1.vnn.vn.
Khai báo zone ngược db.203.162.0
@ IN SOA vdc-hn01.vnn.vn. postmaster.vnn.vn. (
1999082301 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
34
; name servers
IN NS vdc-hn01.vnn.vn.
IN NS hcm-server1.vnn.vn.
6 IN PTR ldap.vnn.vn.
7 IN PTR hanoi-server1.vnn.vn.
8 IN PTR hanoi-server2.vnn.vn.
9 IN PTR mail.vnn.vn.
Trong mỗi zone chỉ khai một trường SOA. Như ví dụ trên trong trường hợp file
db.com.vn, chữ @ biểu thị các tất cả các domain trong file quản lý bởi name server
vdc-hn01.vnn.vn và địa chỉ mail của admin mạng là postmaster.vnn.vn. Ngoài ra trong
phần SOA có 5 thông số cần quản tâm sau:
Serial number : Thông số này có tác dụng với tất cả các dữ liệu trong file. Khi
secondary server yêu cầu primary server các thông tin về domain mà nó quản lý thì đầu
tiên nó sẽ so sánh serial number của secondary và primary server.
Nếu serial number của secondary server nhỏ hơn của primary server thì dữ liệu của
domain sẽ được cập nhập lại cho secondary server từ secondary server.
Mỗi khi ta thay đổi nội dung của file db.domain thì ta cần phải thay đổi serial
number và thường ta đánh serial number theo nguyên tắc sau:
Serial number : yyyymmddtt
trong đó : yyyy là năm
mm là tháng
dd là ngày
tt là số lần sửa đổi trong ngày
Refresh: là chu kỳ thời gian mà secondary server sẽ sánh và cập nhập lại dữ liệu của
nó với primary server
Retry: nếu secondary server không kết nối được với primary server thì cứ sau một
khoảng thời gian thì nó sẽ kết nối lại

35
Expire : là khoảng thời gian mà domain sẽ hết hiệu lực nếu secondary không kết nối
được với primary server.
TTL (time to live) : khi một server bất kỳ yêu cầu thông tin về dữ liệu nào đó từ
primary server, và dữ liệu đó sẽ được lưu giữ tại server đó và có hiệu lực trong khoảng
thời gian của TTL. Hết khoảng thời gian đó nếu tiếp tục cần thì nó lại phải truy vấn lại
primary server.
Các bản ghi thường dùng trong DNS server
NS (name server) : Bản ghi NS để xác định DNS server nào sẽ quản lý tên miền.
Như ví dụ ở trên là DNS server vdc-hn01.vnn.vn. và hcmserver1.vnn.vn.
A (address) : Bản ghi dạng A cho tương ứng một domain name với một địa chỉ IP.
Chỉ cho phép khai báo một bản ghi A cho một địa chỉ IP.
Ví dụ:
Tên miền Internet Loại bản ghi Địa chỉ
mr.vnn.vn. IN A 203.162.4.148
mr-hn.vnn.vn. IN A 203.162.0.24
mail.vnn.vn. IN A 203.162.0.9
fmail.vnn.vn. IN A 203.162.4.147
hot.vnn.vn. IN A 203.162.0.23
home.vnn.vn. IN A 203.162.0.12
www.vnn.vn. IN A 203.162.0.16

CNAME (canonical name) : là tên phụ cho một host có sẵn tên miền dạng A. Nó
thường được sử dụng cho các server web, ftp
Ví dụ : các domain có dạng CNAME được chỉ tới các máy chủ web

Tên miền Internet Loại bản ghi Server


36
www.gpc.com.vn. IN CNAME home.vnn.vn.
www.huonghai.com.vn. IN CNAME home.vnn.vn.
www.songmayip.com.vn. IN CNAME hot.vnn.vn.
www.covato2.com.vn. IN CNAME hot.vnn.vn.

MX (mail exchange): là tên phụ cho các dịch vụ mail trên các máy chủ đã có tên
miền dạng A. Bản ghi này cho phép máy chủ có thể cung cấp dịch v ụ mail cho các
domain khác nhau. Có thể khai báo nhiều domain khác nhau cùng chỉ tới một server
hoặc một domain trỏ tới nhiều server khác nhau ( sử dụng backup) trong tr ường h ợp
này giá trị ưu tiên phải đặt khác nhau. Với số ưu tiên càng nhỏ thì m ức độ ưu tiên càng
cao.
Ví dụ
Loại bản Mức ưu
Tên miền Internet Server
ghi tiên
mrvn.vnn.vn. IN MX 10 mr.vnn.vn.
clipsalvn.vnn.vn. IN MX 10 mr-hn.vnn.vn.
dbqnam.vnn.vn. IN MX 10 mr-hn.vnn.vn.
thangloi.vnn.vn. IN MX 50 mail.netnam.vn.
100 fallback.netnam.vn.

PTR (Pointer) : là bản ghi tương ứng địa chỉ IP với domain. Các file dạng
db.address. Ví dụ db.203.162.0 cho tương ứng với các địa chỉ IP tương ứng với mạng
203.162.0.xxx
Chú ý :
Trước mỗi phần khai báo domain thường có dòng
$ORIGIN domain.
Để khai báo giá trị mặc định của domain. Cho phép trong phần khai báo giá trị
không phải khai báo lặp lại phần domain mặc định.
37
Ví dụ :
vdc.com.vn. IN A
203.162.0.49
hoặc
$ORIGIN com.vn.
vdc IN A
203.162.0.49
Dấu ";" được sử dụng làm ký hiệu dòng chú thích, các phần sau dấu “;” đều không
có tác dụng.

Định nghĩa cấu hình (name.conf)


Khi các file cơ sở dữ liệu (zone file) thì cần phải cấu hình để DNS
server đọc các zone file đó. Đối với hệ thống BIND cơ chế chỉ dẫn name server
đọc các zone file được khai trong file named.conf nó được nằm trong thư mục /etc hoặc
/usr/local/etc
Ví dụ : khai báo file db trong file named.conf:
; khai báo cho zone file domain.vn
zone "vn." in {
type master;
file "db.vn";
};
;khai báo cho zone file domain.gov.vn
zone "gov.vn." in {
type master;
file "db.gov.vn";
};
;khai báo cho zone ngược 203.162.0.xxx
zone "0.162.203.in-addr.arpa" in {
38
type master;
file "db.203.162.0";
};
;khai báo cho zone ngược 203.162.1.xxx
zone "1.162.203.in-addr.arpa" in {
type master;
file "db.203.162.1";
};
Chú ý: sau mỗi lần thay đổi dữ liệu để sửa đổi có tác dụng thì cần phải làm động tác
để DNS server cập nhập thay đổi
%su
%password:
# ps -ef | grep named
root 17413 1 5 Sep 07 ? 189:52 /usr/local/sbin/named
# kill -HUP 17413
Còn để chạy DNS server
#/usr/local/sbin/named

Hướng dẫn sử dụng nslookup


nslookup - là công cụ trên internet cho phép truy vấn tên miền và địa chỉ IP một
cách tương tác.
Cấu trúc câu lệnh
nslookup [ -option ... ] [ host-to-find | - [ server ]]
Miêu tả các lệnh của nslookup
server domain & lserver domain Change the default server to domain.
Lserver uses the initial server to look up information about domain while server
uses the current default server. If an authoritative answer can't be found, the names of
servers that might have the answer are returned.
39
root Thay đổi server mặc định sẽ làm root cho domain truy vấn.
ls [option] domain [>> filename]
Hiện danh sách thông tin của domain. Mặc định là hiện tên của host và địa chỉ IP.
Ta có thể sử dụng các lựa chọn để hiện nhiều thông tin hơn:
-t querytype hiện danh sách tất cả bản ghi xác định bởi loại querytype
-a hiện danh sách các bí danh (aliaes) của domain host (tương tự như –t CNAME)
-d hiện danh sách các bản ghi của domain (tương tự như -t ANY)
-h hiện danh sách thông tin về CPU và thông tin về hệ điều hành của domain.
(tương tự như -t HINFO)
? hiện danh sách các câu lệnh.
exit thoát khỏi chương trình.
set keyword[=value] câu lệnh dùng để thay đổi trạng thái thông tin mà có ảnh
hưởng đến truy vấn. Các từ khoá:
all cho phép hiện tất cả các loại bản ghi
[no]debug bật chế độ tìm lỗi. Cho hiện rất nhiều loại thông tin cho phép xác định
lỗi truy vấn đến domain. (mặc định=nodebug, viết tắt = [no]deb)
[no]d2 Bật chế độ tìm lỗi mức cao hơn. Tất cả các gói tin truy vấn đều được xuất
hiện. (mặc định=nod2)
domain=name Thay đổi domain mặc định vào tên. Khi truy vấn một tên nó sẽ tự
động điền thêm domain vào sau.
port=value Chuyển cổng mặc định sử dụng cho TCP/UDP name server thành cổng
được thiết lập bởi giá trị này (mặc định= 53, viết tắt = po)
querytype=value
type=value Chọn loại truy vấn thông tin. Có các loại sau:
A truy vấn host ( khai báo địa chỉ IP).
CNAME (canonical name) tạo tên bí danh ( thường dùng cho web)
HINFO truy vấn loại CPU và hệ điều hành của server.
MINFO thông tin vê hộp thư hoặc mail list.
40
MX truy vấn về mail exchanger.
NS truy vấn về named zone.
PTR truy vấn chuyển từ địa chỉ IP sang domain.
SOA Thông tin về người quản lý về zone.
TXT Các thông tin khác.
UINFO Thông tin về người dùng.
WKS Hỗ trợ cho các dịch vụ khác.
Các loại khác (ANY, AXFR, MB, MD, MF, NULL) được miêu tả chi tiết trong
tiêu chuẩn RFC-1035 . (Mặc định = A, viết tắt = q, ty)
[no]recurse Yêu cầu name server truy vấn tới một server khác nếu nó không có
thông tin về domain cần tìm. (mặc định = recurse, viết tắt = [no]rec)
retry=number Thiết lập số lần truy vấn. Khi truy vấn mà không nhận được trả lời
trong khoảng thời gian nhất định (thiết lập bằng lệnh set timeout). Khi thời gian hết thì
yêu cầu truy vấn sẽ được gửi lại. Và thiết lập ở đây để điều khiển số lần sẽ gửi lại trước
khi từ bỏ truy vấn. (Mặc định = 4, viết tắt = ret)
root=host Đổi root server cho host
timeout=number Thiết lập thời gian timeout cho một quá trìn truy vấn tính
bằng giây. (mặc định = 5 giây, viết tắt = ti)
[no]vc sử dụng một virtual circuit để gửi yêu cầu truy vấn đến server.
(mặc định là = novc, viết tắt = [no]v)
Phân tích lỗi
Nếu truy vấn lookup không thành công thì một thông tin về lỗi sẽ được hiện ra. Và
các lỗi có thể là :
Timed out
Server không trả lời truy vấn sau một khoảng thời gian ( khoảng thời gian có
thể thay đổi bằng câu lệnh set timeout=value) và and a certain number of
retries (changed with set retry=value).
No response from server
41
Không có name server đang chạy tại server mà client chỉ đến.
No records
Server không có bản ghi tương ứng loại mà truy vấn cho host đa tồn tại. Loại truy
vấn được thiết lập bằng câu lệnh "set querytype" .
Non-existent domain
Host hoặc domain name không tồn tại.
Connection refused
Network is unreachable
Kết nối tới name server hoặc finger server không thể được tại thời điểm này. Lệnh
này thường xuất hiện với các yêu cầu của câu lệnh ls và finger.
Server failure
Name server tìm thấy lỗi trong dữ liệu về domain và không thể đưa ra câu trả
lời đúng.
Refused
Name server từ chối yêu cầu trả lời.
Format error
Name server thấy rằng các gói tin yêu cầu không đúng định dạng. Nó có thể là lỗi
của chương trình nslookup.
Ví dụ :

42
43
44
2.3.2. Apache – Máy chủ Web
Apache là phần mềm web server miễn phí mã nguồn mở, hiện đang là một trong
những web server được sử dụng phổ biến trên thế giới. Tên chính thức của Apache là
Apache HTTP Server, được điều hành và phát triển bởi Apache Software Foundation.
Các yêu cầu gửi tới máy chủ sử dụng phương thức HTTP còn được gọi tắt là HTTP
request.
Sử dụng trình duyệt bạn có thể gửi đi một HTTP request đơn giản bằng cách nhập
một địa chỉ IP (hoặc một URL chứa tên miền) và bấm Enter. Khi đó bạn đã gửi đi một
HTTP request tới một máy chủ trên internet. Địa chỉ máy chủ này được xác định bởi
địa chỉ IP (hoặc URL với tên miền) mà bạn đã nhập vào.
Do được cài đặt trên web server (phần cứng) nên Apache hay được gọi là web
server hay HTTP server. Khi sử dụng thuật ngữ web server, chúng ta hiểu rằng người
nói đang đề cập tới góc độ phần mềm.
Cách thức hoạt động của Apache Web Server
Tuy được gọi là Apache web server nhưng nó không phải là server vật lý mà
Apache chính là một phần mềm chạy trên server đó. Nhiệm vụ chính của Apache là
thiết lập kết nối giữa server và browser (Firefox, Chrome, Safari,...), sau đó chịu trách
nhiệm chuyển file qua lại giữa giữa server và browser (cấu trúc hai chiều client-server).
Apache hoạt động tốt với cả server Unix và Windows và là phần mềm đa nền tảng.
Khi visitor tải một site trên trang web, ví dụ trang "About Us", browser của user sẽ
gửi request tải trang đó lên server và Apache sẽ trả lại kết quả với đầy đủ toàn bộ các
file, các thành phần để hiển thị hoàn chỉnh trang About Us (bao gồm image, text,...).
Server và client giao tiếp với nhau qua HTTP protocol và Apache chịu trách nhiệm
đảm bảo quá trình này diễn ra trơn tru và bảo mật giữa hai máy.
Apache là một nền tảng module có độ tùy biến khá cao. Modules cho phép quản trị
viên server có thể tắt hoặc thêm vào các chức năng. Apache sở hữu các modules cho
bảo mật caching, URL rewriting, chứng thực mật khẩu,...
Ưu điểm và hạn chế của Apache
45
Apache web server là lựa chọn khá tối ưu nếu bạn muốn vận hành website của mình
một cách thật ổn định và có thể tùy chỉnh linh hoạt.
Ưu điểm
- Apache là phần mềm mã nguồn mở, miễn phí kể cả cho mục đích thương mại.
- Apache đáng tin cậy, ổn định.
- Apache luôn được cập nhật thường xuyên, được vá lỗi bảo mật liên tục.
- Apache khá linh hoạt vì có cấu trúc module.
- Apache dễ dàng cấu hình, thân thiện với người mới bắt đầu sử dụng.
- Apache là phần mềm đa nền tảng (Unix và Windows).
- Apache hoạt động cực kỳ hiệu quả với các website WordPress.
- Apache sở hữu một cộng đồng lớn và sẵn sàng hỗ trợ bất kỳ lúc nào khi bạn gặp
sự cố.
Tuy nhiên, bên cạnh các ưu điểm to lớn phía trên thì Apache vẫn đang tồn tại một
số điểm bất lợi dưới đây.
Nhược điểm
- Gặp vấn đề hiệu năng nếu website có lượng traffic cực lớn.
- Quá nhiều tùy chọn trong thiết lập gây ra các điểm yếu về bảo mật.
Cách cài đặt Apache
Hướng dẫn sau đây giúp bạn có thể cài đặt Apache từ source, thuận tiện cho việc
tìm hiểu, tùy chỉnh cài đặt và cấu hình.
Bước 1: Download Apache
Download Apache source từ Apache Lounge phiên bản 64 bit hoặc 32 bit. File cần
download là httpd-2.4.33-win64-VC15.zip.
Bản Apache VC15 được xây dựng trên Visual C Redistributable for Visual Studio
2017 (VC_redist.x64.exe cho 64-bit hoặc VC_redist.x86.exe cho 32-bit) nên bạn cần
phải cài đặt nó trên Windows. Nếu bạn muốn cài đặt Apache trên Win XP thì hãy dùng
bản Apache VC10 vì bản VC15 không hỗ trợ Win XP.

46
Bước 2: Cài đặt Apache
Sau khi download Apache từ source, hãy giải nén thư mục Apache24 vào ổ C. Vì
source này được build mặc định cho ổ C, nếu như bạn muốn cài đặt nó trên ổ D hay bất
kỳ đâu thì bạn cần phải thay đổi lại cấu hình cho DocumentRoot… Vì các cấu hình hơi
rắc rối nên chúng ta sẽ để nó ở ổ C và để tên folder là Apache24 theo mặc định.
Như vậy là quá trình cài đặt Apache đã hoàn thành. Để khởi động Apache, vào thư
mục C:\Apache24\bin và chạy file httpd.exe.
Bây giờ bạn có thể vào http://localhost để kiểm tra. Nếu như bạn nhìn thấy dòng "It
works!" là bạn đã cài đặt và chạy Apache thành công.
Có thể bạn sẽ nhìn thấy thông báo này khi chạy file httpd.exe:
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain
name, using fe80::b93e:e93c:a570:f94a. Set the 'ServerName' directive globally to
suppress this message
Đây chỉ là cảnh báo, không phải lỗi. Để fix, bạn cần phải gán giá trị cho mục
ServerName trong file C:\Apache24\conf\httpd.conf như sau:
#ServerName www.example.com:80
Bỏ dấu "#" phía trước và thay đổi giá trị thành "localhost" hoặc domain của bạn.
ServerName localhost
Bây giờ bạn tắt cửa sổ httpd.exe và chạy lại file này để khởi động Apache xem còn lỗi
hay không.
Bật mod_rewrite trong Apache trên localhost
Để sử dụng được Wordpress Permalink hoặc rewrite cho htaccess, bạn cần phải bật
mod_rewrite trên localhost. Để bật mod_rewrite trong Apache, bạn cần mở file C:\
Apache24\conf\httpd.conf và tìm đoạn sau:
#LoadModule rewrite_module modules/mod_rewrite.so
Xóa dấu "#" ở trước để bật module này nhé. Sau khi xóa sẽ được như sau:
LoadModule rewrite_module modules/mod_rewrite.so
Tiếp theo bạn cần tìm đến đoạn sau:
47
<Directory "c:/Apache24/htdocs">
………………….
AllowOverride None
………………….
</Directory>
Sửa AllowOverride None thành AllowOverride All như sau:
<Directory "c:/Apache24/htdocs">
………………….
AllowOverride All
………………….
</Directory>
Restart Apache và kiểm tra. Bạn cũng có thể bật mod_rewrite trong XAMPP, WAMP,
Appserv bằng cách làm tương tự.

48
2.3.3. Máy chủ CSDL (MySQL)
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là
RDBMS) hoạt động theo mô hình client-server. Với RDBMS là viết tắt
của Relational Database Management System. MySQL được tích hợp
apache, PHP. MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu
có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất và
mã lệnh tương tự với ngôn ngữ SQL. MySQL được phát hành từ thập niên 90s.
Lịch sử hình thành và phát triển của MySQL
Quá trình hình thành và phát triển của MySQL được tóm tắt như sau:
- Công ty Thuy Điển MySQL AB phát triển MySQL vào năm 1994.
- Phiên bản đầu tiên của MySQL phát hành năm 1995
- Công ty Sun Microsystems mua lại MySQL AB trong năm 2008
- Năm 2010 tập đoàn Oracle thâu tóm Sun Microsystems. Ngay lúc đó, đội ngũ phát
triển của MySQL tách MySQL ra thành 1 nhánh riêng gọi là MariaDB. Oracle tiếp tục
phát triển MySQL lên phiên bản 5.5.
- 2013 MySQL phát hành phiên bản 5.6
- 2015 MySQL phát hành phiên bản 5.7
- MySQL đang được phát triển lên phiên bản 8.0
MySQL hiện nay có 2 phiên bản miễn phí (MySQL Community Server) và có phí
(Enterprise Server).
Ưu điểm và nhược điểm của MySQL
Ưu điểm của MySQL
- Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động
trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
- Độ bảo mật cao:  MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên
Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.
- Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ
quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
49
- Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa
nó có thể được mở rộng nếu cần thiết.
- Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu
quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
Nhược điểm của MySQL
- Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm với các hạn
chế về chức năng mà một vào ứng dụng có thể cần.
- Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham
khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản
trị cơ sở dữ liệu quan hệ khác.
- Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu
của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc
độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache
MySQL

Tại sao nên dùng MySQL


- MySQL là CSDL có tốc độ khá cao, ổn định và khá dễ sử dụng có thể hoạt động
được trên khá nhiều hệ điều hành.
- Tính bảo mật mạnh và sử dụng được trên nhiều ứng dụng mà MySQL còn hoàn
toàn được sử dụng miễn phí.
- MySQL không chỉ dừng lại ở bổ trợ cho PHP và Perl, mà nó còn bổ trợ cho nhiều
ngôn ngữ khác, Nó là nơi để lưu trữ thông tin trên các trang web được viết
bằng Perl hoặc PHP.

50
Hoạt động của MySQL

Hình 2.6: Cách MySQL vận hành là khá đơn giản

Cách vận hành chính trong môi trường MySQL như sau:


- MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng đó.
- Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL.
- Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client.

51
Hướng dẫn cài đặt MySQL Server trên Windows

Hình 2.7: Cài đặt MySQL Server trên Windows

Bạn nên lựa chọn hệ điều hành Windows khi thuê máy chủ, bởi trên
Windows, Server của bạn sẽ được tối ưu tốt nhất
Bước 1: Tải MySQL
Sau khi tải MySQL Cummunity (bản miễn phí) về bạn sẽ có đủ 3 file như sau:
- Microsoft .NET Framework 4 Client Profile
- Visual C++ Redistributable for Visual Studio 2013
- MySQL
Bước 2: Cài đặt MySQL
Đầu tiên bạn cần cài đặt Microsoft .NET Framework 4 Client Profile, Visual C++
Redistributable for Visual Studio 2013 trước sau đó cài đặt đến file MySQL.
Các bước cài đặt MySQL Server như sau:
- Mở file cài đặt —> Accept —> Next
- Chọn Full để cài đặt tất cả, bao gồm cả Database —> Next
- Ở bước này bạn sẽ thấy tất cả các gói được cài đặt. Chọn Execute Chọn Next

52
- Tiếp theo chúng ta sẽ đến phần cấu hình cho MySQL Server. Chọn Next
- Lựa chọn
Config Type: Development Machine
Connectivity: Click chọn TCP/IP —> Open Firewall
- Sau đó click Next
- Tại Accounts and Roles bạn điền mật khẩu của mình vào, sau đó chọn Next
- Mặc định User là root, bạn điền mật khẩu đã thiết lập bên trên vào để check và kết
nối với MySQL server.
- Chờ đợi hoàn tất, chọn Finish.

Cách cài đặt MySQL cho Server/VPS bất kỳ


Hiển nhiên, sẽ có nhiều hệ điều hành cho server/vps khác ngoài Windows. Dưới đây
sẽ hướng dẫn bạn cài đặt MySQL trên CentOS, và phần mềm tích hợp sẵn MySQL
XAMPP.
Cài đặt MySQL cho CentOS
Để tiến hành cài đặt MySQL trên các server này yêu cầu bạn có trình độ chuyên
môn sâu. Công việc cài đặt của bạn sẽ bao gồm:
- Cài đặt Apache2
- Cài đặt MySQL
- Cài đặt, kiểm tra PHP và MySQL hỗ trợ cho PHP
Cài đặt LAMP/XAMPP đã tích hợp sẵn MySQL
Xampp là chương trình tạo máy chủ Web đượ c tích hợp sẵn Apache, PHP,
MySQL, FTP Server, Mail Server và cá c cô ng cụ như phpMyAdmin.
Nó phân bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo
ra máy chủ web local để kiểm tra và triển khai trang web của mình. Không
như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt
hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào.

53
2.3.4. Email – Máy chủ thư điện tử
Thư điện tử là một phương tiện truyền thông tin rất nhanh chóng và tiện lợi. Thông
tin truyền đi có thể được truyền ở dạng mã hoá hoặc dạng thông thường. Một bức thư
điện tử được gửi đi có thể đi qua rất nhiều máy chủ khác nhau trên mạng internet và
cuối cùng đến được một hay nhiều máy người nhận cùng lúc chỉ trong vòng vài chục
giây.
Cấu trúc hệ thống thư điện tử
Hệ thống Mail Server là một hệ thống tổng thể bao gồm nhiều thành phần hoạt động
tương tác với nhau. Mỗi thành phần bản thân phục vụ các dịch vụ khác nhau, nhưng
đồng thời các kết quả lại được đưa đến các thành phần khác để xử lý tiếp theo. Dưới
đây là mô hình của hệ thống Mail Server và sự tương tác giữa các thành phần bên
trong:

54
Hình 2.8: Cấu trúc hệ thống thư điện tử chung
Mail User Agent (MUA): Trình tương tác với người dùng, soạn thảo, gửi hoặc
nhận e- mail
SMTP Server: gọi là Mail Transfer Agent (MTA). SMTP server sử dụng để chuyển
e-mail từ người gửi đến Mail Server chứa hộp thư, dùng giao thức SMTP.
POP3/IMAP Server: Gọi là Mail Delivery Agent (MDA), lưu các thư nhận được
vào hệ thống và khi cần người dùng sử dụng chương trình mail client lấy các thư này
về máy tính để đọc. Chương trình mail client giao tiếp với POP/IMAP server dựa trên
giao thức POP3/IMAP. Thông thường mail server hỗ trợ cả hai giao thức SMTP và
POP3, còn IMAP thì ít hơn.
DNS Server: Lưu trữ 1 hoặc nhiều bản ghi MX cho các tên miền, nhằm xác định
địa chỉ của hệ thống Mail muốn giao tiếp.
Database server: Lưu trữ các thông tin về người dùng hệ thống, cung cấp dữ liệu
phục vụ cho vấn đề chứng thực người dùng.
Webserver, webmail: Cung cấp giao diện người dùng nền web, người dùng có thể
thực hiện các thao tác tương tác với hệ thống qua giao diện này.
 
Các giải pháp e-Mail mã nguồn mở
Hiện nay trên thế giới đa xuất hiện rất nhiều sản phẩm xây dựng một hệ thống Mail
Server. Có nhiều sản phẩm với giá cả rất rẻ (thậm chí miễn phí), nhỏ gọn, cài đặt và
quản trị đơn giản, như WorkGroupMail, Surge Mail Server, Kerio Mail Server. Cũng
có những sản phẩm lớn, giá thành cao, tính năng phong phú, đáp ứng được sự ổn định
và an toàn như Mail Exchange của Microsoft, Merak Mail Server…
Tuy nhiên các hệ thống này chưa đáp ứng được nhu cầu người dùng. Hệ điều hành
linux là sự lựa chọn tốt nhất cho nền tảng hệ thống. Trong thế giới mã nguồn mở hiện
nay, đã có rất nhiều hệ thống truyền tải thư điện tử MTA (Mail Transfer Agent) được
phát triển. Nổi tiếng và phổ biến trong số đó gồm có: Sendmail, Qmail, Postfix, Exim,
Courier. Mỗi MTA đều có những ưu điểm và nhược điểm riêng:
55
Sendmail

Sendmail (http://www.sendmail.org) là MTA đơn giản và lâu đời nhất trên các dòng
Unix thời xưa. Ngày nay, trên các hệ thống Linux, đặc biệt là các sảm phẩm của
RedHat, Sendmail vẫn được cài đặt là MTA mặc định cho hệ thống. Ngày nay,
Sendmail đa được thương mại hóa bên cạnh sản phẩn miễn phí và vẫn được tiếp tục
duy trì, phát triển. Tuy nhiên, vì được thiết kế theo cấu trúc khối và ảnh hưởng từ cấu
trúc cũ, nên Sendmail chưa đạt được tính năng ổn định và bảo mật của một MTA như
mong muốn.
 
Qmail

Qmail được viết bởi Bernstein, là một MTA dành cho hệ điều hành tựa Unix, bao
gồm Linux, FreeBSD, Sun Solaris, … Qmail ra đời như một tất yếu thay thế cho
Sendmail và các yếu điểm của nó. Vì vậy, Qmail ngay từ ban đầu đa được thiết kế đơn
giản, module hóa với tiêu chí bảo mật được đặt lên rất cao. Đồng thời, Qmail là một
MTA hiện đại nên hỗ trợ tốt các kiểu định dạng mới hiện nay như định dạng hòm thư

56
Maildir…Do Qmail được thiết kế module hóa và tối ưu hóa các tính năng ngay từ đầu,
nên nó có tốc độ thực thi rất nhanh và ổn định.
 
Postfix

Weitse Venema, tác giả của các phần mềm miễn phí nổi tiếng như TCP Wrappers,
SATAN và Logdaemon, ông không hài lòng khi sử dụng các MTA hiện có (bao gồm
cả Qmail), vì vậy, ông đa viết ra Postfix (http://www.postfix.org). Postfix là một MTA
mới, có khả năng thực thi cao, thừa kế cấu trúc thiết kế tốt từ Qmail, trong khi đó vẫn
giữ được tính tương thích tối đa với Sendmail. So sánh với Qmail, Postfix có kích
thước lớn hơn, phức tạp hơn, trong khi đó lại kém bảo mật, kém tin cậy và chạy chậm
hơn. Tuy Postfix cũng được thiết kế theo cấu trúc module, nhưng các module của
Postfix chạy dưới quyền của cùng một người dùng hệ thống, vì vậy sự hỏng hóc của
một module có thể ảnh hưởng đến toàn bộ hệ thống. Xét về tổng thể, Postfix là một
MTA tốt. Nếu vấn đề bảo mật và khả năng thực thi của hệ thống không được đoi hỏi
quá cao, người quản trị có thể chọn và sử dụng Postfix.

Exim

57
Philip Hazel đa phát triển Exim (http://www.exim.org) tại trường đại học
Cambridge. Nó được thiết kế theo xu hướng nhỏ và đơn giản nhưng vẫn đảm bảo các
tính năng. Tuy nhiên, Exim vẫn được thiết kế theo cấu trúc khối, và hai yếu tố quan
trọng với các MTA hiện đại là bảo mật và khả năng thực thi lại không được coi trọng.
Hiện nay, Exim là MTA được lựa chọn và cài đặt mặc định trên các phiên bản phân
phối Linux dựa theo Debian, ngoài ra nó không được sử dụng rộng rãi.

58
2.3.5. OpenOffice - Ứng dụng văn phòng
OpenOffice là phần mềm văn phòng mã nguồn mở hàng đầu hiện nay, hoàn toàn có
thể thay thế bộ ứng dụng văn phòng phổ biến Microsoft Office. OpenOffice là đề án
phần mềm nguồn mở với mục đích qua sự đóng góp của cộng đồng những người viết
phần mềm, soạn thảo ra một chương trình ứng dụng văn phòng hoạt động được với tất
cả các hệ điều hành phổ biến và khai thác các chức năng và tài liệu thông qua các thành
phần mở dựa trên các thư viện nguồn API và dạng hồ sơ XML.

Hình 2.9: Download Apache OpenOffice 4.1.6

OpenOffice gồm các ứng dụng soạn thảo văn bản, bảng tính điện tử, trình chiếu, xử
lý đồ họa vector và soạn thảo trang mạng với tất cả những mệnh lệnh tương đương với
các chương trình ứng dụng văn phòng khác và có thể thay thế được các phần mềm
thương mại này.
OpenOffice bao gồm tất cả các công cụ cần thiết cho một ứng dụng văn phòng. Nó
rất đáng tin cậy, dễ sử dụng và chạy rất trơn tru, ngay cả trên các máy tính cũ.

59
Các ứng dụng chính trong OpenOffice
OpenOffice Writer tương đương Microsoft Word
Đây là một phần của bộ ứng dụng được thiết kế như MS Word. Nó đi kèm với tính
năng kiểm tra chính tả, cho phép người dùng chèn bảng biểu, hình ảnh, tập tin hoặc đồ
thị vào tài liệu mới. Thay đổi địng dạng, xây dựng các macro, chuyển sang ngôn ngữ
khác, thậm chí cài đặt phần mở rộng từ cùng một giao diện.

Hình 2.10: Giao diện OpenOffice Writer

OpenOffice Impress tương đương Microsoft PowerPoint


OpenOffice Impress giúp người dùng làm các bài thuyết trình của mình trở nên hấp
dẫn hơn. Impress rất dễ sử dụng, với các bản vẽ và công cụ để tạo tính hấp dẫn cho bài
thuyết trình.

60
Hình 2.11: Giao diện làm việc của OpenOffice Impress

OpenOffice Calc tương đương Microsoft Excel


Calc là ứng dụng bảng tính, ứng dụng này chứa mọi thứ bạn cần như trên MS Excel
nhưng lại trong một ứng dụng miễn phí: chức năng bảng tính, các công thức, bộ lọc,
biểu đồ, bản vẽ,…

61
Hình 2.12: Giao diện làm việc của OpenOffice Calc

OpenOffice Draw
Ứng dụng này giúp bạn tạo ra các sơ đồ từ đơn giản tới 3D sống động.

OpenOffice Base tương đương Microsoft Access


Cho phép bạn thao tác với cơ sở dữ liệu. Tạo, sửa đổi bảng, biểu mẫu, các truy vấn
và báo cáo.

62
Hình 2.13: Giao diện làm việc của OpenOffice Base

OpenOffice Math
Ứng dụng này cho phép bạn viết ra các phương trình, công thức toán học dạng phức
tạp.

63
Hình 2.14: Giao diện làm việc của OpenOffice Math

OpenOffice.org hiện đang được khuyến khích dùng ở các cơ quan hành chính, sự
nghiệp để dần thay thế cho bộ văn phòng nặng nề đắt đỏ của MS. OpenOffice tương
thích hoàn toàn các định dạng của bộ MS Office, do đó bạn có thể chuyển đỗi việc sử
dụng rất dể dàng.

64
2.3.6. CMS mã nguồn mở trong Moodle
Tổng quan về Moodle
- Moodle là từ viết tắt của Modular Object-Oriented Dynamic Learning
Environment, mục đích giúp tạo ra những khóa học trực tuyến với sự tương tác cao.
- Moodle được sáng lập năm 1999 bởi Martin Dougiamas, và được điều phối bởi
Moodle HQ, một công ty Úc với 30 nhà phát triển và được tài trợ bởi một mạng lưới
với hơn 60 công ty dịch vụ Moodle đối tác trên toàn thế giới. Moodle hiện là phần mềm
được sử dụng rộng rãi với nhiều tính năng tuyệt vời.
- Moodle là một hệ thống quản lý học tập (Learning Management System
- LMS hoặc người ta còn gọi là Course Management System hoặc VLE - Virtual
Learning Environment)
- Moodle là một nền tảng học tập mã nguồn mở, miễn phí với độ linh hoạt cao, cho
phép tạo các khóa học trên mạng Internet hay các website học tập trực tuyến, được thiết
kế để cung cấp cho các nhà giáo dục, các quản trị viên và người học với một hệ thống
mạnh mẽ, an toàn và tích hợp duy nhất để tạo ra môi trường học tập cá nhân.
- Moodle được đăng ký theo bản quyền GNU GPL.
Moodle được xây dựng cho việc học tập, trên toàn cầu
Moodle thật sự rất đáng tin cậy, các tổ chức  giáo dục lớn và nhỏ trên toàn thế giới
đều đang sử dụng hệ thống này, có thể kể tới: Shell, London School of Economics,
State University of New York, Microsoft and the Open University... Moodle trải rộng
khắp trên 160 quốc gia với hơn 10.000 site, dịch ra 75 ngôn ngữ, đồng thời được hơn 79
triệu người dùng trên thế giới sử dụng làm nền tảng học tập.
Được thiết kế để hỗ trợ giảng dạy và học tập
Moodle nổi bật với thiết kế dành cho giáo dục và những người làm giáo dục với hơn
10 năm phát triển theo phương pháp sư phạm constructionist xã hội. Moodle cung cấp
một bộ công cụ mạnh mẽ và số lượng đồ sộ về tài liệu hỗ trợ, lấy người học làm trung
tâm, môi trường học tập hợp tác, trao quyền cho cả giảng dạy và học tập.
65
Dễ dàng sử dụng
Sở dĩ Moodle dễ sử dụng bởi các giao diện trực quan, tính năng đơn giản, kéo và
thả... Ngoài ra, người dùng còn có thể tự từ cài và nâng cấp Moodle, chỉnh sửa theo các
theme có sẵn hoặc theme tự tạo. Moodle dễ học và dễ sử dụng bởi chúng được nâng cấp
và cải tiến liên tục.
Miễn phí và không cần lệ phí cấp giấy phép
- Moodle là một hệ thống quản lý học tập mã nguồn mở cho phép tạo các khóa học
trên internet hoặc website, vì vậy mà nó được cung cấp tự do miễn phí và có thể sử
dụng, chỉnh sửa, mở rộng bởi bất kì người dùng nào.
- Moodle được cung cấp theo giấy phép GNU General Public và không cần bất kì
khoản phí cấp phép nào.
Luôn luôn được cập nhật
Moodle là mã nguồn mở, có nghĩa là nó liên tục được xem xét và cải tiến cho phù
hợp với nhu cầu hiện tại của người dùng và phát triển trong tương lai.
Moodle hỗ trợ đa ngôn ngữ
Khả năng đa ngôn ngữ của Moodle đảm bảo bạn sẽ không có những hạn chế về ngôn
ngữ khi tham gia môi trường học tập trực tuyến. Các cộng đồng Moodle đã bắt đầu dịch
Moodle ra hơn 120 ngôn ngữ. Người dùng có thể dễ dàng định vị site Moodle của họ,
bên cạnh đó cũng có rất nhiều tài nguyên, các tài liệu hỗ trợ và thảo luận cộng
đồng trong các ngôn ngữ khác nhau giúp người dùng tiếp cận rất dễ dàng.
Tất cả đều năm trong chỉ một nền tảng học tập
- Moodle cung cấp bộ công cụ linh hoạt nhất nhằm hỗ trợ cho việc học tập trực
tuyến. Cấu hình Moodle có thể vô hiệu hoặc cho phép tính năng cốt lõi, dễ dàng tích
hợp tất cả mọi thứ cần thiết cho một khóa học đầy đủ tính năng, bao gồm diễn đàn,
wiki, chat và blog.
- Bạn có thể dùng Moodle với các database mã nguồn mở như MySQL hoặc
PostgreSQL. Phiên bản 1.7 sẽ hỗ trợ thêm các database thương mại như Oracle,
Microsoft SQL, do đó các bạn sẽ có thêm nhiều cơ hội lựa chọn.
66
Rất linh hoạt và tùy biến hoàn toàn
Bởi vì nó là mã nguồn mở, Moodle có thể được tùy chỉnh trong bất kỳ cách nào sao
cho phù hợp với nhu cầu cá nhân, cho phép các nhà phát triển tạo ra các plugin và tích
hợp các ứng dụng bên ngoài vào. Bạn có thể mở rộng tính năng vô tận của Moodle bằng
cách sử dụng các plugin tự do có sẵn và các add-ons.
Khả năng mở rộng
Moodle phát triển dựa trên PHP, nên nó có thể mở rộng từ một lớp học nhỏ có vài
học sinh đến các trường đại học lớn trên 50 000 sinh viên (như Open Technique, Open
university of UK, Athabasca University), đến hàng triệu người dùng. Bởi vì tính linh
hoạt và khả năng mở rộng này, Moodle có thể tùy biến và thích nghi ở tất cả các lĩnh
vực giáo dục, kinh doanh, phi lợi nhuận, chính phủ, và cộng đồng.
Mạnh mẽ, an toàn và miễn phí
Moodle cam kết bảo vệ an toàn dữ liệu và sự riêng tư của người dùng, vì hệ thống
này được kiểm soát an ninh liên tục, được cập nhật và thực hiện các quy trình và phát
triển, giúp ngăn cản việc truy cập trái phép, mất dữ liệu và sử dụng sai. Moodle còn có
thể dễ dàng triển khai trên cloud an toàn hoặc server nhằm đơn giản hóa việc kiểm soát
hơn.
Sử dụng bất cứ lúc nào, bất cứ nơi nào, trên bất kỳ thiết bị
Moodle dựa trên web nên có thể được truy cập từ bất cứ nơi nào vào mọi thời điểm
trên thế giới. Có thể là pc, laptop, smartphone, Tablet,… giao diện của Moodle có
thể tương thích với khá nhiều trình duyệt, đồng thời nội dung trên nền tảng Moodle
cũng rất nhất quán trên các trình duyệt khác nhau của mọi thiết bị khác nhau.
Nguồn lực luôn có sẵn
Tài liệu hướng dẫn và sử dụng moodle hỗ trợ nhiều ngôn ngữ, nội dung và các khóa
học, hàng trăm plugin và tiện ích được chia sẻ bởi người dùng Moodle trên toàn thế giới
đều miễn phí và luôn sẵn sàng cho bạn tiếp cận bất cứ lúc nào.
Được hỗ trợ bởi một cộng đồng mạnh mẽ

67
Được điều phối bởi Moodle HQ, một công ty Úc với 30 nhà phát triển và được tài
trợ bởi một mạng lưới với hơn 60 công ty dịch vụ Moodle đối tác trên toàn thế giới,
chính vì vậy Moodle hiện là phần mềm được sử dụng rộng rãi với nhiều tính năng tuyệt
vời. Điều này giúp cho Moodle luôn nhanh chóng được sửa lỗi và cải tiến, nâng
cấp phiên bản mới sau mỗi 6 tháng.

68
Chương 3. Xây dựng ứng dụng mã nguồn mở
3.1. Giới thiệu Joomla
Joomla! là một hệ quản trị nội dung nguồn mở, được cung cấp miễn phí theo giấy phép
GNU. Joomla được phát triển từ Mambo, được viết bằng ngôn ngữ PHP và kết nối tới cơ
sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ
lên Internet hoặc Intranet.
Joomla! có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển
thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn
đàn, bình chọn, lịch biểu, tìm kiếm trong site và hỗ trợ đa ngôn ngữ.
Joomla! được phát âm theo tiếng Swahili như là jumla nghĩa là "đồng tâm hiệp lực".
Joomla! được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho tới
những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng
dụng. Joomla! có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy cao.

Hình 3.1: Thông tin về Joomla

69
Ứng dụng:

Hình 3.2: Trang chủ mặc định sau khi cài đặt Joomla! 1.0.11

- Các cổng thông tin điện tử hoặc các website doanh nghiệp


- Thương mại điện tử trực tuyến
- Báo điện tử, tạp chí điện tử
- Website của các doanh nghiệp vừa và nhỏ
- Website của các cơ quan, tổ chức phi chính phủ
- Website các trường học
- Website của gia đình hay cá nhân

Lịch sử
Joomla! là "sản phẩm anh em" với Mambo giữa tập đoàn Miro của Úc (hãng đang nắm
giữ Mambo), với phần đông những người phát triển nòng cốt.

70
Ban đầu công ty Miro của Úc (tiếng Anh: Miro Software Solutions) đã phát
triển Mambo theo dạng ứng dụng mã nguồn đóng. Đến tháng 4 năm 2001, công ty đã
thông qua một chính sách bản quyền kép, nghĩa là phát hành Mambo theo cả giấy
phép GPL.
Mọi thứ vẫn tiến triển bình thường cho đến trước khi xảy ra tranh chấp về mặt pháp lý
vào năm 2003. Vụ việc dẫn tới ý tưởng Mambo cần phải được bảo vệ bởi một tổ chức phi
lợi nhuận. Nhưng những nhà phát triển không hài lòng về cơ cấu của Quỹ tài trợ
Mambo. Andrew Eddie, người lãnh đạo nhóm phát triển, trong một lá thư gửi cộng đồng,
đã chia sẻ những lo lắng của mình về Quỹ tài trợ Mambo và mối quan hệ của nó tới cộng
đồng. Ông viết:

“ "...Chúng tôi cho rằng tương lai của Mambo nên được quản lý, điều chỉnh bởi
những yêu cầu của người sử dụng và khả năng của những nhà phát triển. Trong
khi đó, Quỹ tài trợ Mambo lại được thiết kế nhằm trao quyền điều khiển cho
Miro, một thiết kế ngăn cản sự hợp tác giữa Quỹ tài trợ và cộng đồng..." ”

Bởi vậy vào ngày 17 tháng 8 năm 2005, toàn bộ đội phát triển nòng cốt của Mambo đã
rời khỏi dự án trong khi đang làm việc với phiên bản 4.5.3.
Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software Freedom Law Center -
SFLC), 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức phi lợi nhuận khác
lấy tên là Open Source Matters, để hỗ trợ về mặt tổ chức, pháp lý và kinh phí cho dự án mã
nguồn mở còn chưa được đặt tên của họ. Cùng lúc đó, nhóm phát triển cũng lập một
website lấy tên OpenSourceMatters để phân phối thông tin tới những người sử dụng,
những người phát triển, những người thiết kế và cộng đồng Joomla nói chung. Người đứng
đầu dự án chính là Andrew Eddie, còn được biết đến với tên gọi "Sếp trưởng"
Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn OpenSourceMatters, hầu hết các
bài viết cho diễn đàn đều khuyến khích và đồng tình với hành động của Nhóm Phát triển.
Tin trên đã nhanh chóng được đăng tải trên các tạp chí
newsforge.com, eweek.com và ZDnet.com.  

71
Trong một thông báo của Eddie 2 tuần sau đó, các nhóm đã được tổ chức lại và cộng
đồng Joomla! tiếp tục tăng trưởng. Tới ngày 1 tháng 9 năm 2005 tên mới của dự án đã
được thông báo cho khoảng 3000 người theo dõi đội phát triển và đến ngày 16 tháng 9 thì
họ cho ra đời Joomla! 1.0.
3.1.1. Cài đặt Joomla
Cần những gì để tạo Website cài đặt bằng Joomla
1. Bộ cài đặt Joomla. Bạn có thể download bộ mã nguồn Joomla tại đây.
2. Phần mềm tạo Webserver như: Xampp, Vertrigo, Wampp… nếu cài đặt trên
Localhost
3. Hosting Linux nếu bạn muốn cài đặt online trên mạng Internet để làm blog cá nhân,
trang bán hàng,…

Các bước cài đặt Joomla 2.5 trên Localhost.


Bước 1: Cài đặt Webserver để chạy Website trên Windows
(Sử dụng XAMPP để làm hướng dẫn.)
Bước 2: Copy mà nguồn vào thư mục htdocs.
Sau khi đã làm hoàn tất Bước 1. Bạn copy bộ mã nguồn Joomla 2.5 và thư mục theo
đường dẫn sau: C:\xampp\htdocs. Tạo thư mục tên Joomla và tiến hành tiếp giải nén mã
nguồn Joomla vào đây.
Bước 3: Thực hiện cài đặt Joomla
1 – Bạn mở trình duyệt bất kì, truy cập địa chỉ: localhost/Joomla. Giao diện cài đặt
joomla hiện lên. Bạn chọn Tiếp theo.

72
Hình 3.3a: Cài đặt Joomla

2 – Bước kiểm tra trước khi cài đặt, Joomla sẽ tự động kiểm tra các thành phần hỗ trợ
của webserver cho Joomla. Chọn Tiếp theo.

Hình 3.3b: Cài đặt Joomla

3 – Bước Giấy phép GNU General Public để tham khảo thêm giấy phép hoạt động của
Joomla. Tiếp theo.

73
Hình 3.3c: Cài đặt Joomla

4 – Bước Cấu hình cơ sở dữ liệu.

Hình 3.3d: Cài đặt Joomla

Database Configuration, các tham số về cơ sở dữ liệu sẽ được yêu cầu.


User này là một MySQL administrator và có thể làm mọi thứ trong hệ thống MySQL.
Các tham số có thể được nhập như mẫu dưới đây:
- Host Name: localhost
- User Name: root

74
- Password: để trống
- Database Name: Tên mà bạn đã tạo ra trong Localhost/Phpmyadmin

5 – FTP Configuration (cấu hình FTP)

Hình 3.3e: Cài đặt Joomla

FTP là một giao thức truyền file có thể được sử dụng để upload và quản lí các file trong
Joomla!. Tuy nhiên, chức năng này là không cần thiết nếu Joomla! được cài đặt tại máy
tính các nhân với XAMPP. Nhưng nếu Joomla được cài đặt trên một server từ một nhà
cung cấp, thì ta sẽ có thể nhập vào các dữ liệu mà nhà cung cấp đó gửi cho tại phần cấu
hình FTP này.
Chọn Tiếp theo.

6 - Configuration (cấu hình)

75
Hình 3.3f: Cài đặt Joomla

- Tên trang: có thể điền bất cứ gì, ví dụ: topthuthuat.com


- Địa chỉ hòm thư điện thử: điền địa chỉ hòm thư quản trị (mail), ví
dụ: contact@topthuthuat.com
- Tên đăng nhập quản trị: đặt tên đăng nhập để truy cập trang quản trị joomla, thông
thường nếu website đang trong quá trình xây dựng, các bạn có thể để mặc định là admin.
- Mật khẩu quản trị: chọn mật khẩu để đăng nhập trang quản trị, với website đang trong
quá trình xây dựng, tôi nghĩ các bạn nên đặt những mật khẩu đơn giản. Về sau sau khi
hoàn tất website, các bạn có thể đổi lại mật khẩu phức tạp.
- Xác nhận mật khẩu quản trị: xác nhận mật khẩu.
Ở phần dữ liệu mẫu: Nếu bạn chưa biết gì về Joomla bạn nên nhấn vào Cài đặt dữ liệu
mẫu. Và Chọn Tiếp Theo.

76
Hình 3.3g: Cài đặt Joomla

7 - Completion (hoàn thành)

Hình 3.3h: Cài đặt Joomla

Đây là bước cài đặt cuối cùng. Click Remove installation folder để tiếp tục để kết thúc
quá trình thực hiện.

77
3.1.2. Quản trị Joomla
Hướng dẫn sử dụng Joomla! – Tạo website
Với Joomla, bạn sẽ có rất nhiều lựa chọn về cách cấu trúc trang web và quản lý nội
dung. Trong bài viết này, bạn sẽ được hướng dẫn sử dụng Joomla để quản lý nội dung dễ
dàng và hiệu quả.
1. Thêm bài viết
Hãy bắt đầu với những điều cơ bản. Từ trang quản trị, bấm vào nút Content, rê chuột
qua tùy chọn quản lý bài viết và nhấp vào Add new article. Một trình soạn thảo sẽ bật lên.
Nó có thể được sử dụng để định dạng và thêm văn bản vào bài viết của bạn. Bạn cũng có
thể thêm hình ảnh hoặc liên kết ở đây.
Một khi bạn đã hoàn thành bài viết, nhấn nút Save để xuất bản.

78
Hình 3.4a: Quản trị Joomla

Một khi bài viết đã được tạo ra, nó sẽ xuất hiện trong phần Latest Articles. Nếu bạn
muốn liên kết nó với trình đơn chính của trang web, hãy làm theo các bước sau:
1. Bấm vào tab Menu
2. Rê chuột tới Main Menu, chọn vào Add new menu item
3. Nhập vào phần tiêu đề cho menu. Ví dụ: My Article
4. Chọn loại menu, do đây là một dạng bài viết nên chọn vào Articles
5. Do cần chọn bài biết mới thêm vào, hãy bấm Single Article
6. Bấm Select ở bài viết cần thêm

79
7. Chọn Save để lưu lại
Như vậy là bạn đã thực hiện thêm bài viết vừa tạo vào menu chính trên website.

2. Thêm Joomla Components


Joomla cho bạn khả năng thêm các chức năng đặc biệt (ngoài các chức năng tiêu chuẩn)
vào văn bản, liên kết và hình ảnh nhầm tạo ra các nội dung phức tạp bằng các components.
Trình quản lý components có các tùy chọn khác nhau để thêm các trang phức tạp vào
web của bạn. Joomla có khá nhiều components được xây dựng sẵn để tạo các loại trang
chuyên dụng một cách dễ dàng như: danh bạ, tìm kiếm, tìm kiếm thông minh, nguồn cấp
dữ liệu tin tức, liên kết web,…
Ví dụ: để tạo một trang lấy tin từ một website khác, bạn sẽ đi
tới Components chọn News Feeds > New. Trong trang mới, thực hiện điền các thông tin
cần thiết như tên, URL tới nguồn tin muốn hiển thị và bấm Save để lưu lại.

Hình 3.4b: Quản trị Joomla

80
Có rất nhiều các component được tìm thấy ở menu Components, cách sử dụng tương
tự như trên. Bạn sẽ có thể thiết lập chúng chỉ trong vài cú click chuột.

3. Thêm Joomla Categories


Joomla có hệ thống categories cho phép bạn phân loại nội dung của mình một cách hiệu
quả. Mỗi khi tạo bất kỳ nội dung mới nào bạn có thể chỉ định một category nó. Việc này
bạn giúp giữ mọi thứ có cấu trúc và hệ thống đồng nhất. Categories trở nên thật sự hữu
dụng khi mà bạn có nhiều các loại nội dung/bài viết khác nhau đặt trên trang web. Để thêm
category mới, hãy làm theo các bước đơn giản sau:
1. Từ trang admin, bấm chọn Content
2. Trong Categories, chọn vào Add New Category
3. Thêm bí danh, tiêu đề, mô tả và nhấn Save. (Lưu ý: bí danh và mô tả là tùy chọn)
4. Bấm Save lần nữa để thực hiện thêm category mới

Hình 3.4c: Quản trị Joomla

81
Lưu ý: cũng giống như articles, các components của Joomla cũng có thể sắp xếp theo
category. Tuy nhiên, có một sự khác biệt giữa article và component là khi bạn chọn menu
cho bất kỳ component nào, bạn sẽ được đưa đến trình quản lý category cho component
được chỉ định. Tại đây, để thêm mới bạn chì cần bấm vào nút New. Mặc dù cách đi đến
khác nhau nhưng tùy chọn tạo mới category là tương tự.

4. Tạo bài viết nổi bật


Bạn có thể tạo trang chứa các nội dung tổng hợp dựa trên các thuộc tính gần giống
nhau.

Hình 3.4d: Quản trị Joomla

Bước đầu tiên là đánh dấu các articles (bài viết) là nổi bật. Điều này rất dễ thực hiện,
chỉ cần vào Content và sau đó nhấp vào Articles. Danh sách các bài viết (articles) trên
trang web của bạn sẽ được hiển thị ở đây. Bạn sẽ nhận thấy rằng có một ngôi sao bên cạnh
mọi bài viết trong danh sách. Tất cả những gì bạn phải làm để làm một bài viết nổi bật là
nhấp vào ngôi sao bên cạnh bài viết đó. Ngôi sao nên chuyển sang màu vàng làm cho bài
báo của bạn trở nên nổi bật.
Để hiển thị các bài viết nổi bật trên trang được liên kết trong menu, hãy thực hiện theo
các bước sau:
1. Tạo một menu mới bằng cách vào Menus > Main Menu
2. Bấm vào Add New Menu
3. Bấm Select để chọn loại menu
82
4. Tại mục chọn loại menu, bấm vào articles và chọn vào mục bài viết nổi bật
5. Đánh tên menu, ví dụ như: Featured Articles
6. Bấm Save để thực hiện

5. Tạo trang liên hệ


Nhận phản hồi từ khách truy cập/khách hàng/khách hàng tiềm năng là một việc làm
thường xuyên của các chủ trang web. Với mục đích này, việc có một trang liên hệ sẽ rất
quan trọng. Chúng ta có thể làm điều này trong Joomla với chỉ vài cú bấm chuột:

Hình 3.4e: Quản trị Joomla

1. Đầu tiên, bạn cần tạo mới một trang liên hệ. Vào Components, chọn Contacts và sau
đó bám chọn New
2. Thêm tên, thông tin liên hệ cho form của bạn. Nếu bạn muốn thêm các miêu tả, hảy
sử dụng tab Miscellaneous Information
3. Khi đã thực hiện xong, bấm Done để lưu lại.

83
Để bật form liên hệ này, bạn chỉ cần thêm nó vào Menu, việc thực hiện tương tự như
thêm article mới vào menu.

6. Dùng Banner
Banners component có thể dùng để quản lý hình ảnh hoặc HTML banners. Các bước
thực hiện như sau:
1. Đầu tiên, chúng ta cần tạo một banner. Vào Components > Banners > Banners
2. Bấm vào nút New ở phía trên bên trái.
3. Ban sẽ cần chọn tên banner, chúng tôi khuyên bạn nên đặt tên có ý nghĩa cụ thể để
dễ dàng sắp xếp sau này.
4. Tải lên hình ảnh của bạn (có thể tùy chọn đặt thông số chiều cao, chiều rộng)
5. Khi hoàn tất, bấm Save để lưu lại
6. Bây giờ, để hiện thì banner này, bạn cần xuất bản nó dưới dạng một module mới.
7. Vào Extensions > Module Manager, bấn New
8. Một danh sách các module sẽ xuất hiện, chọn vào Banners
9. Chọn tiêu đề và vị trí cho module mới. Bấm Save khi đã thực hiện hoàn tất.
Ví dụ: chúng tôi thêm một banner hình mèo con ở phần footer của Joomla như hình sau

84
Hình 3.4f: Quản trị Joomla

7. Cài đặt Joomla Extensions


Thư viện extensions (phần mở rộng) chính thức của Joomla cung cấp tất cả các phần
mở rộng mà bạn có thể sử dụng. Từ bảo mật, bản đồ, truyền thông và thương mại điện tử,
bạn có thể tìm thấy tất cả ở đó.
Extensions có thể được cài đặt và quản lý tại mục Extensions > Manage. Joomla sẽ hỏi
bạn nếu muốn bật Install from Web. Chúng tôi khuyên bạn nên bật mục này vì như thể bạn
sẽ có thể thực hiện tìm kiếm các phần mở rộng ngay ở đây mà không cần phải rời khỏi
trang quản lý admin của Joomla.

Hình 3.4g: Quản trị Joomla

85
Bạn cũng có thể thực hiện cài đặt thủ công các phần mở rộng bằng cách:
1. Tải file file nén .zip chứa phần mở rộng từ thư viện trực tuyến của Joomla.
2. Chọn Upload Package File ở mục Extensions
3. Tải lên và cài đặt.

Hình 3.4h: Quản trị Joomla

Chúng tôi giới thiệu một số phần mở rộng cần thiết cho mọi website Joomla:
1. ProFiles: trình quản lý file tiện dụng, hữu ích. Nó tiện lợi hơn so với trình FTP mặc
định.
2. Google Maps by Reumer: sử dụng để hiển thị bản đồ trên website của bạn.
3. AllVideos: cho phép nhúng các đoạn video (có thể trên host của bạn hoặc các
website về video như YouTube,…) vào nội dung website.
4. Akeeba backup: sử dụng để tạo bản sao lưu cho website của bạn.

86
8. Cài đặt Joomla Templates
Themes và templates là những phần làm cho các trang web đẹp hơn, dễ chịu hơn và
thân thiện với người dùng. Chọn đúng themes, templates hoặc giải pháp thiết kế là một
điều then chốt cho chức năng và giao diện của trang web của bạn vì vậy hãy suy nghĩ thật
kỹ để đưa ra quyết định.
Joomla cũng có nhiều templates miễn phí và trả phí sẵn có trên mạng nhưng con số này
ít hơn đáng kể so với WordPress hoặc Drupal.
Việc cài đặt templates cho Joomla cũng được thực hiện rát dễ dạng tương tự như các
phần mở rộng:
1. Vào Extensions > Manage
2. Chọn vào Upload Package File
3. Bấm chọn file nén dạng .zip chứa templates để thực hiện
4. Sau khi quá trình tải lên hoàn tất, vào mục Extensions > Templates
5. Bấm chọn hình ngôi sao ở templates bạn muốn bật.

Hình 3.4i: Quản trị Joomla

87
3.2. Giới thiệu Wordpress
WordPress là một hệ thống xuất bản blog viết bằng ngôn ngữ lập trình PHP và sử
dụng MySQL database (cơ sở dữ liệu MySQL). WordPress là hậu duệ chính thức
của b2/cafelog, được phát triển bởi Michel Valdrighi. Cái tên WordPress được đề xuất bởi
Christine Selleck, một người bạn của nhà phát triển chính Matt Mullenweg.
Phiên bản mới nhất của WordPress là phiên bản 5.2, phát hành ngày 07 tháng 05 năm
2019. Nó được phát hành dưới Giấy phép Tài liệu Tự do GNU
WordPress được biết đến như một CMS miễn phí nhưng tốt, dễ sử dụng và phổ biến
nhất trên thế giới. Các so sánh đều cho thấy người dùng sử dụng CMS này cho việc lập các
trang web cá nhân đến các trang báo điện tử đồ sộ nhất như CNN, Dow Jones, Wall Street
Journal... sử dụng WordPress.
Thống kê năm 2019 cho thấy có đến xấp xỉ 33.8% các trang web nằm trong top 10 triệu
trang web hàng đầu thế giới đang sử dụng WordPress.

Hình 3.5: Thông tin về WordPress

88
Lịch sử
b2/cafelog, thường được biết đến với cái tên đơn giản hơn là b2 hay cafelog là tiền thân
của WordPress. b2/cafelog theo ước lượng đã được sử dụng ở khoảng 2000 blog trong
tháng 5 năm 2003. Nó cũng được viết bằng ngôn ngữ lập trình PHP để dùng với MySQL
bởi Michel Valdrighi, người đã trở thành nhà phát triển chính của WordPress hiện nay.
Mặc dù WordPress là hậu duệ chính thức nhưng một dự án khác, b2evolution, cũng đang
được song song phát triển.
Vào năm 2004, thời hạn cấp phép của gói sản phẩm cạnh tranh Movable Type bị thay
đổi bởi Six Apart, và rất nhiều người dùng của nó chuyển sang sử dụng WordPress, tạo nên
một bước ngoặt lớn trong sự phát triển và phổ biến của WordPress.
Năm 2007, WordPress giành giải thưởng Packt Open Source CMS. Năm 2009.
WordPress dẫn đầu về mã nguồn CMS tốt nhất.
Vào ngày 06 tháng 12 năm 2018, WordPress ra mắt phiên bản 5.0 với cải tiến lớn, giới
thiệu Trình soạn thảo block mang tên Gutenberg giúp tùy chỉnh bố cục bài viết phong phú
và phức tạp hơn. Có nhiều cuộc tranh cãi về sự ra mắt của Gutenberg, bao gồm cả phong
trào tách riêng đến từ nhiều lập trình viên không muốn sử dụng tính năng này.

Nét nổi bật


- Hệ thống Plugin phong phú và không ngừng cập nhật, ngoài ra người dùng có thể viết
Plugin hoặc tích hợp code vào Wordpress.
- Được phát triển bằng nhiều ngôn ngữ (hỗ trợ tiếng việt).
- Cập nhật phiên bản liên tục, cộng đồng hỗ trợ lớn.
- Có hệ thống Theme đồ sộ, nhiều theme chuyên nghiệp có khả năng SEO tốt.
- Việc quản lý blog, quản lý các bài viết rất thuận tiện giống như các phần mềm thiết kế
website chuyên nghiệp.
- Thể hiện các tệp PDF, DOC, Powerpoint ngay trên nội dung bài viết. Đặc biệt tích
hợp sẵn Latex - công cụ soạn thảo công thức toán học, giúp người sử dụng có thể viết công
thức toán học ngay trên blog.
89
- WordPress có 23 Widget (ứng dụng tạo thêm) như Thống kê số truy nhập blog, Các
bài mới nhất, Các bài viết nổi bật nhất, Các comment mới nhất, Liệt kê các chuyên mục,
Liệt kê các Trang, Danh sách các liên kết, Liệt kê số bài viết trong từng tháng... Có 79
theme để người dùng lựa chọn.
- Ngoài việc được áp dụng để xây dựng các Website dạng trang tin tức và Blog,
WordPress còn được sử dụng để xây dựng nên các Website thương mại điện tử với mục
đích chính là bán hàng Online. Tuy nhiên nếu xét trên phương diện này thì WordPress
không thực sự nổi trội.
- Ngoài thống kê số truy nhập của từng ngày cho blog, Wordpress còn thống kê số truy
nhập của từng ngày đối với mỗi bài viết của blog. Trên cơ sở đó chủ blog sẽ có định hướng
nên viết vấn đề gì tiếp theo.
- Các comment có thể duyệt rồi mới cho đăng, comment nào có nội dung không phù
hợp có thể xóa, nếu cho là spam thì sau này IP đó không có thể gửi comment vào blog
được nữa.
- Admin (chủ blog) có thể cho 35 cộng tác viên gửi bài vào blog, có thể phân quyền cho
các cộng tác viên theo các cấp độ khác nhau. Lưu giữ danh sách thành viên đã ghé thăm
trang blog. Admin cũng có thể cho bất kỳ ai đăng bài qua email vào blog miễn là admin
cho họ một địa chỉ email bí mật của blog (địa chỉ này có thể thay đổi bất kỳ lúc nào).
- Sao lưu dữ liệu nhằm khôi phục nội dung blog một cách dễ dàng nếu chẳng may blog
bị hack, và cung cấp công cụ chuyển nhà từ các blog khác sang blog WordPress.
- WordPress hỗ trợ 3 GB để lưu trữ các tệp hình ảnh và văn bản.
- Hàng ngày WordPress có thống kê 100 bài trên các blog tiếng Việt của WordPress
được nhiều người đọc nhất trong vòng 48 tiếng. Nhờ đó bạn biết được các thông tin quan
trọng nhất đang diễn ra.

90
3.2.1. Cài đặt Wordpress
Bước 1: Cài đặt webserver XAMPP. Bạn có thể tham khảo bài viết hướng dẫn cài đặt
XAMPP.
XAMPP là một phần mềm webserver để chạy các website viết bằng PHP. Ngoài
XAMPP bạn có một số lựa chọn khác như WAMPP server hay AppServ hoặc bạn cũng có
thể cài đặt riêng các phần mềm Apache +MySQL + PHP(thường sử dụng trong Linux và
được gọi là LAMP). Bạn có thể tham khảo thêm bài viết cách cài đặt LAMP
Bước 2: Bạn download Worpdress tại http://wordpress.org/latest.zip. Sau khi bạn giải
nén ra sẽ  được một thư mục mang tên wordpress bạn có thể đổi tên sang bất kỳ tên gì
miễn là tên của bạn không chứa khoảng trắng (bạn có thể thay khoảng trắng bằng _). Tiếp
theo bạn copy thư mục này vào trong XAMPP/htdocs (ở đây đường dẫn của tôi là D:\
XAMPP\htdocs)

Hình 3.6a: Cài đặt Wordpress

91
Bước 3: Tạo cơ sở dữ liệu (CSDL). Bạn truy cập vào đường
dẫn http://localhost/phpmyadmin/ và nhấn vào tab Databases để tạo CSDL như hình bên
dưới. Bảng mã của CSDL bạn chọn là utf8_general_ci để có thể sử dụng được tiếng Việt
trên website (ci là case insensitive - CSDL không phân biệt chữ hoa và chữ thường).

Hình 3.6b: Cài đặt Wordpress

Bước 4: Cài đặt Wordpress. Bạn truy cập vào đường


dẫn http://localhost/ten_thu_muc_chua_wordpress (ở đây trên máy của tôi
là http://localhost/wordpress).
Ở trang đầu tiên hiện ra bạn chọn ngôn ngữ là tiếng Việt hoặc có thể để mặc định là
tiếng Anh.

92
Hình 3.6c: Cài đặt Wordpress

Tiếp theo bạn bấm Let's go!

93
Hình 3.6d: Cài đặt Wordpress

Tiếp theo bạn nhập các thông tin kết nối đến CSDL gồm Tên CSDL / Username truy
cập CSDL/ Mật khẩu của tài khoản truy cập CSDL / tên CSDL bạn vừa tạo lúc nãy. Table
prefix bạn có thể gõ các ký tự bất kỳ. Ví dụ: ecode_ đây là các ký tự sẽ thêm vào đầu tên
bảng trong CSDL để tăng thêm tính bảo mật cho CSDL.

94
Hình 3.6e: Cài đặt Wordpress

Nếu như các thông tin bạn nhập vào đúng sau khi bấm submit chúng ta sẽ thấy trang
như bên dưới.

Hình 3.6f: Cài đặt Wordpress

95
Bạn bấm vào Run the install để cài đặt. Ở màn hình tiếp theo bạn sẽ cần phải nhập thêm
các thông tin gồm tên website, username, mật khẩu quản trị, email khôi phục mật quản trị.

Hình 3.6g: Cài đặt Wordpress

Sau khi Wordpress tự động cài đặt xong chúng ta sẽ được một trang giống như thế này.
(bạn truy cập vào http://localhost/folder_chua_wordpress để xem trang nhé).

96
Hình 3.6h: Cài đặt Wordpress

97
3.2.2. Quản trị Wordpress
1. Đăng nhập quản trị
Bước 1: Đăng nhập vào hệ thống quản trị website.
Từ thanh địa chỉ của trình duyệt gõ http://localhost/tên trang web/wp-admin chọn <
Enter > màn hình đăng nhập sẽ xuất hiện

Hình 3.7a: Quản trị Wordpress

- Tên tài khoản: nhập acc tài khoản


- Nhập mật khẩu: Mật khẩu
- Ghi nhớ mật khẩu: tích chọn ghi nhớ mật khẩu khi vào lần sau       
- Nút “đăng nhập”Bấm vào đây để đăng nhập vào hệ thống
- link “Quên mật khẩu?” khi không nhớ thông tin đăng nhập

Bước 2: Sau khi nhập đầy đủ các thông tin kick đăng nhập màn hình giao diện của quản
trị sẽ hiển thị như sau :

98
Hình 3.7b: Quản trị Wordpress

2. Chỉnh sửa thông tin trong hệ thống quản trị


- Cài đặt xuất hiện màn hình:
*Tổng quát

Hình 3.7c: Quản trị Wordpress


 

99
- Gồm những phần sau:
                 + Cấu hình website: mầu sắc kích hoạt thông tin trang, đoạn mã javacript..
                 + cài đặt google map: vị trí, mã ký tự.. (theo giao diện thiết kế)
                 + cài đặt tìm kiếm:  loại trang
                 + Tùy chọn chuyên mục
                 +  Tùy chỉnh chuyên trang chủ
                 + Tin nhắn sản phẩm

* Danh sách

 
Hình 3.7d: Quản trị Wordpress

- Gồm những phần sau:


                 + Cấu hình sản phẩm: cầu hình cho sản phẩm những thông tin cho website
                 + Tuỳ chọn ảnh sản phẩm:  theo giao diện

100
* Bảo mật

    
Hình 3.7e: Quản trị Wordpress

+ Thông tin thiết lập bảo mật:


+ Cấu hình recaptcha:

* Hỗ trợ trực tuyến 

101
Hình 3.7f: Quản trị Wordpress

- Hỗ trợ trực tuyến gồm:


+ Số điện thoại hotline: cập nhật thông số điện thoại hotline  lên website
+ Hỗ trợ trực tuyến: cập nhât nick yahoo hỗ trợ trực tuyến về sản phẩm…

102
Hình 3.7g: Quản trị Wordpress
           
* SEO
Quản trị bài viết
Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Bài viết”, màn
hình cấu hình hệ thống xuất hiện:
 

Hình 3.7h: Quản trị Wordpress

- Trong mục Bài viết sẽ hiển thị tất cả các đã post, người quản trị có thể quản lý các tin
bài ở mục này
103
Đăng bài viết mới:  Click vào “Viết bài mới” để đăng bài giao diện sẽ hiển thị như sau:

Hình 3.7i: Quản trị Wordpress

Xác nhận các thông tin:


Tiêu đề của bài viết
Nội dung chi tiết của bài viết
Nếu muốn tin nổi bật ở Sự kiện sắp tới  thì kick vào o textbox
Cập nhật các  từ khóa gồm  :
+ Title: Là nơi khai báo những từ khóa tìm kiếm của website được chèn vào thẻ
meta trong header.
+ Description: Là nơi khai báo những từ khóa tìm kiếm của website được chèn vào
thẻ meta trong header

104
+ Keyword: Là nơi khai báo những từ khóa tìm kiếm của website được chèn vào thẻ
meta trong header
Chọn chuyên mục để cập nhật tin lên.
Sau khi nhập đầy đủ các nội dung cần thiết,chọn nút ‘ Đăng bài viết” để đăng tin.
 Chuyên mục :  Quản lý hệ thống các chuyên mục để cập nhật nội dung bài viết (Tạo
mới, Sửa, Xóa…) ví dụ như: Tin tức, thư viện ảnh, slide hiển thị chân trang …
Chú ý : Chuyên mục sẽ là nhóm tin dùng để thêm vào Menu trên.
Tag trang: Liệt kê các danh sách từ khóa mà người quản trị đã nhập ở các bài viết. Chức
năng này hỗ trợ cho việc quảng bá website (SEO) và tăng tính tiện lợi cho người xem tìm
kiếm nội dung các bài viết.
Category Order: Sắp xếp các chuyên mục theo ý của bạn bằng cách kéo thả.

Cập nhật ảnh vào Thư Viện Ảnh


+ Cũng sẽ chọn vào “ Viết bài mới” , nhập tiêu đề của ảnh.Ở nội dung chi tiết sẽ
chọn “Thêm ảnh” sẽ hiển thị màn hình :

Hình 3.7j: Quản trị Wordpress

+ Kick “ Thêm vào bài viết” để đưa ảnh vào nội dung.
+ Chọn chuyên mục “ Thư viện ảnh” phía bên phải rồi nhấn “ Đăng bài viết” đề cập
nhật ảnh vào Thư viện

105
3. Thêm hình ảnh/nhạc/video
Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Thêm hình
ảnh/nhạc/video”, màn hình cấu hình hệ thống xuất hiện:

Hình 3.7k: Quản trị Wordpress

Thư viện: Hiển thị các thông tin của ảnh/video đã cập nhật. Ở đây người quản trị có thể
tiến hành Thêm mới, Sửa hoặc Xóa các tài liệu. Ngoài ra bạn có thể xem thông tin về tài
liệu đó bằng cách bấm vào tiêu đề của tài liệu.
Thêm tập tin :
- Chọn chức năng “ Thêm tập tin”  để cập nhật ảnh/video
+ Sau khi chọn tập tin tải lên, có các thông tin:
+ Tiêu đề: Tên tập tin (có thể thay thế được).
+ Văn bản thay thế: Văn bản này sẽ hiển thị trong trường hợp không thể truy xuất
được tới ảnh hoặc ảnh không tồn tại thực tế.
+ Chú thích:
 + Mô tả: Nội dung của ảnh/video dạng text
 + Đến tập tin gốc: Hiển thị đường dẫn upload file.
- Chọn “ Lưu các thay đổi ” để thêm mới một ảnh/video.

4. Quản trị liên kết


Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Liên kết”, màn
hình cấu hình hệ thống xuất hiện:

106
Hình 3.7l: Quản trị Wordpress

Xác định các thông tin như sau:


+ Liên kết: Hiển thị các đường dẫn liên kết đã thêm vào, có thể chỉnh sửa hoặc xóa.
     + Add new: Thêm mới liên kết :
Tên : nhập tên của liên kết
Địa chỉ trang web: coppy đường dẫn của trang muốn liên kết vào trực tiếp.
Mô tả: nhập mô tả dạng text
Chuyên mục: click vào chuyên mục muốn add liên kết
Mục tiêu : 
Blank : khi kick vào liên kết sẽ chuyển qua tab mới.
Top : khi kick vào liên kết sẽ hiển thị trang hiện tại.
None : cùng một cửa sổ hoặc tab.
Sau khi nhập đầy đủ các thông tin nhấn “ Thêm liên kết “ để thêm mới liên kết.
     + Chuyên mục liên kết :  Thêm mới chuyên mục để add liên kết vào  :
Name: Tên của chuyên mục
Slug:  Đường dẫn để truy xuất đến chuyên mục trong trường hợp có sử dụng Đường
dẫn tĩnh (rewrite url). Bạn không cần nhập thông tin vào trường này.
Description: Mô tả ngắn về chuyên mục.
Sau khi nhập các thông tin chọn “ Add New Link Category” để thêm mới chuyên
mục.

107
5. Quản trị Trang
Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Trang”, màn
hình cấu hình hệ thống xuất hiện:

Hình 3.7m: Quản trị Wordpress


Xác định các thông tin sau :
+ Trang: Quản lý các trang, có thể chỉnh sửa và xóa. Lọc các trang theo ngày hoặc theo
tháng.
+ Thêm mới trang:
Tiêu đề trang.
Nội dung của trang
Các từ khóa liên quan của nội dung trang,

6. Quản trị Phản hồi (Comment)


Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Trang”, màn
hình cấu hình hệ thống xuất hiện:

108
Hình 3.7n: Quản trị Wordpress

Quản lý các phản hổi của người dùng đánh giá về bài viết,mọi ý kiến đánh giá,nhận xét
sẽ được gửi vào quản trị,người quản trị sẽ đánh giá phản hồi để đưa lên phần bình luận
ngoài trang chủ.
     + Duyệt phản hồi :
1: Chọn các ô check ở đầu các phản hồi để kích hoạt tình trạng làm việc.
2: Chọn các tác vụ để xử lý phản hồi :
Phản đối duyệt tin.
Chấp nhận để duyệt tin lên trang chủ
Mark as spam : đánh dấu là những tin spam.
Bỏ vào thùng rác : những tin không duyệt sẽ cho vào thùng rác.
3 : Lọc các phản hồi muốn xem theo điều kiện lựa chọn.

7. Quản trị Giao diện


Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Giao diện”,
màn hình quản lý giao diện xuất hiện:

Hình 3.7o: Quản trị Wordpress

Xác định các thông tin :


+ Giao diện : hiển thị theme đang dùng, có thể chỉnh sửa

109
+ Widget: Quản lý các chức năng cột bên phải website, có thể chỉnh sửa, thêm bớt
bằng cách kéo thả.
+ Trình đơn :  quản lý hệ thống menu trên của website, khi chọn sẽ hiển thị giao
diện như sau :

Hình 3.7p: Quản trị Wordpress

Xác định các thông tin sau :


Tạo mới nhóm menu : kick vào (+) ,nhập tên nhóm menu,chọn nút “ Tạo Menu” để
thêm mới.
Nhấp chuột vào các box để chọn các menu  và chọn nút “Thêm vào menu”  (tạo mới
các menu con ở Chuyên mục của Bài viết).
Khi muốn tạo menu khi click sẽ link đến đường dẫn khác,dán đường dẫn muốn link đến
và nhập tên,chọn nút Thêm vào menu để tạo mới.
Chọn nhóm menu sẽ được phép hiển thị ra bên ngoài. Sau khi chọn bấm vào “ Lưu thay
đổi” để hoàn tất.
Vùng chứa các thành phần của menu. Bạn có thể kéo thả các mục vào vị trí bạn muốn
để sắp xếp.

110
Sau khi sắp xếp các menu xong chọn “ Save menu” để lưu lại.
Hoàn tất mọi thao tác và chắc chắn rằng sẽ chọn menu,nhấn “Save menu” để hoàn tất
việc lưu menu.
+ Theme Options: Các thuộc tính dành riêng cho giao diện bạn đang dùng.
 Chú ý: Nếu không hiểu rõ, bạn về chức năng này, bạn hãy để mặc định.
+ Nền: Quản lý nền của website, bạn có thể chọn màu nền hoặc ảnh nền theo ý bạn.
+ Editor: Chỉnh sửa các file giao diện một cách trực tiếp qua website.
Chú ý: Nếu không thực sự hiểu rõ về PHP, HTML, CSS… bạn không nên thay đổi các
thành phần trong này.

8. Quản trị thành viên


Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Thành viên”,
màn hình quản trị thành viên như sau:

Hình 3.7q: Quản trị Wordpress

Xác định các thông tin sau :


+ Thành viên: Danh sách các thành viên có mặt trên hệ thống website.
+ Thêm thành viên: Thêm mới thành viên,admin có thể điều chỉnh các vai trò cho thành
viên mới.
+ Hồ sơ của bạn: Quản lý các thông tin cá nhân của bạn như tên, tuổi, email… Nếu
muốn thay đổi mật khẩu bạn vào đây và nhập thông tin mật khẩu sau đó lưu lại.

111
9. Quản trị cài đặt
Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Công cụ”,
màn hình cấu hình hệ thống xuất hiện:

Hình 3.7r: Quản trị Wordpress

Xác định các thông tin :


     + Tổng kết: Cài đặt các thông tin của website như : site title, khẩu hiệu website, hòm
thư….
+ Viết: Cài đặt các thông số liên quan đến bài viết.
+ Đọc: Cài đặt thông tin hiển thị trang chủ như hiển thị số bài, bài viết mới nhất…
+ Thảo luận: Tùy chọn các thông tin thảo luận về bài viết,trang,tùy chỉnh phản hồi,….
+ Thêm hình ảnh/nhạc/video: Cài đặt media như kích thước ảnh,tải tập tin, ….

10. Quản trị Downloads


Từ danh sách chức năng bên cột trái màn hình quản trị, chọn chức năng “Downloads”,
màn hình cấu hình hệ thống xuất hiện:

112
Hình 3.7s: Quản trị Wordpress

Xác nhận các thông tin :


Manage Downloads : Thống kê danh sách các tài liệu đã uploand lên website
Add File : Tải file tài liệu lên website
Download Options : Cài đặt 

11. Chuyển sang quản trị Tiếng Anh


Từ danh sách chức năng bên cột trái màn hình quản trị,chọn chức năng “Trang web của
tôi”, màn hình cấu hình hệ thống xuất hiện:

Hình 3.7t: Quản trị Wordpress

Kick vào “ Bảng thông tin” để vào hệ thống quản trị Ngôn ngữ Tiếng Anh của Website.

113
3.3. Giới thiệu Nukeviet

Hình 3.8: Thông tin về Nukeviet


NukeViet là một ứng dụng trên nền web có thể sử dụng vào nhiều mục đích khác nhau.
Phiên bản đang được phát hành theo giấy phép phần mềm tự do nguồn mở có tên gọi đầy
đủ là NukeViet CMS gồm 2 phần chính là phần nhân (core) của hệ thống NukeViet và
nhóm chức năng của CMS thường được sử dụng để xây dựng các website tin tức do đó
người dùng thường nghĩ rằng NukeViet mạnh về hệ thống tin tức. Tuy nhiên, đội ngũ phát
triển NukeViet đã phát triển nhiều hệ thống khác nhau cho NukeViet, nổi bật nhất phải kể
đến NukeViet Portal (Cổng thông tin hai chiều dùng cho doanh nghiệp), NukeViet Edu
114
Gate (Cổng thông tin tích hợp nhiều website, sử dụng cho phòng giáo dục, sở giáo dục) và
NukeViet eNews (Tòa Soạn Điện Tử - sử dụng cho các tòa soạn báo điện tử, trang tin điện
tử). Gần đây nhất NukeViet eGovernment (bản dành riêng cho các cơ quan nhà nước và
chính quyền địa phương) đã được phát hành.
Theo định hướng phát triển của NukeViet, ngoài bản phát hành miễn phí NukeViet
CMS sẽ có thêm 2 thành phần nữa là NukeViet Blog (Dành cho các website và người dùng
tạo các trang nhật ký cá nhân) và NukeViet Shop (dành cho các website thương mại điện tử
với hoạt động chính là bán hàng trực tuyến, hiện đã có thể sử dụng bằng cách cài bổ sung
module Shop lên NukeViet CMS).
Ứng dụng
NukeViet được sử dụng ở nhiều website, từ những website cá nhân cho tới những hệ
thống website doanh nghiệp, nó cung cấp nhiều dịch vụ và ứng dụng nhờ khả năng tăng
cường tính năng bằng cách cài thêm các module, block...
Trước đây, NukeViet chủ yếu được sử dụng làm trang tin tức nhờ module News tích
hợp sẵn trong NukeViet được viết rất công phu, nó lại đặc biệt phù hợp với yêu cầu và đặc
điểm sử dụng cho hệ thống tin tức.
Kể từ phiên bản NukeViet 3, đội ngũ phát triển NukeViet đã định nghĩa lại NukeViet,
theo đó, NukeViet được coi như phần mềm trực tuyến mà chức năng CMS chỉ là một
module của NukeViet. NukeViet có thể dễ dàng cài đặt, dễ dàng quản lý kể cả với những
người mới sử dụng do đó thường được những đối tượng người dùng không chuyên ưa
thích.
NukeViet có mã nguồn mở do đó việc sử dụng NukeViet là hoàn toàn miễn phí cho tất
cả mọi người trên thế giới. Từ bản 2.0 trở về trước, đối tượng người dùng chủ yếu của
NukeViet là người Việt vì những đặc điểm của bản thân mã nguồn (có nguồn gốc từ PHP-
Nuke) và vì chính sách của nhóm phát triển là: "hệ thống Portal dành cho người Việt".
Kể từ phiên bản 3.0, đội ngũ phát triển NukeViet định hướng đưa NukeViet ra cộng
đồng quốc tế.
- Các cổng thông tin điện tử
115
- Các tập đoàn kinh tế
- Giải trí trực tuyến, văn hóa, nghệ thuật.
- Báo điện tử, tạp chí điện tử
- Website của các doanh nghiệp vừa và nhỏ
- Website của các cơ quan, tổ chức chính phủ
- Website giáo dục, trường học
- Website của gia đình, cá nhân, nhóm sở thích...
Ngoài các ứng dụng website ở trên, thực tế NukeViet đã được ứng dụng làm rất nhiều
phần mềm khác như: Phần mềm quản lý kho hàng, phần mềm bán hàng, phần mềm quản lý
quán BI-A trợ giúp bật tắt điện đèn bàn bóng, phần mềm tòa soạn điện tử, phần mềm quản
lý hồ sơ, quản lý nhân sự trực tuyến, phần mềm tra cứu điểm thi hỗ trợ SMS...
Lịch sử
Quá trình phát triển của NukeViet đi từ tự phát cho đến chuyên nghiệp là một điển hình
của con đường phát triển mã nguồn mở trên thế giới.
NukeViet có quá trình phát triển từ năm 2004, Từ việc sử dụng sản phẩm PHP-Nuke để
làm website cho cộng đồng người Việt xa xứ, Nguyễn Anh Tú - một lưu học sinh người
Việt tại Nga - đã cùng cộng đồng Việt hóa, cải tiến thành NukeViet.
Được sự đón nhận của đông đảo người sử dụng, NukeViet đã liên tục được phát triển và
trở thành một ứng dụng thuần Việt. Cho đến phiên bản 3.0, đội ngũ phát triển NukeViet đã
tách khỏi ảnh hưởng lạc hậu của PHP-Nuke và xây dựng NukeViet thành một ứng dụng
khác biệt hoàn toàn. Với 100% dòng code được viết mới, NukeViet 3.0 đã cho kết quả là
Website đạt chuẩn xHTML 1.0 và CSS 2.1 cũng như hỗ trợ Ajax từ trong bộ nhân.
Kể từ năm 2010, NukeViet đã phát triển theo mô hình chuyên nghiệp, đội ngũ quản trị
đã thành lập doanh nghiệp chuyên quản. Mặc dù từ phiên bản 3.0, NukeViet được viết mới
hoàn toàn và trong quá trình phát triển của mình, nhiều cái tên đã được đưa ra để thay thế
nhưng cuối cùng, theo kiến nghị của cộng đồng người sử dụng, cái tên NukeViet đã được
giữ lại để nhớ rằng NukeViet được khởi đầu từ PHP-Nuke và để cảm ơn Franscisco Burzi -

116
Tác giả PHP-Nuke - vì chính ông là nhân tố để có một cộng đồng mã nguồn mở NukeViet
với hàng chục ngàn người dùng như hiện nay.
Dù NukeViet 3 đã được viết mới hoàn toàn nhưng nó vẫn chịu những ảnh hưởng từ
PHP-Nuke ở những điểm sau:
NukeViet được viết bằng ngôn ngữ PHP và sử dụng cơ sở dữ liệu MySQL là chủ yếu,
cho phép người sử dụng có thể dễ dàng xuất bản & quản trị các nội dung của họ
lên Internet hoặc intranet.
NukeViet vẫn sử dụng các khái niệm Module, Block, Theme cho hệ thống của mình
mặc dù cấu trúc và công nghệ cho nó đã được đội ngũ phát triển NukeViet cải tiến hoàn
toàn.
Tiếp nối thành công của phiên bản NukeViet 3, NukeViet 4 đã được phát triển từ 2014
và phát hành sau đó 2 năm (vào năm 2016, sau hơn 20 bản thử nghiệm). NukeViet 4 sử
dụng kiến trúc và nền tảng của NukeViet 3 nhưng tiếp cận với những công nghệ web mới
nhất, mạnh dạn loại bỏ những công nghệ cũ kỹ, lạc hậu, những nền tảng đã hết chu kỳ hỗ
trợ như PHP 5.2 hoặc MySQL 5.0...

117
3.3.1. Cài đặt Nukeviet
Từng bước cấu hình và cài đặt Nukeviet để test thử trên localhost
(dùng wampserver để tạo lập localhost, tên thư mục chưa source là nukeviet, tên
database là nukeviet)
Bắt đầu quá trình cài đặt Nukeviet:
 Bước 1. Lên trang chủ nukeviet (https://nukeviet.vn/), bấm tải về Nukeviet, chú ý phần
yêu cầu bắt buộc đối với máy chủ như : phiên bản PHP, MYSQL, hệ điều hành..
Bước 2. Tiếp theo vào trong mục www của wampserver  tạo thư mục nukeviet (hoặc
tên tùy thích). Giải nén và copy bộ source nukeviet vừa tải về bỏ vào thư mục nukeviet
Bước 3. Truy cập phpmyadmin (http://localhost/phpmyadmin) tạo mới một database
có tên nukeviet (bạn có thể đặt tên theo sở thích miễn sao dễ quản lý) nhớ
chọn utf8_general_ci để tránh lỗi font unicode.
Bước 4. Nhập trên trình duyệt địa chỉ http://localhost/nukeviet và thực hiện các cấu
hình để cài đặt, bao gồm 7 bước cài đặt, bấm Bước kế tiếp để chuyển qua các bước cấu
hình, xem chi tiết 7 bước này như sau:
 
01 Lựa chọn ngôn ngữ

Hình 3.9a: Cài đặt Nukeviet

Có thể lựa chọn tiếng Anh hoặc tiếng Việt,  bấm vào  Bước kế tiếp
 
02 Kiểm tra việc CHMOD

118
Danh mục các file, folder được Chmod đều có kết quả Ok thì ổn, nếu báo không tương
thích thì bạn phải kiểm tra lại các cấu hình của wampserver để đảm bảo tương thích.

Hình 3.9b: Cài đặt Nukeviet


bấm vào  Bước kế tiếp
03 Bản quyền
Đọc qua phần giấy phép sử dụng, bấm vào  Bước kế tiếp

 04 Kiểm tra máy chủ


Danh mục các thông tin  về yêu cầu máy chủ đều báo kết quả tương thích là ổn, nếu
không phải kiểm tra lại thông tin nào của máy chủ không đáp ứng, vd: Phiên bản PHP

Hình 3.9c: Cài đặt Nukeviet

Yêu cầu thêm (không bắt buộc)  tốt nhất là có kết quả tương thích để đảm bảo không bị
lỗi phát sinh trong quá trình sử dụng, bấm vào  Bước kế tiếp

119
  05 Cấu hình cơ sở dữ liệu
Nhập đầy đủ các thông tin kết nối cơ sở dữ liệu như sau:

Hình 3.9d: Cài đặt Nukeviet

Bấm vào Thực hiện để bắt đầu cài đặt, sẽ mất khoảng vài phút theo cấu hình máy tính
chạy  nhanh hay chậm
  06 Thông tin website
Nhập các thông tin theo hướng dẫn

Chú ý : Mật khẩu cần kết hợp số và chữ, yêu cầu có ký tự đặc biệt
Bấm vào Thực hiện để hoàn thành việc cài đặt

120
 07 Kết thúc
Hoàn thành việc cài đặt, nếu cài đặt thành công sẽ báo như sau:

Hình 3.9d: Cài đặt Nukeviet


 
Bây giờ bạn có thể xem trang chủ theo đường dẫn: http://localhost/nukeviet/
Hoặc đăng nhập vào trang quản trị theo đường dẫn :  http://localhost/nukeviet/admin/

121
3.3.2. Quản trị Nukeviet
Khu vực quản trị
Đăng nhập Admin
Trước tiên bạn cần đăng nhập vào tài khoản quản trị: http://ten-mien-website/admin/
http://sitecuaban/admin/http://locninh.locninh.edu.vn/admin/

Khi bạn truy cập vào trang quản trị trong trạng thái chưa đăng nhập thì màn hình đăng
nhập hiện ra như sau:

122
Tại giao diện đăng nhập admin
Bạn cần nhập tài khoản,mật khẩu và mã bảo mật được cấp để truy cập vào khu vực
quản trị
Chú ý: khi đăng nhập vào admin trong admin có các khu vực (bao viền đỏ) ở hình dưới.
Khu vực 1: Khu vực hiện thị các chức năng
Khu vực 2: Khu vực hiển thị thông tin và điền dữ liệu

Đăng xuất Admin Control Panel


Nếu bạn đăng xuất khỏi quản trị admin thì bạn tiến hành click vào nút “Thoát khỏi tài
khoản Quản trị” trong admin như sau hình sau:

Hoặc thoát khỏi quản trị admin ngay trên trang chủ website thì bạn click vào nút
“Thoát” như hình sau:

123
Thay đổi thông tin tài khoản quản trị
Để thay đổi thông tin tài khoản quản trị bạn tiến hành theo các bước sau:
Bước 1: Bạn tiến hành click vào module Tin tức (khối menu bên trái) và hiển thị danh
sách tài khoản quản trị và tài khoản thông thường như hình sau:

Bước 2: Bạn click vào nút “Sửa” chính tài khoản quản trị của bạn như hình:

Lưu ý: Danh sách có thể có nhiều tài khoản khác: bao gồm tài khoản quản trị và tài
khoản thông thường
Xử lý khi quên mật khẩu
Khi bạn đăng nhập không thành do bạn quên mật khẩu thì bạn tiến hành click vào
“Quên mật khẩu?” như hình sau để tiến hành lấy lại mật khẩu.

124
Sau khi bạn click, website sẽ chuyển hướng bạn đến phần điền thông tin gmail và mã
chống spam để bạn lấy lại mật khẩu như hình sau:

Tại đây bạn tiến hành điền thông tin đầy đủ và gửi yêu cầu.
Bước cuối cùng là bạn vào mail để nhận thông tin mật khẩu mới và tiến hành đổi mật
khẩu để đảm bảo an toàn.
Lưu ý: Mail để lấy lại thông tin mật khẩu là mail bạn sử dụng cho tài khoản quản trị
Các lưu ý bảo mật tài khoản

125
Không nên sử dụng tài khoản quản trị tối cao cho những hoạt động thông thường (Ví dụ
đăng tin, post bài…) Thay vào đó bạn nên tạo thêm tài khoản khác để sử dụng riêng cho
nhu cầu này. Ví dụ việc tạo thêm cho mình một tài khoản Điều hành chung hoặc với quyền
thấp hơn là Người điều hành module (tất cả module) để xử lý các công việc này, đây là một
ý tưởng không tồi (đừng quên là sử dụng các mật khẩu đủ mạnh và khác nhau).
Không nên trao quá nhiều quyền không cần thiết cho một tài khoản nào đó. Chỉ cấp quyền
truy cập cho họ vào những khu vực phù hợp.
Thêm tài khoản mới
Để thực hiện chức năng này bạn nhấn vào mục Tài khoản trong khu vực 1 Sau đó nhấn
Thêm tài khoản và điền đầy đủ thông tin.

126
Phân quyền
Để thực hiện chức năng này bạn nhấn vào mục Tài khoản trong khu vực 1

127
Sau đó nhấn

Sau đó nhấn

Bên khu vực 2: Bạn nhấn chọn:

click vào nút chọn.

Phân quyền phù hợp cho tài khoản theo ý bạn

128
Quản lý quyền của các tài khoản

129
Modules Giới thiệu

Để thực hiện chức năng này bạn nhấn vào mục “Giới thiệu” trong khu vực 1
Sau đó nhấn: “Thêm bài mới”

Sang khu vực 2 điền đầy đủ thông tin

Cuối cùng nhấn:


Hướng dẫn đăng bài theo định dạng word, đưa ảnh, video vào bài viết. Căn chỉnh
font chữ, cỡ chữ,màu chữ và màu nền.

130
Quản trị Modules tin tức
Để thực hiện chức năng này bạn nhấn vào mục tin tức trong khu vực 1 ở hình trên bạn sẽ
thấy các chức năng của modules này:

Sauk khi bạn click vào chức năng này thì hệ thống sẽ đẩy chức năng này lên vị trí trên
đầuđể tiện dùng các chức năng con của modules.

131
Quản lý chuyên mục tin tức (chủ đề)

Tại thanh chức năng con của modules tin tức (Ảnh trên) Bạn nhấn vào quản lý chuyên

mục:

132
Thêm chuyên mục
Tại phần quản lý chuyên mục bạn kéo thanh cuộn xuống dưới phần: như
hình trên sau đó điền đầy đủ thông tin:

133
Khi điền đủ thông tin rồi bạn nhấn để hoàn thành.

Thêm bài viết.


Tại thanh chức năng con của modules tin tức (Ảnh trên) Bạn nhấn vào quản lý chuyên

mục:

Sau đó bạn cần thao tác ở khu vực 2 . Bạn điền đầy đủ thông tin rồi nhấn:

134
135
Xem danh sách bài viết (có tìm kiếm nhanh), sửa và xóa bài viết

Phần dưới danh sách có các chức năng khác:

Để sửa bài viếtbạn nhấn vào nút sửa bên trên và sửa lại thông tin cần sửa rồi nhấn

136
Quản lý nhóm tin

Modules quản lý bình luận

Để thực hiện quản lý bình luận bạn nhấn vào “Quản lý bình luận” trong khu vực 1
Tại đây bạn tiến hành bật tắt hoặc xóa bình luận nếu bạn không cho nó còn trên hệ thống
Cấu hình: là cấu hình tính năng quản lý bình luận cho phép module nào có tính năng này
hoặc không có tính năng này.
Module Videoclips
Bên khu vực 1 click vào Videoclips ở khu vực 1 hiển thị như hình sau:

137
+ Quản lý video-clips: Hiển thị danh sách các video đã được cập nhật trước đó. Tại đây,
người quản trị có thể cập nhật (thêm, sửa, xóa) các video thông qua các thao tác click chuột
và nhập thông tin.

Giao diện thêm video-clips


Lưu ý: Nếu tập tin video của bạn đang lưu ở máy tính, thì ở mục “Tập tin nội bộ”,
chọn “Browse sever” sau đó tiến hành upload tập tin lên hệ thống, đồng thời bỏ qua mục
“Tập tin bên ngoài”. Ngược lại, nếu tập tin lưu ở một sever khác (youtube, đường dẫn trực
tiếp,...) thì điền link vào mục “Tập tin bên ngoài”, đồng thời bỏ trống “Tập tin nội bộ”
+ Quản lý thể loại: Hiển thị danh sách các thể loại video. Người quản trị có thể cập
nhật (thêm, sửa, xóa) các thể loại tại đây.

138
Thêm thể loại mới

Để thực hiện việc thêm 1 thể loại bạn ấn vào “Thêm thể loại mới”
trong khu vực 1

Sau đó bạn sẽ thao tác ở khu vực 2 . Bạn cần điền đầy đủ thông tin rồi ấn

” Lưu ý :
Phần màu đỏ là bắt buộc nên bạn phải điền đầy đủ thông tin, phần màu đen là không bắt
buộc. “
Cấu Hình
Bên khu vực 1 click vào “Cấu hình” ở khu vực 1 hiển thị như hình sau:

139
Thiết lập các thông số (hoặc để mặc định) cho phần “cấu hình”. Sau khi đã thiết lập xong

bạn ấn để lưu lại thiết lập vừa chỉnh.

Album Ảnh
Bên khu vực 1 click vào Album Ảnh ở khu vực 1 hiển thị như hình sau:

Khu vực 2 sẽ hiển thị toàn bộ album hiện đang có trên site, bạn có thể : chỉnh vị trí (thứ
tự) hiển thị, thêm ảnh cho album, thiết lập trạng thái cho album hoặc sửa, xóa album nếu
muốn .
Thêm album :

- Để thực hiện việc thêm 1 thể loại bạn ấn vào “Thêm album” trong
khu vực 1

- Sau đó bạn sẽ thao tác ở khu vực 2 . Bạn cần điền đầy đủ thông tin rồi ấn

Quản lý ảnh

140
Bên khu vực 1 click vào “Quản lý ảnh” ở khu vực 1 hiển
thị như hình sau:

Quản lý ảnh : hiển thị danh sách hình ảnh đã được cập nhập trước đó. Tại đây, người quản
trị có thể cập nhật (tên, mô tả, xóa) các hình ảnh thông qua các thao tác click chuột và
nhập thông tin. Ngoài ra người quản trị còn có thể xóa cùng 1 lúc nhiều ảnh bằng cách
đánh dấu vào ô trống bên tay trái của ảnh sau đó ở phần dưới cùng của các hình ảnh

Chọn xóa ảnh, một hộp thoại sẽ hiển thị để xác nhận là bạn có muốn xóa những bức ảnh
được đánh dấu trước đó hay không -> sau khi xác nhận, tất cả những hình ảnh mà bạn đánh
dấu sẽ bị xóa đi.

Thêm ảnh

Bên khu vực 1 click vào “Thêm ảnh” ở khu vực 1 hiển thị
như hình sau:

141
Thêm ảnh : Để có thể thêm ảnh người quản trị có thể kéo thả trực tiếp ảnh từ máy tính vào

khung hình ảnh hoặc ấn vào nút thêm ảnh . Một cửa sổ sẽ được mở ra,
người quản trị tìm tới vị trí để ảnh và lựa chọn hình ảnh để tải lên

(quản trị cũng có thể loại bỏ ảnh nếu muốn) và ấn bắt đầu để hoàn tất quá

trình tải lên của ảnh. Sau khi tải lên hoàn tất, bạn ấn vào “tiếp tục” để chuyển
sang bước tiếp theo. Bạn điền thông tin cho những bức ảnh vừa tải và ấn “lưu lại”

142
Cuối cùng, người quản trị lựa chọn album cho những hình ảnh vừa tải lên

Hoặc hủy bỏ toàn bộ ảnh vừa tải bằng cách đánh dấu vào ô

Và ấn để kết thúc quá trình.

Cấu hình

Bên khu vực 1 click vào “Cấu hình module” ở khu vực 1
hiển thị như hình sau:

143
+ Cấu hình module : Hiển thị thông tin về kích thước ảnh bìa cho album, kích thước ảnh
hiển thị ngoài site, số album và ảnh được hiển thị trên 1 hàng, số hàng mà album và ảnh có
thể hiển thị…

144
Cách thể hiện trên trang chủ : có 2 cách thể hiện là hiện thị theo album hoặc hiển thị ảnh
trong album

Cuối cùng bạn ấn “lưu lại” để xác nhận cấu hình mới cho album ảnh.

Module Menu
Bên khu vực 1 click vào Menu Site ở khu vực 2 hiển thị như hình sau:

Khu vực 2 sẽ hiển thị toàn bộ khối menu hiện đang có trên site, bạn có thể sửa, xóa khối
menu nếu muốn.
Thêm khối menu

Bên khu vực 1 click vào “Thêm khối menu” ở khu vực 2
hiển thị như hình sau:

145
Sau khi đã đặt tên cho khối menu cùng với thành phần của khối menu đó, bạn ấn vào “lưu”

để hoàn tất việc thêm khối menu.


Tùy chỉnh thành phần (mục) cho khối menu : Để tùy chỉnh từng thành phần cho khối
menu, quản trị phải ấn trực tiếp vào tên của khối

Khu vực 2 sẽ hiển thị toàn bộ “thành phần (mục)” hiện đang của khối menu đó, bạn có
thể : chỉnh vị trí (thứ tự) hiển thị, sửa, xóa “thành phần (mục)” nếu muốn .

146
Ngoài ra bạn có thể thêm thành phần cho khối menu bằng cách kéo xuống phía dưới :

Sau khi đã điền đầy đủ thông tin (màu đỏ là bắt buộc, màu đen là tùy chỉnh có thể hoặc giữ

nguyên) bạn ấn vào “lưu” để hoàn tất việc thêm 1 thành phần mới cho
menu.
Trong trường hợp quản trị muốn thêm mục con ( menu con ) của mục

147
Thông thường khi lựa chọn thành phần của khối menu thì các menu con sẽ được hiển thị
theo mục được chọn. Trường hợp này quản trị sẽ áp dụng như hướng dẫn phía trên “Tùy
chỉnh thành phần (mục) cho khối menu”.

Thăm dò ý kiến
Bên khu vực 1 click vào “Thăm dò ý kiến” ở khu vực 2 hiển thị như hình sau:

Khu vực 2 sẽ hiển thị toàn bộ các tiêu đề thăm dò hiện đang có trên site, bạn có thể sửa,
xóa nếu muốn.
Thêm thăm dò :

Bên khu vực 1 click vào “Thêm thăm dò” ở khu vực 2
hiển thị như hình sau:

148
Sau khi đã hoàn tất việc điền thông tin, bạn ấn vào lưu thay đổi để hoàn tất việc thêm thăm
dò.
Module Liên hệ (contact)
Bên khu vực 1 click vào “Liên hệ” ở khu vực 2 hiển thị như hình sau:

Khu vực 2 sẽ hiển thị toàn bộ các liên hệ hiện đang có , bạn có thể xóa nếu muốn.
Các bộ phận

Bên khu vực 1 click vào “Các bộ phận” ở khu vực 2 hiển
thị như hình sau:

Quản trị có thể sửa hoặc xóa bất kỳ bộ phận nào được hiển thị trong site cũng như lựa chọn
trạng thái cho từng bộ phận

Thêm bộ phận:

Bên khu vực 2 click vào “Thêm bộ phận” ở khu vực 2 hiển thị như hình
sau:

149
Phía dưới cùng là danh sách liệt kê các admin có trong bộ phận đó. Sau khi đã hoàn tất
việc điền thông tin cho bộ phận, bạn ấn vào “thực hiện” để hoàn tất quá trình thêm 1 bộ
phận.
Nội dung thông báo :

150
Module Cơ cấu tổ chức
Bên khu vực 1 click vào “Cơ cấu tổ chức” ở khu vực 2 hiển thị như hình sau:

Thêm tổ chức, cơ sở:


Nhấn vào nút Thêm tổ chức, cơ sở như hình trên khi đó bên khu vực 2 sẽ hiện ra:

151
152
Sau khi đã điền đầy đủ thông tin (màu đỏ là bắt buộc, màu đen là tùy chỉnh có thể hoặc giữ
nguyên) bạn ấn vào “Ghi lại nội dung” để hoàn tất việc thêm 1 tổ chức mới.
Thêm nhân sự:
Nhấn vào nút Thêm nhân sự như hình trên khi đó bên khu vực 2 sẽ hiện ra:

153
154
Sau khi đã điền đầy đủ thông tin (màu đỏ là bắt buộc, màu đen là tùy chỉnh có thể hoặc giữ
nguyên) bạn ấn vào “Ghi lại nội dung” để hoàn tất việc thêm 1 nhân sự mới.
Xem danh sách nhân sự tại thuộc 1 tổ chức:
Tại khu vực 1 nhấn vào nút: Cơ cấu tổ chức thì khu vực 2 sẽ hiển thị ra:

Nhấn vào link: Danh sách nhân sự (2) sẽ hiện thỉ ra danh sách nhân sự:

Module Văn bản


- Tại khu vực (1), click vào module “Văn bản”.
- Các menu con của module “Văn bản”

155
+
Đầu tiên chúng ta cần thêm người ký văn bản:

Khi đó tại phần người ký văn bản tại khu vực 1 sẽ hiển thịdanh sách:

156
Tại danh này người quản trị có thể cập nhật thông tin người ký văn bản.
Tiếp đó chúng ta cần nhập dữ liệu cho các phần: Quản lý lĩnh vực, quản lý thể loại văn
bản, quản lý cơ quan ban hành.
+ Quản lý lĩnh vực: Hiển thị danh sách các lĩnh vực. Người quản trị có thể cập nhật thông
tin các lĩnh vực tại đây.
+ Quản lý thể loại văn bản: Hiển thị danh sách các thể loại. Người quản trị có thể cập nhật
thông tin các thể loại tại đây.
+ Quản lý cơ quan ban hành: Hiển thị danh sách các cơ quan ban hành. Người quản trị có
thể cập nhật thông tin các cơ quan ban hành tại đây.
Sau khi đã điền hết các dữ liệu trên chúng ta mới bắt đầu đến phần Quản lý văn bản
Tại khu vực 1 nhấn Quản lý văn bản, khi đó tại khu vực 2 hiển thị danh sách các văn bản
đã thêm trước đó. Tại đây, người quản trị có thể cập nhật (thêm, sửa, xóa) các văn bản
thông qua các thao tác click chuột và nhập thông tin.
:

157
Giao diện thêm văn bản

158
+ Cấu hình module: Các thiết đặt hiển thị cho module

159
Tài liệu của môn học:
[1] Nguyễn Minh Hoàng (2002), Linux - Giáo trình lý thuyết và thực hành, Nxb Lao
động Xã hội.
[2] Diomidis Spinesllis (2003), The Open Source Perspective.
[3] Karl Fogel (2005) , Producing Open Source Software.
[4] Andrew M. St. Laurent (2004), Open Source and Free Software Licensing.
[5] Website: http://www.ubuntu-vn.org
[6] Website: http://www.joomla.org
[7] Website: http://www.nukeviet.vn
[8] Website: http://www.tomatocms.com
[9] Website: http://www.oss-watch.ac.uk
[10] Website: http://www.code.google.com
[11] Website: http://www.TeachingOpenSource.org
[12] Website: http://www.opensource.com.vn
[13] Website: http://www.sourceforge.net

160

You might also like