Jak zainstalować Magento 2 with Varnish, Apache and Pound as SSL Termination

 

 

W tym artykule, Pokażemy Ci jak zainstalować Magento 2 na Ubuntu 16.04 VPS z SQLite, Lakiery, jako pamięci podręcznej całą stronę, Apache and Pound as SSL termination. Ten przewodnik powinien działać na innych Linux VPS systems as well but was tested and written for an Ubuntu 16.04 VPS.

Zanim zaczniemy, you may want a different setup for your Magento. You can follow Ten samouczek to install Magento 2 na Ubuntu 16.04 VPS z SQLite, PHP-FPM 7.0, Lakiery, jako pamięci podręcznej całą stronę, Nginx jako wypowiedzenie protokołu SSL i Redis do przechowywania sesji i buforowanie stron.

Or you can check out Ten samouczek to install Magento 2 na Ubuntu 16.04 VPS z SQLite, Lakiery, jako pamięci podręcznej całą stronę, Apache i Memcache do przechowywania sesji.

If you have any different requirements, po prostu get a Linux VPS from us and we’ll set everything up for you, free of charge.

1. Login and update your server

Po pierwsze, you need to login to your Ubuntu 16.04 VPS przez SSH as user root:

nas. adres [email protected]_IP_address

It is also recommended to start a screen session by executing the following command

screen -U -S magento

Aktualizacja systemu and install necessary packages with:

zdolny dostaæ uaktualniæ && apt-get -y upgrade
apt-get -y install curl nano git

It is crucial that you always keep your server up to date. You can even Włącz aktualizacje automatyczne in order to achieve this.

2. Install and configure MariaDB

Zainstaluj najnowsze MariaDB 10.0 serwer z oficjalnych repozytoriach Ubuntu:

apt-get install -y mariadb-server

Następny, musimy utworzyć bazę danych dla naszych instalacji Magento.

MySQL -u root -p
SQLite [(brak)]> CREATE DATABASE magento;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> q

Do not forget to replace ‘strong_password’ with an actual strong password. You can even generate a strong password from the command line.

3. Install Apache2 web server

apt-get install apache2

4. Zainstalować PHP i wymagane moduły PHP

Aby zainstalować Najnowsza wersja stabilna wersja PHP 7 i wszystkie niezbędne moduły, Uruchom:

apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-xsl php-imagick php7.0-gd php7.0-cli php-pear php7.0-intl

Zmienić kilka ustawień domyślnych PHP:

sed -i "s/memory_limit = .*/memory_limit = 256M/" /etc/php/7.0/cli/php.ini
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.0/cli/php.ini
sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.0/cli/php.ini
sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.0/cli/php.ini

Enable the Apache2 rewrite module if it is not already done:

a2enmod przepisać

In order to activate the new configuration, restart the Apache web server using the following command:

usługi apache2 restart

5. Zainstalować kompozytor

Kompozytor jest menedżerem zależności dla PHP, z którego można zainstalować pakiety. Kompozytor będzie ciągnąć we wszystkich wymaganych bibliotek i zależności, co potrzebne do projektu.

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

6. Zainstalować Magento 2 GitHub

Sklonować repozytorium Magento do ~/myMagentoSite.com katalogu przy użyciu następującego polecenia:

git clone https://github.com/magento/magento2.git /var/www/myMagentoSite.com

Get the latest Magento 2 stable release:

www/myMagentoSite.com katalogiem CD
git checkout $(opisać git--Tagi $(rev git-lista--Tagi--max-count = 1))

Uruchom kompozytor zainstalować wszystkie zależności Magento:

composer install

Aby kontynuować instalację, możesz albo użyć Kreatora instalacji lub wiersza polecenia, w tym przewodniku będziemy używać ten ostatni.

bin/magento setup:install 
--base-url=http://myMagentoSite.com/ 
--db-host=localhost 
--db-name=magento 
--db-user=magento 
--db-password=strong_password 
--admin-firstname=First  
--admin-lastname=Last 
adres [email protected] 
--admin-user=admin 
--admin-password=strong_password123 
--language=en_US 
--currency=USD 
--timezone=America/Chicago 
--use-rewrites=1

Jeżeli instalacja zakończy się powodzeniem, zobaczysz coś jak poniżej:

[Powodzenie]: zakończeniu instalacji Magento.
[SUCCESS]: Magento Admin URI: /admin_1m0ezr

Uruchom crontab polecenie, aby utworzyć cronjob

crontab -u www-data - e

i dodać następujący wiersz:

* * * * * /usr/bin/php /var/www/myMagentoSite.com/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/myMagentoSite.com/var/log/magento.cron.log

Wreszcie, Ustaw odpowiednie uprawnienia:

chown -R www-data: /var/www/myMagentoSite.com

7. Configure Apache

Tworzenie nowej dyrektywy wirtualnych hostów w Apache. Na przykład, you can create a new Apache configuration file named ‘magento.conf’ on your server:

touch /etc/apache2/sites-available/magento.conf
ln -s /etc/apache2/sites-available/magento.conf /etc/apache2/sites-enabled/magento.conf
nano /etc/apache2/sites-available/magento.conf

Następnie, Dodaj następujące wiersze:

<VirtualHost *: 80>
ServerAdmin adres [email protected]
DocumentRoot /var/www/myMagentoSite.com/
ServerName myMagentoSite.com
ServerAlias www.myMagentoSite.com
<Directory /var/www/myMagentoSite.com/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Katalogu>
ErrorLog /var/log/apache2/myMagentoSite.com-error_log
CustomLog /var/log/apache2/myMagentoSite.com-access_log common
</VirtualHost>

Uruchom ponownie serwer WWW Apache dla zmiany zaczęły obowiązywać:

usługi apache2 restart

Należy teraz mógł się zalogować do zaplecza Magento przechodząc do http://myMagentoSite.com/admin_1m0ezr Korzystając z informacji, które można ustawić, gdy uruchomiony bin/magento setup:install.

8. Zainstalować i skonfigurować lakier

To install Varnish, simply run the following command:

apt-get install varnish

Od Ciebie panelu administratora Magento kliknij łącze sklepów (bocznym po lewej stronie)-> Konfiguracja —> ZAAWANSOWANE-> System-> Pełna strona w pamięci podręcznej

Uncheck “Use system value” and from the Caching Application list, Wybierz pamięci podręcznej lakier (zalecane), Zapisz konfigurację, Kliknij na link lakier konfiguracji i kliknij Eksportuj VCL dla lakieru 4 przycisk. The varnish.vcl będzie eksportowany plik, którego używamy w /var/www/myMagentoSite.com/var/ katalogu.

Opróżnienia pamięci podręcznej Magento z:

php bin/magento cache:flush

Usuń /etc/varnish/default.vcl i dowiązanie symboliczne do konfiguracji wyeksportowany lakier.

rm -f /etc/varnish/default.vcl
ln -sf /var/www/myMagentoSite.com/var/varnish.vcl /etc/varnish/default.vcl

Aby zmienić port lakier z 6081 do 80, Musimy zmienić konfigurację usługi systemd.

Utwórz nowy customexec.conf plik

mkdir -p /etc/systemd/system/varnish.service.d
nano /etc/systemd/system/varnish.service.d/customexec.conf

Wklej następujące polecenie:

[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

i ponownie załadować jednostek systemd

systemctl przeładować demona

Now we need to change Apache listening port from 80 do 8080. Aby to zrobić, open the Apache ports configuration file and change it as follows:

nano /etc/apache2/ports.conf

Listen 80 -> Słuchaj 8080
nano /etc/apache2/sites-available/magento.conf

<VirtualHost *: 80> -> <VirtualHost *:8080>

If everything is setup correctly now you should be able to login to your Magento back-end by going to https://myMagentoSite.com/admin_1m0ezr.

Tkwi gdzieś? Dostać VPS od nas, a my zajmiemy się tym wszystkim dla Ciebie, nieodpłatnie!

9. Install and configure Pound as SSL termination

Varnish doesn’t support SSL traffic, so you will need to install a proxy or load balancer like Pound to handle the SSL traffic. W tym celu, we will configure Pound to only listen on port 443 and pass the traffic to Varnish on port 80.

Pierwszy, let’s install Pound with:

apt-get install pound

Open the Pound configuration file:

nano /etc/pound/pound.cfg

i ustaw następujące opcje:

ListenHTTPS
    Address 1.2.3.4 ## this should be your server public IP address
    Port 443
    Cert "/etc/apache2/ssl/myMagentoSite.com.pem" ## path to your SSL certificate
    HeadRemove "X-Forwarded-Proto"
    AddHeader "X-Forwarded-Proto: https"
    Service
        BackEnd
            Address 127.0.0.1
            Port 80
        End
    End
End

After you are done, restart your Apache and Varnish, and Pound:

service apache2 restart
service varnish restart
service pound restart

10. Dalszej optymalizacji

To further optimize your Magento installation from your Magento admin dashboard:

1. Przejdź do sklepów-> Konfiguracja —> KATALOG-> Katalog-> Użyj kategorii katalogu płaskiej, Wybierz opcję tak i kliknij przycisk Zapisz konfigurację.
2. Przejdź do sklepów-> Konfiguracja —> ZAAWANSOWANE-> Programista-> Ustawienia JavaScript i scalić pliki JavaScript i Minify plików JavaScript ustawioną wartość tak i kliknij przycisk Zapisz konfigurację..
3. Przejdź do sklepów-> Konfiguracja —> ZAAWANSOWANE-> Programista-> CSS ustawienia i ustaw scalić pliki CSS i plików CSS Minify tak i kliknij przycisk Zapisz konfigurację.
4. Należy rozważyć użycie CDN-Content Delivery Network

Do not forget to flush the cache again:

php bin/magento cache:flush

You can also follow our guide on how to speed up Magento.

To jest to. Pomyślnie zainstalowano Magento 2 with Memcache as a session storage and page caching, Varnish as a full page caching and Apache on your Ubuntu 16.04 VPS and you have set up Pound as SSL termination. Aby uzyskać więcej informacji dotyczących sposobu zarządzania instalacji Magento, Zapoznaj się z urzędnik Magento Dokumentacja.

Źródła