Zainstaluj PrestaShop na Ubuntu 16.04 LTS z Nginx, MariaDB, PHP 7.1 i Let's Encrypt free SSL / TLS

  • Michael Arnold
  • 0
  • 3640
  • 551

Podobnie jak Magento, PrestaShop umożliwia każdemu zbudowanie sklepu internetowego przy użyciu prostego interfejsu… Jeśli szukasz platformy eCommerce typu open source do sprzedaży online, pamiętaj, aby w swojej decyzji uwzględnić PrestaShop…

PrestaShop to popularna i szeroko stosowana platforma open source i darmowa platforma eCommerce oparta na PHP. Posiada kompleksowe funkcje produktu dla małych, średnich i dużych firm, umożliwiające bezpłatne tworzenie sklepów internetowych i zarządzanie nimi.

Jeśli szukasz funkcjonalnej, wydajnej platformy eCommerce do zarządzania frontem sklepu internetowego, która jest w 100% bezpłatna, PrestaShop okaże się przydatny. Ten krótki samouczek pokaże studentom i nowym użytkownikom, jak zainstalować PrestaShop na Ubuntu 17.04 | 17.10 z obsługą Nginx, MariaDB i PHP.

Ten post dotyczy instalacji najnowszej wersji PrestaShop, która w momencie pisania była w wersji 1.7.2.4

Aby rozpocząć instalację PrestaShop, wykonaj poniższe czynności:

Krok 1: Zainstaluj Nginx

PrestaShop wymaga serwera internetowego, a drugim najpopularniejszym obecnie serwerem internetowym jest Nginx. Więc idź i zainstaluj Apache2 na Ubuntu, uruchamiając poniższe polecenia:

sudo apt install nginx

Następnie uruchom poniższe polecenia, aby zatrzymać, uruchomić i włączyć usługę Nginx, aby zawsze uruchamiała się wraz z uruchomieniem serwera.

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl włącz nginx.service 

Krok 2: Zainstaluj MariaDB

PrestaShop wymaga również serwera bazy danych… a serwer bazy danych MariaDB to świetne miejsce do rozpoczęcia. Aby go zainstalować, uruchom poniższe polecenia.

sudo apt-get install mariadb-server mariadb-client

Po zainstalowaniu poniższych poleceń można używać do zatrzymywania, uruchamiania i włączania usługi MariaDB, aby zawsze uruchamiała się po uruchomieniu serwera.

sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl włącz mysql.service 

Następnie uruchom poniższe polecenia, aby zabezpieczyć serwer MariaDB.

sudo mysql_secure_installation

Po wyświetleniu monitu odpowiedz na poniższe pytania, postępując zgodnie z instrukcjami.

  • Wprowadź aktualne hasło roota (wpisz żadnego): Po prostu naciśnij Enter
  • Ustawić hasło roota? [T / n]: Y
  • Nowe hasło: wprowadź hasło
  • Ponownie wprowadź nowe hasło: powtórz hasło
  • Usunąć anonimowych użytkowników? [T / n]: Y
  • Nie zezwalać na zdalne logowanie przez roota? [T / n]: Y
  • Usunąć testową bazę danych i uzyskać do niej dostęp? [T / n]: Y
  • Załadować teraz ponownie tabele uprawnień? [T / n]: Y

Zrestartuj serwer MariaDB

sudo systemctl zrestartuj mysql.service

Krok 3: Zainstaluj PHP 7.1-FPM i powiązane moduły

PHP 7.1 nie jest dostępne w domyślnych repozytoriach Ubuntu… aby go zainstalować, musisz go pobrać z repozytoriów innych firm.

Uruchom poniższe polecenia, aby dodać poniższe repozytorium stron trzecich w celu aktualizacji do PHP 7.1

sudo apt-get install właściwości-oprogramowania-common sudo add-apt-repository ppa: ondrej / php

Następnie zaktualizuj i zaktualizuj do PHP 7.1

sudo apt update

Uruchom poniższe polecenia, aby zainstalować PHP 7.1 i powiązane moduły.

sudo apt install php7.1-fpm php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-mydło php7.1-gd php7.1-xml php7.1-intl php7.1-mysql php7. 1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl

Po zainstalowaniu PHP uruchom poniższe polecenia, aby otworzyć domyślny plik PHP-FPM.

sudo nano /etc/php/7.1/fpm/php.ini

Następnie wprowadź zmiany w poniższych wierszach w pliku i zapisz.

file_uploads = On allow_url_fopen = On memory_limit = 256 mln upload_max_filesize = 64 mln max_execution_time = 360 cgi.fix_pathinfo = 0 date.timezone = America / Chicago

Krok 4: Utwórz bazę danych PrestaShop

Po zainstalowaniu wszystkich wymaganych pakietów przejdź poniżej, aby rozpocząć konfigurowanie serwerów. Najpierw uruchom poniższe polecenia, aby utworzyć bazę danych PrestaShop.

Uruchom poniższe komendy, aby zalogować się do serwera bazy danych. Gdy pojawi się monit o hasło, wpisz hasło roota utworzone powyżej.

sudo mysql -u root -p

Następnie utwórz bazę danych o nazwie prestashop

STWÓRZ BAZĘ DANYCH prestashop;

Utwórz użytkownika bazy danych o nazwie prestashopuser z nowym hasłem

UTWÓRZ UŻYTKOWNIKA 'prestashopuser' @ 'localhost' IDENTIFIED BY 'new_password_here';

Następnie przyznaj użytkownikowi pełny dostęp do bazy danych.

GRANT ALL ON prestashop. * TO „prestashopuser” @ „localhost” IDENTIFIED BY „user_password_here” Z OPCJĄ GRANT;

Na koniec zapisz zmiany i wyjdź.

PRZYWILEJE SPŁUKIWANIA; WYJŚCIE; 

Krok 5: Pobierz najnowszą wersję PrestaShop

Następnie odwiedź witrynę PrestaShop i zarejestruj darmowe konto. Musisz się zarejestrować, zanim będziesz mógł pobrać kopię. Wersja Community to to, co chcesz pobrać.

Po pobraniu uruchom poniższe polecenia, aby wyodrębnić plik do pobrania do katalogu głównego Nginx.

cd / tmp && curl -O https://download.prestashop.com/download/releases/prestashop_1.7.2.4.zip unzip prestashop_1.7.2.4.zip sudo mkdir -p / var / www / html / prestashop sudo unzip prestapshop.zip -d / var / www / html / prestashop / 

Następnie uruchom poniższe polecenia, aby ustawić prawidłowe uprawnienia do działania PrestaShop.

sudo chown -R www-data: www-data / var / www / html / prestashop / sudo chmod -R 755 / var / www / html / prestashop / 

Krok 6: Skonfiguruj Nginx

Na koniec skonfiguruj plik konfiguracyjny witryny Nginx dla PrestaShop. Ten plik będzie kontrolować, w jaki sposób użytkownicy uzyskują dostęp do treści PrestaShop. Uruchom poniższe polecenia, aby utworzyć nowy plik konfiguracyjny o nazwie prestashop

sudo nano / etc / nginx / sites-available / prestashop

Następnie skopiuj i wklej poniższą zawartość do pliku i zapisz go. Zastąp podświetlony wiersz własną nazwą domeny i katalogiem głównym.

serwer nasłuchuj 80; słuchaj [::]: 80; root / var / www / html / prestashop; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / przepisać ^ / api /?(.*)$ /webservice/dispatcher.php?url=$1 last; przepisać ^ / ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / $ 1 / $ 1 $ 2.jpg ostatni; przepisać ^ / ([0-9]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / 1 $ / 2 $ / 1 $ 2 $ 3.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? / . + \. jpg $ /img/p/$1/$2/$3/$1$2$3$4.jpg ostatni; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0 -9] +)? /.+ \. Jpg $ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) (- [_ a-zA-Z0-9-] *)? (- [0-9] +)? /.+ \. Jpg $ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) (- [_ a- zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / $ 1 / $ 2/3 $ / 4 $ / 5 $ / 6 $ / 1 $ 2 $ 3 $ 4 $ 5 $ 6 $ 7.jpg ostatni; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9 ]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / 1 $ / 2 $ / 3 $ / 4 $ / 5 $ / 6 $ /$7/$1$2$3$4$5$6$7$8.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9 ]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. Jpg $ / img / p / $ 1 / $ 2 / 3 $ / 4 $ / 5 $ / 6 $ / 7 $ / 8 $ / 1 $ 2 $ 3 $ 4 $ 5 $ 6 $ 7 $ 8 $ 9.jpg ostatnia; przepisać ^ / c / ([0-9] +) (- [_ a-zA-Z0-9 -] *) (- [0-9] +)? /.+ \. jpg $ / img / c / $ 1 $ 2.jpg ostatni; rewrite ^ / c / ([a-zA-Z -] +) (- [0-9] +)? /.+ \. jpg $ /img/c/$1.jpg ostatnia; rewrite ^ / ([0-9] +) (- [_ a-zA-Z0-9 -] *) (- [0-9] +)? /.+ \. jpg $ / img / c / $ 1 $ 2. jpg ostatni; try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; dołącz fastcgi_params;  

Zapisz plik i zakończ.

Krok 7: Włącz witrynę PrestaShop

Po skonfigurowaniu VirtualHost powyżej, włącz go, uruchamiając poniższe polecenia

sudo ln -s / etc / nginx / sites-available / prestashop / etc / nginx / sites-enabled /

KROK 8: OTRZYMAJ I SKONFIGURUJEMY SZYFIKUJEMY CERTYFIKATY SSL

Teraz, gdy konfiguracja PrestaShop jest zakończona, kontynuuj poniżej, aby zainstalować i skonfigurować Let's Encrypt. Let's Encrypt udostępnia teraz moduł Nginx do automatyzacji tego procesu. Aby zainstalować klienta / moduł w systemie Ubuntu, uruchom poniższe polecenia

sudo add-apt-repository ppa: certbot / certbot sudo apt-get aktualizacja sudo apt-get install python-certbot-nginx 

Następnie uruchom poniższe polecenia, aby uzyskać bezpłatny certyfikat Let's Encrypt SSL / TLS dla swojej witryny.

sudo certbot --nginx -m [email protected] -d example.com -d www.example.com

Po uruchomieniu powyższych poleceń powinien zostać wyświetlony monit o zaakceptowanie warunków licencji. Jeśli wszystko jest zaznaczone, klient powinien automatycznie zainstalować bezpłatny certyfikat SSL / TLS i skonfigurować witrynę Nginx do korzystania z certyfikatów.

Przeczytaj Warunki korzystania z usługi na stronie https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Musisz wyrazić zgodę, aby zarejestrować się na serwerze ACME pod adresem https://acme-v01.api.letsencrypt.org/directory ----------------------- -------------------------------------------------- ------ (A) gree / (C) ancel: A 

Wybierz Tak (Y), aby udostępnić swój adres e-mail

Czy chciałbyś udostępnić swój adres e-mail Electronic Frontier Foundation, partnerowi założycielowi projektu Let's Encrypt i organizacji non-profit, która rozwija Certbot? Chcielibyśmy wysłać Ci wiadomość e-mail o EFF i naszej pracy nad szyfrowaniem sieci, ochroną jej użytkowników i ochroną praw cyfrowych. -------------------------------------------------- ----------------------------- (Y) es / (N) o: Y 

Oto, jak łatwo jest uzyskać bezpłatny certyfikat SSL / TLS dla swojej witryny opartej na Nginx.

Wybierz, czy przekierowywać ruch HTTP do HTTPS, usuwając dostęp HTTP. -------------------------------------------------- ----------------------------- 1: bez przekierowania - nie wprowadzaj dalszych zmian w konfiguracji serwera WWW. 2: Przekierowanie - przekierowuj wszystkie żądania do bezpiecznego dostępu HTTPS. Wybierz tę opcję dla nowych witryn lub jeśli masz pewność, że Twoja witryna działa w protokole HTTPS. Możesz cofnąć tę zmianę, edytując konfigurację serwera WWW. -------------------------------------------------- ----------------------------- Wybierz odpowiedni numer [1-2], a następnie [enter] (naciśnij „c”, aby anulować) : 2 

Wybierz opcję 2, aby przekierować cały ruch przez HTTPS. To jest ważne!

Następnie klient SSL powinien zainstalować certyfikat i skonfigurować witrynę tak, aby przekierowywała cały ruch przez HTTPS.

Gratulacje! Pomyślnie włączyłeś https://example.com i https://www.example.com Powinieneś przetestować swoją konfigurację pod adresem: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.example.com ---------------------------- -------------------------------------------------- - WAŻNE UWAGI: - Gratulacje! Twój certyfikat i łańcuch zostały zapisane pod adresem: /etc/letsencrypt/live/example.com/fullchain.pem Twój plik klucza został zapisany pod adresem: /etc/letsencrypt/live/example.com/privkey.pem Twój certyfikat wygaśnie w dniu 2018-02-24. Aby w przyszłości uzyskać nową lub ulepszoną wersję tego certyfikatu, po prostu uruchom ponownie certbot z opcją „certonly”. Aby w sposób nieinteraktywny odnowić * wszystkie * swoje certyfikaty, uruchom „certbot renew” - Jeśli podoba Ci się Certbot, rozważ wsparcie naszej pracy poprzez: Darowizna dla ISRG / Let's Encrypt: https://letsencrypt.org/donate Darowizna dla EFF: https://eff.org/donate-le

Podświetlony blok kodu powinien zostać automatycznie dodany do pliku konfiguracyjnego witryny Nginx PrestaShop przez Let's Encrypt certbot. Twoja witryna PrestaShop jest gotowa do użytku przez HTTPS.

słuchać 80; słuchaj [::]: 80; root / var / www / html / prestashop; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; lokalizacja / przepisać ^ / api /?(.*)$ /webservice/dispatcher.php?url=$1 last; przepisać ^ / ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / $ 1 / $ 1 $ 2.jpg ostatni; przepisać ^ / ([0-9]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / 1 $ / 2 $ / 1 $ 2 $ 3.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? / . + \. jpg $ /img/p/$1/$2/$3/$1$2$3$4.jpg ostatni; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0 -9] +)? /.+ \. Jpg $ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) (- [_ a-zA-Z0-9-] *)? (- [0-9] +)? /.+ \. Jpg $ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) (- [_ a- zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / $ 1 / $ 2/3 $ / 4 $ / 5 $ / 6 $ / 1 $ 2 $ 3 $ 4 $ 5 $ 6 $ 7.jpg ostatni; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9 ]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. jpg $ / img / p / 1 $ / 2 $ / 3 $ / 4 $ / 5 $ / 6 $ /$7/$1$2$3$4$5$6$7$8.jpg ostatnia; przepisać ^ / ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9]) ([0-9 ]) ([0-9]) (- [_ a-zA-Z0-9 -] *)? (- [0-9] +)? /.+ \. Jpg $ / img / p / $ 1 / $ 2 / 3 $ / 4 $ / 5 $ / 6 $ / 7 $ / 8 $ / 1 $ 2 $ 3 $ 4 $ 5 $ 6 $ 7 $ 8 $ 9.jpg ostatnia; przepisać ^ / c / ([0-9] +) (- [_ a-zA-Z0-9 -] *) (- [0-9] +)? /.+ \. jpg $ / img / c / $ 1 $ 2.jpg ostatni; rewrite ^ / c / ([a-zA-Z -] +) (- [0-9] +)? /.+ \. jpg $ /img/c/$1.jpg ostatnia; rewrite ^ / ([0-9] +) (- [_ a-zA-Z0-9 -] *) (- [0-9] +)? /.+ \. jpg $ / img / c / $ 1 $ 2. jpg ostatni; try_files $ uri $ uri / /index.php?$args;  lokalizacja ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; dołącz fastcgi_params;  Listen 443 ssl; # zarządzany przez Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # zarządzany przez Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # zarządzany przez Certbot to /etc/letsencrypt/options-ssl-nginx.conf; # zarządzany przez Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # zarządzany przez Certbot if ($ scheme! = "https") return 301 https: // $ host $ request_uri;  # zarządzany przez Certbot # Przekierowywanie ruchu innego niż https do https # if (schemat $! = "https") # return 301 https: // $ host $ request_uri; # # zarządzany przez Certbot

Krok 9: Uruchom ponownie Nginx

Aby załadować wszystkie powyższe ustawienia, uruchom ponownie Nginx, uruchamiając poniższe polecenia.

sudo systemctl zrestartuj nginx.service

Następnie otwórz przeglądarkę i przejdź do nazwy domeny serwera, a następnie zainstaluj. Powinieneś zobaczyć kreatora konfiguracji PrestaShop, aby zakończyć. Postępuj zgodnie z instrukcjami kreatora.

https://example.com

Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aż pomyślnie zainstalujesz PrestaShop

Wprowadź informacje o połączeniu z bazą danych i połącz się.

Jeśli wszystko jest w porządku, powinieneś być w stanie połączyć się i zainstalować PrestaShop.

Po zainstalowaniu uruchom poniższe polecenia, aby usunąć folder instalacyjny.

sudo rm -rf / var / www / html / prestashop / install /

Gratulacje! Pomyślnie zainstalowałeś PrestaShop.

Aby skonfigurować proces automatycznego odnawiania certyfikatów, dodaj zadanie cron, aby wykonać proces odnawiania.

sudo crontab -e

Następnie dodaj poniższą linię i zapisz.

0 1 * * * / usr / bin / certbot odnowienie &> / dev / null

Zadanie cron podejmie próbę odnowienia 30 dni przed wygaśnięciem

Cieszyć się!




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux