Linux Tutorials RHEL/CentOS Uncategorized

Install Apache from source on Centos 7

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.

About the author

CẬN THỊ

Thích đàn hát và mê công nghệ.

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments