servidor reiniciar publico por para internet iniciar httpd directorio desde defecto configurar conf cambiar acceso acceder apache command-line-interface static-files static-site staticfilehandler

reiniciar - Iniciar un servidor apache en cualquier directorio desde la línea de comandos



reiniciar apache windows (7)

Quiero poder iniciar un servidor apache desde la línea de comandos, escribiendo algo como apache site-folder o apache . --port=2000 apache . --port=2000

Esto debería leer y usar archivos .htaccess .

Sé sobre python -m SimpleHTTPServer y está cerca de lo que necesito, pero no del todo.

Soluciones ideales:

  1. Contribuyendo una gran interfaz de línea de comandos para apache
  2. Escribir una herramienta de línea de comandos simple que contenga / contenga apache (o algo así)
  3. Enlace a documentos en un cli existente para apache

Solo quiero escribir el command <Directory> --port=8000 --other-options

El nombre del comando también podría ser pache

En algún momento tal vez quiera usar esto en producción. Debería ser fácil enviar el proceso al fondo y luego detener esa instancia o todas las instancias, como forever

Enlaces relevantes: http://httpd.apache.org/docs/2.4/programs/httpd.html

también

Debe ser solo un comando para que cualquiera instale el script para uso inmediato


http-server es un servidor http mucho más simple que pache, ¡es lo que uso actualmente! :)

Utilice [pache] [1]

Instale con npm, que viene con el nodo aquí: http://nodejs.org/

sudo npm install pache -g

Ejecutar en el directorio actual, puerto 3000:

pache

O especifique el directorio y el puerto:

pache site-directory 2000

[1]: https://github.com/devinrhode2/pache



¿Qué pasa con el modo de depuración de Apache (-X)?

apache2 -X -d. -f.htaccess -C"PidFile `mktemp`" -C"Listen 1025" -C"ErrorLog /dev/stdout" -C"DocumentRoot `pwd`"

para ponerlo en segundo plano una vez iniciado, puede usar Ctrl ^ Z y luego escribir "bg"

Usando el indicador FOREGROUND, envolviéndolo en un script de 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

llámalo "pache", chmod + x, entonces puedes ejecutar

./pache 1026 /tmp/webroot


Espero que encuentres tu solución. Odio .htaccess. Así que escribí esto:

#!/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


Esto funciona:

Tu configuración de apache podría apuntar a / var / www

Luego use:

sudo mount -o bind /home/webcreatorperson/mywebsite /var/www

para desenlazar el uso:

sudo umount /var/www

Si desea varios puertos, puede preconfigurar puertos en apache para que apunten a directorios como / var / www / 8000.


Mmmm interesante.

Puedo ver por qué quiere poder generar una instancia de Apache separada, a pedido, en un puerto diferente, etc.

Es decir, a veces, solo desea cambiar la configuración para una instancia, o desea que los usuarios puedan auto-servir, etc.

Pero, lo que es más importante, desea poder ofrecer a sus usuarios flexibilidad de Apache sin que esto rompa a Apache para todos los demás. Eso es algo que un archivo de configuración de host virtual masivo no puede manejar.

Tengo una configuración similar en mis propios entornos.

En cualquier caso, para iniciar Apache en una Mac con configuraciones personalizadas, esto es lo que hice:

Carpetas / archivos:

~ / site / conf / httpd.conf ~ / site / logs / ~ / site / public /

Contenido del archivo 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>

Esto hace uso de la instalación de Apache en todo el sistema.

Para encender la instancia:

export PATH=/usr/sbin:$PATH httpd -f /Users/doe/site/conf/httpd.conf -d `pwd` -T -k start

La configuración de los módulos, los puertos escuchados, las ubicaciones de los archivos php, pid y lock, etc. podrían trasladarse a una inclusión externa, que estaría controlada por el administrador y no por el usuario. Luego, puede proporcionar al usuario un archivo httpd.conf de plantilla de línea de base, un simple inicio / detener / recargar / etc. envoltorio, y ofrezca a todos sus usuarios la posibilidad de activar su propio sitio web.

Dado que se trata de un entorno Mac OS, cuanto menos necesite instalar, más sencilla será la administración.


Para el beneficio de que cualquiera que haya tropezado con esto con la misma pregunta, quería algo que fuera tan simple como el paquete https://github.com/devinrhode2/pache mencionado, pero no confiando en tener node.js instalado.

Mi caso de uso fue en busca de un reemplazo para el servidor webrick utilizado en Jekyll . Webrick, como la mayoría de los servidores http de ejecución ligera, no admite archivos .htaccess.

Así que tomé la respuesta de gpilotino y la empaqueté un poco. Lo he estado usando durante algunas semanas y, aunque estoy seguro de que se puede mejorar, está haciendo el trabajo. Se presenta como una secuencia de comandos y un archivo httpd.conf mínimo, lo que hace que sea fácil de ampliar para admitir, por ejemplo, PHP.

Puede encontrarlo en: https://github.com/julianbrowne/apache-anywhere

Esencialmente, una vez que está instalado (opcionalmente, la configuración se ha modificado) simplemente ejecutas:

apache -d document_root_directory -p {port}

y:

apache stop {port}

Cuando acabes.