PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webserver wie einrichten ?



ZeroSix
03.03.02, 11:54
Ich möchte meinen kleinen Rechner als Linux-Webserver (Apache) ins Net stellen, auf dem Rechner sollte (wenn er fertig ist) folgendes laufen :

- Linux (SuSE-Linux 7.3, dedicated)
- DynIP
- Automatische Wiedereinwahl ins Netz
- Apache
- Perl
- PHP
- MySQL
- SSI - Server Side Includes (eventuell)

Dann sollte der Server mein Hauptrechner ins Net bringen können (über Netzwerk), später möchte ich die Firewall konfigurieren (aber das ist ein anderes Thema)

Kann mir da jemand helfen, wie ich den Rechner einrichten muss und welche Pakete ich brauche (welche ich nicht brauche) ?

linux_n00b
03.03.02, 15:06
Hm, ich weiss nicht, was Du jetzt hören willst, aber:

apache
mod_php
mod_perl
mod_ssi
mysql
isdn/modem/dsl - tools
Client von www.dns2go.com o.ä.

ZeroSix
04.03.02, 09:40
So, Linux ist jetzt installiert, Apache, MySQL, Perl und PHP in der aktuellen Version auch...aber wie kann ich den Apache (und die anderen Klamotten) beim starten des Rechners automatisch mitladen (praktisch wie bei Win der Autostart-Ordner), so daß ich den Rechner einschalte, er lädt, sich automatisch am System einlogt, eine Verbindung ins Net aufbaut(mit DynIP), den Apache, SQL und so startet und das ganze übers Net ansprechbar macht ?

kostenix
04.03.02, 10:15
ich glaub die ganzen server tools wie php und mysql werden beim starten von einem gui automatishc geladen....

die direkteinwahl ins netz beim starten des rechners kann man auch in den einstellungen machen (bei mir mandrake 8.1 im mandrake controll center) ...

die automatische wiedereinwahl findest du auch hier im forum unter "anbindung an die aussenwelt" glaub ich ...

ZeroSix
06.03.02, 13:18
Super, Danke dir, der Server sollte allerdings ohne Gui laufen (wegen der Performance..sind ja nur 180 MHz), aber ich denke, das es auch möglich ist, den Apache und co ohne Gui ans laufen zu bekommen

LuisMiguel
06.03.02, 15:05
unter /etc/rc.config kannst du apache und etc auf yes stellen dann sollte apache und etc beim start auch gestartet werden

Lockslay
06.03.02, 19:44
Hallo

Bei mir SuSE 7.3 Startet der Apache automatisch mit

SeeksTheMoon
06.03.02, 20:07
ihr braucht ein Runlevel Script in /etc/init.d, sonst könnt ihr das mit dem Autostart in der rc.config vergessen. Wer den Apache nachinstalliert, der hat das Script nicht. Beim Apache von Suse wird das Teil natürlich erstellt.

Ich hab hier auch schon gefragt, ob das Script nicht jemand posten kann, aber dazu hat wohl niemand Bock.
Ich bekomme das jetzt in Kürze und werde es dann hier posten.

SeeksTheMoon
06.03.02, 21:17
so, hier ist es. Ich habe die Standardeinstellungen (Oracle, PHP, etc) deaktiviert und die Pfade an mein System angepasst.
Das Script kommt nach /etc/init.d, dann x-Rechte geben und in den einzelnen Runleveln, in denen der apache laufen soll, z.B. für Runlevel 3 in /etc/init.d/rc3.d einen symbolischen Link erstellen:
ln -s ../apache S66apache und ln -s ../apache K66apache
Die Zahl 66 darf nicht von einem anderen S- oder K-Link benutzt werden (ansonsten eine andere, nicht benutzte Zahl nehmen).
Oh, und in der /etc/rc.config noch folgendes eintragen: START_HTTPD="yes"

#!/bin/sh
#
# Copyright (c) 1996-2001 SuSE GmbH Nuernberg, Germany. All rights reserved.
#
# Authors: Rolf Haberrecker <rolf@suse.de>
#
#
# /etc/init.d/apache
#
### BEGIN INIT INFO
# Provides: apache httpd
# Required-Start: $network $named $remote_fs $syslog $netdaemons sendmail mysql ypclient dhcp radiusd
# Required-Stop: $local_fs $network $named $remote_fs $syslog $netdaemons
# Default-Start: 3 5
# Default-Stop:
# Description: Start the Apache httpd daemon
### END INIT INFO

#
# load the configuration
#
. /etc/rc.config
test -s /etc/rc.status && \
. /etc/rc.status
test -s /etc/rc.config.d/apache.rc.config && \
. /etc/rc.config.d/apache.rc.config

#
# Determine the base and follow a runlevel link name.
#
base=${0##*/}
link=${base#*[SK][0-9][0-9]}

#
# Force execution if not called by a runlevel directory.
#
test $link = $base && START_HTTPD="yes"
test "$START_HTTPD" = yes || exit 0

#HTTPD_BIN=/usr/sbin/httpd
HTTPD_BIN=/usr/local/apache/bin/httpd
test -x $HTTPD_BIN || exit 5
rc_reset

#
# set DBROOT for ADABAS D
#
DBROOT=/dev/null

#
# set values for Oracle (need to recompile mod_php with Oracle support)
#
#ORACLE_HOME=$ORA_HOME
#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

#
# export variables for database drivers in PHP
#
#export DBROOT ORACLE_HOME LD_LIBRARY_PATH

#
# The echo return value for success (defined in /etc/rc.config).
#
return=$rc_done


#
# Check for IPv6 support in Apache
#
INET6=""
/usr/sbin/httpd -help 2>&1 | fgrep IPv6 2>&1 > /dev/null
if [ $? -eq 0 ]; then
INET6="-4"
test "$START_INET6" = yes && INET6="-6"
fi

#
# check wich modules have been installed
#
#check_modules () # Usage: check_modules
#{
# MODULES="`cat /etc/httpd/suse_define.conf`"
# echo -n "`cat /etc/httpd/suse_text.conf | tr -s \" \"`"
#
# #
# # check wether status information should be displayed
# #
# if test "$HTTPD_SEC_ACCESS_SERVERINFO" == "yes" ; then
# MODULES="-D STATUS $MODULES";
# echo -n "status "
# fi
#}


#
# main part
#
case "$1" in
start)
echo -n "Starte apache ["
# check_modules yes ;
echo -n "]"
#if $HTTPD_BIN $INET6 -t -f /etc/httpd/httpd.conf $MODULES > /var/log/httpd/rcapache.log 2>&1 ; then
if $HTTPD_BIN $INET6 -t -f /usr/local/apache/conf/httpd.conf $MODULES > /var/log/httpd/rcapache.log 2>&1 ; then
#startproc -t $HTTPD_START_TIMEOUT $HTTPD_BIN $INET6 -f /etc/httpd/httpd.conf $MODULES
startproc $HTTPD_BIN $INET6 -f /usr/local/apache/conf/httpd.conf $MODULES
rc_status -v
else
if [ $link = $base ] ; then
echo -e -n "\n\n"
cat /var/log/httpd/rcapache.log
else
echo -e -n "\nsee /var/log/httpd/rcapache.log for details\n";
fi
rc_failed 6
rc_status -v1
fi

if test -e /var/log/ssl_scache.dir ; then
chown wwwrun /var/log/ssl_scache.dir ;
fi
if test -e /var/log/ssl_scache.pag ; then
chown wwwrun /var/log/ssl_scache.pag
fi
;;
stop)
echo -n "Beende apache"
killproc -G -TERM $HTTPD_BIN
rc_status -v
;;
try-restart)
## Stop the service and if this succeeds (i.e. the
## service was running before), start it again.
$0 status >/dev/null && $0 restart

# Remember status and be quiet
rc_status
;;
restart)
$0 stop && sleep 3
$0 start
# Remember status and be quiet
rc_status
;;
reload|force-reload)
# check_modules yes
echo -n "Starte apache neu"
#if $HTTPD_BIN $INET6 -t -f /etc/httpd/httpd.conf $MODULES > /var/log/httpd/rcapache.log 2>&1 ; then
if $HTTPD_BIN $INET6 -t -f /usr/local/apache/conf/httpd.conf $MODULES > /var/log/httpd/rcapache.log 2>&1 ; then
killproc -USR1 $HTTPD_BIN || return=$rc_failed
rc_status -v
else
if [ $link = $base ] ; then
echo -e -n "\n\n"
cat /var/log/httpd/rcapache.log
else
echo -e -n "\nsee /var/log/httpd/rcapache.log for details\n";
fi
rc_failed 6
rc_status -v1
fi
;;
status)
echo -n "apache Status: "
checkproc $HTTPD_BIN
rc_status -v
;;
probe)
## Optional: Probe for the necessity of a reload,
## give out the argument which is required for a reload.

#test /etc/httpd/httpd.conf -nt /var/run/httpd.pid && echo reload
test /usr/local/apache/conf/httpd.conf -nt /usr/local/apache/logs/httpd.pid && echo reload
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
exit 1
esac


# Inform the caller not only verbosely and set an exit status.
rc_exit

ZeroSix
07.03.02, 00:26
Original geschrieben von SeeksTheMoon
ihr braucht ein Runlevel Script in /etc/init.d, sonst könnt ihr das mit dem Autostart in der rc.config vergessen.

Dafür gibt es doch nach der Installation SuSEconfig :)

Hab ein Apache-Update gemacht, danach läuft der neue Server mit (genau wie beim alten)

@alle Ich Danke euch schonmal (obwohl es noch nicht zuende ist ;) )

ZeroSix
27.03.02, 09:25
So, da bin ich wieder ;-)

Ich hab also jetzt auf dem Server Suse 7.3 am laufen, 2 x Netzwerk-Karte drin, die eine Karte soll für ein Internes Netzwerk sein (SuSE-Server : 192.168.0.1, Sub 255.255.255.0 und der Win-Client : 192.168.0.2, Sub 255.255.255.0), die andere Netzwerk-Karte soll für T-DSL sein (damit ich a.) auf dem Server den Apache laufen lassen kann und b.) mit dem Win-Rechner surfen kann), also muss ich auf dem Server die IP (bzw. den Clienten routen)...aber wie ? Hab schon mit der IP des Clienten (129.168.0.2+Sub) versucht, bekomme aber eine Fehlermeldung beim Booten, dass es fehlgeschlagen sei...weiß hier jemand weiter ?

Muss ich bei der Karte fürs Inet irgendwie ein Nis oder DHCP angeben ?

(Bei dem Klickbunti-OS war es richtig einfach....aber das taugt nix für ein Server ;) )