
Ich verwende eine VirtualHost-Datei, die einigermaßen standardmäßig aussieht und die ich vor einiger Zeit konfiguriert habe (bevor ich viel darüber wusste, wie dieses Zeug funktioniert), und ich bin mir nicht ganz sicher, was ich behalten soll. Ich möchte nicht einfach Dinge ausprobieren, da das Einrichten einer VM mit all diesem Zeug darin mühsam wäre, und die aktuelle Konfiguration ist in einer Produktionsumgebung, sodass Versuch und Irrtum keine wirkliche Option ist. Hier ist die Datei, mit geänderten Namen, um die Unschuldigen zu schützen:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.my.hostname
ServerAlias my.hostname
DocumentRoot /var/www/mysite
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mysite>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogFormat "%t %T/%D \"%r\" %>s %b" mysitelog
CustomLog ${APACHE_LOG_DIR}/mysite.access.log mysitelog
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Meine Fragen dazu sind:
Soll ich die Sperre entfernen
<Directory />
? Sie wird$APACHE_HOME/conf.d/security
mit dem Kommentar „Das unterbricht derzeit die Konfigurationen, die mit einigen Debian-Paketen für Webanwendungen geliefert werden“ angegeben. Soll ich diese Version davon auskommentieren und die von meinem virtuellen Host entfernen?Dies ist nichts anderes als PHP, daher vermute ich, dass es keinen Grund gibt, den CGI-Block und den Alias beizubehalten.
Ich schätze, ich kann das Zeug auch loswerden
doc
. Ich bin mir nicht einmal wirklich sicher, wofür das da ist, also gibt es Bonuspunkte (nicht wirklich), wenn Sie erklären können, wofür das in einer „normalen“ Konfiguration verwendet würde.
Vorausgesetzt, ich liege mit meinen Annahmen richtig, könnte meine neue Vhost-Datei folgendermaßen aussehen:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.my.hostname
ServerAlias my.hostname
DocumentRoot /var/www/mysite
<Directory /var/www/mysite>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogFormat "%t %T/%D \"%r\" %>s %b" mysitelog
CustomLog ${APACHE_LOG_DIR}/mysite.access.log mysitelog
</VirtualHost>
Alle weiteren Tipps sind herzlich willkommen. Danke! Bitte lassen Sie mich wissen, wenn weitere Informationen zu meiner Konfiguration benötigt werden!
Antwort1
Soll ich die Sperre aufheben
<Directory />
?
Sicher! Das ist definitiv etwas, das Sie auf Serverebene statt im virtuellen Host handhaben können.
Dies ist nichts anderes als PHP, daher vermute ich, dass es keinen Grund gibt, den CGI-Block und den Alias beizubehalten.
Nuke es.
Ich schätze, ich kann auch den ganzen Doc-Kram loswerden.
Löschen Sie es. Es ist da, damit Sie Ihren neu installierten Webserver verwenden können, um die Dokumentation Ihres Systems zu durchsuchen. Es ist ein nettes Beispiel, gehört meiner Meinung nach aber nicht wirklich in eine Standardkonfigurationsdatei.
Zu Ihrer vorgeschlagenen Konfigurationsdatei: sieht gut aus! Meine einzige Empfehlung ist, den AllowOverride All
in Ihrem Verzeichnisblock zu ändern, AllowOverride None
wenn Sie keine .htaccess
Dateien verwenden – und wenn Sie Dateien verwenden .htaccess
, würde ich empfehlen, sie zu löschen und ihre Konfiguration in den Verzeichnisblock zu ziehen. (Einzelheiten zu meiner Aussage finden Sie hier.)