jpuck/avhost 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jpuck/avhost

Composer 安装命令:

composer require jpuck/avhost

包简介

Create Apache 2.4 virtual hosts for Ubuntu

README 文档

README

Build Status Codecov Latest Stable Version Total Downloads License

PHP 7 command line symfony console application to create Apache 2.4 virtual hosts for Ubuntu.

Getting Started

This is an Apache adminstrative tool whose commands mostly require sudo. It can write configuration files to /etc/apache2/sites-available/ invoke a2ensite as well as writing SSL certificates to /etc/ssl/certs/ and keys to /etc/ssl/private/ so the best way to install it would be somewhere in root's path.

Download the latest release, set it executable, and move it to a good path. Here's a oneline command:

curl -s -L https://github.com/jpuck/avhost/releases/latest | egrep -o '/jpuck/avhost/releases/download/[0-9\.]*/avhost.phar' | wget --base=http://github.com/ -i - -O avhost && chmod +x avhost && sudo mv avhost /usr/local/bin/

After installing, run without any arguments to see a list of commands:

avhost

Use the -h flag with any command to get help with usage:

avhost <command> -h

Troubleshooting

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Looking at those logs are certainly helpful, but here are a couple things that might not be obvious the first time:

No ssl

To run an encrypted virtual host over TLS (SSL), you must have enabled Apache Module mod_ssl.

sudo a2enmod ssl

No rewrite

The default configuration with avhost is to redirect all traffic to an encrypted connection when available. This is accomplished with Apache Module mod_rewrite.

sudo a2enmod rewrite

This is recommended for many reasons. If necessary, this can be overridden by passing the option --no-require-ssl which makes sense in some cases, like when using a self-signed certificate that might cause trust issues. However, since you can get a free trusted certificate from Let's Encrypt, then there's no reason to be using a self-signed certificate on a public site anyway.

403 Forbidden

If you create the document root in some random folder, then not only must that folder and files be readable to Apache, but also every directory up to root must be executable by Apache in order for it to traverse the file system.

For example, if your site's files are in /path/to/private/web/folder

# up to directory, folders executable
chmod go+X /
chmod go+X /path
chmod go+X /path/to
chmod go+X /path/to/private
chmod go+X /path/to/private/web

# in directory, folders executable, files readable
chmod -R go+rX /path/to/private/web/folder

No headers

In order to add protection such as X-Content-Type-Options "nosniff" and to remove the X-Powered-By information, you must enable Apache Module mod_headers. This is also needed to allow Cross Origin Resource Sharing, which is not enabled by this project - you must manually define your CORS headers if you want.

sudo a2enmod headers

No compression

For performance reasons, most file types are compressed, but you must have enabled Apache Module mod_deflate.

sudo a2enmod deflate

统计信息

  • 总下载量: 24
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2016-11-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固