Cài đặt chương trình Apache từ source cài đặt

bởi | CentOS 8, LPI

Home » LPI » CentOS 8 » Cài đặt chương trình Apache từ source cài đặt

Các bước chính quá trình cài đặt từ souce

+ Download source chương trình
+ Giải nén và chuyển vào trong folder
+ Tạo file configure
+ Make
+ Make install

Biên dịch Cài đặt Apache 2.4.53

+ Link tham khảo quá trình cài đặt

https://httpd.apache.org/docs/2.4/

+ Cài đặt các thư viện cần thiết
[root@thanhdd ~]# dnf install gcc
[root@thanhdd ~]# dnf install openssl-devel
[root@thanhdd ~]# dnf install pcre-devel
[root@thanhdd ~]# dnf install expat-devel

+ Download apache server 2.4.53

[root@thanhdd ~]# wget https://dlcdn.apache.org/httpd/httpd-2.4.53.tar.gz

[root@thanhdd ~]# tar xf httpd-2.4.53.tar.gz
[root@thanhdd ~]# cd httpd-2.4.53
[root@thanhdd httpd-2.4.53]# ./configure --help

[root@thanhdd httpd-2.4.53]# ./configure --enable-ssl --enable-so --enable-http2

checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu

Configuring Apache Portable Runtime library ...

checking for APR... no
configure: error: APR not found. Please read the documentation.
=> Hiện đang báo thiếu Apache Portable Runtime, cần down về file source cài đặt

+ Download apr-1.7.0.tar.gz và apr-util-1.6.1.tar.gz va su dung tar extract
[root@thanhdd ~]# wget https://dlcdn.apache.org/apr/apr-1.7.0.tar.gz
[root@thanhdd ~]# wget https://dlcdn.apache.org/apr/apr-util-1.6.1.tar.gz
[root@thanhdd ~]# tar xf apr-1.7.0.tar.gz
[root@thanhdd ~]# tar xf apr-util-1.6.1.tar.gz

+ Sau đó di chuyển folder “apr-1.7.0” và “apr-util-1.6.1” vào trong “/root/httpd-2.4.41/srclib” và lần lượt đổi tên thành “apr” và “apr-util”
[root@thanhdd ~]# mv apr-1.7.0 /root/httpd-2.4.53/srclib/apr
[root@thanhdd ~]# mv apr-util-1.6.1 /root/httpd-2.4.53/srclib/apr-util

– Ta reconfigure lại apache 2.4.53 và install lại
[root@thanhdd httpd-2.4.53]# ./configure --enable-ssl --enable-so --enable-proxy --with-included-apr
# nếu vẫn thiếu paket cần clean lại configure sau đó install lại
[root@thanhdd httpd-2.4.53]# ./configure clean
[root@thanhdd httpd-2.4.53]# make
[root@thanhdd httpd-2.4.53]# make install

– Thử nghiệm khởi động dịch vụ
# index lại file chương trình mới cài dc tạo ra
[root@srv ~]# yum -y install mlocate
[root@srv ~]# updatedb
# Tìm file cấu hình
[root@server apache2]# locate httpd.conf
# mở file cấu hình
[root@server conf]# vi /usr/local/apache2/conf/httpd.conf
#dong 186
ServerAdmin admin@thanhdd.lab
#dong 195
ServerName thanhdd.lab:80
# Sửa file host
[root@srv ~]# vi /etc/hosts
192.168.126.204 thanhdd.lab
# Định vị file khởi động dịch vụ
[root@srv bin]# locate apache
/usr/local/apache2/bin/apachectl

=> file này liên quan đến tắt mở dịch vụ apache
[root@server bin]# /usr/local/apache2/bin/apachectl
[root@server bin]# /usr/local/apache2/bin/apachectl -k [ start | stop ]
# start apache lên sau đó kiểm tra lại xem port 80 mở chưa
[root@thanhdd ~]# netstat -ltunp

Tạo Scripts systemctl để quản lý ứng dụng

+ Sử dụng systemd để kiểm tra các dịch vụ ở trong máy
[root@thanhdd ~]# systemctl --type=service

+ Tạo scripts để khởi động dịch vụ apache

[root@thanhdd ~]# vi /etc/systemd/system/httpd.service
[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 reload
ExecStop=/usr/local/apache2/bin/apachectl -k stop
ExecStatus=/usr/local/apache2/bin/apachectl -k status
PIDFile=/usr/local/apache2/logs/httpd.pid
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# Phân quyền cho file scrip này
chmod 644 /etc/systemd/system/httpd.service

+ Thử khởi động dịch vụ Nginx
[root@thanhdd ~]# systemctl start httpd
# Khởi động cùng hệ thống
[root@thanhdd ~]# systemctl enable httpd
# Trạng thái
[root@thanhdd ~]# systemctl status httpd
# dừng
[root@thanhdd ~]# systemctl stop httpd
# Kiểm tra port
[root@thanhdd ~]# netstat -ltunp