{"id":21224062,"url":"https://github.com/kodie/apache-module-manager","last_synced_at":"2026-03-14T22:34:39.227Z","repository":{"id":57181202,"uuid":"130092441","full_name":"kodie/apache-module-manager","owner":"kodie","description":"A CLI tool for enabling/disabling Apache modules","archived":false,"fork":false,"pushed_at":"2023-01-06T19:58:13.000Z","size":27,"stargazers_count":19,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-09T01:32:50.980Z","etag":null,"topics":["apache","cli","command-line","config","configuration","configuration-management","disable","enable","http","httpd","manager","module","server","server-management","switch"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kodie.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-18T16:34:10.000Z","updated_at":"2025-07-13T08:53:05.000Z","dependencies_parsed_at":"2023-02-06T08:20:13.242Z","dependency_job_id":null,"html_url":"https://github.com/kodie/apache-module-manager","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/kodie/apache-module-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodie%2Fapache-module-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodie%2Fapache-module-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodie%2Fapache-module-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodie%2Fapache-module-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kodie","download_url":"https://codeload.github.com/kodie/apache-module-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodie%2Fapache-module-manager/sbom","scorecard":{"id":565629,"data":{"date":"2025-08-11","repo":{"name":"github.com/kodie/apache-module-manager","commit":"990abbd4661750ecd55747f778e92fa8058736f7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 0/5 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: license.md:0","Info: FSF or OSI recognized license: MIT License: license.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"25 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6chw-6frg-f759","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-662x-fhqg-9p8v","Warn: Project is vulnerable to: GHSA-394c-5j6w-4xmx","Warn: Project is vulnerable to: GHSA-78cj-fxph-m83p","Warn: Project is vulnerable to: GHSA-fhg7-m89q-25r3"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T14:54:46.479Z","repository_id":57181202,"created_at":"2025-08-20T14:54:46.480Z","updated_at":"2025-08-20T14:54:46.480Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30520505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-14T19:51:21.629Z","status":"ssl_error","status_checked_at":"2026-03-14T19:51:12.959Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","cli","command-line","config","configuration","configuration-management","disable","enable","http","httpd","manager","module","server","server-management","switch"],"created_at":"2024-11-20T22:54:53.267Z","updated_at":"2026-03-14T22:34:39.185Z","avatar_url":"https://github.com/kodie.png","language":"JavaScript","readme":"# Apache Module Manager\n\n[![npm package version](https://img.shields.io/npm/v/apache-module-manager.svg?style=flat-square)](https://www.npmjs.com/package/apache-module-manager)\n[![Travis build status](https://img.shields.io/travis/kodie/apache-module-manager.svg?style=flat-square)](https://travis-ci.org/kodie/apache-module-manager)\n[![npm package downloads](https://img.shields.io/npm/dt/apache-module-manager.svg?style=flat-square)](https://www.npmjs.com/package/apache-module-manager)\n[![code style](https://img.shields.io/badge/code_style-standard-yellow.svg?style=flat-square)](https://github.com/standard/standard)\n[![license](https://img.shields.io/github/license/kodie/apache-module-manager.svg?style=flat-square)](license.md)\n\n[![asciicast](https://asciinema.org/a/176960.png)](https://asciinema.org/a/176960)\n\nA CLI tool for enabling/disabling [Apache](https://httpd.apache.org) modules.\n\n## Installation\n\n```shell\n$ npm install --global apache-module-manager\n```\n\n## Note\n\nThis will modify your Apache config file. It is your responsibility to make a backup. This has only been tested on macOS with the default Apache installation. Use at your own risk.\n\n## Usage\n\n### `list|l [-d -e -s \u003ccolumns\u003e] [search]`\n\nList/search for modules.\n\n#### Options\n\n| Long       | Short | Description                                                                    |\n|------------|-------|--------------------------------------------------------------------------------|\n| --disabled | -d    | Only display disabled modules                                                  |\n| --enabled  | -e    | Only display enabled modules                                                   |\n| --sort     | -s    | A comma separated list of columns to sort by (defaults to `enabled,name,path`) |\n\n\n#### Examples\n\n```shell\n# Display all modules\n$ amm list\n$ amm l\n\n# Display modules that contain 'php'\n$ amm list php\n\n# Display all modules and sort them by their line number\n$ amm list --sort line\n\n# Display all currently enabled modules\n$ amm list -e\n```\n\n##### Example Output\n\n```shell\n$ amm list -s line\n\nID  NAME                       PATH                                                ENABLED LINE\n0   authn_file_module          libexec/apache2/mod_authn_file.so                   true    71\n1   authn_dbm_module           libexec/apache2/mod_authn_dbm.so                    false   72\n2   authn_anon_module          libexec/apache2/mod_authn_anon.so                   false   73\n3   authn_dbd_module           libexec/apache2/mod_authn_dbd.so                    false   74\n4   authn_socache_module       libexec/apache2/mod_authn_socache.so                false   75\n5   authn_core_module          libexec/apache2/mod_authn_core.so                   true    76\n6   authz_host_module          libexec/apache2/mod_authz_host.so                   true    77\n7   authz_groupfile_module     libexec/apache2/mod_authz_groupfile.so              true    78\n8   authz_user_module          libexec/apache2/mod_authz_user.so                   true    79\n9   authz_dbm_module           libexec/apache2/mod_authz_dbm.so                    false   80\n...\n```\n\n### `enable|e \u003csearch\u003e`\n\nEnable a module. If multiple modules match the search term, a select prompt will be displayed allowing you to choose from the matches. The `sudo` prefix is required since the script modifies a system file.\n\n#### Examples\n\n```shell\n$ sudo amm enable php\n$ sudo amm e php\n```\n\n##### Example Output\n\n```shell\n$ sudo amm enable php\n\n? Which module are you looking for? (Use arrow keys)\n  php7_module libexec/apache2/libphp7.so\n❯ php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so\n? Enable php5_module (/usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so)? (Y/n)\n✔ Changed line 180 to LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so\n? Restart Apache (/usr/sbin/apachectl restart)? (Y/n)\n```\n\n### `disable|d \u003csearch\u003e`\n\nDisable a module. If multiple modules match the search term, a select prompt will be displayed allowing you to choose from the matches. The `sudo` prefix is required since the script modifies a system file.\n\n#### Examples\n\n```shell\n$ sudo amm disable php\n$ sudo amm d php\n```\n\n##### Example Output\n\n```shell\n$ sudo amm disable php\n\n? Disable php5_module (/usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so)? (Y/n)\n✔ Changed line 180 to #LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so\n? Restart Apache (/usr/sbin/apachectl restart)? (Y/n)\n```\n\n### `switch \u003cold/new search\u003e [new search]`\n\nDisable a module and enable another one. If only one argument is given, the first argument will be used to search for both the module to disable and the module to enable. If multiple modules match a search term, a select prompt will be displayed allowing you to choose from the matches. The `sudo` prefix is required since the script modifies a system file.\n\n#### Examples\n\n```shell\n$ sudo amm switch php5 php7\n$ sudo amm s php\n```\n\n##### Example Output\n\n```shell\n$ sudo amm switch php\n\n? Disable php5_module (/usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so)? (Y/n)\n✔ Changed line 180 to #LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so\n? Enable php7_module (libexec/apache2/libphp7.so)? (Y/n)\n✔ Changed line 176 to LoadModule php7_module libexec/apache2/libphp7.so\n? Restart Apache (/usr/sbin/apachectl restart)? (Y/n)\n```\n\n### Config File\n\nBy default, AMM will check if the file `~/.amm.json` exists and load config options from it.\n\n#### Default Config\n\n```json\n{\n  \"apache_config\": \"/etc/apache2/httpd.conf\",\n  \"apache_restart\": \"/usr/sbin/apachectl restart\"\n}\n```\n\n### Global Options\n\nThese options can be used with any of the above commands:\n\n| Long            | Short | Description                                   |\n|-----------------|-------|-----------------------------------------------|\n| --version       | -V    | Display current Apache Module Manager version |\n| --apache-config | -a    | Path to the Apache config file                |\n| --config        | -c    | Path to AMM config file                       |\n| --help          | -h    | Display help information                      |\n\n### Environment Variables\n\nThese environment variables can be used to change different config options:\n\n| Variable          | Description                    |\n|-------------------|--------------------------------|\n| AMM_CONFIG        | Path to an AMM config file     |\n| AMM_APACHE_CONFIG | Path to the Apache config file |\n\n## TODO/Ideas\n\n - [ ] Automated testing\n - [ ] Better Linux support/testing\n - [ ] Support for multiple Apache config files (file traversing?)\n - [ ] Allow for multiple modules to be enabled/disabled at the same time\n - [ ] Automated Apache config file backups\n - [ ] Implement module so that AMM can be used by other packages\n - [ ] Implement `add` and `remove` commands to add/remove LoadModule lines from config\n\n## Frequently Asked Questions\n\n### Doesn't a2enmod/a2dismod do the same thing?\n\nCurrently, yes. I built this before I knew that a2enmod/a2dismod could be installed on macOS. However, AMM has a nicer interface and I would like to extend the functionality of it in the near future.\n\n### Don't you mean httpd instead of Apache?\n\nYes, however [plenty of people refer to it as Apache](https://askubuntu.com/a/600902) and you know what I'm talking about.\n\n## License\nMIT. See the [license.md file](license.md) for more info.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkodie%2Fapache-module-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkodie%2Fapache-module-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkodie%2Fapache-module-manager/lists"}