apache2suexec




BACK ..


Wie konfiguriere ich einen Webserver mit Apache 2 ? =================================================== Apache 2 installieren: ---------------------- cd /usr/ports/www/apache2/ make WITH_SUEXEC=yes WITH_THREADS=yes install && make clean suexec -V: ---------- -D AP_DOC_ROOT="/usr/local/www/data" -D AP_GID_MIN=1000 -D AP_HTTPD_USER="www" -D AP_LOG_EXEC="/var/log/httpd-suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=1000 -D AP_USERDIR_SUFFIX="public_html" Wichtig sind fuer uns hier folgende Angaben: - "AP_DOC_ROOT"; es werden von suEXEC nur unterhalb von diesem CGI-Dateien ausgefuehrt. - "AP_HTTPD_USER"; suEXEC wird nur laufen, wenn der Apache als der hier eingetragene User laeuft. - "AP_GID_MIN"; suEXEC kann nur zu Usern wechseln, die mindestens eine GroupID von der hier angegebenen Hoehe haben. - "AP_UID_MIN"; suEXEC kann nur zu Usern wechseln, die mindestens eine UserID von der hier angegebenen Hoehe haben. Jetzt muss als erstes das Verzeichnis angelegt werden: ------------------------------------------------------ Der Apache laeuft in diesem Beispiel mit den Rechten (siehe /usr/local/etc/apache2/httpd.conf) User www Group www Der User des Webacounts (suEXEC) hat die Rechte User webuser Group webgroup Am sinnvollsten legt man das Web-Verzeichnis in "/var" an. make -p /var/www/webuser/cgi-bin # fuer die CGI-Scripte make -p /var/www/webuser/htdocs # fuer die HTML-Dateien make -p /var/www/webuser/log # fuer die LOG-Dateien ################################################################################ chown -R webuser /var/www/webuser chgrp -R www /var/www/webuser chmod -R 750 /var/www/webuser chmod -R 755 /var/www/webuser/cgi-bin chgrp -R webgroup /var/www/webuser/cgi-bin chmod -R 770 /var/www/webuser/htdocs chown -R 0 /var/www/webuser/logs chgrp -R users /var/www/webuser/logs chmod -R 650 /var/www/webuser/logs ################################################################################ symbolischen Link loeschen und neu anlegen: ------------------------------------------- rm -f /usr/local/www/data ln -s /var/www /usr/local/www/data Webuser anlegen: ---------------- vipw: webuser:*:2000:2000::0:0:Unprivileged user:/nonexistent:/sbin/nologin vi /etc/group: webgroup:*:2000 Namensaufloesung: ----------------- Der zukuenftige Webserver wird die IP "192.168.0.10" und den Namen "musterweb.de" erhalten. Jeder Rechner, der auf den Webserver zugreifen soll, braucht diesen Eintrag in der Datei "/etc/hosts". Oder man richtet sich einen eigenen DNS ein. 192.168.0.10 musterweb.de konfigurieren des Apache: ------------------------- vi /usr/local/etc/apache2/httpd.conf NameVirtualHost musterweb.de SuexecUserGroup webuser webgroup ServerAdmin webmaster@musterweb.de DocumentRoot /usr/local/www/data/webuser/htdocs ScriptAlias /cgi-bin/ "/usr/local/www/data/webuser/cgi-bin/" ServerName musterweb.de ErrorLog /usr/local/www/data/webuser/log/error_log CustomLog /usr/local/www/data/webuser/log/access_log common (einfach unten anhaengen...) AKTIVIEREN (ab Apache 2.0.50): ------------------------------ vi /etc/rc.conf apache2_enable="YES" START: ------ /usr/local/etc/rc.d/apache2.sh stop /usr/local/etc/rc.d/apache2.sh start PASSWORT: --------- Um eine ".htaccess"-Datei zu erstellen wird, als ROOT, folgende Kommandozeile eingegeben. /usr/local/sbin/htpasswd -bc .htpasswd [Benutzername] [Passwort] Soll nur eine Benutzernamen-Passwort-Kombination hinzugefuehgt werden, laesst man das "c" weck.