Cách thiết lập máy chủ web và lưu trữ web trên GNU / Linux

Url web

Nếu bạn đã từng tự hỏi làm thế nào một số dịch vụ lưu trữ tồn tại trên mạng có thể lưu trữ một trang web hoặc máy chủ web là gì và nó hoạt động như thế nào, bao gồm các thanh xuất hiện trong URL của một số trang web là gì, cách khách hàng có thể kết nối với trang web từ xa, v.v., trong bài viết này sẽ làm rõ cho bạn. Tôi sẽ dạy bạn không chỉ các khái niệm về máy chủ là gì, bạn cũng sẽ biết cách tạo máy chủ web của riêng mình từng bước nhờ hướng dẫn đơn giản của chúng tôi.

Ngày nay, tất cả chúng ta đều sử dụng tất cả các loại dịch vụ từ xa, cũng như của điện toán đám mây đang phát triển, nhưng nếu có một dịch vụ nào đó nổi trội hơn phần còn lại, có lẽ đó là dịch vụ mà họ cung cấp máy chủ web, vì có rất nhiều trang web mà chúng tôi truy cập hàng ngày để đọc tin tức yêu thích của mình, kiểm tra email từ các giao diện web cung cấp một số dịch vụ như GMail, thực hiện giao dịch, làm việc, mua hàng trực tuyến, v.v. Không ai thoát khỏi những dịch vụ này, phải không? Tuy nhiên, đối với nhiều người dùng của nó, họ vẫn chưa biết điều gì ẩn sau chúng ...

Máy chủ là gì?

Cụm máy chủ

Một số người dùng nghĩ rằng một máy chủ là một cái gì đó đặc biệt, một cái gì đó rất khác với những gì nó thực sự là. Nhưng nói theo ngôn ngữ đơn giản, máy chủ không hơn gì một chiếc máy tính giống như cái mà chúng ta có thể có trong nhà, chỉ có điều thay vì hoạt động như một máy khách, nó hoạt động như một máy chủ, tức là nó cung cấp một dịch vụ. Bạn có thể nghĩ rằng, trong trường hợp đó, tại sao những hình ảnh mà chúng ta nhìn thấy trên TV hoặc các phương tiện khác khi máy chủ xuất hiện lại rất hiếm ...

Chà, những hình ảnh như hình tôi đưa vào đây là hình ảnh của trang trại máy chủ. Đây là tên được đặt cho một loạt các cụm máy tính hoạt động cùng nhau như một máy chủ duy nhất. Hãy nhớ rằng các dịch vụ mà các máy chủ này thường cung cấp dành cho hàng trăm, hàng nghìn hoặc hàng triệu người dùng đóng vai trò là khách hàng trên máy tính, điện thoại thông minh, máy tính bảng, TV thông minh, v.v. Do đó, dung lượng mà chúng phải xử lý cao hơn nhiều so với một máy tính gia đình.

Bạn chỉ cần nghĩ về các dịch vụ như Twitter, mạng xã hội này có bao nhiêu triệu người dùng, bao nhiêu tệp và tin nhắn được chuyển mỗi giây. Nếu bạn nghĩ về nó, đó là một lượng lớn dữ liệuDo đó, nó không hợp lệ với kết nối như kết nối chúng ta có ở nhà và máy tính bình thường. Cần có kết nối rất nhanh để không có sự chậm trễ trong việc truy cập của tất cả những người dùng đó và cung cấp cho nó dung lượng cần thiết để họ có thể lưu trữ tất cả thông tin đó.

Với điều này, ý tôi là dịch vụ này hàng chục hoặc hàng trăm "máy tính" được sử dụng như những thứ chúng ta có thể sử dụng ở nhà được đặt trong tủ có giá đỡ. Nhưng về bản chất, mỗi người trong số họ không xa một chiếc máy tính để bàn như chiếc máy tính chúng ta có trong nhà. Có thể một số có bộ vi xử lý đặc biệt như AMD EPYC, Intel Xeon, v.v., có thể chúng cũng có một số ổ cứng được cấu hình RAID để tránh trường hợp bất kỳ trong số chúng bị lỗi, thông tin bị mất, nhưng như tôi đã nói, hãy giữ rằng chúng là máy tính giống như cái mà bạn quản lý ngay bây giờ, và tôi sẽ cho bạn biết điều này vì bây giờ tôi sẽ giải thích cách biến PC của bạn thành một máy chủ khiêm tốn ...

Tất nhiên những máy chủ có nhiều loại, có những người cung cấp dịch vụ đám mây, chẳng hạn như lưu trữ, có những người cung cấp dịch vụ email, máy chủ web, cũng có một số cung cấp dịch vụ đơn giản như DNS, NTP, DHCP, LDAP, v.v., nghĩa là, tất cả những thứ sau đều rất cần thiết và chắc chắn bạn sử dụng chúng hàng ngày mà không hề nhận ra, vì chúng là dịch vụ mà một số ISP (Nhà cung cấp dịch vụ Internet) hoặc nhà cung cấp dịch vụ Internet cung cấp cho chúng ta.

Trang web là gì?

Trang web trên các thiết bị khác nhau

Trước đây chúng tôi đã đề cập rằng một số máy chủ web, họ cung cấp dịch vụ lưu trữ hoặc lưu trữ cho trang web. Trang web là một tập hợp thông tin điện tử hoặc kỹ thuật số (HTML, PHP, CSS, ...) chỉ có thể chứa văn bản hoặc nội dung khác như ứng dụng web được viết bằng một số ngôn ngữ lập trình hoặc tập lệnh cụ thể (Perl, JavaScript , Ruby với khuôn khổ RoR hoặc Ruby on Rails, PHP, v.v.), nội dung đa phương tiện (hình ảnh, video, âm thanh, v.v.) và cả các liên kết thường hướng bạn đến một nơi khác trên cùng một trang web này hoặc đến một trang khác .

Và để có thể thực hiện được điều này, chúng tôi có các máy chủ web lưu trữ chúng, tức là nó lưu trữ tất cả dữ liệu này trên ổ cứng và cũng có một loạt các giao thức mạng như HTTP (Giao thức truyền siêu văn bản) và HTTPS (HTTP với bảo mật chứng chỉ SSL / TLS). Một phần mềm sẽ giải quyết vấn đề này vì chúng tôi sẽ dạy bạn ở phần sau, nghĩa là triển khai kết nối hai chiều cho khách hàng và họ có thể điều hướng thông qua nội dung siêu văn bản, nghĩa là, phương tiện để chia sẻ, liên kết và tương tác với thông tin được điều chỉnh vào WWW (World Wide Web).

Như thế nào?

Kết nối Máy khách-Máy chủ

Chà, chúng ta đã biết web và máy chủ web là gì, được giải thích theo cách của tôi và bằng ngôn ngữ đơn giản để ít nhiều ai cũng có thể hiểu được nó, kể cả những người không có kiến ​​thức về công nghệ này. Và bây giờ tôi tiếp tục với phần này, trong đó tôi sẽ cố gắng làm rõ hoạt động của hệ thống máy khách-máy chủ này. Nhưng đối với điều này, trước tiên tôi sẽ phân biệt giữa hai:

  • Khách hàng: khách hàng là người dùng truy cập trang web từ thiết bị của họ, có thể là máy tính xách tay, máy tính để bàn, máy tính bảng, điện thoại thông minh, v.v. Để truy cập, bạn chỉ cần có kết nối Internet và trình duyệt web, một phần mềm rất quan trọng ở phía máy khách có nhiệm vụ hiển thị tất cả nội dung web đó theo cách thân thiện và cho phép người dùng tương tác với nó. Và đối với điều này, chúng tôi sẽ chỉ cần địa chỉ của trang web hoặc IP ..., mặc dù bạn có thể nghĩ rằng điều này không phải lúc nào cũng cần để truy cập, vì có các công cụ tìm kiếm (ví dụ: Google), thông qua các từ khóa, cho phép để hiển thị các trang web này đã được lập chỉ mục và bạn đã đúng.
  • Máy chủ: Như chúng tôi đã giải thích, nó sẽ chứa tất cả dữ liệu và một phần mềm hoạt động như một máy chủ, tức là nó cho phép máy khách kết nối để làm bất cứ điều gì họ cần làm. Trong trường hợp của một máy chủ web, ví dụ: Apache, Lighttpd, v.v.

Tôi muốn chỉ ra một cái gì đó khác, và đó là điều như bạn biết, địa chỉ IP Nó là một xác định một máy được kết nối với mạng, trong trường hợp này nó sẽ là IP của máy chủ web. Có vài dịch vụ như thế này hiển thị cho bạn IP của trang yêu thích của bạn, ví dụ: nếu bạn tìm kiếm google.es, nó sẽ hiển thị cho bạn IP tương ứng với máy chủ nơi dịch vụ này được lưu trữ. Nếu bạn cố gắng nhập số này vào thanh địa chỉ của trình duyệt web, bạn sẽ thấy điều đó bằng cách nhập www.google.es và IP đã nói, trong cả hai trường hợp, nó sẽ hiển thị Google.

Tại sao tôi lại nói điều này? Vì nó giúp tôi liên kết với Máy chủ DNS. Các máy chủ này là các dịch vụ khác chứa các bảng với tên của các trang web và IP tương ứng của chúng, để khi ai đó tìm kiếm địa chỉ theo tên và không sử dụng IP, máy chủ sẽ làm cho trình duyệt hiển thị nội dung của trang web đó. Điều này được thực hiện để làm cho nó trực quan hơn cho con người. Chúng ta không thể nhớ tất cả những con số đó một cách dễ dàng, nhưng chúng ta có thể nhớ tên của trang web yêu thích của chúng ta, phải không?

Và tôi kết thúc bằng cách chỉ định những gì URL (Bộ định vị tài nguyên thống nhất) hoặc công cụ định vị tài nguyên thống nhất, mà chúng tôi thấy ở đầu thanh trình duyệt của chúng tôi khi chúng tôi truy cập một trang web. Ví dụ: giả sử bạn đăng ký miền myweb.es. Trong trường hợp này, miền đó sẽ là của bạn và bạn có thể sử dụng miền đó để hiển thị trang web của mình. Hãy tưởng tượng rằng ai đó truy cập vào địa chỉ http://www.miweb.es/info/inicio.html#web:

  • http://: Cho biết chúng tôi đang truy cập bằng giao thức HTTP, mặc dù nó cũng có thể là HTTPS, FTP, v.v. Nhưng trong trường hợp này, nó là lần đầu tiên, do đó nó là một nội dung web.
  • WWW: bạn biết đó là từ World Wide Web.
  • myweb.es: đây là miền bạn đã đăng ký, nghĩa là tên thay thế IP của máy chủ hoặc máy chủ chứa trang web của bạn. Do đó, xét cho cùng, nó sẽ là một tên xác định máy chủ hoặc máy ... Ngoài ra, nó còn chứa TLD (Tên miền cấp cao nhất) trong trường hợp này là .es, để xác định rằng đó là một trang web từ Tây Ban Nha, mặc dù nó có thể là .se từ Thụy Điển, .com từ công ty, tổ chức .org, v.v.
  • /info/home.html#web: điều này chỉ đơn giản xác định rằng nội dung này đã được truy cập, nghĩa là, một thư mục thông tin và bên trong nó là một tệp home.html với siêu văn bản và cụ thể là phần web. Nó cũng có thể là hình ảnh, PDF, video, v.v. Như nó xảy ra trong trình quản lý tệp của bạn khi bạn đi đến một đường dẫn trên ổ cứng cục bộ của mình, phải không?

Tôi nghĩ rằng với điều này là đủ hoạt động rõ ràng giải thích một cách đơn giản.

Hướng dẫn: xây dựng máy chủ web của riêng bạn từng bước

Web thử nghiệm Apache

Nếu bạn có một GNU / Linux phân phối bất kỳBạn nên biết rằng một khi bạn đã cấu hình mạng của mình đúng cách, vì bạn không thể có một IP động, nó phải ở trạng thái tĩnh, nếu không nó sẽ thay đổi giá trị và sẽ khó truy cập vào web hơn. Ngoài ra, bạn cũng nên chú ý đến việc nếu bạn có một tường lửa được định cấu hình bằng iptables hoặc phần mềm khác mà không có quy tắc nào hạn chế việc chuyển qua cổng 80 hoặc 8080, v.v., như nếu bạn có AppArmor hoặc SELinux, chúng sẽ cho phép người dùng hành động. web server daemon, trong trường hợp này là Apache.

Bước tiếp theo là cài đặt phần mềm để triển khai máy chủ web của chúng tôi, trong trường hợp này Apache và các gói bổ sung khác để hoàn thành LAMP, nhưng nó có thể là một cái khác. Trong trường hợp của tôi, từ Debian:

sudo apt-get update

sudo apt-get install apache2
sudo service apache2 restart
sudo apt-get install mysql-server php5-mysql
mysql -u root
mysql -u root -p (sin no introdujiste el password durante la instalación)
sudo apt-get install php libapache2-mod-php5 php5-mycrypt
sudo apt-get install php5-sqlite

Sau đó, bạn có thể cấu hình một số thông số từ máy chủ nếu bạn cần hoặc có thể nếu nó không hoạt động và bạn nhận được trang mà tôi đã hiển thị cho bạn trong hình ảnh trước đó, hãy xem nhật ký vì có gì đó đã xảy ra lỗi ... Nhân tiện, bạn có thể thấy điều này bằng cách truy cập trình duyệt web của bạn và đặt localhost 127.0.0.1 .2 trên thanh địa chỉ hoặc IP tĩnh mà bạn đã định cấu hình cho máy chủ của mình. Các cổng mặc định sẽ nằm trong /etc/apacheXNUMX/ports.conf trong trường hợp bạn muốn sửa đổi chúng.

Nếu bạn muốn, bạn cũng có thể cài đặt gói bổ sung, nếu bạn cũng dự định có một máy chủ thư hoặc một số bảng cấu hình như phpAdmin, v.v.

Lưu trữ trang web của bạn trên máy chủ

Xây dựng trang web

Khi chúng tôi đã chuẩn bị xong máy chủ, hãy nhớ rằng PC mà bạn dành riêng cho máy chủ phải luôn được bật và kết nối với mạng để có thể truy cập web từ bất kỳ thiết bị nào khác, nếu không máy chủ sẽ "ngừng hoạt động". Bây giờ chúng tôi chỉ có lưu trữ trang web của chúng tôi, rằng chúng tôi có thể đã tự tạo nó bằng cách sử dụng HTML hoặc mã khác, hoặc thậm chí sử dụng CMS như WordPress để làm cho mọi thứ dễ dàng hơn nhiều cho chúng tôi và chúng tôi có thể lưu trữ ở cùng một nơi ...

Và đối với điều này, chúng tôi sẽ làm điều đó trong thư mục / var / www / html / rằng trừ khi chúng tôi đã thay đổi cấu hình Apache, nó sẽ ở đó nơi lưu trữ các trang web. Ví dụ: bạn có thể thực hiện một thử nghiệm nhỏ bằng cách sử dụng PHP để tạo tệp bằng trình soạn thảo văn bản yêu thích của bạn với nội dung:

<?php phpinfo() ?>

Gọi nó đi test.php và bây giờ, sau khi khởi động lại daemon apache2, bạn sẽ có thể xem liệu nó có thể được truy cập từ trình duyệt hay không: 127.0.0.1/test.php.

Tôi hy vọng hướng dẫn này đã giúp bạn và ít nhất bạn hiểu rõ hơn một chút về cách máy chủ hoạt động, để bây giờ mỗi khi bạn truy cập blog của chúng tôi để đọc một mục tin tức, bạn biết mọi thứ đằng sau nó. Đừng quên để lại của bạn bình luận, nghi ngờ hoặc gợi ý, ...


8 bình luận, để lại của bạn

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Peter dijo

    Chào. Bạn có nghĩ rằng việc sử dụng PHP 5 vào năm 2018 không có nhiều ý nghĩa?

  2.   Noe taipe dijo

    Hey.
    Tôi là người mới bắt đầu khi nói đến máy chủ.
    Bộ định tuyến phải có IP gì?
    Máy tính hoạt động như một máy chủ phải có ip nào
    Apache nó phải có ip gì?
    Họ có cố định công khai ip không?

  3.   trái táo dijo

    Hoàn toàn đồng ý Noe Taipe
    Tôi đã tìm kiếm thông tin trong vài tuần để thiết lập một máy chủ web Linux và trên tất cả các diễn đàn họ đưa ra những «thủ thuật» chỉ hoạt động trên mạng nội bộ hoặc mạng cục bộ và tôi cho rằng mục tiêu của bạn là có thể thiết lập một máy chủ web và ai đó có thể nhìn thấy bạn bất kỳ lúc nào trong một máy tính khác bên ngoài mạng của bạn ở thành phố, quốc gia khác, ...
    Tôi đã quản lý để làm cho một máy chủ web nhìn thấy nó trong mạng bên ngoài, rằng chỉ bằng cách đặt IP công cộng của tôi và mở cổng trong bộ định tuyến modem của tôi, tôi đã cài đặt Bind9, để có thể trỏ miền được phát minh trong mạng nội bộ của tôi và hoạt động chính xác trong mạng của tôi, nhưng tôi không thể tìm thấy thông tin về cách thực hiện điều tương tự qua Internet và mọi người không đặt IP của tôi mà đặt tên miền được phát minh ra như họ, google, quốc gia, thế giới, tòa án Anh,… .
    Xin chào và tôi hy vọng bạn tìm thấy thông tin về nó.

  4.   logiteckno1 dijo

    Tôi cũng đang cố gắng học cách gắn một máy chủ, nhưng điều khiến tôi quan tâm là làm thế nào để gắn một máy chủ cho sản xuất và tôi vẫn không thể tìm thấy thông tin tốt.
    Nếu bạn vẫn chưa giải quyết được vấn đề mình gặp phải, tôi khuyên bạn nên tạo một tài khoản tại noip.com. Bạn tạo một miền miễn phí, đặt ip công cộng và cấu hình DDNS trên modem của bạn. Tôi để lại cho bạn một liên kết: https://www.youtube.com/watch?v=6ijBQhn06CA
    Chúc mừng.

  5.   GustavoIP dijo

    Cảm ơn sự đóng góp, tôi vừa cài đặt một máy chủ LEMP và nhờ blog của bạn, tôi đã có ý tưởng về cách triển khai các trang WEB của mình, bây giờ hãy học một chút PHP hoặc HTML, tùy theo cách nào dễ hơn đối với tôi và trở đi.
    Chúc mừng.

  6.   Người sói Fabian Ariel dijo

    Với lời mở đầu của bạn, hãy tưởng tượng bạn sẽ thực hiện một hướng dẫn từng bước cho những người thiếu kinh nghiệm như tôi… Tôi đã sai.

  7.   Diego ramos dijo

    Nó phục vụ tôi đủ, cảm ơn bạn rất nhiều.

  8.   miguel angel silva dijo

    Tốt xấu hướng dẫn này ...