Wo befindet sich die httpd.conf in GCE Apache?

7829
user714852

Ich habe eine einfache, Django-Anwendung, die ich auf einem Server der Google Compute Engine (GCE) zur Produktion bringen möchte . Auf dem GCE-Server wird Debian-Wheezy ausgeführt . Ich habe Apache 2, Django 1.6.2 und mod-wsgi auf dem Server installiert und eine Firewall-Regel eingerichtet, die Port TCP öffnet: 80.

Ich versuche, den Anweisungen unter https://docs.djangoproject.com/de/1.6/howto/deployment/wsgi/modwsgi/ zu folgen . Die httpd.conf-Datei konnte jedoch nicht geändert werden.

Fragen:

  1. Wo finde ich diese httpd.conf-Datei zum Ändern?
  2. Wenn ich sie gefunden habe, bearbeite ich sie einfach so, wie auf der Webseite gezeigt, und alle Besuche an der externen IP-Adresse der GCE-Instanz werden an meine Django-Anwendung weitergeleitet?

Edit 1:

In meinem Stamm habe ich folgende Ordner:

bin boot build dev etc home initrd.img lib lib64 media mnt opt proc root run sbin selinux srv sys tmp usr var vmlinuz 

Folgender Rat von: http://commanigy.com/blog/2011/06/08/finding-apache-configuration-file-httpd-conf-location Ich habe Folgendes ausgeführt:

$ ps -ef | grep apache 

die zurückkehrt

jason@instance-1:/$ ps -ef | grep apache root 10492 1 0 13:33 ? 00:00:00 /usr/sbin/apache2 -k start www-data 10495 10492 0 13:33 ? 00:00:00 /usr/sbin/apache2 -k start www-data 10496 10492 0 13:33 ? 00:00:00 /usr/sbin/apache2 -k start www-data 10497 10492 0 13:33 ? 00:00:00 /usr/sbin/apache2 -k start jason 11669 11529 0 16:54 pts/1 00:00:00 grep apache 

und dann

$ /usr/sbin/apache2 -V 

die zurückkehrt

Server version: Apache/2.2.22 (Debian) Server built: Feb 1 2014 21:26:17 Server's Module Magic Number: 20---edited-just-in-case Server loaded: APR 1.4.6, APR-Util 1.4.1 Compiled using: APR 1.4.6, APR-Util 1.4.1 Architecture: 64-bit Server MPM: Worker threaded: yes (fixed thread count) forked: yes (variable process count) Server compiled with....  -D APACHE_MPM_DIR="server/mpm/worker" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/apache2" -D SUEXEC_BIN="/usr/lib/apache2/suexec" -D DEFAULT_PIDLOG="/var/run/apache2.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="mime.types" -D SERVER_CONFIG_FILE="apache2.conf" 

Laut dieser Website ist die Datei, nach der ich wirklich suche, apache2.conf und nicht httpd.conf. Dies widerspricht jedoch der Django-Dokumentation ...

Bearbeiten 2

Um die @ ls97-Frage zu beantworten, ist bei / usr / sbin / apache2 ein symbolischer Link, der auf zeigt

apache2 -> ../lib/apache2/mpm-worker/apache2 

Wenn ich zu diesem Ort navigiere und $ ls -alstarte, bekomme ich

 total 496 drwxr-xr-x 2 root root 4096 Apr 18 13:27 . drwxr-xr-x 7 root root 4096 Apr 18 13:27 .. -rwxr-xr-x 1 root root 497808 Feb 1 21:27 apache2 

Das apache2Element an diesem Ort ist kein Verzeichnis.

3

2 Antworten auf die Frage

3
laurent

apache2.confist normalerweise unter /etc/apache2/und ist die Hauptkonfigurationsdatei des Apache. Es wird geladen httpd.conf, wo Sie Ihre Konfigurationen ablegen sollten (und nicht in der Hauptdatei).

aktualisieren:

Also, in der /etc/apache2/apache2.confDatei, haben Sie sicherlich Zeilen wie diese 2 irgendwo:

# Include all the user configurations: Include httpd.conf 

Die letzte enthält eine /etc/apache2/httpd.confDatei, die bei einer Neuinstallation wahrscheinlich eine leere Datei (oder fast) ist. Wenn es nicht existiert, können Sie eine neue erstellen und hinzufügen:

NameVirtualHost *:80 Listen 80 

Sie können dort Ihre globalen Konfigurationen und Virtualhosts-Konfigurationen hinzufügen, wie im Django-Tutorial beschrieben. Wie ich weiß, ist der VirtualHost-Teil nicht im Django-Tutorial (da er nicht mit Django, sondern mit Apache zusammenhängt), hier ein Startbeispiel von einer funktionierenden Django-Site:

<VirtualHost *:80> # will listen on port 80 - as defined above  ServerAdmin your@email.com ServerName your.site.com # will serve requests on this url  DocumentRoot /path/to/your/djangoproject # like /home/username/projects/myproject   # complete with the rest of the django tutorial configuration under "Serving Files"  # to serve static files using the same server as I think you have only 1 server available  # close the virtualhost after django tutorial configurations </VirtualHost> 

Sie müssen natürlich das wsgi-Modul auf Apache installieren und aktivieren. Normalerweise ist es schon da, und Sie müssen es nur ermöglichen, mit: sudo a2enmod wsgi. Ich bin mir nicht sicher, aber es wird wahrscheinlich von GCE für Sie aktiviert, basierend auf Ihrer Konfiguration für Python / Django.

Auch Vorsicht, wenn Sie Apache vor 2.4 verwenden, gibt es eine Notiz in django Tutorial zu ändern Require all grantedmit Allow from allund die Erlaubnis, um auszuwählen.

Ich denke, das ist der einfachste Weg, es zu tun. Eine andere Methode, die ich für mehrere virtuelle Hosts vorziehen möchte, besteht darin, ein Verzeichnis zu verwenden, das aufgerufen wird, um eine sites-availableDatei pro vhost zu speichern und sie wahlweise zu verknüpfen sites-enabled. Beispiele dafür finden Sie in der Apache-Dokumentation, aber httpd.confauch für eine kleine Anzahl von Websites ist das Arbeiten in Ordnung.

Vielen Dank für Ihren Beitrag - Sie wissen ganz genau, wovon Sie sprechen, aber ich suche ein bisschen mehr Schritt für Schritt user714852 vor 10 Jahren 0
Ein virtuelles Host-Konfigurationsbeispiel wurde hinzugefügt, um die Konfigurationsdatei zu starten und das django-Tutorial abzuschließen. laurent vor 10 Jahren 0
1
LS97

httpd.conf ist die Hauptkonfigurationsdatei für Apache. Es ist unter Apache / Conf und Sie können die Datei wie gezeigt bearbeiten (ich bin kein Experte, aber es sieht so aus, als würden ihre Änderungen funktionieren).

Ich erinnere mich an das Lesen, dass Sie das Risiko eingehen, Änderungen an httpd.conf zu verlieren, wenn Apache aktualisiert wird, wenn Sie die Datei direkt bearbeiten. Dies kann jedoch nur für XAMPP-Benutzer gewesen sein. Ich kann diese Quelle nicht wiederfinden. Erstellen Sie auf jeden Fall vor und nach der Bearbeitung eine Sicherungskopie der Konfigurationsdatei.

@ user714852 Gibt es irgendetwas bei / usr / sbin / apache2 / conf nach der Bearbeitung? LS97 vor 10 Jahren 0
aktualisierte Frage. Im Grunde gibt es eine Datei mit dem Namen apache2, obwohl es kein Verzeichnis ist, also kann ich nicht in dieses Verzeichnis schreiben. user714852 vor 10 Jahren 0
OK, es tut mir leid, dass ich nicht weiter helfen kann, aber ich bin auf unbekanntem Terrain. LS97 vor 10 Jahren 0