Cài đặt các package cơ bản
yum install epel-release expat-devel -y
Các công cụ compilation
yum group install "Development Tools" -y
Download Apache
Tải apache phiên bản mới nhất tại trang chủ: http://httpd.apache.org/download.cgi#apache24
wget https://mirror.downloadvn.com/apache//httpd/httpd-2.4.46.tar.gz
Giải nén:
tar -zxvf httpd-2.4.46.tar.gz
Tiến hành build Apache
Các yêu cầu sau cần hoàn thành trước khi build Apache:
APR
wget https://mirror.downloadvn.com/apache//apr/apr-1.7.0.tar.gz tar -zxvf apr-1.7.0.tar.gz mv apr-1.7.0 /root/httpd-2.4.46/srclib/apr
APR-Util
wget https://mirror.downloadvn.com/apache//apr/apr-util-1.6.1.tar.gz tar -zxvf apr-util-1.6.1.tar.gz mv apr-util-1.6.1 /root/httpd-2.4.46/srclib/apr-util
Perl-Compatible Regular Expressions Library (PCRE)
yum install pcre-devel -y
Compile source code
cd httpd-2.4.46 ./buildconf ./configure --enable-so make
Install HTTPD
sudo make install
Add Apache executables to PATH
Nếu bạn cố gắng nhập httpd -v trong dòng lệnh của mình, nó sẽ dẫn đến việc không tìm thấy lệnh. Đó là vì httpd không có trên $PATH của bạn. Tôi muốn có tất cả các tệp thực thi từ Apache ở mọi nơi. Để đạt được điều đó, hãy tạo tệp
vi /etc/profile.d/httpd.sh
Và dán nội dung sau:
pathmunge /usr/local/apache2/bin
Lưu tệp, đăng xuất và đăng nhập từ phiên hiện tại của bạn để tải lại hồ sơ của bạn. Sau đó, bạn sẽ có thể sử dụng lệnh httpd -v
Add Systemd entry
Để có thể Start, Stop, Restart, Reload… bằng lệnh systemctl bạn cần thực hiện:
vi /etc/systemd/system/httpd.service
Thêm vào nội dung sau:
[Unit] Description=The Apache HTTP Server After=network.target [Service] Type=forking ExecStart=/usr/local/apache2/bin/apachectl -k start ExecReload=/usr/local/apache2/bin/apachectl -k graceful ExecStop=/usr/local/apache2/bin/apachectl -k graceful-stop PIDFile=/usr/local/apache2/logs/httpd.pid PrivateTmp=true [Install] WantedBy=multi-user.target
Save lại và tiến hành reload lại systemctl daemon
systemctl daemon-reload
Bây giờ bạn có thể thử khởi động máy chủ httpd Apache của mình bằng lệnh sau:
systemctl start httpd
Tạo user và group cho Apache
sudo groupadd www sudo useradd httpd -g www --no-create-home --shell /sbin/nologin
Chỉnh sửa tệp httpd.conf và cập nhật group và user.
User httpd Group www
SAu đó các bạn restart lại httpd service:
systemctl restart httpd
Kiểm tra version apache:
httpd -V
[[email protected] conf]# httpd -v
Server version: Apache/2.4.46 (Unix)
Server built: Dec 25 2020 14:05:4
Chúc các bạn thành công.