diff --git a/httpd/2.4.58/22.03-lts-sp3/Dockerfile b/httpd/2.4.58/22.03-lts-sp3/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..657a1a436800f072c63f11e9849d6461235c36be --- /dev/null +++ b/httpd/2.4.58/22.03-lts-sp3/Dockerfile @@ -0,0 +1,43 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp3 +FROM ${BASE} + +ARG VERSION=2.4.58 +ENV HTTPD_PREFIX /usr/local/apache2 +WORKDIR ${HTTPD_PREFIX} + +RUN yum install -y autoconf make gcc apr apr-devel apr-util-devel pcre-devel && \ + curl -fSL --output httpd.tar.gz https://archive.apache.org/dist/httpd/httpd-${VERSION}.tar.gz && \ + mkdir -p /src/httpd && tar -zvxf httpd.tar.gz -C /src/httpd --strip-components=1 && \ + rm -f httpd.tar.gz && yum clean all + +RUN cd /src/httpd && \ + ./configure --prefix=/usr/local/apache2 && \ + make && \ + make install && \ + rm -rf /src/httpd + +RUN groupadd -r www-data && useradd -r --create-home -g www-data www-data && \ + mkdir -p /var/www/html && \ + mv -f $HTTPD_PREFIX/htdocs/index.html /var/www/html/ && \ + sed -ri \ + -e 's!^(\s*CustomLog)\s+\S+!\1 /proc/self/fd/1!g' \ + -e 's!^(\s*ErrorLog)\s+\S+!\1 /proc/self/fd/2!g' \ + -e 's!^(\s*TransferLog)\s+\S+!\1 /proc/self/fd/1!g' \ + -e 's!^(\s*User)\s+daemon\s*$!\1 www-data!g' \ + -e 's!^(\s*Group)\s+daemon\s*$!\1 www-data!g' \ + "$HTTPD_PREFIX/conf/httpd.conf" \ + "$HTTPD_PREFIX/conf/extra/httpd-ssl.conf" && \ + sed -ri -e 's!^(\s*DocumentRoot)\s+\S+!\1 "/var/www/html"!g' \ + "$HTTPD_PREFIX/conf/httpd.conf" && \ + sed -i '/^DocumentRoot/a\ + \n \ + Options Indexes FollowSymLinks \n \ + AllowOverride none \n \ + Require all granted \n \ +' "$HTTPD_PREFIX/conf/httpd.conf" && \ + ln -s $HTTPD_PREFIX/bin/httpd /usr/bin/httpd + +STOPSIGNAL SIGWINCH +COPY httpd-foreground /usr/local/bin +EXPOSE 80 +CMD ["httpd-foreground"] \ No newline at end of file diff --git a/httpd/2.4.58/22.03-lts-sp3/httpd-foreground b/httpd/2.4.58/22.03-lts-sp3/httpd-foreground new file mode 100755 index 0000000000000000000000000000000000000000..b76f4b6c0fb6a87e2fc938c566d913d37d87146f --- /dev/null +++ b/httpd/2.4.58/22.03-lts-sp3/httpd-foreground @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +#Apache gets grumpy about PID files pre-existing +rm -f /usr/local/apache2/logs/httpd.pid + +exec httpd -DFOREGROUND "$@" diff --git a/httpd/README.md b/httpd/README.md index 470580e09c803bdaeb8ae3379932e1388acdbd79..0ec816a296054fa6896f05e5af5135c5e25acffc 100644 --- a/httpd/README.md +++ b/httpd/README.md @@ -27,6 +27,7 @@ docker run --name my-httpd -d -p 80:80 openeuler/httpd:{TAG} # Supported tags and respective Dockerfile links - httpd2.4.51-oe2203lts: httpd v2.4.51, openEuler 22.03 LTS +- 2.4.58-oe2203sp3: httpd v2.4.58, openEuler 22.03 LTS SP3 ## Operating System Linux/Unix, ARM64 or x86-64 architecture. diff --git a/httpd/doc/image-info.yml b/httpd/doc/image-info.yml index 8d7d1419374f3915b683f01c0f7b898900a69fa3..bdb423b3a327e0aff1a9323d2ab074d335eb2df2 100644 --- a/httpd/doc/image-info.yml +++ b/httpd/doc/image-info.yml @@ -1,6 +1,7 @@ name: httpd -description: The Apache HTTP Server (httpd) is a powerful and flexible HTTP/1.1 compliant web server. -environment: " +category: others +description: Httpd,即Apache HTTP Server,是一个功能强大且灵活的符合HTTP/1.1的Web服务器。它最初被设计为NCSA HTTP Server的替代品,现已发展成为Internet上最流行的Web服务器。作为Apache软件基金会的一个项目,开发人员的目标是协作开发和维护一个强大的、商业级的、基于标准的服务器,并提供免费的源代码。。 +environment: | 本应用以容器镜像的方式供用户使用,运行于预置docker的Linux环境。Docker的推荐安装方式如下: ## apt安装 ### 1.更新系统软件包依赖 @@ -16,7 +17,7 @@ environment: " ``` ### 3.添加Docker官方APT源 ``` - echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` ### 4.再次更新软件包索引 ``` @@ -63,29 +64,28 @@ environment: " ``` sudo docker run hello-world ``` - " -download: " + +download: | 获取容器镜像 ``` - docker pull openeuler/httpd:httpd2.4.51-oe2203lts + docker pull openeuler/httpd:{TAG} ``` - " -install: " + +install: | 启动容器 ``` - docker run --name my-httpd -d -p 80:80 openeuler/httpd:httpd2.4.51-oe2203lts + docker run -name my-httpd -d -p 80:80 openeuler/httpd:{TAG} ``` - 用户可根据自身需求,自定义启动选项。 - " + 用户可根据自身需求,自定义启动选项。 + license: Apache-2.0 license similar_packages: - - Nginx: 一个高性能的HTTP和反向代理服务器,特点是占用资源少、处理请求速度快,适用于高并发的Web应用。 - - Lighttpd: 一个轻量级的Web服务器软件,特点是占用资源少、处理静态文件速度快,适用于高并发的静态网站。 - - Apache Tomcat: 一个开源的Java Web服务器软件,它是Apache的一个子项目。主要用于部署和运行Java Servlet和JSP(JavaServer Pages)应用程序。 + - Nginx: Nginx 是一个高性能的、轻量级的 Web 服务器和反向代理服务器。它以其出色的性能和可扩展性而闻名,并且在处理高并发请求时表现出色。 + - Microsoft IIS: Microsoft Internet Information Services (IIS)是微软开发的Web服务器软件,主要用于Windows操作系统。它与Windows Server紧密集成,并提供了广泛的功能和工具来托管和管理Web应用程序。 + - LiteSpeed Web Server: LiteSpeed Web Server是一个高性能的商业级Web服务器,具有低资源消耗和高并发处理能力。它被设计用于替代Apache HTTP Server,可以与现有的Apache配置和模块兼容。 + - Caddy: Caddy是一个现代化的、易于使用的Web服务器,具有自动HTTPS配置和自动证书管理等特性。它以其简单的配置和内置的自动化功能而受到欢迎。 dependency: - - systemd-units - apr - - apr-util - - mailcap - - mariadb-connector-c - - mod_http2 + - apr-devel + - apr-util-devel + - pcre-devel diff --git a/httpd/doc/picture/logo.jpeg b/httpd/doc/picture/logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ddd914064b231f6ecd256e9fffdd15fbc2bb3cd0 Binary files /dev/null and b/httpd/doc/picture/logo.jpeg differ diff --git a/httpd/meta.yml b/httpd/meta.yml index 66b5aedc83a8c4432581f021423cc9f3f7d5c54a..f3f25c5b69b52d549d60f2815d1416730e4e9227 100644 --- a/httpd/meta.yml +++ b/httpd/meta.yml @@ -1,2 +1,4 @@ httpd2.4.51-oe2203lts: - 2.4.51/22.03-lts/Dockerfile +2.4.58-oe2203sp3: + - 2.4.58/22.03-lts-sp3/Dockerfile