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

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


e-commerce

Σύγκριση εκδόσεων

Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.

Σύνδεσμος σε αυτή την προβολή διαφορών.

e-commerce [2015/04/23 13:24]
127.0.0.1 εξωτερική τροποποίηση
e-commerce [2021/10/12 23:31] (τρέχουσα)
Γραμμή 1: Γραμμή 1:
 +==== Ηλεκτρονικό Εμπόριο και Εφαρμογές Διαδικτύου ====
 +
 +=== 1- OsCommerce Αποσυμπίεση πακέτου===
 +
 +**Σύνδεση με εξυπηρετητή prometheus και εύρεση στοιχείων**
 +
 +Κατ'​ αρχάς θα πρέπει να συνδεθείτε στον server **prometheus.dmst.aueb.gr** μέσω [[unix_software|PUTTY]] \\
 +Στην κονσόλα που ανοίγει γράφεται την εντολή **oscommerce install** και πατάτε ​ <​html><​button type="​button">​Enter</​button></​html> ​
 +Στα παρακάτω παραδείγματα ο χρήστης sgrig έχει συνδεθεί στον prometheus και...
 +
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​
 +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:​~>​
 +</​code>​
 +
 +Με αυτόν τον τρόπο ξεπακεταρίστηκε το πακέτο της εφαρμογής του OsCommerce στον φάκελο ​
 +public_html/​oscommerce_default.
 +
 +{{:​wiki:​attention.gif?​nolink ​ |}}
 +<​html><​table width="​90%"​ style="​height:​50px"><​tr><​td style="​vertical-align:​ middle;">​
 +Επιπλέον πληροφορίες
 +<​li>​oscommerce σκέτο μας εκτυπώνει συντομες οδηγίες του εργαλείου </li>
 +<​li>​oscommerce uninstall σβήνει τον αντίστοιχο φάκελο public_html/​oscommerce_default</​li>​
 +<​li>​oscommerce secure Ασφαλίζει την εφαρμογή μετά την αρχική της παραμετροποίηση</​li>​
 +<​li>​oscommerce install Store1 ​  ​Eγκαθιστα Απεγκαθιστα κτλπ ενα μαγαζί με ταυτότητα Store1 ​
 +αντί για ταυτότητα '​default'​. Xρησιμοποιήστε αυτή την δυνατότητα αν θέλετε να στησετε περισσότερα του ενός καταστήματα. ​
 +</​td></​tr></​table></​html>​
 +
 +{{:​wiki:​note.gif?​nolink ​ |}}
 +<​html><​table width="​90%"​ style="​height:​50px"><​tr><​td style="​vertical-align:​ middle;">​Σημειώστε το URL http://​prometheus.dmst.aueb.gr/​~sgrig/​oscommerce_default/​catalog στο οποίο μπορείτε να συνεχίσετε την παραμετροποίηση της εφαρμογή σας αφού πρώτα προμηθευτείτε και βάση δεδομένων </​td></​tr></​table></​html>​
 +
 +=== 2- Προμήθεια Βάσης Δεδομένων ===
 +
 +H εφαρμογή απαιτεί μια βάση δεδομένων Mysql την οποία και φτιαχνουμε πάλι με το ίδιο εργαλείο εργαλείο
 +Στο παρακάτω παράδειγμα ο χρήστης sgrig φτιάχνει μια βάση δεδομένων με διακριτικό db1.
 +
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​
 +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
 +
 +</​code>​
 +
 +Το όνομα της βάσης που δημιουργήθηκε είναι sgrig_db1.
 +
 +{{:​wiki:​attention.gif?​nolink ​ |}}
 +<​html><​table width="​90%"​ style="​height:​50px"><​tr><​td style="​vertical-align:​ middle;">​
 +Επιπλέον πληροφορίες
 +<​li>​makemydb σκέτο μας εκτυπώνει συντομες οδηγίες του εργαλείου </li>
 +<​li>​makemydb createdb dbname Δημιουργεί μια βάση με όνομα που συντίθεται με τον κανόνα username_dbname </li>
 +<​li>​makemydb dropdb dbname Εξαφανίζει την βάση με ονομα που συντιθεται με τον κανόνα username_dbname</​li>​
 +<​li>​makemydb setpasswd s33je290 Προσοχή Επανατοποθετεί το συνθηματικο του χρήστη. Οποιες εφαρμογές χρησιμοποιούν άλλο συνθηματικό θα σταματήσουν να έχουν πρόσβαση στην βάση και θα χρειάζονται επαναπαραμετροποίηση.
 +</​td></​tr></​table></​html>​
 +
 +
 +=== 3- Επιλογή ​ συνθηματικού ​ χρήστη mysql ===
 +
 +Αυτό το στάδιο το εκτελούμε μόνο μια φορά για να εγγραφτούμε στα μητρώα χρηστων mysql και να ορίσουμε συνθηματικό. Χρησιμοποιούμε το εργαλείο **makemydb** .
 +
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​
 +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:​~>​
 +</​code>​
 +
 +{{:​wiki:​attention.gif?​nolink ​ |}}
 +<​html><​table width="​90%"​ style="​height:​50px"><​tr><​td style="​vertical-align:​ middle;">​
 +Επιπλέον πληροφορίες
 +<​li>​Σημειώνουμε σε ασφαλές μέρος το συνθηματικό που επιλέξαμε για πρόσβαση στον Mysql </li>
 +<​li>​Δεν υπάρχει τρόπος να ξαναβρούμε το συνθηματικό αν το ξεχάσουμε. Μπορουμε μόνο να το επανατοποθετήσουμε με την ιδια διαδικασία αλλά πρέπει να ενημερώσουμε ολες τις εφαρμογές που το χρησιμοποιούσαν.</​li>​
 +
 +</​td></​tr></​table></​html>​
 +
 +
 +=== 4- Παραμετροποίηση Εφαρμογής ===
 +
 +Επισκέπτόμαστε την εφαρμογή μας στο URL που είχαμε σημειώσει στο 1ο στάδιο ​ στο δικό μας παράδειγμα http://​prometheus.dmst.aueb.gr/​~sgrig/​oscommerce_default/​catalog και αρχίζουμε την παραμετροποίηση της ​
 +Στην διαδικασία θα χρειαστεί να εισάγετε το όνομα χρήστη της βάσης που είναι ίδιο με το όνομα χρήστη σας στο εργαστήριο (sgrig στο παραδειγμά μας), τα συνθηματικά του χρήστη βάσης που επιλέξατε και το όνομα της βάσης που θέλετε να συνδεθεί η εφαρμογή που προκύπτει από τον κανόνα username_dbname με το dbname που επιλέξατε στο στάδιο 3.
 +
 +=== 5- Ασφάλιση Εφαρμογής ===
 +
 +Μετά το τέλος της παραμετροποίησης και αφού κανουμε την πρωτη μας επιτυχή επίσκεψη στο μαγαζί και ώς πελάτης αλλά και ώς διαχειριστής,​ οφείλουμε να επιστρέψουμε στην κονσόλα του unix και να ασφαλίσουμε το κατάστημά μας ειδάλλως οποισδήποτε μπορεί πανεύκολα να μας το καταστρέψει.
 +
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​
 +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.
 +</​code>​
 +
 +=== Χρήσιμες Πληροφορίες ===
 +
 +Οποτεδήποτε χρείαζεται να "​ανεβάσετε κάποιο αρχείο στην εφαρμογή η συνιστώμενη διαδικασία είναι να συνδεθείτε στον εξυπηρετητή μέσω [[unix_software|WinSCP]] και να το κάνετε με ασφαλή τρόπο.
 +
 +Εναλλακτικά,​ μπορείτε να επιτρέψετε στην εφαρμογή να γράφει από μόνη της σε κάποιους φακέλους και να κάνετε upload μεσω web browser. ​
 +Στο εργαλείο διαχείρισης της εφαρμογής στην περιοχή Tools > Permissions ​ υπάρχει ενδεικτικός κατάλογος σε ποιος φακέλους μπορείτε να επιτρέψετε το upload. Θεωρείται όμως τρύπα ασφαλείας.
 +
 +Για να επιτρέψετε στην εφαρμογή να γραψει σε κάποιον φάκελο αρκεί να μπείτε με putty στον εξυπηρετητή να πλοηγηθείτε μέσω **cd public_html/​oscommerce_default/​..... ** στον φάκελο που σας ενδιαφέρει και να χρησιμοποιήσετε τις ακόλουθε εντολές
 +
 +Παροχή άδειας εγγραφής στην εφαρμογή στον φάκελο που είμαστε
 +<​code>​
 +sgrig@prometheus:​~>​chmod o+w .
 +</​code>​
 +Αναδρομική παροχή άδειας στον φακελο πχ. media που βρίσκεται στον φακελο που είμαστε και σε ολους τους υποφακέλους του.
 +(Προσοχη στην χρήση του διακόπτη -R γιατι αν εφαρμοστει απροσεκτα μπορει να παραποιήσει άδειες πρόσβασης σε ολο το καταστημα και να το καταστρεψει)
 +<​code>​
 +sgrig@prometheus:​~>​ chmod -R o+w media
 +</​code>​
 +Ανάκληση άδειας
 +<​code>​
 +sgrig@prometheus:​~>​chmod o-w .
 +</​code>​
 +
 +=== Βοηθητικοί Σύνδεσμοι ===
 +
 +<​html>​
 +<li> <a href="​http://​www.ee.surrey.ac.uk/​Teaching/​Unix/">​ Unix Linux Tutorial - Commands </a> </li>
 +<li> <a href="​http://​www.tutorialspoint.com/​unix/​unix-useful-commands.htm">​ Unix Useful commands and tutorial </​a></​li>​
 +</​html>​
 +
 +=== Εγκατάσταση άλλων πλατρφόρμων ηλεκτρονικού εμπορίου ===
 +Θεωρητικά είστε ελεύθεροι να εγκαταστήσετε οποιαδήποτε άλλη πλατφόρμα ηλεκτρονικού εμπορίου γραμμένη σε γλωσσα 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 όπως πχ <​html>​ <a href="​http://​blog.interlinked.org/​tutorials/​vim_tutorial.html">​ Vim  Tutorial </a> </​html>​
 +
 +=== Διαδικασία εκσφαλμάτωσης (Debugging) ===
 +Μπορείτε να παρακολουθήσετε μηνύματα λάθους που εκδίδονται απο τον εξυπηρετητή για την εφαρμογή σας πληκτρολογώντας την ακόλουθη εντολή στο Putty και να ψαξετε για πληροφορίες που προκαλούν την δυσλειτουργία.
 +Στο παρακάτω παράδειγμα εκτυπωνονται μυνήματα λαθους και μηνύματα λειτουργίας της εφαρμογής για τον χρήστη sgrig αντίστοιχα.
 +
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​
 +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: </​code>​
 +
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​ 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"​
 + </​code>​
 +
 +=== Πρόχειρη Διαδικασία Αντιγράφων Ασφαλείας ===
 +Μερικές φορές ειδικά οταν βάζετε νεα themes , updates, extension και ειδικά αν δεν προσέχετε να ειναι συμβατά με την έκδοση που έχετε προκαλείται συνολική ζημια στην εφαρμογή και πρέπει να την ξανακάνετε από την αρχή.
 +Καλό θα είναι πρίν εκτελέσετε μια τέτοια ενέργεια να εχετε κρατήσει αντίγραφο και του κωδικα και της βάσης.
 +
 +Για παραδειγμα αντιγραφή κωδικα του φακέλου '​magento'​
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​ sgrig@prometheus:​~/​public_html>​ cp -R -p magento magento_bakup </​code>​
 +
 +Αντίγραφο ασφαλείας και επαναφορα αντιγράφου της βάσης database1
 +{{:​wiki:​article-console-unix.gif?​nolink ​ |}}
 +<​code>​ sgrig@prometheus:​~/​ mysqldump -u sgrig -p --add-drop-database database1 > database1.bak
 +............
 +sgrig@prometheus:​~/​ mysql -u sgrig -p database1 < database1.bak </​code>​
 +
 +