PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Servern



nnnn
28.08.06, 17:41
Ist vielleicht nicht das richtige Forum dafür, wäre wohl sinnvoller, wenn ich direkt bei apachefriends nachfrage, aber vielleicht weiss es ja hier auch jemand.
Ich habe letzten Donnerstag Ubuntu neu installiert, dannach XAMPP und nun zeigt gibt er nurnoch Forbidden 403 aus.
Das Errorlog sagt nichts, nur "[Mon Aug 28 17:37:39 2006] [error] [client 127.0.0.1] (13)Permission denied: access to / denied", keine .htaccess, sogar volle Berechtigungen und dennoch.
Mysql startet nicht, heisst kann nicht durch Socket verbinden.
Als Xampp-Nachricht wird trotzdem "Starte MySQL..." ausgegeben, ohne Fehler.
Jedoch startet der mysql-server von Ubuntu ohne Probleme, wenn ich ihn installiere, heisst eine Verbindung mit dem Client kann erfolgreich hergestellt werden.
Weiss jemand, was zu tun ist?

derRichard
28.08.06, 21:31
Weiss jemand, was zu tun ist?
hallo!

ich sags ungerne, aber du solltest linux-grundlagen lernen und dann apache, php und mysql selber installieren und konfigurieren.
xampp ist zwar eine feine sache unter windows, aber was "richtiges" ist das nicht....

hth,
//richard

marce
29.08.06, 07:06
Zur Apache-Meldung: evtl. fehlt einfach eine index.html und parallel dazu ist DirectoryIndexing abgestellt. Mehr Infos dazu findet man auf der Apache-Homepage und sogar auch in der httpd.conf des Apache... (die Du bei Gelegenheit mal posten könntest)

MySQL: läuft denn nach dem Start ein MySQL-Prozess? Kannst Du dich mit dem mysql-Client an der DB anmelden? Evtl. ist der Socket einfach nur an der falschen Stelle installiert oder MySQL auf die Art und Weise konfiguriert, dass es keine Socket-Verbindungen akzeptiert. Auch dazu findet mehr und gute Infos in der my.cnf, MySQL-Homepage oder auf der Homepage von php bzw. in der php.ini...

nnnn
29.08.06, 08:57
hallo!

ich sags ungerne, aber du solltest linux-grundlagen lernen und dann apache, php und mysql selber installieren und konfigurieren.
xampp ist zwar eine feine sache unter windows, aber was "richtiges" ist das nicht....

hth,
//richard

Ja, das könnte ich, aber XAMPP ist schnell eingerichtet...


Zur Apache-Meldung: evtl. fehlt einfach eine index.html und parallel dazu ist DirectoryIndexing abgestellt. Mehr Infos dazu findet man auf der Apache-Homepage und sogar auch in der httpd.conf des Apache... (die Du bei Gelegenheit mal posten könntest)

MySQL: läuft denn nach dem Start ein MySQL-Prozess? Kannst Du dich mit dem mysql-Client an der DB anmelden? Evtl. ist der Socket einfach nur an der falschen Stelle installiert oder MySQL auf die Art und Weise konfiguriert, dass es keine Socket-Verbindungen akzeptiert. Auch dazu findet mehr und gute Infos in der my.cnf, MySQL-Homepage oder auf der Homepage von php bzw. in der php.ini...
Nein, das ist die Standardkonfiguration, ich habe ja nichts geändert, DirectoryIndex hat wahrscheonlich php html htm usw., von daher lohnt es auch nicht, die httpd zu posten. ;)
Aber selbst dann würde keine Forbidden Meldung kommen, wenn ich versuche, eine Datei zu erreichen, die es nicht gibt (und eben auch bei Dateien, die es gibt), abgesehen halt von der Index-Datei.

Und zu MySQL:
Socket ist an der richtigen Stellen und wie gesagt: Standardkonfiguration, davor hat es ja auch geklappt, mit dem selben Pfad, in den man Xampp sogar installieren muss. ;)
Wenn ich über das lampp-Skript nur mysql starten möchte, bleibt er stehen...
Die my.cnf wird auch immer ignoriert, was aber von vornherein immer so bei XAMPP ist, wenn ich mich nicht täusche.

Hm, ich werde wohl nicht drumherum kommen, alles selber zu installieren und konfigurieren, es geht mir hauptsächlich darum, dass es flott geht, ich bin hier ja nicht zuhause...
Naja, danke jedenfalls für die Antworten.
Btw. gibt es ein Kommando, mit dem man Prozesse anzeigen oder killen kann, indem man den Port angibt, auf dem sie laufen?

marce
29.08.06, 09:02
Hm, Deiner Antwort nach Du scheinst nicht viel Wert darauf zu legen, diese Probleme gelöst zu bekommen.

Ansonsten: Die Idee, alles über die Einzelanwendungen zu installieren anstatt dem Komplettsystem ist nicht die schlechteste...

nnnn
29.08.06, 09:28
Ja, ich habe immerhin schon einen Tag verschwendet, indem ich nach der Lösung gesucht habe, und wenn ein Programm schon darauf ausgelegt ist, abgesehen von den Sicheriheitseinstellungen, sofort einsatzbereit zu sein, warum sollte ich mich dann noch damit noch länger unnötig rumschlagen?
Wenn ich mehr Zeit dafür hätte, wäre das vielleicht etwas anderes.
Werde jetzt also einzelnd installieren.

nnnn
30.08.06, 10:49
Ich habe nun alles installiert, was ich benötige.
Nun habe ich noch ein nebensächliches Problem, das init.d-Skript für apache2 funktioniert nicht so, wie es funktionieren sollte.
Es führt nichts außer stop aus, derzeit starte ich den server über "apache -k start" manuell.
Wenn dem Skript start, reload usw. übergeben wird passiert...nichts.
Ich wüsste auch nicht, ob diese Ereignisse irgendwo in eine Log geschrieben werden, wo ich nachsehen könnte.
Hier die Datei, ich habe eigentlich nichts daran verändert:


#!/bin/bash -e
#
# apache2 This init.d script is used to start apache2.
# It basically just calls apache2ctl.

ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"

#edit /etc/default/apache2 to change this.
NO_START=0

set -e
if [ -x /usr/sbin/apache2 ] ; then
HAVE_APACHE2=1
else
exit 0
fi

. /lib/lsb/init-functions

test -f /etc/default/rcS && . /etc/default/rcS
test -f /etc/default/apache2 && . /etc/default/apache2
if [ "$NO_START" != "0" -a "$1" != "stop" ]; then
[ "$VERBOSE" != "no" ] && log_warning_msg "Not starting apache2 - edit /etc/default/apache2 and change NO_START to be 0.";
exit 0;
fi

APACHE2="$ENV /usr/sbin/apache2"
APACHE2CTL="$ENV /usr/sbin/apache2ctl"

apache_stop() {
PID=""
PIDFILE=""
AP_CONF=/etc/apache2/apache2.conf

# apache2 allows more than PidFile entry in the config but only the
# last found in the config is used; we attempt to follow includes
# here, but only first-level includes are supported, not nested ones

for i in $AP_CONF `awk '$1 ~ /^\s*[Ii]nclude$/ && $2 ~ /^\// {print $2}' $AP_CONF`; do
PIDFILE=`grep -i ^PidFile $i | tail -n 1 | awk '{print $2}'`
if [ -e "$PIDFILE" ]; then
PID=`cat $PIDFILE`
fi
done

errors=`$APACHE2 -t 2>&1`
if [ $? = 0 ]; then
# if the config is ok than we just stop normaly

if [ -n "$PID" ]
then
$APACHE2CTL stop

CNT=0
while [ 1 ]
do
CNT=$(expr $CNT + 1)

[ ! -d /proc/$PID ] && break

if [ $CNT -gt 60 ]
then
if [ "$VERBOSE" != "no" ]; then
echo " ... failed!"
echo "Apache2 failed to honor the stop command, please investigate the situation by hand."
fi
return 1
fi

sleep 1
done
else
if [ "$VERBOSE" != "no" ]; then
echo -n " ... no pidfile found! not running?"
fi
fi

else
[ "$VERBOSE" != "no" ] && echo "$errors"

# if we are here something is broken and we need to try
# to exit as nice and clean as possible

# if pidof is null for some reasons the script exits automagically
# classified as good/unknown feature
PIDS=`pidof apache2` || true

REALPID=0
# if there is a pid we need to verify that belongs to apache2
# for real
for i in $PIDS; do
if [ "$i" = "$PID" ]; then
# in this case the pid stored in the
# pidfile matches one of the pidof apache
# so a simple kill will make it
REALPID=1
fi
done

if [ $REALPID = 1 ]; then
# in this case everything is nice and dandy
# and we kill apache2
kill $PID
else
# this is the worst situation... just kill all of them
#for i in $PIDS; do
# kill $i
#done
# Except, we can't do that, because it's very, very bad
if [ "$PIDS" ] && [ "$VERBOSE" != "no" ]; then
echo " ... failed!"
echo "You may still have some apache2 processes running. There are"
echo "processes named 'apache2' which do not match your pid file,"
echo "and in the name of safety, we've left them alone. Please review"
echo "the situation by hand."
fi
return 1
fi
fi
}

# Stupid hack to keep lintian happy. (Warrk! Stupidhack!).
case $1 in
start)
[ -f /etc/apache2/httpd.conf ] || touch /etc/apache2/httpd.conf
# ssl_scache shouldn't be here if we're just starting up.
[ -f /var/run/apache2/ssl_scache ] && rm -f /var/run/apache2/*ssl_scache*
# /var/run and /var/lock could be on a tmpfs
[ ! -d /var/run/apache2 ] && mkdir /var/run/apache2
[ ! -d /var/lock/apache2 ] && mkdir /var/lock/apache2
# Make sure /var/lock/apache2 has the correct permissions
chown www-data /var/lock/apache2

log_begin_msg "Starting apache 2.0 web server..."
if $APACHE2CTL startssl; then
log_end_msg 0
else
log_end_msg 1
fi
;;
stop)
log_begin_msg "Stopping apache 2.0 web server..."
if apache_stop; then
log_end_msg 0
else
log_end_msg 1
fi
;;
reload)
log_begin_msg "Reloading apache 2.0 configuration..."
if $APACHE2CTL graceful $2 ; then
log_end_msg 0
else
log_end_msg 1
fi
;;
restart | force-reload)
log_begin_msg "Forcing reload of apache 2.0 web server..."
if ! apache_stop; then
log_end_msg 1
fi
if $APACHE2CTL startssl; then
log_end_msg 0
else
log_end_msg 1
fi
;;
status)
exit 4
;;
*)
echo "Usage: /etc/init.d/apache2 start|stop|restart|reload|force-reload" >&2
exit 2
;;
esac


Ich habe dazu leider auch nichts in google gefunden, nur Probleme, bei denen auch Fehlermeldungen kamen, die bei mir nicht sind, da der Webserver auch ohne Fehler startet.
Wäre nett, wenn mir da jemand sein Wissen anvertrauen könnte.

marce
30.08.06, 11:00
wie hast Du denn die Verlinkung in /etc/init.d/... gemacht?

nnnn
30.08.06, 11:33
Verlinkung?
Ich bin jetzt etwas verwirrt, meinst du die in rcx.d?
Wenn ja: wurde automatisch erstellt, link geht auch.
invoke-rc.d funtioniert auch.
Nur ist das Skript an sich nicht voll funktionsfähig.
Habe ich dich jetzt falsch verstanden oder weiss ich einfach nicht wovon du sprichst?

phrenicus
30.08.06, 13:39
Hallo,

was ist mit den Pfaden? Nachdem Du selbst installiert hast, stimmen alle angegebenen Pfade in dem Startskript? Ansonsten kannst Du sowas auch gut debuggen. Einfach zwischendrin schauen, ob das Skript macht, was es soll und bis wohin. Die Variable $? verwenden, mit ls schauen, ob Files angelegt wurden etc.:



case $1 in
start)
[ -f /etc/apache2/httpd.conf ] || touch /etc/apache2/httpd.conf
#DEBUG# ls -l /etc/apache2/httpd.conf
# ssl_scache shouldn't be here if we're just starting up.
[ -f /var/run/apache2/ssl_scache ] && rm -f /var/run/apache2/*ssl_scache*
# /var/run and /var/lock could be on a tmpfs
[ ! -d /var/run/apache2 ] && mkdir /var/run/apache2
[ ! -d /var/lock/apache2 ] && mkdir /var/lock/apache2
# Make sure /var/lock/apache2 has the correct permissions
chown www-data /var/lock/apache2
#DEBUG#ls -l /var/lock/apache2
log_begin_msg "Starting apache 2.0 web server..."
#DEBUG# $APACHE2CTL startssl ; echo $?
if $APACHE2CTL startssl; then
log_end_msg 0
else
log_end_msg 1
fi
;;


und das Log sollte unterhalb von /var/log/apache liegen.

Gruß