linux 中apache httpd安装

安装

尽量使用在线安装的方式进行安装,这样所有的依赖包可以一并安装。
另外如果是非在线安装的话,注意确认原来是否存在apache版本。
很多Linux系统自带Apache。

apache的操作,必须以root用户完成。

设置代理

export http_proxy=http://10.10.71.232:8080
export https_proxy=http://10.10.71.232:8080
export ftp_proxy=http://10.10.71.232:8080
vi /etc/dnf/dnf.conf
proxy=http://10.10.71.232:8080
vi /etc/rhsm/rhsm.conf
proxy_hostname = 10.10.71.232
proxy_port = 8080
dnf -y install httpd

systemctl start httpd
systemctl enable httpd
systemctl status httpd

如果提示 No match for argument: httpd的话,说明repo没找到。
考虑创建
/etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-AppStream.repo
/etc/yum.repos.d/RPM-GPG-KEY-centos8-release

修改防火墙

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

确认启动

httpd設定

/usr/sbin/setsebool -P httpd_can_network_connect 1
vi /etc/httpd/conf/httpd.conf
在/etc/httpd/conf/httpd.conf文件的最后追加下记内容

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

<Location /xxx/>
 ProxyPass ajp://127.0.0.1:8009/xxx/ secret=yyy min=1 max=400 smax=0 disablereuse=on ttl=5 timeout=120 keepalive=on retry=60 ping=1
</Location>

注意LoadModule的3个模块是否开启。正常情况下安装后是默认开启的。
xxx:发布contextpath
yyy:安全key。tomcat的ajp里面设定的。
修改后重启
systemctl restart httpd

修正tomcat

修改tomcat的conf/server.xml文件。开放ajp设定。通常情况下,会关闭http的设定。

    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->

    <Connector protocol="AJP/1.3"
               address="::1"
               secret="yyy"
               port="8009"
               redirectPort="8443" />

address:代表能够访问服务的IP。即Apache的IP。默认是本机 127.0.0.1。代表只有本机能够访问。
secret:安全Key。跟apache配置的相同。

修改后重启tomcat。
查看log,ajp正常启动(一定要确认)

13-Jun-2022 16:15:55.423 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
13-Jun-2022 16:15:55.438 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-127.0.0.1-8009"]
13-Jun-2022 16:15:55.442 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [7239] millisecon

安装任意版本apache

指定阿里云

cd /etc/yum.repos.d/
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
mv redhat.repo redhat.repo_bak
vi /etc/yum/pluginconf.d/product-id.conf
enable=0
vi /etc/yum/pluginconf.d/subscription-manager.conf
enable=0
vi /etc/yum.repos.d/CentOS-Base.repo

把$releasever替换为8-stream

清缓存、获取列表

yum clean all
yum makecache

安装所需环境

设置代理参考上面说明

dnf -y install gcc gcc-c++ wget
dnf -y install expat-devel zlib-devel openssl-devel
dnf -y install automake autoconf libtool make
wget https://mirrors.aliyun.com/apache/httpd/httpd-2.4.54.tar.gz
wget https://mirrors.aliyun.com/apache/apr/apr-1.7.0.tar.gz
wget https://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz
wget https://mirrors.aliyun.com/exim/pcre/pcre2-10.37.tar.gz

安装apr

tar zxvf apr-1.7.0.tar.gz
cd apr-1.7.0/
./configure --prefix=/usr/local/apr
make && make install

安装apr-util

tar zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

安装pcre2

tar zxvf pcre2-10.37.tar.gz
cd pcre2-10.37/
./configure --prefix=/usr/local/pcre
make && make install

安装httpd

cp -r /root/apr-1.7.0/ /root/httpd-2.4.54/srclib/apr/
cp -r /root/apr-util-1.6.1/ /root/httpd-2.4.54/srclib/apr-util/
cd httpd-2.4.54/
./configure --prefix=/usr/local/server/apache \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-mpms-shared=all
make && make install

修改配置文件【httpd.conf】

vi /usr/local/server/apache/conf/httpd.conf
ServerName localhost:80

将httpd加入系统服务并设置开机自启。

cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd
systemctl enable httpd
service httpd start

关闭防火墙。

systemctl stop firewalld.service
systemctl disable firewalld.service

测试能看到It Works!

 

安装ssl

安装ssl模块

dnf -y openssl mod_ssl
vi  /usr/local/server/apache/conf/httpd.conf

开放ssl

LoadModule ssl_module modules/mod_ssl.so

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

生成证书

输入的密码要记住,以后每次启动时要输入。可以为neusoft
其他国家等,随便填。

openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.crt
cp * /usr/local/server/apache/conf/
service httpd restart

输入上面的密码后,再启动成功。

https访问,能看到It Works!

 

posted @ 2022-08-08 14:45  奥兰王子  阅读(362)  评论(0编辑  收藏  举报