|
Τοπική Εγκατάσταση σε Linux |
|
|
|
Έχει γραφτεί από Ηλίας Αντωνόπουλος
|
|
Σελίδα 1 από 5 Προετοιμασία του Linux RED HAT 9 Οι οδηγίες που ακολουθούν αφορούν την εγκατάσταση των Apache 1.3.x, της PHP 4.3.10 και της MySQL 4.1.9 στο Red Hat 9 Linux, για τοπική χρήση. Η ίδια διαδικασία, παρακάμπτοντας κάποια βήματα που αφορούν ειδικά το Red Hat, μπορεί να εφαρμοστεί και σε άλλες διανομές Linux.
Δεν εγγυόμαστε ότι η παρακάτω διαδικασία θα λειτουργήσει απόλυτα σωστά και στο δικό σας Linux Server, καθώς οι πιθανές παραλλαγές στο περιβάλλον είναι πάρα πολλές. Σε κάθε περίπτωση, τα γενικά χαρακτηριστικά λειτουργούν αποτελεσματικά.
Εγκατάσταση του Apache 1.3.xΤο Red Hat Linux έρχεται με διαθέσιμο προς εγκατάσταση τoν Apache 2.x. Αυτό που θα κάνουμε εμείς είναι να αντικαταστήσουμε την έκδοση 2.x του Apache με την έκδοση 1.3.x. Υποθέτουμε ότι έχετε ήδη εγκατεστημένο το Red Hat στον υπολογιστή σας και έχετε ήδη εγκαταστήσει τον Apache 2.x. Η ακριβής διαδικασία για αυτές τις ενέργειες είναι πέρα από το σκοπό αυτού του εγχειριδίου. Μπορείτε να την αναζητήσετε στα εγχειρίδια χρήσης που συνοδεύουν το Red Hat.
Αρχικά κατεβάζω την τελευταία έκδοση του Apache 1.3.x από τη διεύθυνση: http://httpd.apache.org/download.cgi. (Την ώρα που γράφονται αυτές οι γραμμές οι τελευταία έκδοση είναι η 1.3.33).
Σώζω το αρχείο σε έναν κατάλογο που έχω δημιουργήσει, π.χ. /downloads/apacheinstall
Δημιουργώ τον κατάλογο /usr/local/apache, στον οποίο θα εγκαταστήσω τελικά τον Apache.
Από το terminal/console πηγαίνω στον κατάλογο: /downloads/apacheinstall
Εκτελώ την εντολή:
tar xfz apache_1.3.33.tar.gz
από τον κατάλογο /downloads/apacheinstall/ apache_1.3.33 στον οποίο βρίσκονται τα αρχεία που με ενδιαφέρουν.
Πάντα από το παράθυρο terminal/console, με την εντολή:
cd apache_1.3.33
μετακινούμαι μέσα σε αυτόν τον κατάλογο και εκτελώ την εξής εντολή:
--prefix=/usr/local/apache -enable-module=so
Μετά εκτελώ την εντολή:
make
και μετά την:
make install
Συγχαρητήρια, μόλις εγκαταστήσατε τον Apache 1.3.33 στο Red Hat!
Το Red Hat όμως δεν το γνωρίζει ακόμη αυτό. Έτσι, αν μείνετε μόνο σε αυτά τα βήματα, την επόμενη φορά που θα κάνετε επανεκκίνηση θα ξεκινήσει ο Apache 2.x αντί για τον 1.3.33 που θέλουμε. Για να το αλλάξουμε αυτό, θα πρέπει να κάνουμε αλλαγές και σε δύο ακόμα αρχεία του λειτουργικού.
Συγκεκριμένα, τροποποιώ το αρχείο etc/rc.d/init.d/httpd, ώστε να γίνει ως ακολούθως (για λόγους κατανόησης εμφανίζονται τα σχόλια που έχει το αρχικό αρχείο καθώς και τα σημεία του κώδικα που έχουν ενεργοποιηθεί ή απενεργοποιηθεί):
#!/bin/bash # # Startup script for the Apache Web Server # # chkconfig: - 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. # processname: httpd # pidfile: /var/run/httpd.pid # config: /etc/httpd/conf/httpd.conf
# Source function library. . /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/httpd ]; then . /etc/sysconfig/httpd fi
# This will prevent initlog from swallowing up a pass-phrase prompt if # mod_ssl needs a pass-phrase from the user. INITLOG_ARGS=""
# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server # with the thread-based "worker" MPM; BE WARNED that some modules may not # work correctly with a thread-based MPM; notably PHP will refuse to start.
# Path to the apachectl script, server binary, and short-form for messages. # changed by elias 16/01/2005 apachectl=/usr/local/apache/bin/apachectl httpd=${HTTPD-/usr/local/apache/bin/httpd} prog=httpd RETVAL=0
# disabled by elias 16/01/2005 # after installing apache 1.3.33 # check for 1.3 configuration #check13 () { # CONFFILE=/etc/httpd/conf/httpd.conf # GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|" # GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|" # GONE="${GONE}AccessConfig|ResourceConfig)" # if grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then # echo # echo 1>&2 " Apache 1.3 configuration directives found" # echo 1>&2 " please read /usr/share/doc/httpd-2.0.40/migration.html" # failure "Apache 1.3 config directives test" # echo # exit 1 # fi #}
# The semantics of these two functions differ from the way apachectl does # things -- attempting to start while running is a failure, and shutdown # when not running is also a failure. So we just do it the way init scripts # are expected to behave here. start() { echo -n $"Starting $prog: " #check13 || exit 1 daemon $httpd $OPTIONS RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd return $RETVAL } stop() { echo -n $"Stopping $prog: " killproc $httpd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid } reload() { echo -n $"Reloading $prog: " check13 || exit 1 killproc $httpd -HUP RETVAL=$? echo }
# See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $httpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/run/httpd.pid ] ; then stop start fi ;; reload) reload ;; graceful|help|configtest|fullstatus) $apachectl $@ RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" exit 1 esac
exit $RETVAL |
Το δεύτερο αρχείο που πρέπει να τροποποιήσω είναι το etc/rc.d/rc.local. Η τελική του μορφή είναι η ακόλουθη:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff.
touch /var/lock/subsys/local # Start Apache 1.3.33 /etc/init.d/httpd start # Start MySQL /usr/local/mysql/support-files/mysql.server start | Θα παρατηρήσετε ότι οι δύο τελευταίες γραμμές αναφέρονται στη MySQL, που δεν έχουμε εγκαταστήσει ακόμη, αλλά σε επόμενο βήμα.
Οι εντολές για τον έλεγχο του Apache, δίνονται από την οθόνη terminal και είναι: /etc/init.d/httpd start εκκίνηση /etc/init.d/httpd stop σταμάτημα /etc/init.d/httpd restart επανεκκίνηση
|