GlassFish là một triển khai miễn phí và mã nguồn mở của Nền tảng Java EE do Eclipse phát triển. Đây là triển khai đầu tiên trên thế giới của nền tảng Java EE để triển khai các ứng dụng Java. GlassFish cung cấp kiến trúc có khả năng mở rộng với sự hỗ trợ của nhiều công nghệ Java, chẳng hạn như Enterprise JavaBeans, JPA, JavaServer Faces và JMS.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt GlassFish trên máy chủ AlmaLinux 9 với proxy ngược Nginx. Chúng tôi cũng đề cập đến cách bảo mật GlassFish bằng cách bật xác thực và thiết lập kết nối SSL/TLS an toàn để quản trị GlassFish.
Trước khi cài đặt bất kỳ gói nào, hãy tạo một người dùng hệ thống mới glassfish bằng lệnh bên dưới. Người dùng này sẽ có thư mục home mặc định là /opt/glassfish7, sẽ được sử dụng làm thư mục cài đặt cho GlassFish.
Bây giờ hãy cài đặt Java OpenJDK 21 và giải nén các gói bằng lệnh bên dưới. Nhập y để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22181%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản Java bằng lệnh bên dưới. Đảm bảo bạn đã cài đặt Java 17 hoặc 21 trên máy chủ AlmaLinux của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22693%22%20height=%22124%22%3E%3C/svg%3E
Tải xuống gói GlassFish bằng lệnh wget bên dưới.
Sau khi tải xuống, hãy giải nén tệp glassfish-7.0.12.zip vào thư mục /opt bằng lệnh unzip sau. Thao tác này sẽ giải nén GlassFish vào thư mục /opt/glassfish7.
Cuối cùng, hãy thay đổi quyền sở hữu thư mục /opt/glassfish7 thành người dùng glassfish. Điều này là do bạn sẽ chạy GlassFish với tư cách là người dùng hệ thống glassfish.
Tạo tệp dịch vụ systemd mới /etc/systemd/system/glassfish7.service bằng trình chỉnh sửa nano sau.
Chèn cấu hình systemd bên dưới cho GlassFish.
Lưu tệp và đóng trình chỉnh sửa khi hoàn tất.
Bây giờ hãy tải lại trình quản lý systemd để áp dụng tệp dịch vụ mới của bạn.
Sau đó, khởi động và kích hoạt GlassFish bằng lệnh bên dưới. Sau khi khởi động, GlassFish sẽ chạy trên cổng 8080 và 4848.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22668%22%20height=%22180%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh dịch vụ glassfish7 bằng lệnh bên dưới. Đảm bảo rằng dịch vụ glassfish7 được bật và đang chạy trên hệ thống của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh sau để tạo người dùng quản trị mới cho cài đặt GlassFish của bạn.
Khi được nhắc nhập người dùng, hãy nhập người dùng mặc định là admin và nhấn ENTER khi được yêu cầu nhập mật khẩu. GlassFish mặc định không có mật khẩu.
Khi được nhắc thiết lập mật khẩu mới, hãy nhập mật khẩu của bạn và lặp lại.
Sau khi quá trình hoàn tất, bạn sẽ nhận được thông báo 'Lệnh change-admin-password đã thực hiện thành công'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22142%22%3E%3C/svg%3E
Sau khi cấu hình mật khẩu quản trị viên cho GlassFish, hãy chạy lệnh sau để bật tính năng secure-admin. Thao tác này sẽ tự động tạo chứng chỉ SSL/TLS cho GlassFish.
Nhập tên người dùng quản trị và mật khẩu cho GlassFish khi được yêu cầu. Sau khi quá trình thành công, bạn sẽ thấy đầu ra 'Lệnh enable-secure-admin đã thực hiện thành công'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22125%22%3E%3C/svg%3E
Cuối cùng, hãy khởi động lại dịch vụ glassfish7 để áp dụng các sửa đổi của bạn vào GlassFish. Sau khi lệnh được thực thi, cài đặt GlassFish của bạn sẽ được bảo mật, người dùng quản trị có mật khẩu mới và chứng chỉ TLS được tạo cho quản trị viên GlassFish.
Cài đặt máy chủ web Nginx vào AlmaLinux của bạn bằng lệnh bên dưới. Nhập y để tiến hành cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22258%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo cấu hình khối máy chủ mới /etc/nginx/conf.d/glassfish.conf bằng trình chỉnh sửa nano sau lệnh.
Chèn cấu hình sau để thiết lập proxy ngược cho GlassFish chạy theo mặc định trên cổng 8080. Đảm bảo thay đổi tên miền trong phần sau bằng tên miền cục bộ của bạn.
Khi bạn hoàn tất, hãy lưu và thoát tệp.
Bây giờ hãy xác minh cú pháp Nginx bằng lệnh bên dưới. Nếu bạn có cú pháp đúng, bạn sẽ nhận được kết quả 'cú pháp ok - thử nghiệm thành công'.
Sau đó, khởi động và kích hoạt Nginx trên máy chủ AlmaLinux của bạn bằng lệnh bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22627%22%20height=%22219%22%3E%3C/svg%3E
Sau khi bắt đầu, hãy xác minh dịch vụ Nginx để đảm bảo rằng dịch vụ đang chạy và được bật.
Bên dưới, bạn sẽ thấy dịch vụ Nginx đang chạy và được bật trên AlmaLinux.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E
Mở cả dịch vụ HTTP và HTTPS trên firewalld bằng lệnh bên dưới.
Mở cổng TCP 4848 sẽ được sử dụng để quản trị GlassFish.
Bây giờ hãy tải lại firewalld để áp dụng các thay đổi của bạn vào firewalld. Sau đó, hãy xác minh các quy tắc được bật lis.
Bạn có thể thấy bên dưới các dịch vụ HTTP, HTTPS và cổng 4848 đã được thêm vào firewalld.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22678%22%20height=%22322%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22361%22%3E%3C/svg%3E
Bây giờ hãy mở một tab mới và truy cập http://glassfish.howtoforge.local:4848/ để truy cập vào trang quản trị GlassFish. Nhập quản trị viên mặc định cùng với mật khẩu của bạn, sau đó nhấp vào Đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22425%22%3E%3C/svg%3E
Nếu bạn có mật khẩu đúng, bạn sẽ thấy bảng điều khiển của GlassFish.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22478%22%3E%3C/svg%3E
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt GlassFish trên máy chủ AlmaLinux 9 với proxy ngược Nginx. Chúng tôi cũng đề cập đến cách bảo mật GlassFish bằng cách bật xác thực và thiết lập kết nối SSL/TLS an toàn để quản trị GlassFish.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:- Máy chủ AlmaLinux 9.
- Người dùng không phải root có quyền quản trị viên.
- Tên miền cục bộ trỏ đến địa chỉ IP của máy chủ.
Thiết lập các phụ thuộc
Trước tiên, bạn cần thiết lập hệ thống AlmaLinux của mình bằng cách thêm người dùng hệ thống sẽ được sử dụng để chạy GlassFish, sau đó cài đặt các gói Java OpenJDK.Trước khi cài đặt bất kỳ gói nào, hãy tạo một người dùng hệ thống mới glassfish bằng lệnh bên dưới. Người dùng này sẽ có thư mục home mặc định là /opt/glassfish7, sẽ được sử dụng làm thư mục cài đặt cho GlassFish.
Mã:
sudo useradd -m -d /opt/glassfish7 -U -s /bin/false glassfish
Mã:
sudo dnf install java-21-openjdk unzip nano
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22181%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản Java bằng lệnh bên dưới. Đảm bảo bạn đã cài đặt Java 17 hoặc 21 trên máy chủ AlmaLinux của mình.
Mã:
java --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22693%22%20height=%22124%22%3E%3C/svg%3E
Tải xuống gói GlassFish
Sau khi bạn đã tạo người dùng hệ thống và cài đặt Java, bây giờ bạn có thể tải xuống gói GlassFish. Hãy truy cập trang tải xuống GlassFish và sao chép liên kết cho phiên bản mới nhất.Tải xuống gói GlassFish bằng lệnh wget bên dưới.
Mã:
wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.12.zip
Mã:
unzip glassfish-7.0.12.zip -d /opt
Mã:
sudo chown -R glassfish:glassfish /opt/glassfish7
Thiết lập dịch vụ systemd cho GlassFish
Trong hướng dẫn này, bạn sẽ chạy GlassFish với tư cách là dịch vụ systemd. Thao tác này sẽ chạy GlassFish ở chế độ nền và bạn có thể dễ dàng quản lý nó thông qua tiện ích systemctl.Tạo tệp dịch vụ systemd mới /etc/systemd/system/glassfish7.service bằng trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/systemd/system/glassfish7.service
Mã:
[Unit]
Description = GlassFish Server v7
After = syslog.target network.target
[Service]
User=glassfish
ExecStart=/opt/glassfish7/bin/asadmin start-domain
ExecReload=/opt/glassfish7/bin/asadmin restart-domain
ExecStop=/opt/glassfish7/bin/asadmin stop-domain
Type = forking
[Install]
WantedBy = multi-user.target
Bây giờ hãy tải lại trình quản lý systemd để áp dụng tệp dịch vụ mới của bạn.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl start glassfish7
sudo systemctl enable glassfish7
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22668%22%20height=%22180%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh dịch vụ glassfish7 bằng lệnh bên dưới. Đảm bảo rằng dịch vụ glassfish7 được bật và đang chạy trên hệ thống của bạn.
Mã:
sudo systemctl status glassfish7
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E
Thiết lập quản trị viên GlassFish
Lúc này, GlasFish đang chạy như một dịch vụ systemd trên hệ thống của bạn. Bây giờ bạn cần xác nhận người dùng quản trị cho GlassFish và thiết lập enable-secure-admin để bảo mật quản trị GlassFish.Trước tiên, hãy chạy lệnh sau để tạo người dùng quản trị mới cho cài đặt GlassFish của bạn.
Mã:
sudo -u glassfish /opt/glassfish7/bin/asadmin --port 4848 change-admin-password
Khi được nhắc thiết lập mật khẩu mới, hãy nhập mật khẩu của bạn và lặp lại.
Sau khi quá trình hoàn tất, bạn sẽ nhận được thông báo 'Lệnh change-admin-password đã thực hiện thành công'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22142%22%3E%3C/svg%3E
Sau khi cấu hình mật khẩu quản trị viên cho GlassFish, hãy chạy lệnh sau để bật tính năng secure-admin. Thao tác này sẽ tự động tạo chứng chỉ SSL/TLS cho GlassFish.
Mã:
sudo -u glassfish /opt/glassfish7/bin/asadmin --port 4848 enable-secure-admin
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22125%22%3E%3C/svg%3E
Cuối cùng, hãy khởi động lại dịch vụ glassfish7 để áp dụng các sửa đổi của bạn vào GlassFish. Sau khi lệnh được thực thi, cài đặt GlassFish của bạn sẽ được bảo mật, người dùng quản trị có mật khẩu mới và chứng chỉ TLS được tạo cho quản trị viên GlassFish.
Mã:
sudo systemctl restart glassfish7
Chạy GlassFish với proxy ngược Nginx
Trong hướng dẫn này, bạn sẽ chạy GlassFish sau proxy ngược Nginx. Vì vậy, bây giờ bạn cần cài đặt Nginx vào máy chủ AlmaLinux của mình, sau đó tạo cấu hình khối máy chủ mới cho proxy ngược.Cài đặt máy chủ web Nginx vào AlmaLinux của bạn bằng lệnh bên dưới. Nhập y để tiến hành cài đặt.
Mã:
sudo dnf install nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22258%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo cấu hình khối máy chủ mới /etc/nginx/conf.d/glassfish.conf bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/nginx/conf.d/glassfish.conf
Mã:
upstream glassfish7 {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name glassfish.howtoforge.local;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://glassfish7/;
}
}
Bây giờ hãy xác minh cú pháp Nginx bằng lệnh bên dưới. Nếu bạn có cú pháp đúng, bạn sẽ nhận được kết quả 'cú pháp ok - thử nghiệm thành công'.
Mã:
sudo nginx -t
Mã:
sudo systemctl start nginx
sudo systemctl enable nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22627%22%20height=%22219%22%3E%3C/svg%3E
Sau khi bắt đầu, hãy xác minh dịch vụ Nginx để đảm bảo rằng dịch vụ đang chạy và được bật.
Mã:
sudo systemctl status nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E
Thiết lập Firewalld
Khi Nginx đã hoạt động, bạn phải mở cổng HTTP trên máy chủ của mình thông qua firewalld. Ngoài ra, bạn cũng có thể mở cổng 4848 được quản trị viên GlassFish sử dụng.Mở cả dịch vụ HTTP và HTTPS trên firewalld bằng lệnh bên dưới.
Mã:
sudo firewall-cmd --add-service={http,https} --permanent
Mã:
sudo firewall-cmd --add-port=4848/tcp --permanent
Mã:
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22678%22%20height=%22322%22%3E%3C/svg%3E
Truy cập GlassFish
Mở trình duyệt web của bạn và truy cập tên miền của bạn để sử dụng GlassFish, chẳng hạn như http://glassfish.howtoforge.local/. Nếu cài đặt thành công, bạn sẽ nhận được trang chỉ mục GlassFish như sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22361%22%3E%3C/svg%3E
Bây giờ hãy mở một tab mới và truy cập http://glassfish.howtoforge.local:4848/ để truy cập vào trang quản trị GlassFish. Nhập quản trị viên mặc định cùng với mật khẩu của bạn, sau đó nhấp vào Đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22425%22%3E%3C/svg%3E
Nếu bạn có mật khẩu đúng, bạn sẽ thấy bảng điều khiển của GlassFish.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22478%22%3E%3C/svg%3E