Cách cài đặt phpIPAM trên Ubuntu 16.04

2 năm trước

Giới thiệu

Khi cơ sở hạ tầng phát triển, số lượng địa chỉ IP bạn sử dụng cũng có thể tăng lên rất nhiều đến mức không thể chỉ dựa vào bộ nhớ của mình để quản lý tất cả chúng. Vào thời điểm đó, bạn sẽ muốn có một công cụ để giúp bạn theo dõi mọi thứ.

Trong khi các bảng tính và tệp văn bản thuần túy là các giải pháp công nghệ thấp có thể triển khai nhanh chóng, chúng cũng có thể quá cồng kềnh khi làm việc với các địa chỉ IP lớn hoặc khi cố gắng theo dõi nhiều điểm dữ liệu xung quanh mỗi địa chỉ.

phpIPAM, một công cụ chuyên dụng cho quản lý địa chỉ IP, vượt xa các tùy chọn công nghệ thấp bằng cách cung cấp quét ping tự động, báo cáo trạng thái cho phép xem máy chủ nào đang hoạt động và thông báo email về sự thay đổi đối với máy chủ bạn đang giám sát và các tính năng khác giúp việc quản lý cơ sở hạ tầng trở nên dễ dàng hơn nhiều.

Trong hướng dẫn này, bạn sẽ cài đặt và cấu hình phpIPAM trên một ngăn xếp Linux, Apache, MySQL và PHP (LAMP) chạy trên Ubuntu 16.04.

 

Điều kiện tiên quyết

Trước khi bắt đầu, bạn cần:

  • Ubuntu 16.04 server được thiết lập theo hướng dẫn này, gồm một sudo non-root user và một  firewall.
  • Một tên miền được đăng ký đầy đủ. Hướng dẫn này sử dụng example.com suốt. Bạn có thể mua tên miền trên Namecheap, nhận tên miền miễn phí trên Freenom hoặc sử dụng công ty đăng ký tên miền mà bạn chọn.
  • Các bản ghi DNS sau được thiết lập cho server của bạn.
    • Bản ghi A với example.com trỏ đến địa chỉ IP công cộng của server.
    • Bản ghi A với www.example.com trỏ đến địa chỉ IP công cộng của server.
  • Một LAMP stack được thiết lập theo hướng dẫn này.
  • Một Apache vhost được định dạng cho miền của bạn.
  • Tạo một chứng chỉ Encrypt SSL cho miền được cài đặt  
 

Bước 1 - Định cấu hình Apache

Theo mặc định, phpIPAM dựa trên query strings trong cấu trúc URL để truyền dữ liệu từ một phần của ứng dụng này sang ứng dụng khác. Chuỗi truy vấn được nối vào URL với ? và chứa một hoặc nhiều cặp giá trị trường được phân cách bằng &.

Dù không hoàn toàn cần thiết để cài đặt, phpIPAM hỗ trợ URL-rewriting bằng mod_rewrite module của Apache, dịch chuỗi truy vấn thành các URL dễ đọc hơn và thân thiện với con người hơn.

Nếu không cho phép mod_rewrite trong cài đặt Apache an toàn với điều kiện tiên quyết chứng chỉ TLS / SSL bằng cách chuyển hướng các yêu cầu HTTP sang HTTPS, hãy sử dụng tiện ích a2enmod của Apache ngay bây giờ để cho phép mod_rewrite để bạn có thể bật URL-rewriting trong Bước 2.

sudo a2enmod rewrite 

Lệnh này tạo ra liên kết tượng trưng tới /etc/apache2/mods-available/rewrite.load  trong /etc/apache2/mods-enabled/rewrite/, cho phép mô-đun khởi động tiếp theo của Apache.

Nếu mod_rewrite đã được bật, đầu ra sẽ đọc:

Output of sudo a2enmod rewrite
Module rewrite already enabled 

Nếu không, đầu ra sẽ cho biết rằng liên kết tượng trưng đã được tạo và cần khởi động lại Apache để kích hoạt thay đổi.

Output of sudo a2enmod rewrite
Enabling module rewrite. 
To activate the new configuration, you need to run: 
  service apache2 restart 

Mặc dù bây giờ Apache cho phép mod_rewrite vào lần sau khi khởi động web server, bạn vẫn phải sửa đổi cấu hình máy chủ ảo phpIPAM của mình để làm cho mod_rewrite có sẵn cho phpIPAM. Vì vậy, không khởi động lại Apache.

Thay vào đó, hãy mở tệp cấu hình Apache đã tạo cho phpIPAM trong Điều kiện tiên quyết.

sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf

Dán các dòng sau vào tệp cấu hình bên dưới phần DocumentRoot.

phpipam.conf
...
example.com/public_html
Options FollowSymLinks
AllowOverride all
Require all granted
...
  • Directory là vị trí trên server nơi các chỉ thị được áp dụng. Đây là thư mục bạn định cài đặt phpIPAM. Nếu đã làm theo hướng dẫn của máy chủ ảo Apache trong Điều kiện tiên quyết, thì đây là /var/www/example.com/public_html.
  • Options FollowSymLinks yêu cầu Apache theo các liên kết tượng trưng trong thư mục này. Đây là thiết lập mặc định.
  • AllowOverride all có nghĩa là bất kỳ chỉ thị nào trong tệp .htaccess trong thư mục này sẽ ghi đè bất kỳ chỉ thị chung nào tương ứng.
  • Require all granted cho Apache biết để cho phép các yêu cầu gửi đến từ tất cả các máy chủ.

Lưu và đóng tệp để tiếp tục.

Bây giờ, hãy kiểm tra các thay đổi cấu hình trước khi khởi động lại Apache.

sudo apache2ctl configtest 

Nếu đầu ra nói Syntax OK , bạn đã sẵn sàng để tiếp tục. Nếu không, hãy xem lại các hướng dẫn trước đó và làm theo các thông báo trên màn hình để biết thêm thông tin.

Cuối cùng, khởi động lại Apache để cho phép mod_rewrite và kích hoạt cấu hình mới.

sudo systemctl restart apache2 

Vì bạn chưa cài đặt phpIPAM, nên không có gì để xem tại https://example.com. Vì vậy, hãy tải xuống và cài đặt phpIPAM ngay bây giờ.

 

Bước 2 - Cài đặt phpIPAM

Các hướng dẫn cài đặt chính thức đề xuất hai phương pháp cài đặt phpIPAM: tải xuống một tarball từ kho lưu trữ SourceForge của project hoặc nhân bản project từ kho lưu trữ GitHub của nó. Để thực hiện các cập nhật  tương lai dễ dàng hơn, hãy sử dụng phương thức sau.

Theo mặc định, Git chỉ sao chép vào một thư mục hiện có nếu trống. Vì vậy, hãy sử dụng lệnh ls để xem nội dung thư mục mà bạn đã định dạng cho Apache ở Bước 1.

ls /var/www/example.com/public_html

Nếu thư mục không trống, hãy sử dụng các lệnh quản lý tập tin và điều hướng Linux cơ bản để xóa nó ngay bây giờ. mv di chuyển nội dung đến vị trí khác và rm sẽ xóa chúng hoàn toàn.

Bây giờ, sao chép Git project vào thư mục.

git clone https://github.com/phpipam/phpipam.git /var/www/example.com/public_html

Đầu ra xác nhận vị trí đang nhân bản vào và sau đó cung cấp một báo cáo thời gian thực của quá trình, bao gồm một số đối tượng Git được mong đợi sao chép cũng như số mà nó thực sự đã sao chép.

Output of git clone
Cloning into /var/www/example.com/public_html ... 
remote: Counting objects: 14234, done. 
remote: Compressing objects: 100% (50/50),done.
remote: Total 14234 (delta 27),reused 40 (delta 17),pack-reused 14161 
Receiving objects: 100% (14234/14234),11.38 MiB | 21.30 MiB/s, done. 
Resolving deltas: 100% (10066/10066),done. 
Checking connectivity... done. 

Bây giờ đã có ứng dụng phpIPAM hoàn chỉnh trên server của mình, nhưng vẫn thiếu một số PHP modules mà phpIPAM cần để chạy. Cài đặt chúng với apt-get.

Các gói bổ sung này cung cấp PHP với GNU Multiple Precision module để làm việc với các số nguyên có độ dài tùy ý, Multibyte String module để xử lý các ngôn ngữ không thể được biểu diễn bằng 256 ký tự, PEAR framework cho các phần tử PHP có thể tái sử dụng và GD module cho image processing.

sudo apt-get install php7.0-gmp php7.0-mbstring php-pear php7.0-gd 

Khởi động lại Apache để tạo các mô-đun mới có sẵn cho nó.

sudo systemctl restart apache2 

Với cả hai tệp ứng dụng và các module bổ sung trên server, bạn đã sẵn sàng để cấu hình phpIPAM.

 

Bước 3 - Định dạng phpIPAM

phpIPAM tìm kiếm các thiết lập cấu hình chính trong tập tin gọi là config.php. Mặc dù tệp này không tồn tại theo mặc định, nhưng ứng dụng này đi kèm với tệp cấu hình ví dụ để hoạt động.

Thay đổi thư mục cài đặt và tạo một bản sao của tệp cấu hình ví dụ để tham khảo sau này nếu gặp sự cố.

cd /var/www/example.com/public_html 
cp config.dist.php config.php 

Mở tệp mới để chỉnh sửa.

nano config.php 

Tìm phần có nhãn * database connection details. Các cài đặt này cho phpIPAM biết cách kết nối với CSDL MySQL  giữ tất cả dữ liệu của bạn.

Vì đã cài đặt MySQL trên cùng một máy như phpIPAM, bạn có thể đặt giá trị   $db['host']  thành   localhost. Và vì MySQL  nghe trên cổng 3306 theo mặc định, bạn không cần thay đổi giá trị   $db['port'].

Chưa có thiết lập CSDL MySQL cho phpIPAM, nhưng trong Bước 4, cài đặt dựa trên web của phpIPAM utiltiy sẽ tạo CSDL và người dùng CSLD bằng cách sử dụng các giá trị nhập vào tệp này. Vì vậy, hãy đặt giá trị $db['user'] thành tên của user bạn muốn phpIPAM kết nối với MySQL, đặt giá trị $db['pass']  thành mật khẩu bạn muốn phpIPAM sử dụng khi kết nối với MySQL, và đặt $db['name'] thành tên bạn muốn cung cấp cho CSDL MySQL.

phpIPAM's config.php
database_user';
$db['pass'] = 'database_password';
$db['name'] = 'database_name';
$db['port'] = 3306;
...

Cảnh báo: Nếu bạn chạy lệnh mysql_secure_installation khi cài đặt MySQL trong Điều kiện tiên quyết, hãy chắc chắc tạo một mật khẩu ở đây đáp ứng các nhu cầu chính sách hiện hành. Việc không làm như vậy sẽ gây ra lỗi khi tạo CSDL trong Bước 4.

Ngoài các cài đặt trước, có nhiều tùy chọn khác có sẵn cho bạn trong tệp này. Ví dụ, có thể định dạng một kết nối an toàn tới CSDL bằng chứng chỉ SSL, có thể kích hoạt thông báo email cho các biến cố CSDL khác nhau, và có thể bật chế độ gỡ lỗi để tạo nhật ký chi tiết hơn. Tuy nhiên, đối với cài đặt cơ bản, bạn có thể để phần còn lại được đặt thành giá trị mặc định của chúng.

Khi bạn chỉnh sửa xong, hãy lưu và đóng tệp.

Bây giờ bạn đã tạo tệp cấu hình chính cho phpIPAM, đã đến lúc kết nối với giao diện web và hoàn tất cài đặt.

 

Bước 4 — Tạo Database và Database User

Bước cuối cùng trong quá trình cài đặt bao gồm việc tạo CSDL MySQL và user cho phpIPAM và thiết lập tài khoản admin user cho giao diện web của phpIPAM. Tất cả điều này có thể được thực hiện thông qua trình hướng dẫn cài đặt dựa trên web của phpIPAM.

Điều hướng trình duyệt của bạn đến  https://example.com/install. Bạn sẽ thấy trang chủ cài đặt phpIPAM chào đón bạn đến trình hướng dẫn và yêu cầu chọn loại cài đặt  muốn thực hiện. Nếu không thể hiển thị màn hình này, hãy xác minh rằng firewall không chặn truy cập trên cổng 80 và truy lại các bước trước đó để giải quyết sự cố.

Có ba tùy chọn trên màn hình này  — New phpipam installationMigrate phpipam installation, và Working installation — mỗi phần có một mô tả ngắn về mục đích của nó. Khi đang thiết lập một cài đặt phpIPAM mới, nhấn nút được đánh dấu New phpipam installation.

Installing phpIPAM, step 1

Trên màn hình tiếp theo, trình hướng dẫn mô tả phần còn lại của quá trình cài đặt, chỉ cho tài liệu cài đặt chính thức để biết thêm chi tiết và yêu cầu quyết định loại cài đặt CSDL  bạn muốn thực hiện.

Một lần nữa, bạn có ba lựa chọn:

  • Automatic database installation: Trình hướng dẫn sử dụng thông tin bạn đã nhập vào config.php trong Bước 3 để tạo CSDL và user của MySQL.
  • MySQL import instructions: Bạn sẽ sử dụng tiện ích mysqlimport của MySQL để tạo CSDL từ các tệp văn bản thuần túy mà bạn cung cấp.
  • Manual database installation: Trình hướng dẫn sẽ cung cấp các lệnh SQL mặc định mà bạn cần để tạo một CSDL phpIPAM mới theo cách thủ công.

Để đơn giản, hãy chọn tùy chọn hoàn toàn tự động bằng cách nhấp vào nút Automatic database installation.

Installing phpIPAM, step 2

Trình hướng dẫn yêu cầu cung cấp thông tin cần thiết để kết nối với MySQL. Điều này bao gồm thông tin xác thực đăng nhập cho user cần kết nối, vị trí của CSDL và tên của CSDL.

Khi cần trình hướng dẫn để tạo CSDL và user mới, bạn phải nhập thông tin xác thực đăng nhập cho user có đủ đặc quyền để làm như vậy.MySQL root user của bạn là một lựa chọn tốt.

Theo mặc định, vị trí của CSDL được đặt thành localhost và tên của nó được đặt thành phpipam. Nếu muốn thay đổi một trong hai điều này, bạn cần chỉnh sửa tệp config.php đã tạo trong Bước 3 và sau đó khởi động lại trình hướng dẫn cài đặt.

Bạn có thể truy cập các tùy chọn cài đặt bổ sung bằng cách nhấp vào nút Show advanced options. Tại đây, bạn sẽ có thêm ba lựa chọn:

  • Drop existing database Trước khi chạy thủ tục cài đặt, trình hướng dẫn sẽ cố gắng xóa CSDL cùng tên với giá trị trong trường MySQL database name. Điều này được tắt theo mặc định.
  • Create database Trình hướng dẫn sẽ cố tạo một CSDL có cùng tên với giá trị trong trường   MySQL database name. Điều này được bật theo mặc định.
  • Create permissions Trình hướng dẫn sẽ cố gắng thiết lập quyền trên CSDL mới, hạn chế quyền truy cập vào chỉ MySQL user được định nghĩa trong config.php. Điều này được bật theo mặc định.

Nhập username và password cho MySQL user mà bạn muốn trình hướng dẫn kết nối, để tùy chọn nâng cao được đặt thành giá trị mặc định và nhấn nút Install phpipam database.

Installing phpIPAM, step 3

Bạn sẽ thấy một thông báo xác nhận cho biết rằng trình thủ thuật đã cài đặt thành công CSDL. Nếu không, hãy xem lại thông báo lỗi của trình hướng dẫn để được trợ giúp thêm.

Nhấp vào Continue để tiến hành cài đặt.

Installing phpIPAM, step 4

Trên màn hình này, trình hướng dẫn sẽ nhắc bạn đặt admin user password cho giao diện web, tiêu đề hiển thị ở đầu mỗi màn hình giao diện web phpIPAM và URL để cài đặt phpIPAM.

Nhập admin password bạn muốn sử dụng, tiêu đề mô tả cho giao diện phpIPAM và tên miền đủ điều kiện trỏ đến cài đặt phpIPAM, sau đó nhấn nútSave settings.

Installing phpIPAM, step 5

Bây giờ bạn sẽ thấy thông báo xác nhận cho biết rằng các cài đặt đã được lưu thành công. Nếu không, hãy sử dụng thông báo lỗi của trình hướng dẫn để chẩn đoán sự cố.

Installing phpIPAM, step 6

Nhấp vào nút Proceed to login để truy cập trang chủ cài đặt phpIPAM và đăng nhập bằng   admin username và password bạn đã nhập trong trường Admin password.

Cài đặt và cấu hình phpIPAM hiện đã hoàn tất, vì vậy có thể bắt đầu thêm thông tin để quản lý các mạng bạn theo dõi dễ dàng hơn.

 

Kết luận

Trong bài này, bạn đã cài đặt và cấu hình phpIPAM, một ứng dụng web quản lý địa chỉ IP nguồn mở. Bây giờ có thể theo dõi việc sử dụng địa chỉ IP trong cả cơ sở hạ tầng của riêng bạn và trong các mạng khác.

Ngoài ra, bạn có thể sử dụng phpIPAM để theo dõi các VLAN và ánh xạ chúng với mạng con, giữ một kho lưu trữ các thiết bị mạng bao gồm các thông tin như loại thiết bị và vị trí, và cấu hình thông báo email để được cảnh báo về những thay đổi trên mạng của bạn.

Để tự động hóa phpIPAM, hãy lập trình và tích hợp với các ứng dụng đang tự viết, xem tài liệu chính thức về API tích hợp của phipIPAM. Để bắt đầu và chạy nhanh hơn với API, hãy khám phá các hướng dẫn giới thiệu chính thức.

Cuối cùng, hãy đảm bảo điều tra các cài đặt quét tự động đối với cơ sở hạ tầng công cộng đang quản lý hoặc chống lại cơ sở hạ tầng địa phương của riêng bạn. Đó là tự động quét máy chủ lưu trữ có thể cung cấp cho bạn lợi ích lớn nhất như một công cụ sysadmin hoặc devops.

Tham khảo thêm tại vicloud.vn để biết nhiều thông tin hữu ích!