wtorek
25
Lipiec
2017
Developers

Samodzielna instalacja sklepu opartego na Magento – część I

Wybór odpowiedniego hostingu

Każdy kto chce otworzyć sklep internetowy musi podjąć decyzję na jakim hostingu chce utrzymywać swoją platformę sprzedażową. Decydując się na Magento2 musimy mieć świadomość, że najsłabsze (często też najtańsze) oferty na rynku będziemy musieli pominąć w rozważaniach. Oczywiście wymagania jakie stawiamy naszemu sprzętowi muszą zależeć od ruchu jaki pojawi się na naszej stronie. Dla naszych potrzeb rozważymy podstawowe konfiguracje jakie są potrzebne do odpalenia Magento2 na zbadanie pomysłu czy w ogóle taki sklep internetowy wypali.

Jednym z rozwiązań może być wybór gotowych instalacji Magento2. Przykładowo na portalu https://www.properhost.com/magento2 możemy przez 30 dni testować darmową instalację magento. W dłuższej perspektywie jednak takie rozwiązania będą droższe od serwerów VPS lub serwerów dedykowanych. Ponieważ nasz sklep może odpalić rewelacyjnie spróbujmy postawić go na jakimś serwerze w chmurze – będziemy mogli dynamicznie dodać więcej zasobów jeżeli ruch będzie większy, ale nie zapłacimy za dużo gdy będzie go mało i moc obliczeniowa będzie mało ważna. Ja pokaże konfigurację takiego środowiska na przykładzie oktawave.com

Przygotowanie serwera

Zacznijmy zatem od założenia konta. Prowadzi do tego prosty formularz:

W czasie pisania tego artykułu mamy promocję 25 zł na start (trzeba tylko zweryfikować swoje konto przy pomocy karty kredytowej albo po kontakcie z konsultantem – wybieram kartę, bo będzie szybciej). Po rejestracji przychodzi do nas mail z adresem do logowania: https://admin.oktawave.com/Pages/Login.aspx. Po pierwszym logowaniu musimy wybrać kilka opcji podstawowych:

Zwróćcie uwagę na wszystkie pola – nie każde możemy potem zmienić.

Po wybraniu podstawowych kilku opcji możemy przystąpić do tworzenia instancji naszego serwera. Klikamy “+ Dodaj instancję OCI” i przechodzimy dalej. Do wyboru będziemy mieli kilka gotowych szablonów instalacji – ja wybieram Debian 8.

Z dostępnych konfiguracji sprzętowych wybieram jedną z najprostszych – zawsze będziemy mogli to potem dostosować.

W szczegółach instancji wpisujemy nazwę naszego serwera oraz wybieramy dysk. Jeżeli wiemy, że będziemy mieli dużo produktów to możemy od razu wybrać nieco większy dysk (powiedzmy 50GB), ale na początek ja zostanę przy najniższych parametrach.

Następnie wybieramy metodę autoryzacji. Lepszym wyborem są oczywiście klucze SSH, ale jeżeli nie robiliśmy tego wcześniej to w tym miejscu nie będę się na tym skupiał – efekt końcowy będzie dokładnie taki sam.

Na następnym ekranie już tylko potwierdzamy nasze zamówienie. Powinniśmy otrzymać komunikat:

Instancja jest w trakcie tworzenia. Po ukończeniu operacji otrzymasz e-mail potwierdzający utworzenie instancji oraz zawierający dane dostępowe do niej. Możesz również obserwować pasek postępu u góry ekranu, na bieżąco pokazuje on postęp realizacji zadania.

Teraz czekamy na wiadomość email z potwierdzeniem utworzenia dla nas nowej instancji serwera w chmurze. Jak nasza usługa jest już dostępna na liście naszych wszystkich OCI możemy zacząć dalsze prace.

Uwaga – nie chcesz korzystać z chmury – nie ma problemu, powinieneś zdecydować się na serwer dedykowany lub VPS z dostępem do roota – unikniesz w ten sposób potencjalnych problemów.

Teraz musimy dostać się do naszej konsoli SSH. W oktawave wchodzimy w nasza instację i klikamy na “Pokaż” przy danych dostępowych.

Zalogować się do SSH możemy np. przez program Putty. Wystarczy podać IP naszego serwera (IP zostało przesłane w mailu po utworzeniu instancji OCI).

W okienku, które wyskoczy wpisujemy usera root i hasło, z Danych dostępowych z panelu oktawave.

Następne kroki to zainstalowanie podstawowych elementów potrzebnych do pracy naszego serwera. Szczegółowa instrukcja nie jest przedmiotem tego wpisu dlatego ją pominę (jak np. kwestie bezpieczeństwa czy wydajności).

Po kolei wykonujemy następujące komendy z poziomu konsoli:

apt-get update
apt-get upgrade
apt-get install apache2
a2enmod rewrite
service apache2 restart
apt-get install mysql-server

(tutaj zostaniemy poproszeni o podanie hasła do administratora bazy danych)

edytujemy plik /etc/apt/sources.list i dodajemy na jego końcu 2 linie:

deb http://packages.dotdeb.org jessie all

deb-src http://packages.dotdeb.org jessie all

następnie wykonujemy polecenia:

wget https://www.dotdeb.org/dotdeb.gpg

apt-key add dotdeb.gpg

apt-get update

apt-get install php7.0 php7.0-gd php7.0-xml php7.0-mysql php7.0-mbstring php7.0-mcrypt php7.0-curl php7.0-soap php7.0-intl php7.0-zip

Przechodzimy do katalogu /etc/apache2/sites-available/ i tworzymy tam plik konfiguracji vHosta o nazwie [IP_servera].conf u mnie będzie to 176.119.58.148.conf i wklejamy tam:

<VirtualHost *:80>

       ServerAdmin informacja@x-coding.pl

       ServerName  176.119.58.148



       # Indexes + Directory Root.

       DirectoryIndex index.html

       DocumentRoot /home/www/176.119.58.148/

       <Directory /home/www/176.119.58.148/>

               Options -Indexes +FollowSymLinks +MultiViews

               AllowOverride all

               Require all granted

       </Directory>

</VirtualHost>

Zapisujemy plik i odpalamy polecenia:

a2ensite 176.119.58.148.conf
service apache2 reload

Tworzymy teraz katalog /home/www/176.119.58.148/ oraz w środku plik index.html o dowolnej treści. Dodatkowo odpalamy polecenie

chown www-data:www-data . -R

w nowo utworzonym folderze. Teraz wchodząc na adres 176.119.58.148 (oczywiście tutaj wstawcie własne IP) w przeglądarce powinniśmy widzieć napis z pliku index.htmlTa część konfiguracji za nami, mogą ją przeprowadzić osoby, które nie boją się pracy na serwerze. Jeżeli nie jesteś taką osobą – nic nie szkodzi – wybierz gotowe rozwiązanie lub zgłoś się do odpowiedniej firmy, która to zrobi za Ciebie.

Instalacja Magento2

Przechodzimy na stronę https://magento.com/tech-resources/download i wybieramy do ściągnięcia najnowsza wersję Magento2 z danymi przykładowymi, ja wybrałem wersję .zip

Żeby móc pobierać elementy ze strony Mageto trzeba się zarejestrować dlatego najpierw wyskoczy nam propozycja logowania lub założenia konta

Założenie konta to tylko prosty formularz. Rejestracja nie powinna stanowić dla nikogo większego wyzwania dlatego tutaj już pominę szczegóły. Po wypełnieniu formularza dostaniemy wiadomość email z linkiem do potwierdzenia rejestracji

Po ujrzeniu

Możemy wrócić na stronę od której ten rozdział się zaczął (https://magento.com/tech-resources/download), zalogować się i rozpocząć pobieranie Magento2. Po pobraniu pliku musimy go przenieść na nasz serwer. Zależnie od tego jaki mamy serwer może to odbyć się inaczej, ale jeżeli mamy dostęp do SSH jak na naszym oktawave to możemy użyć programu FileZilla i skorzystać z protokołu SFTP.

Plik przerzucamy do naszego utworzonego wcześniej folderu (u mnie /home/www/176.119.58.148/). Następnie przechodzimy w SSH do naszego folderu. Usuwamy wcześniejszy plik index.html. Instalujemy program do rozpakowania archiwum

apt-get install unzip

Rozpakowujemy archiwum poleceniem

unzip Magento-CE-2.1.7_sample_data-2017-05-30-03-17-57.zip

(plik może się oczywiście nazywać nieco inaczej).

usuwamy od razu niepotrzebny plik .zip

rm Magento-CE-2.1.7_sample_data-2017-05-30-03-17-57.zip

i ustawiamy odpowiednie uprawnienia

chown www-data:www-data . -R

Teraz możemy już przejść do konfiguracji. Ta część jest już zdecydowanie prostsza od poprzednich (chociaż jeszcze nie koniec z SSH 🙂 ) Wchodzimy na nasze IP przez przeglądarkę i widzimy

klikamy “Agree and Setup Magento”, nastąpi sprawdzanie wymagań pod kątem serwera.

Jeżeli wszystko jest ok klikamy “Next”. Teraz musimy podać dane do bazy danych (ale oczywiście najpierw ją stworzymy). Logujemy się do mysql poleceniem

mysql -u root -p(podajemy hasło takie jak ustawiliśmy przy instalacji)

odpalamy kolejno komendy (nazywam bazę danych “xcoding_magento2”, tak samo będzie nazywał się użytkownik do bazy danych i będzie miał hasło “gOna75Xi”).

CREATE DATABASE `xcoding_magento2` /*!40100 COLLATE 'utf8_general_ci' */;
CREATE USER 'xcoding_magento2'@'localhost' IDENTIFIED BY 'gOna75Xi';
GRANT USAGE ON *.* TO 'xcoding_magento2'@'localhost';
GRANT SELECT, EXECUTE, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, LOCK TABLES  ON `xcoding\_magento2`.* TO 'xcoding_magento2'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Wracamy do przeglądarki i uzupełniamy dane.

Na kolejnym kroku widzimy nasz adres do panelu administracyjnego: http://176.119.58.148/admin_xwsntl możemy go zmienić na jakiś bardziej przyjazny (ale nie admin). Na kolejnym kroku wybieramy strefę czasową, walutę i język

Kolejny krok to tworzenie konta dla admina

i na końcu klikamy w “Install Now”

i podziwiamy postęp instalacji

Jeżeli wszystko pójdzie dobrze to zobaczymy ekran z podsumowaniem instalacji’

a wchodząc na adres http://176.119.58.148/ zobaczymy zainstalowane Magento2

Podsumowanie

Postawienie gotowego sklepu internetowego nie jest bardzo łatwe jeżeli musimy zadbać o wszystko we własnym zakresie, ale nie jest też bardzo trudne. Dobrze jest porównać dostępne hostingi gotowe i rozwiązania chmurowe albo dedykowane serwery u dostawców – zależnie od własnych wymagań możemy zaoszczędzić sporo pieniędzy (np. na testowanie sklepu, który jednak nie odpali), czasu na przenoszenie środowiska, problemów ze źle dobranym sprzętem.

To tyle w tej części. W następnej części zajmiemy się kolejnymi elementami konfiguracji sklepu. Spróbujemy zainstalować inną niż domyślna skórka, dorzucimy kilka przydatnych modułów i poznamy podstawy konfiguracji Magento2.

FacebookTwitterGoogle+LinkedIn