Cài đặt và cấu hình máy chủ web server Apache trên Unix Ubuntu Linux RedHat

Tác giả CCNACCNP, T.Tư 19, 2019, 05:01:05 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cài đặt và cấu hình máy chủ web server Apache trên Unix Ubuntu Linux RedHat


Máy chủ https Apache là một con quái quật hùng mạnh cung cấp năng lượng cho phần lớn các trang web. Nó đã phát triển thành một máy chủ phức tạp để cắt, xúc xắc, nhảy múa và hát. Nó cung cấp sức mạnh cho các trung tâm lưu trữ rộng lớn, và nó cũng lộng lẫy để chạy các trang web cá nhân nhỏ.

Thủ thuật với Apache là biết bạn cần cấu hình nào vì nó có nhiều lựa chọn. Chúng ta sẽ bắt đầu với việc thiết lập một trang web, và sau đó trong phần 2 thiết lập SSL, điều này cực kỳ quan trọng và chúng ta sẽ tìm hiểu một chút về tệp .htaccess. Vâng, .htaccess, tệp tuyệt vời đó cho phép chúng tôi tạo cấu hình cho mỗi thư mục, nhưng sử dụng cú pháp méo mó như vậy, nó làm giảm quản trị viên máy chủ khắc kỷ nhất đến rơi nước mắt và thút thít. Tin vui là bạn không bao giờ cần sử dụng .htaccess nếu bạn có quyền truy cập vào các tệp cấu hình Apache của mình. Nhưng khi bạn không, ví dụ như trên chia sẻ lưu trữ, bạn cần .htaccess.

Trong loạt bài này, chúng ta sẽ giải quyết riêng Debian/Ubuntu/Mint và Fedora/CentOS/Red Hat, bởi vì các họ Linux khác nhau đều là những bông hoa đặc biệt cảm thấy họ phải tổ chức các tệp cấu hình Apache theo cách riêng của họ.

Trên Debian, Linux, Solaris, Ubuntu, Unix... cài đặt Apache bằng lệnh này:


Mã nguồn [Chọn]
$ sudo apt-get install apache2
Cái này cài đặt Apache, tiện ích, tệp cấu hình và các mục khác mà bạn có thể thấy với apt-cache show apache2. Debian / Ubuntu tự động khởi động Apache sau khi cài đặt. Trỏ trình duyệt web của bạn tới https://localhost để xác minh rằng nó đang chạy; bạn sẽ thấy trang chỉ mục mặc định (Hình 1).


Hình 1: Trang mặc định của Apache2 Ubuntu.

Khi bạn thấy điều này, bạn đã sẵn sàng để làm việc.

Mọi thứ ở đâu

Việc định cấu hình Apache ban đầu có vẻ phức tạp, nhưng khi bạn nghiên cứu các tệp cấu hình, bạn sẽ thấy một sơ đồ mô-đun đẹp giúp dễ dàng quản lý các cấu hình của bạn. Các tập tin cấu hình nằm trong /etc/apache2. Dành thời gian nghiên cứu cấu trúc tệp cấu hình của bạn và đọc các tệp cấu hình mặc định. Bạn nên có những tập tin và thư mục này:

Mã nguồn [Chọn]
apache2.conf               
conf-available             
conf-enabled               
envvars
magic
mods-available
mods-enabled
ports.conf
sites-available
sites-enabled

The main server configuration file is /etc/apache2/apache2.conf. You won't spend much time editing this file as it ships with a complete configuration, and it calls other configuration files for the bits you need to customize. Look in here to see the location of server configuration files, your https user and group, included files, log file locations, and other global server configurations.

conf-available contains additional server configurations. Keep any additional global configurations in this directory, rather than adding them to apache2.conf.

mods-available contains configurations for all installed modules.

sites-available contains configurations for your virtual hosts. Even if you're running only a single site you will set it up in a virtual host configuration.

None of the configurations in these directories are active until they are symlinked to their respective *-enabled directories. You must use Apache commands to set up new sites correctly, which we will get to in the next section.

envvars contains Apache's environment variables.

magic has file MIME types, so that Apache can quickly determine the file type from its first few bytes.

ports configures the TCP ports that Apache listens to.

Single Site

The installation comes with a default site that is configured in sites-available/000.default.conf. You could modify and use this, but it's better to leave it alone because it's a useful testing tool. Let's be like real nerds and make our new site from scratch. First create its document root (which in this example is test.com), enter the new directory, then create and test your sample index page:

Mã nguồn [Chọn]
$ sudo mkdir -p /var/www/test.com
$ cd /var/www/test.com
$ sudo nano index.html

Hãy sao chép này cho trang thử nghiệm mới của bạn. Nó phải được đặt tên là index.html và đi vào thư mục gốc của bạn:

Mã nguồn [Chọn]
<head>
<title>Test.com index page</title>
</head>
<h1>Hello, welcome to test.com! It works!</h1>           
<h2>That is all I have to say. If you don't see this then it doesn't work.</h2>
</body>
</html>

Kiểm tra trang chỉ mục mới của bạn bằng cách mở nó trong trình duyệt web (Hình 2), trong ví dụ này là tệp: /var/www/test.com/index.html.


Hình 2: Trang thử nghiệm.

Càng xa càng tốt! Bây giờ hãy tạo tệp máy chủ ảo để Apache có thể phục vụ nó. Tất cả các tệp máy chủ ảo phải có phần mở rộng .conf, vì đây là cách chúng được định nghĩa trong apache2.conf.

Mã nguồn [Chọn]
$ cd /etc/apache2/sites-available/
$ sudo nano test.com.conf

Sao chép cấu hình ví dụ này, thay thế địa chỉ email của riêng bạn:

Mã nguồn [Chọn]
<VirtualHost *:80>
    ServerAdmin carla@localhost
    DocumentRoot /var/www/test.com
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Apache gọi lưu trữ ảo dựa trên tên này, cho phép bạn phục vụ nhiều máy chủ ảo trên một địa chỉ IP duy nhất. Lưu trữ dựa trên IP yêu cầu mỗi máy chủ ảo có địa chỉ IP riêng. Bây giờ bạn phải kích hoạt cấu hình mới với a2ensite:

Mã nguồn [Chọn]
$ sudo a2ensite test.com.conf
Enabling site test.com.
To activate the new configuration, you need to run:
  service apache2 reload

Khởi động lại Apache, sau đó trỏ trình duyệt web của bạn tới https://test.com (Hình 3).


Hình 3: Trang thử nghiệm trực tiếp.

Nó hoạt động. Tại thời điểm này, bạn có thể truy cập siêu dữ liệu và thiết lập DNS cho miền thử nghiệm của mình. Hoặc bạn có thể làm điều đó một cách dễ dàng với các mục trong tệp /etc/hosts của bạn:

Mã nguồn [Chọn]
127.0.1.2       test.com
127.0.1.3       www.test.com

Đây là các địa chỉ localhost, vì vậy các trang web của bạn không thể truy cập được bên ngoài PC. Để kiểm tra thêm mạng LAN, bạn có thể sử dụng tệp /etc/hosts trên nhiều máy tính trong cùng một mạng con và nhập địa chỉ IP LAN của máy chủ Apache của bạn thay vì địa chỉ localhost. Một lựa chọn khác là sử dụng Dnsmasq; tạo một máy chủ LAN thật dễ dàng với Dnsmasq, vì vậy hãy xem Dnsmasq để biết các dịch vụ tên LAN dễ dàng để tìm hiểu làm thế nào.

Nếu bạn muốn một máy chủ web có thể truy cập công khai qua các Internets xấu lớn, thì bạn còn nhiều việc phải làm với việc đăng ký tên miền, thiết lập DNS phù hợp và xây dựng một tường lửa tốt. Xin vui lòng nghiên cứu này chuyên sâu, và hãy cẩn thận!

Thiết lập các trang web khác

Bạn muốn thiết lập nhiều trang web hơn? Chỉ cần lặp lại các bước này, tạo các gốc và miền tài liệu khác nhau.

Tài liệu Apache tốt hoàn toàn kỹ lưỡng và nó có ý nghĩa hơn khi bạn có một máy chủ trực tiếp đang chạy và có một số ý tưởng về cách mọi thứ hoạt động. Quay trở lại phần 2 để tìm hiểu về cấu hình SSL cực kỳ quan trọng và cách uốn cong .htaccess theo ý muốn của bạn.

Đọc Phần 2 trong loạt bài này để biết thêm về cách bật SSL trên Apache.