Εργαλεία Χρήστη

Εργαλεία ιστότοπου


e-commerce

Ηλεκτρονικό Εμπόριο και Εφαρμογές Διαδικτύου

1- OsCommerce Αποσυμπίεση πακέτου

Σύνδεση με εξυπηρετητή prometheus και εύρεση στοιχείων

Κατ' αρχάς θα πρέπει να συνδεθείτε στον server prometheus.dmst.aueb.gr μέσω PUTTY
Στην κονσόλα που ανοίγει γράφεται την εντολή oscommerce install και πατάτε Στα παρακάτω παραδείγματα ο χρήστης sgrig έχει συνδεθεί στον prometheus και…

sgrig@prometheus:~> oscommerce install
Store Id default
OpenSource Commerce v2.3.3.4!
Done:
You should be able to start setting your OSCommerce Shop  on
http://prometheus.dmst.aueb.gr/~sgrig/oscommerce_default/catalog
ATTENTION: Dont forget to run oscommerce secure after setting up your shop!
sgrig@prometheus:~>

Με αυτόν τον τρόπο ξεπακεταρίστηκε το πακέτο της εφαρμογής του OsCommerce στον φάκελο public_html/oscommerce_default.

Επιπλέον πληροφορίες
  • oscommerce σκέτο μας εκτυπώνει συντομες οδηγίες του εργαλείου
  • oscommerce uninstall σβήνει τον αντίστοιχο φάκελο public_html/oscommerce_default
  • oscommerce secure Ασφαλίζει την εφαρμογή μετά την αρχική της παραμετροποίηση
  • oscommerce install Store1 Eγκαθιστα Απεγκαθιστα κτλπ ενα μαγαζί με ταυτότητα Store1 αντί για ταυτότητα 'default'. Xρησιμοποιήστε αυτή την δυνατότητα αν θέλετε να στησετε περισσότερα του ενός καταστήματα.
  • Σημειώστε το URL http://prometheus.dmst.aueb.gr/~sgrig/oscommerce_default/catalog στο οποίο μπορείτε να συνεχίσετε την παραμετροποίηση της εφαρμογή σας αφού πρώτα προμηθευτείτε και βάση δεδομένων

    2- Προμήθεια Βάσης Δεδομένων

    H εφαρμογή απαιτεί μια βάση δεδομένων Mysql την οποία και φτιαχνουμε πάλι με το ίδιο εργαλείο εργαλείο Στο παρακάτω παράδειγμα ο χρήστης sgrig φτιάχνει μια βάση δεδομένων με διακριτικό db1.

    sgrig@prometheus:~> makemydb createdb db1
    Executing for Username  :sgrig
    create database sgrig_db1;
    grant all privileges on sgrig_db1.* to sgrig;
    Please review the sql statements above. Do you want me to execute them? [y/N]y
    All Sql queries executed succesfully
    

    Το όνομα της βάσης που δημιουργήθηκε είναι sgrig_db1.

    Επιπλέον πληροφορίες
  • makemydb σκέτο μας εκτυπώνει συντομες οδηγίες του εργαλείου
  • makemydb createdb dbname Δημιουργεί μια βάση με όνομα που συντίθεται με τον κανόνα username_dbname
  • makemydb dropdb dbname Εξαφανίζει την βάση με ονομα που συντιθεται με τον κανόνα username_dbname
  • makemydb setpasswd s33je290 Προσοχή Επανατοποθετεί το συνθηματικο του χρήστη. Οποιες εφαρμογές χρησιμοποιούν άλλο συνθηματικό θα σταματήσουν να έχουν πρόσβαση στην βάση και θα χρειάζονται επαναπαραμετροποίηση.
  • 3- Επιλογή συνθηματικού χρήστη mysql

    Αυτό το στάδιο το εκτελούμε μόνο μια φορά για να εγγραφτούμε στα μητρώα χρηστων mysql και να ορίσουμε συνθηματικό. Χρησιμοποιούμε το εργαλείο makemydb .

    sgrig@prometheus:~> makemydb setpasswd gheu29883
    Executing for Username  :sgrig
    set password for sgrig=PASSWORD('gheu29883');
    Please review the sql statements above. Do you want me to execute them? [y/N]y
    All Sql queries executed succesfully
    sgrig@prometheus:~>

    Επιπλέον πληροφορίες
  • Σημειώνουμε σε ασφαλές μέρος το συνθηματικό που επιλέξαμε για πρόσβαση στον Mysql
  • Δεν υπάρχει τρόπος να ξαναβρούμε το συνθηματικό αν το ξεχάσουμε. Μπορουμε μόνο να το επανατοποθετήσουμε με την ιδια διαδικασία αλλά πρέπει να ενημερώσουμε ολες τις εφαρμογές που το χρησιμοποιούσαν.
  • 4- Παραμετροποίηση Εφαρμογής

    Επισκέπτόμαστε την εφαρμογή μας στο URL που είχαμε σημειώσει στο 1ο στάδιο στο δικό μας παράδειγμα http://prometheus.dmst.aueb.gr/~sgrig/oscommerce_default/catalog και αρχίζουμε την παραμετροποίηση της Στην διαδικασία θα χρειαστεί να εισάγετε το όνομα χρήστη της βάσης που είναι ίδιο με το όνομα χρήστη σας στο εργαστήριο (sgrig στο παραδειγμά μας), τα συνθηματικά του χρήστη βάσης που επιλέξατε και το όνομα της βάσης που θέλετε να συνδεθεί η εφαρμογή που προκύπτει από τον κανόνα username_dbname με το dbname που επιλέξατε στο στάδιο 3.

    5- Ασφάλιση Εφαρμογής

    Μετά το τέλος της παραμετροποίησης και αφού κανουμε την πρωτη μας επιτυχή επίσκεψη στο μαγαζί και ώς πελάτης αλλά και ώς διαχειριστής, οφείλουμε να επιστρέψουμε στην κονσόλα του unix και να ασφαλίσουμε το κατάστημά μας ειδάλλως οποισδήποτε μπορεί πανεύκολα να μας το καταστρέψει.

    sgrig@prometheus:~/public_html> oscommerce secure
    Store Id default
    -------------------------------------------------------
    Securing OS commerce Setup
    mode of βcatalog/includes/configure.phpβ changed from 0777 (rwxrwxrwx) to 0644 (rw-r--r--)
    mode of βcatalog/admin/includes/configure.phpβ changed from 0777 (rwxrwxrwx) to 0644 (rw-r--r--)
    >>> Done: Secured  installation.

    Χρήσιμες Πληροφορίες

    Οποτεδήποτε χρείαζεται να “ανεβάσετε κάποιο αρχείο στην εφαρμογή η συνιστώμενη διαδικασία είναι να συνδεθείτε στον εξυπηρετητή μέσω WinSCP και να το κάνετε με ασφαλή τρόπο.

    Εναλλακτικά, μπορείτε να επιτρέψετε στην εφαρμογή να γράφει από μόνη της σε κάποιους φακέλους και να κάνετε upload μεσω web browser. Στο εργαλείο διαχείρισης της εφαρμογής στην περιοχή Tools > Permissions υπάρχει ενδεικτικός κατάλογος σε ποιος φακέλους μπορείτε να επιτρέψετε το upload. Θεωρείται όμως τρύπα ασφαλείας.

    Για να επιτρέψετε στην εφαρμογή να γραψει σε κάποιον φάκελο αρκεί να μπείτε με putty στον εξυπηρετητή να πλοηγηθείτε μέσω cd public_html/oscommerce_default/….. στον φάκελο που σας ενδιαφέρει και να χρησιμοποιήσετε τις ακόλουθε εντολές

    Παροχή άδειας εγγραφής στην εφαρμογή στον φάκελο που είμαστε

    sgrig@prometheus:~>chmod o+w .

    Αναδρομική παροχή άδειας στον φακελο πχ. media που βρίσκεται στον φακελο που είμαστε και σε ολους τους υποφακέλους του. (Προσοχη στην χρήση του διακόπτη -R γιατι αν εφαρμοστει απροσεκτα μπορει να παραποιήσει άδειες πρόσβασης σε ολο το καταστημα και να το καταστρεψει)

    sgrig@prometheus:~> chmod -R o+w media

    Ανάκληση άδειας

    sgrig@prometheus:~>chmod o-w .

    Βοηθητικοί Σύνδεσμοι

    Εγκατάσταση άλλων πλατρφόρμων ηλεκτρονικού εμπορίου

    Θεωρητικά είστε ελεύθεροι να εγκαταστήσετε οποιαδήποτε άλλη πλατφόρμα ηλεκτρονικού εμπορίου γραμμένη σε γλωσσα php. Θα χρειαστείτε πάλι μια βάση δεδομένων που θα προμηθευτείτε με τον τρόπο που περιγράφεται παραπάνω για τον oscommerce. Επιπλέον θα πρέπει κατεβάσετε το πακέτο της πλατφόρμας απο την ιστοσελίδα του στον υπολογιστή σας , να το μεταφορτώσετε στον prometheus με την χρήση του WinSCP και μετά μπαινοντας στην γραμμή εντολών με putty να το ξεπακετάρετε μέσα στον φάκελο public_html και να ακολουθήσετε οδηγίες εγκατάστασης απο την ίδια την πλατφόρμα.Εναλλακτικά μπορείτε να βρείτε ευκολα τα συμβατά πακέτα με τον προμηθέα για τις πλατφόρμες oscommerce magento prestashop στον φάκελο /usr/webapps. Δικές σας πλατφόρμες που θα κατεβάσετε θα πρέπει να ειναι συμβατές με php 5.4 . Οι παραπάνω βοηθητικοί συνδεσμοι παρέχουν πληροφορίες για χρησιμοποίηση εντολών σε περιβάλλον UNIX. Εαν χρειστείτε επιπλέον να τροποποιήσετε κάποιο αρχείο όντας συνδεδεμένοι με το Putty τότε ένας φιλικός editor είναι ο nano και μπορείτε να επεξεργαστείτε ενα αρχείο απλά γραφοντας nano filename όπου filename το όνομα του αρχείου που θέλετε να τροποποιήσετε. Μέσα στον nano υπάρχει μενου με τις λειτουργίες πχ ^Χ σημαίνει πατάω CONTROL+X και παω στο μενου εξόδου απο τον editor.

    Αντιστοιχα ένας πιο πολυπλοκος αλλα ολοκληρωμένος editor είναι ο vim. Χρείαζεστε όμως εξοικείωση με αυτόν και να διαβάσετε ένα απλό tutorial όπως πχ Vim Tutorial

    Διαδικασία εκσφαλμάτωσης (Debugging)

    Μπορείτε να παρακολουθήσετε μηνύματα λάθους που εκδίδονται απο τον εξυπηρετητή για την εφαρμογή σας πληκτρολογώντας την ακόλουθη εντολή στο Putty και να ψαξετε για πληροφορίες που προκαλούν την δυσλειτουργία. Στο παρακάτω παράδειγμα εκτυπωνονται μυνήματα λαθους και μηνύματα λειτουργίας της εφαρμογής για τον χρήστη sgrig αντίστοιχα.

    sgrig@prometheus:~/public_html> grep sgrig /var/log/apache2/error_log
    ..................
    [Wed Apr 22 18:40:55.233098 2015] [php5:error] [pid 12632] [client 2.84.150.209:50893] PHP Warning:  mysqli_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO) in /home/sgrig/public_html/oscommerce_default/catalog/includes/functions/database.php on line 20, referer: http://wiki.dmst.aueb.gr/doku.php?id=e-commerce
    [Wed Apr 22 18:41:00.850704 2015] [php5:error] [pid 12900] [client 2.84.150.209:50896] PHP Warning:  mysqli_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO) in /home/sgrig/public_html/oscommerce_default/catalog/includes/functions/database.php on line 20, referer: 

     grep sgrig /var/log/apache2/access_log
    .........................
    sgrig@prometheus:~/public_html> grep sgrig /var/log/apache2/access_log
    2.84.150.209 - - [22/Apr/2015:18:40:55 +0300] "GET /~sgrig/oscommerce_default/catalog HTTP/1.1" 301 365 "http://wiki.dmst.aueb.gr/doku.php?id=e-commerce" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
    2.84.150.209 - - [22/Apr/2015:18:40:55 +0300] "GET /~sgrig/oscommerce_default/catalog HTTP/1.1" 301 365 "http://wiki.dmst.aueb.gr/doku.php?id=e-commerce" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
    2.84.150.209 - - [22/Apr/2015:18:40:55 +0300] "GET /~sgrig/oscommerce_default/catalog/ HTTP/1.1" 302 37 "http://wiki.dmst.aueb.gr/doku.php?id=e-commerce" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
    2.84.150.209 - - [22/Apr/2015:18:40:55 +0300] "GET /~sgrig/oscommerce_default/catalog/ HTTP/1.1" 302 37 "http://wiki.dmst.aueb.gr/doku.php?id=e-commerce" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
    2.84.150.209 - - [22/Apr/2015:18:40:55 +0300] "GET /~sgrig/oscommerce_default/catalog/install/index.php HTTP/1.1" 200 5380 "http://wiki.dmst.aueb.gr/doku.php?id=e-commerce" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
    2.84.150.209 - - [22/Apr/2015:18:40:55 +0300] "GET /~sgrig/oscommerce_default/catalog/install/index.php HTTP/1.1" 200 5380 "http://wiki.dmst.aueb.gr/doku.php?id=e-commerce" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
     

    Πρόχειρη Διαδικασία Αντιγράφων Ασφαλείας

    Μερικές φορές ειδικά οταν βάζετε νεα themes , updates, extension και ειδικά αν δεν προσέχετε να ειναι συμβατά με την έκδοση που έχετε προκαλείται συνολική ζημια στην εφαρμογή και πρέπει να την ξανακάνετε από την αρχή. Καλό θα είναι πρίν εκτελέσετε μια τέτοια ενέργεια να εχετε κρατήσει αντίγραφο και του κωδικα και της βάσης.

    Για παραδειγμα αντιγραφή κωδικα του φακέλου 'magento'

     sgrig@prometheus:~/public_html> cp -R -p magento magento_bakup 

    Αντίγραφο ασφαλείας και επαναφορα αντιγράφου της βάσης database1

     sgrig@prometheus:~/ mysqldump -u sgrig -p --add-drop-database database1 > database1.bak
    ............
    sgrig@prometheus:~/ mysql -u sgrig -p database1 < database1.bak 
    e-commerce.txt · Τελευταία τροποποίηση: 2021/10/12 23:31 (εξωτερική τροποποίηση)