我希望能够从从命令行启动Apache服务器,输入类似apache site-folder
或apache . --port=2000
apache . --port=2000
这应阅读和使用.htaccess
文件。
我知道python -m SimpleHTTPServer
和它接近我所需要的,但并不完全。
的理想解决方案:
- 贡献一个伟大的命令行界面apache和自身
- 编写一个简单的命令行工具,包装/ apache的包含(或东西)
- 链接到文档上的Apache现有的CLI
我只是想键入command <Directory> --port=8000 --other-options
命令名称也可能是pache
在某些时候,我可能要在生产中使用。 它应该是很容易的过程中发送到后台,再停止该实例或所有实例,就像永远
相关链接: http://httpd.apache.org/docs/2.4/programs/httpd.html
也
它应该是只需要一个命令,任何人来安装,可直接使用脚本
什么阿帕奇调试模式(X)?
apache2 -X -d. -f.htaccess -C"PidFile `mktemp`" -C"Listen 1025"
-C"ErrorLog /dev/stdout" -C"DocumentRoot `pwd`"
把它在后台一旦开始,你可以使用Ctrl ^ Z然后键入“BG”
使用的前景标记,包裹它在一个shell脚本:
#!/bin/sh
if [ $# -ne 2 ]; then
echo "$0 <port> <dir>"
exit 10
fi
/usr/sbin/apache2 -DFOREGROUND -d. -f.htaccess -C"PidFile `mktemp`" \
-C"Listen $1" -C"ErrorLog /dev/stdout" -C"DocumentRoot $2" -e debug
称之为“帕什”,使用chmod + x,那么你可以运行
./pache 1026 /tmp/webroot
http-server
是一个更好的简单的HTTP服务器比帕什,这是我目前使用! :)
使用[帕什] [1]
与故宫安装-这在这里配备了节点: http://nodejs.org/
sudo npm install pache -g
在当前目录下运行,在3000端口:
pache
或指定目录和端口:
pache site-directory 2000
[1]: https://github.com/devinrhode2/pache
这工作:
Apache配置可以指向到/ var / WWW
然后使用:
sudo mount -o bind /home/webcreatorperson/mywebsite /var/www
解除绑定使用:
sudo umount /var/www
如果你想几个端口,你可以在预配置的Apache端口指向目录,如在/ var / WWW / 8000。
为什么不使用加特林,让你做你想要什么?
http://www.fefe.de/gatling/
希望你能找到你的解决方案。 我讨厌的.htaccess。 所以我写了这一点:
#!/bin/bash
cat >._apache2_dir_conf << EOF
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
ErrorLog $1/._apache2_dir_error.log
HostnameLookups Off
NameVirtualHost *:$2
ServerName joyeruc
Listen $2
PidFile $1/._apache2_pid
<VirtualHost *:$2>
ServerAdmin joyer@uc
DocumentRoot $1
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory $1/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
</Directory>
ErrorLog $1/._apache2_dir_error.log
LogLevel warn
</VirtualHost>
EOF
#apache2 -k $3 -X -f $1/._apache2_dir_conf
apache2 -X -f $1/._apache2_dir_conf
对于任何人碰到这个绊脚石同一个问题的利益,我想要的东西,是作为简单帕什提到的包,但不依赖于具有安装的node.js。
我用例是寻找在使用WEBrick服务器的替代化身 。 使用WEBrick,最喜欢轻便随处运行的HTTP服务器,不支持.htaccess文件。
所以我把gpilotino的答案,它打包了一下。 我已经使用了几个星期,现在,虽然我相信它可以在它做的工作得到改善。 它是作为一个脚本和一个最小的httpd.conf文件,这使得它易于扩展以支持,比如PHP。
:您可以找到它https://github.com/julianbrowne/apache-anywhere
从本质上讲,一旦安装(可选配置改动)你只要运行:
apache -d document_root_directory -p {port}
和:
apache stop {port}
当您完成。
嗯...有趣。
我可以看到你为什么要能够生成一个单独的Apache实例,根据需求,不同的端口,等等,等等上
也就是说,有时候,你想只改变配置的一个实例,或者你希望用户能够自助服务等。
但更重要的是,你希望能够给您的用户Apache的灵活性,而它打破Apache的其他人。 在这个时候,一个巨大的虚拟主机配置文件无法处理。
我有我自己的环境类似的东西设置。
在这两种情况下,火起来的Apache使用自定义设置Mac上,这是我做的:
文件夹/文件:
〜/网站/ conf目录/ httpd.conf文件〜/网站/日志/〜/网站/大众/
httpd.conf文件的内容:
# Can be substituted with an Include statement, which all httpd.conf can pull in.
# Included here for simplicity/single file example.
LoadModule authn_file_module /usr/libexec/apache2/mod_authn_file.so
LoadModule authn_dbm_module /usr/libexec/apache2/mod_authn_dbm.so
LoadModule authn_anon_module /usr/libexec/apache2/mod_authn_anon.so
LoadModule authn_dbd_module /usr/libexec/apache2/mod_authn_dbd.so
LoadModule authn_default_module /usr/libexec/apache2/mod_authn_default.so
LoadModule authz_host_module /usr/libexec/apache2/mod_authz_host.so
LoadModule authz_groupfile_module /usr/libexec/apache2/mod_authz_groupfile.so
LoadModule authz_user_module /usr/libexec/apache2/mod_authz_user.so
LoadModule authz_dbm_module /usr/libexec/apache2/mod_authz_dbm.so
LoadModule authz_owner_module /usr/libexec/apache2/mod_authz_owner.so
LoadModule authz_default_module /usr/libexec/apache2/mod_authz_default.so
LoadModule auth_basic_module /usr/libexec/apache2/mod_auth_basic.so
LoadModule auth_digest_module /usr/libexec/apache2/mod_auth_digest.so
LoadModule cache_module /usr/libexec/apache2/mod_cache.so
LoadModule disk_cache_module /usr/libexec/apache2/mod_disk_cache.so
LoadModule mem_cache_module /usr/libexec/apache2/mod_mem_cache.so
LoadModule dbd_module /usr/libexec/apache2/mod_dbd.so
LoadModule dumpio_module /usr/libexec/apache2/mod_dumpio.so
LoadModule reqtimeout_module /usr/libexec/apache2/mod_reqtimeout.so
LoadModule ext_filter_module /usr/libexec/apache2/mod_ext_filter.so
LoadModule include_module /usr/libexec/apache2/mod_include.so
LoadModule filter_module /usr/libexec/apache2/mod_filter.so
LoadModule substitute_module /usr/libexec/apache2/mod_substitute.so
LoadModule deflate_module /usr/libexec/apache2/mod_deflate.so
LoadModule log_config_module /usr/libexec/apache2/mod_log_config.so
LoadModule log_forensic_module /usr/libexec/apache2/mod_log_forensic.so
LoadModule logio_module /usr/libexec/apache2/mod_logio.so
LoadModule env_module /usr/libexec/apache2/mod_env.so
LoadModule mime_magic_module /usr/libexec/apache2/mod_mime_magic.so
LoadModule cern_meta_module /usr/libexec/apache2/mod_cern_meta.so
LoadModule expires_module /usr/libexec/apache2/mod_expires.so
LoadModule headers_module /usr/libexec/apache2/mod_headers.so
LoadModule ident_module /usr/libexec/apache2/mod_ident.so
LoadModule usertrack_module /usr/libexec/apache2/mod_usertrack.so
LoadModule setenvif_module /usr/libexec/apache2/mod_setenvif.so
LoadModule version_module /usr/libexec/apache2/mod_version.so
LoadModule proxy_module /usr/libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module /usr/libexec/apache2/mod_proxy_connect.so
LoadModule proxy_ftp_module /usr/libexec/apache2/mod_proxy_ftp.so
LoadModule proxy_http_module /usr/libexec/apache2/mod_proxy_http.so
LoadModule proxy_scgi_module /usr/libexec/apache2/mod_proxy_scgi.so
LoadModule proxy_ajp_module /usr/libexec/apache2/mod_proxy_ajp.so
LoadModule proxy_balancer_module /usr/libexec/apache2/mod_proxy_balancer.so
LoadModule ssl_module /usr/libexec/apache2/mod_ssl.so
LoadModule mime_module /usr/libexec/apache2/mod_mime.so
LoadModule dav_module /usr/libexec/apache2/mod_dav.so
LoadModule status_module /usr/libexec/apache2/mod_status.so
LoadModule autoindex_module /usr/libexec/apache2/mod_autoindex.so
LoadModule asis_module /usr/libexec/apache2/mod_asis.so
LoadModule info_module /usr/libexec/apache2/mod_info.so
LoadModule cgi_module /usr/libexec/apache2/mod_cgi.so
LoadModule dav_fs_module /usr/libexec/apache2/mod_dav_fs.so
LoadModule vhost_alias_module /usr/libexec/apache2/mod_vhost_alias.so
LoadModule negotiation_module /usr/libexec/apache2/mod_negotiation.so
LoadModule dir_module /usr/libexec/apache2/mod_dir.so
LoadModule imagemap_module /usr/libexec/apache2/mod_imagemap.so
LoadModule actions_module /usr/libexec/apache2/mod_actions.so
LoadModule speling_module /usr/libexec/apache2/mod_speling.so
LoadModule userdir_module /usr/libexec/apache2/mod_userdir.so
LoadModule alias_module /usr/libexec/apache2/mod_alias.so
LoadModule rewrite_module /usr/libexec/apache2/mod_rewrite.so
LoadModule hfs_apple_module /usr/libexec/apache2/mod_hfs_apple.so
# These can also be turned into an Include.
PidFile logs/httpd.pid
LockFile logs/httpd.lock
# Can be substituted for a variable in an Include.
Listen 8099
NameVirtualHost *:8099
# Just put this here to stop the startup error. Can be replaced with something else.
ServerName test
Include /etc/apache2/extra/httpd-autoindex.conf
Include /etc/apache2/extra/httpd-default.conf
Include /etc/apache2/extra/httpd-info.conf
<VirtualHost *:8099>
DocumentRoot /Users/doe/site/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
ErrorLog logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
</VirtualHost>
这使得使用该系统广泛安装的Apache的。
火起来的实例:
export PATH=/usr/sbin:$PATH
httpd -f /Users/doe/site/conf/httpd.conf -d `pwd` -T -k start
对于模块的配置,端口听了,PHP,PID和锁定文件的位置,等等,也可以被移动到外包括,这由管理员而不是用户控制。 然后,您可以提供一个基准模板httpd.conf文件的用户,一个简单的开始/停止/恢复/等。 包装,并给所有用户的火起来自己的网站的能力。
考虑到这是一个Mac OS环境中,您需要安装的少,更直接的管理会。