Làm sao để thiết lập web mạng nội bộ?

 

Bài viết này sẽ giải thích làm thế nào để thiết lập web mạng nội bộ cơ bản trên máy tính của bạn và những điều cơ bản về cách sử dụng nó.

 

Yêu Cầu: Bạn cần phải biết Internet hoạt động thế nào, và Web Server là gì
Mục Tiêu: Bạn sẽ biết cách thiết lập máy chủ nội bộ. 

Tập tin cục bộ (local) và Tập tin từ xa (remote)

Khắp những nơi học, chúng tôi bảo bạn mở những ví dụ trực tiếp trong một trình duyệt - điều này có thể được thực hiện bằng cách click đúp vào file HTML, kéo và thả nó vào trong cửa sổ trình duyệt, hoặc chọn File > Open... và chuyển hướng tới file HTML. Có rất nhiều cách để làm được điều này.

Nếu đường dẫn web bắt đầu với file://, tiếp theo bởi đường dẫn tới file của bạn trên ổ đĩa cục bộ thì một tập tin cục bộ đang được sử dụng. Ngược lại, nếu bạn xem một trong những ví dụ của chúng tôi trên Github (hoặc một ví dụ trên một máy chủ từ xa khác), địa chỉ web sẽ bắt đầu với http:// hoặchttps://, để cho thấy rằng file đó đã được nhận thông qua HTTP.

Những vấn đề trong việc thử nghiệm những tập tin cục bộ

Một số ví dụ sẽ không chạy nếu bạn mở chúng như những tệp tin cục bộ. Vấn  đề này có thể do nhiều lí do, những lí do có khả năng nhất như:

  • Chúng đặc trưng cho những yêu cầu không đồng bộ. Một vài trình duyệt (bao gồm cả Chrome) sẽ không chạy những yêu cầu không đồng bộ (xem Tìm và nạp dữ liệu từ máy chủ) nếu bạn chỉ chạy ví dụ từ một tập tin cục bộ. Đây là do sự hạn chế để bảo mật (để biết thêm về bảo mật web, đọc Bảo mật website).
  • They feature a server-side language. Server-side languages (such as PHP or Python) require a special server to interpret the code and deliver the results.

Running a simple local HTTP server

To get around the problem of async requests, we need to test such examples by running them through a local web server. One of the easiest ways to do this for our purposes is to use Python's SimpleHTTPServer module.

To do this:

  1. Install Python. If you are using Linux or Mac OS X, it should be available on your system already. If you are a Windows user, you can get an installer from the Python homepage and follow the instructions to install it:

    • Go to python.org
    • Under the Download section, click the link for Python "3.xxx".
    • At the bottom of the page, choose the Windows x86 executable installer and download it.
    • When it has downloaded, run it.
    • On the first installer page, make sure you check the "Add Python 3.xxx to PATH" checkbox.
    • Click Install, then click Close when the installation has finished.
  2. Open your command prompt (Windows)/terminal (OS X/Linux). To check Python is installed, enter the following command:

    python -V
  3. This should return a version number. If this is OK, navigate to the directory that your example is inside, using the cd command.

    # include the directory name to enter it, for example
    cd Desktop
    # use two dots to jump up one directory level if you need to
    cd ..
  4. Enter the command to start up the server in that directory:

    # If Python version returned above is 3.X
    python -m http.server
    # If Python version returned above is 2.X
    python -m SimpleHTTPServer
  5. By default, this will run the contents of the directory on a local web server, on port 8000. You can go to this server by going to the URL localhost:8000 in your web browser. Here you'll see the contents of the directory listed — click the HTML file you want to run.

Note: If you already have something running on port 8000, you can choose another port by running the server command followed by an alternative port number, e.g. python -m http.server 7800 (Python 3.x) or python -m SimpleHTTPServer 7800 (Python 2.x). You can then access your content at localhost:7800.

Running server-side languages locally

Python's SimpleHTTPServer (python 2.0) http.server (python 3.0) module is useful, but it doesn't know how to run code written in languages such as PHP or Python. To handle that you'll need something more — exactly what you'll need depends on the server-side language you are trying to run. Here are a few examples:

  • To run Python server-side code, you'll need to use a Python web framework. You can find out how to use the Django framework by reading Django Web Framework (Python). Flask is also a good (slightly less heavyweight) alternative to Django. To run this you'll need to install Python/PIP, then install Flask using pip3 install flask. At this point you should be able to run the Python Flask examples using for example python3 python-example.py, then navigating to localhost:5000 in your browser.
  • To run Node.js (JavaScript) server-side code, you'll need to use raw node or a framework built on top of it. Express is a good choice — see Express Web Framework (Node.js/JavaScript).
  • To run PHP server-side code, you'll need a server setup that can interpret PHP. Good options for local PHP testing are MAMP (Mac and Windows) , AMPPS (Mac, Windows, Linux) and LAMP (Linux, Apache, MySQL, and PHP/Python/Perl). These are complete packages that create local setups to allow you to run the Apache server, PHP, and MySQL databases.