Η παρακάτω διαδικασία περιγράφει την εγκατάσταση του XAMPP 1.7 (πακέτο Apache - MySQL - PHP - Perl, ProFTPD server κ.α.) στη διανομή Ubuntu 8.10 (Intrepid Ibex).
Η διαδικασία θα πρέπει να είναι παρόμοια για οποιαδήποτε διανομή GNU/Linux.
Αρχικά κατεβάζουμε το αρχείο xampp-linux-1.7.tar.gz
Αφού κατέβει το αρχείο, πρέπει να το αποσυμπιέσουμε στο φάκελο /opt.
Ανοίγουμε το φάκελο στον οποίο αποθηκεύσαμε το αρχείο xampp-linux-1.7.tar.gz.
Αρχικά κάνουμε δεξί κλικ στο αρχείο και επιλέγουμε "Αντιγραφή" .
Έπειτα, πατάμε alt+F2 και δίνουμε:
- Κώδικας: Επιλογή όλων
gksudo nautilus
Ανοίγει ο nautilus με δικαιώματα υπερχρήστη.
ΠΡΟΣΟΧΗ: Το μόνο που θα κάνουμε μέσα από αυτό το παράθυρο είναι τα παρακάτω 5 βήματα και μόνον αυτά:
- Πηγαίνουμε στο φάκελο /opt .
- Κάνουμε επικόλληση του αρχείου xampp-linux-1.7.tar.gz .
- Κάνουμε δεξί κλικ στο αρχείο και επιλέγουμε "Αποσυμπίεση εδώ" .
- Αφού τελειώσει η αποσυμπίεση διαγράφουμε το αρχείο xampp-linux-1.7.tar.gz .
- Κλείνουμε το παράθυρο του nautilus.
Πλέον μέσα στο φάκελο /opt πρέπει να υπάρχει ένας νέος φάκελος με το όνομα lampp.
Επόμενο βήμα είναι να βεβαιωθούμε οτι η εγκατάσταση έγινε σωστά.
Για να εκκινήσουμε τους servers δίνουμε:
- Κώδικας: Επιλογή όλων
/opt/lampp/lampp start
και για να τους σταματήσουμε:
- Κώδικας: Επιλογή όλων
/opt/lampp/lampp stop
και για να επιβεβαιώσουμε οτι όλα τρέχουν όπως πρέπει ανοίγουμε με το web-browser μας (π.χ. firefox) τη διεύθυνση:
- Κώδικας: Επιλογή όλων
http://localhost
Τώρα πρέπει να ορίσουμε κωδικούς πρόσβασης και να απενεργοποιήσουμε την πρόσβαση μέσω δικτύου στο σύστημά μας.
Αυτό γίνεται δίνοντας σε τερματικό την εντολή:
- Κώδικας: Επιλογή όλων
/opt/lampp/lampp security
και απαντώντας στις ερωτήσεις.
Για να μπορούμε να προσπελάσουμε τις σελίδες μας μέσω του browser, πρέπει να βρίσκονται μέσα στο φάκελο /opt/lampp/htdocs.
Ο πιο εύκολος τρόπος (για εμένα τουλάχιστον) είναι ο εξής:
- Αρχικά ανοίγουμε ένα παράθυρο του nautilus ως super-user:
- Κώδικας: Επιλογή όλων
gksudo nautilus
- Δημιουργούμε ένα φάκελο (π.χ. mysite) στο /opt/lampp/htdocs (π.χ. /opt/lampp/htdocs/mysite) όπου θα αποθηκεύουμε όλα τα αρχεία του site μας.
- Κάνουμε δεξί κλικ στο νέο φάκελο που δημιουργήσαμε και αλλάζουμε τα permissions ("Ιδιότητες" -> "Δικαιώματα"):
Ιδιοκτήτης : <το όνομα χρήστη σας>
Προσπέλαση φακέλου: Δημιουργία και διαγραφή αρχείων
Προσπέλαση αρχείου: Ανάγνωση και εγγραφή
Ομάδα : <η ομάδα σας>
Προσπέλαση φακέλου: Δημιουργία και διαγραφή αρχείων
Προσπέλαση αρχείου: Ανάγνωση και εγγραφή
Άλλοι
Προσπέλαση φακέλου: Προσπέλαση αρχείων
Προσπέλαση αρχείου: Μόνο για ανάγνωση
Το πεδίο "Να επιτρέπεται η εκτέλεση αρχείου ως πρόγραμμα" δεν το πειράζουμε.
Κάνουμε κλικ στο "Εφαρμογή εφαρμογή δικαιωμάτων στα εσώκλειστα αρχεία" και έπειτα στο "Κλείσιμο".
- Ανοίγουμε ένα παράθυρο του nautilus ως απλός χρήστης και σέρνουμε από το παράθυρο του nautilus(root) το φάκελο που έχουμε δημιουργήσει (mysite) και τον τοποθετούμε στο home folder μας κρατώντας πατημένα τα πλήκτρα Shift+Ctrl (δημιουργία link).
- Κλείνουμε το παράθυρο του nautilus που ανοίξαμε ως υπερχρήστης.
Πλέον, έχουμε στο home folder μας ένα link προς το φάκελο που βρίσκεται μέσα στο htdocs (mysite).
Μπορούμε να μετονομάσουμε αυτό το link (π.χ. σε public_html) και να το μεταφέρουμε όπου αλλού θέλουμε ώστε να είναι πιο βολική η εργασία μας.
Πλέον, μπορούμε να έχουμε πρόσβαση στις σελίδες που αποθηκεύουμε μέσα στο φάκελο που "δείχνει" το link από τη διεύθυνση:
- Κώδικας: Επιλογή όλων
http://localhost/<όνομα_φακέλου>
π.χ. http://localhost/mysite
Τέλος, αντί να εκκινούμε/σταματάμε το xampp κάθε φορά μέσα από το τερματικό, μπορούμε να χρησιμοποιήσουμε το XAMPP Control Panel.
Για να προσθέσουμε την αντίστοιχη καταχώρηση στο μενού "Εφαρμογές -> Εργαλεία Συστήματος" κάνουμε τα εξής:
- Κάνουμε δεξί κλικ στο μενού και επιλέγουμε "Επεξεργασία μενού".
- Πηγαίνουμε στην κατηγορία "Εργαλεία συστήματος" και κάνουμε κλικ στο κουμπί "Νέο αντικείμενο".
- Συμπληρώνουμε τα στοιχεία ως εξής:
Τύπος: Εφαρμογή
Όνομα: XAMPP Control Panel
Εντολή: gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py"
Σχόλιο: Start/stop XAMPP
Ως εικονίδιο μπορείτε να χρησιμοποιήσετε αυτό το αρχείο svg:
- Κώδικας: Επιλογή όλων
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
sodipodi:docname="xampp.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient3254">
<stop
style="stop-color:#f77721;stop-opacity:1;"
offset="0"
id="stop3256" />
<stop
style="stop-color:#f77721;stop-opacity:0;"
offset="1"
id="stop3258" />
</linearGradient>
<linearGradient
id="linearGradient3208">
<stop
id="stop3210"
offset="0"
style="stop-color:#fb7922;stop-opacity:1;" />
<stop
id="stop3212"
offset="1"
style="stop-color:#b85919;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient3174">
<stop
style="stop-color:#b85919;stop-opacity:1;"
offset="0"
id="stop3176" />
<stop
style="stop-color:#fb7922;stop-opacity:1;"
offset="1"
id="stop3178" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
<inkscape:perspective
id="perspective2390"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3208"
id="radialGradient3206"
cx="129.047"
cy="128.97331"
fx="129.047"
fy="128.97331"
r="93.69165"
gradientTransform="matrix(1.557646,0,0,1.2533693,-71.962542,-32.677876)"
gradientUnits="userSpaceOnUse"
spreadMethod="pad" />
<filter
inkscape:collect="always"
id="filter3244"
x="-0.013222156"
width="1.0264443"
y="-0.12982461"
height="1.2596492">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.81587431"
id="feGaussianBlur3246" />
</filter>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3254"
id="radialGradient3260"
cx="129.047"
cy="128.97331"
fx="129.047"
fy="128.97331"
r="82.919296"
gradientTransform="matrix(1.4990518,0,0,1.4898348,-64.401131,-63.17562)"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
id="filter3266">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.6539159"
id="feGaussianBlur3268" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="19.113532"
inkscape:cy="125.66209"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:showpageshadow="false"
inkscape:window-width="1499"
inkscape:window-height="828"
inkscape:window-x="30"
inkscape:window-y="84" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Bg1"
sodipodi:insensitive="true">
<rect
style="opacity:1;fill:url(#radialGradient3206);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect2397"
width="187.3833"
height="186.37315"
x="35.355339"
y="35.786743"
ry="16.667519"
rx="22.728432" />
<rect
style="opacity:1;fill:url(#radialGradient3260);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter3266)"
id="rect3248"
width="165.83859"
height="164.94458"
x="46.127697"
y="46.50103"
ry="14.751143"
rx="20.115192" />
<path
style="opacity:0.44899998;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3244)"
d="M 53.57143,47.928571 C 53.57143,47.928571 197.85714,46.5 201.07143,47.571429 C 204.28572,48.642857 193.92857,60.785714 181.78571,61.857143 C 169.64286,62.928571 78.214293,61.5 78.214293,61.5 C 78.214293,61.5 61.42857,61.5 53.57143,47.928571 z"
id="path3214" />
<g
id="g3286"
style="fill:#ffffff"
transform="translate(-262.09611,8.3745667)">
<path
transform="matrix(1.0435918,0,0,1.0148148,-13.52778,-9.7749404)"
d="M 391.4341,114.3261 A 35.102802,34.092648 0 1 1 321.2285,114.3261 A 35.102802,34.092648 0 1 1 391.4341,114.3261 z"
sodipodi:ry="34.092648"
sodipodi:rx="35.102802"
sodipodi:cy="114.3261"
sodipodi:cx="356.3313"
id="path3276"
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(1.0569446,0,0,1.1333333,-18.48702,21.879629)"
d="M 391.4341,114.3261 A 35.102802,34.092648 0 1 1 321.2285,114.3261 A 35.102802,34.092648 0 1 1 391.4341,114.3261 z"
sodipodi:ry="34.092648"
sodipodi:rx="35.102802"
sodipodi:cy="114.3261"
sodipodi:cx="356.3313"
id="path3278"
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(1.0579803,0,0,1.1111111,50.808113,-18.763812)"
d="M 391.4341,114.3261 A 35.102802,34.092648 0 1 1 321.2285,114.3261 A 35.102802,34.092648 0 1 1 391.4341,114.3261 z"
sodipodi:ry="34.092648"
sodipodi:rx="35.102802"
sodipodi:cy="114.3261"
sodipodi:cx="356.3313"
id="path3280"
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(1.0281676,0,0,1.1333333,60.421155,23.394861)"
d="M 391.4341,114.3261 A 35.102802,34.092648 0 1 1 321.2285,114.3261 A 35.102802,34.092648 0 1 1 391.4341,114.3261 z"
sodipodi:ry="34.092648"
sodipodi:rx="35.102802"
sodipodi:cy="114.3261"
sodipodi:cx="356.3313"
id="path3282"
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
d="M 416.18284,121.39717 A 25.75889,26.516504 0 1 1 364.66506,121.39717 A 25.75889,26.516504 0 1 1 416.18284,121.39717 z"
sodipodi:ry="26.516504"
sodipodi:rx="25.75889"
sodipodi:cy="121.39717"
sodipodi:cx="390.42395"
id="path3284"
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
</g>
<g
id="g3347">
<path
sodipodi:nodetypes="czz"
id="path3295"
d="M 96.56919,164.07611 C 96.56919,138.0744 112.94303,140.08499 136.21767,140.08499 C 159.60754,140.08499 166.39598,135.04092 166.39598,114.95745"
style="fill:#fb7922;fill-opacity:1;fill-rule:evenodd;stroke:#fb7922;stroke-width:22.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
transform="matrix(2.45,0,0,2.2,-755.90507,-100.71832)"
d="M 352.85715,98.14286 A 5,5.3571429 0 1 1 342.85715,98.14286 A 5,5.3571429 0 1 1 352.85715,98.14286 z"
sodipodi:ry="5.3571429"
sodipodi:rx="5"
sodipodi:cy="98.14286"
sodipodi:cx="347.85715"
id="path3303"
style="fill:#fb7922;fill-opacity:1;fill-rule:evenodd;stroke:#fb7922;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<rect
ry="0"
rx="0"
y="115.3194"
x="96.739105"
height="12.330836"
width="12.461239"
id="rect3305"
style="fill:#fb7922;fill-opacity:1;fill-rule:evenodd;stroke:#fb7922;stroke-width:1.05187011;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path3313"
d="M 166.43423,149.30312 L 166.43423,162.5174"
style="fill:#fb7922;fill-opacity:1;fill-rule:evenodd;stroke:#fb7922;stroke-width:22.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</svg>
(αντιγραφή-επικόλληση του κώδικα στο gedit και αποθήκευση ως xampp.svg).