{"id":19909690,"url":"https://github.com/bearsampp/module-apache","last_synced_at":"2026-02-26T07:44:16.272Z","repository":{"id":39749229,"uuid":"422398139","full_name":"Bearsampp/module-apache","owner":"Bearsampp","description":"📦 Apache module for Bearsampp","archived":false,"fork":false,"pushed_at":"2025-12-22T03:49:16.000Z","size":22660,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-12-23T14:55:16.231Z","etag":null,"topics":["apache","hacktoberfest","httpd-server"],"latest_commit_sha":null,"homepage":"https://bearsampp.com/module/apache","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bearsampp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"N6REJ","custom":"https://www.paypal.me/BearLeeAble"}},"created_at":"2021-10-29T00:49:49.000Z","updated_at":"2025-12-22T03:49:20.000Z","dependencies_parsed_at":"2025-02-09T18:22:37.818Z","dependency_job_id":"2325f6c4-8da1-49dd-9861-a6e484a52cc8","html_url":"https://github.com/Bearsampp/module-apache","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/Bearsampp/module-apache","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-apache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-apache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-apache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-apache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bearsampp","download_url":"https://codeload.github.com/Bearsampp/module-apache/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bearsampp%2Fmodule-apache/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29851728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T22:37:40.667Z","status":"online","status_checked_at":"2026-02-26T02:00:06.774Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","hacktoberfest","httpd-server"],"created_at":"2024-11-12T21:16:21.870Z","updated_at":"2026-02-26T07:44:16.251Z","avatar_url":"https://github.com/Bearsampp.png","language":null,"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://bearsampp.com/contribute\" target=\"_blank\"\u003e\u003cimg width=\"250\" src=\"img/Bearsampp-logo.svg\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n[![GitHub release](https://img.shields.io/github/release/bearsampp/module-apache.svg?style=flat-square)](https://github.com/bearsampp/module-apache/releases/latest)\n![Total downloads](https://img.shields.io/github/downloads/bearsampp/module-apache/total.svg?style=flat-square)\n\n# Bearsampp Module - Apache\n\nThis is a module of [Bearsampp project](https://github.com/bearsampp/bearsampp) involving Apache HTTP Server.\n\n## Build System\n\nThis module uses **Gradle** as its build system. The Gradle build provides:\n\n- ✅ Pure Gradle build (no Ant dependencies)\n- ✅ Automatic Apache binary download and extraction\n- ✅ Remote version discovery from modules-untouched repository\n- ✅ Interactive and non-interactive build modes\n- ✅ Support for archived versions\n- ✅ Configurable build paths\n- ✅ Hash file generation (MD5, SHA1, SHA256, SHA512)\n- ✅ 7-Zip and ZIP archive formats\n\n## Quick Start\n\n### Prerequisites\n\n- Java 8 or higher\n- Gradle (or use the included wrapper)\n- 7-Zip (for .7z format archives)\n\n### Build Commands\n\n```bash\n# Display build information\ngradle info\n\n# List available versions\ngradle listVersions\n\n# Build a specific version\ngradle release -PbundleVersion=2.4.62\n\n# Build all versions\ngradle releaseAll\n\n# Verify build environment\ngradle verify\n\n# Clean build artifacts\ngradle clean\n```\n\n## Documentation\n\n**For detailed build instructions and documentation, see [.gradle-docs/README.md](.gradle-docs/README.md)**\n\nAdditional documentation:\n\n| Document                                                          | Description                                    |\n|-------------------------------------------------------------------|------------------------------------------------|\n| [README.md](.gradle-docs/README.md)                               | Complete build documentation and guide         |\n| [GRADLE_UPDATES.md](.gradle-docs/GRADLE_UPDATES.md)              | Detailed build system updates                  |\n| [CHANGES_SUMMARY.md](.gradle-docs/CHANGES_SUMMARY.md)            | Summary of all changes                         |\n| [GRADLE_TMP_PATHS.md](.gradle-docs/GRADLE_TMP_PATHS.md)          | Build path structure details                   |\n| [CHANGES_TMP_PATHS.md](.gradle-docs/CHANGES_TMP_PATHS.md)        | Temporary paths configuration                  |\n| [REMOTE_PROPERTIES_SUPPORT.md](.gradle-docs/REMOTE_PROPERTIES_SUPPORT.md) | Remote version discovery      |\n| [MODULES_UNTOUCHED_INTEGRATION.md](.gradle-docs/MODULES_UNTOUCHED_INTEGRATION.md) | Integration guide     |\n| [CHANGELOG.md](.gradle-docs/CHANGELOG.md)                         | Complete changelog                             |\n\n## Configuration\n\n### build.properties\n\nConfigure the module build settings:\n\n```properties\nbundle.name    = apache\nbundle.release = 2025.8.15\nbundle.type    = bins\nbundle.format  = 7z\n```\n\n| Property          | Description                          | Example Value  |\n|-------------------|--------------------------------------|----------------|\n| `bundle.name`     | Name of the bundle                   | `apache`       |\n| `bundle.release`  | Release version                      | `2025.8.15`    |\n| `bundle.type`     | Type of bundle                       | `bins`         |\n| `bundle.format`   | Archive format (7z or zip)           | `7z`           |\n\n### Build Path Configuration\n\nYou can configure the build output path in three ways (priority order):\n\n1. **In build.properties:**\n   ```properties\n   build.path = C:/Bearsampp-build\n   ```\n\n2. **Environment variable:**\n   ```bash\n   set BEARSAMPP_BUILD_PATH=C:/Bearsampp-build\n   ```\n\n3. **Default:** Uses `../bearsampp-build` relative to project root\n\n## Version Management\n\n### Available Versions\n\nVersions are detected from:\n- `bin/` - Current/active versions\n- `bin/archived/` - Archived/older versions\n- `modules-untouched` - Remote repository (automatic discovery)\n\n### Version Resolution Strategy\n\nWhen building, the system checks for Apache binaries in this order:\n\n1. **Local `bin/` directory** - Check for version folder\n2. **Local `bin/archived/` directory** - Check archived versions\n3. **Remote `apache.properties`** - Fetch from modules-untouched repository\n4. **Direct repository download** - Download from modules-untouched GitHub\n\nThis multi-tier fallback strategy ensures maximum flexibility and automatic version discovery without manual configuration.\n\n**Example:**\n```bash\n# List local versions\ngradle listVersions\n\n# List remote versions\ngradle listReleases\n\n# Check integration\ngradle checkModulesUntouched\n```\n\n## Output Structure\n\nBuild artifacts are created in the `bearsampp-build` directory:\n\n```\nbearsampp-build/\n├── bins/apache/{release}/                  # Final packaged archives\n│   ├── bearsampp-apache-{version}-{release}.7z\n│   ├── bearsampp-apache-{version}-{release}.7z.md5\n│   ├── bearsampp-apache-{version}-{release}.7z.sha1\n│   ├── bearsampp-apache-{version}-{release}.7z.sha256\n│   └── bearsampp-apache-{version}-{release}.7z.sha512\n└── tmp/                                    # Temporary build files\n    ├── bundles_prep/bins/apache/           # Prepared bundles\n    ├── bundles_build/bins/apache/          # Build staging\n    ├── bundles_src/                        # Source bundles\n    ├── downloads/apache/                   # Downloaded dependencies\n    └── extract/apache/                     # Extracted archives\n```\n\n**Archive Structure:**\nEach archive contains the Apache version folder at the root:\n```\nbearsampp-apache-2.4.62-2025.8.15.7z\n└── apache2.4.62/              ← Version folder at root\n    ├── bin/\n    ├── conf/\n    ├── modules/\n    └── ...\n```\n\n## Features\n\n### Interactive Mode\n\nRun `gradle release` without parameters for interactive version selection:\n\n```bash\ngradle release\n```\n\nThe system will display all available versions with location tags `[bin]` or `[bin/archived]` and prompt you to select one.\n\n### Batch Building\n\nBuild all available versions at once:\n\n```bash\ngradle releaseAll\n```\n\nThis will iterate through all versions in `bin/` and `bin/archived/` directories and build each one.\n\n### Remote Version Discovery\n\nThe build system automatically discovers new Apache versions from the modules-untouched repository:\n\n- Fetches version information from `apache.properties`\n- Downloads binaries automatically when not found locally\n- No manual configuration required for new versions\n- Fallback to direct repository access if needed\n\n**Check integration:**\n```bash\ngradle checkModulesUntouched\n```\n\n## Downloads\n\nOfficial module downloads are available at:\n\n**https://bearsampp.com/module/apache**\n\n## Issues\n\nIssues must be reported on [Bearsampp repository](https://github.com/bearsampp/bearsampp/issues).\n\n## Contributing\n\nContributions are welcome! Please see the [Bearsampp contribution guidelines](https://bearsampp.com/contribute).\n\n## Statistics\n\n![Alt](https://repobeats.axiom.co/api/embed/9382037dc5be402bf4d32075c26f836b80ba253c.svg \"Repobeats analytics image\")\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.\n","funding_links":["https://github.com/sponsors/N6REJ","https://www.paypal.me/BearLeeAble"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearsampp%2Fmodule-apache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearsampp%2Fmodule-apache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearsampp%2Fmodule-apache/lists"}