Поиск по сайту:

Установка платформы электронной коммерции Magento с Apache2 и Lets Encrypt в Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Установить сервер LAMP
  3. Настройка базы данных MariaDB
  4. Скачать Magento
  5. Настройка Apache для Magento
  6. Защитите Magento с помощью Lets Encrypt SSL
  7. Доступ к веб-сайту Magento
  8. Заключение

Magento — это бесплатное веб-приложение для электронной коммерции с открытым исходным кодом, которое позволяет вам создать полнофункциональный магазин электронной коммерции за считанные минуты. Он написан на PHP и сочетает в себе мощные функции с гибкостью и удобным интерфейсом. Это одно из самых популярных решений для автономных интернет-магазинов благодаря простоте и мощной панели администратора. Он поставляется с богатым набором функций, включая управление сайтом, SEO, управление каталогом, просмотр продуктов и каталогов, управление заказами, оформление заказа, рекламные акции и инструменты преобразования и многое другое.

В этом руководстве мы покажем вам, как установить платформу электронной коммерции Magento с Apache и Lets Encrypt SSL в Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04 с 4 ГБ ОЗУ.
  • Действительное доменное имя, указывающее на ваш сервер.
  • На вашем сервере настроен пароль root.

Установить LAMP-сервер

Magento работает на веб-сервере, написанном на PHP, и использует MariaDB в качестве базы данных. Поэтому вам нужно будет установить стек LAMP на свой сервер.

Сначала установите веб-сервер Apache и сервер MariaDB с помощью следующей команды:

apt-get install apache2 mariadb-server mariadb-client -y

Последняя версия Magento совместима только с PHP 7.1.3+ и 7.2.x. Поэтому вам нужно будет установить поддерживаемые версии PHP с необходимыми расширениями на вашем сервере.

По умолчанию Ubuntu 20.04 поставляется с PHP версии 7.4. Поэтому вам нужно будет добавить Ondrej PPA в вашу систему, чтобы установить другие версии PHP.

Вы можете добавить Ondrej PHP PPA с помощью следующей команды:

apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php

Затем обновите репозиторий и установите PHP с другими необходимыми расширениями, используя следующую команду:

apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y

Как только вы закончите, вы можете перейти к следующему шагу.

Настроить базу данных MariaDB

По умолчанию MariaDB не защищена. Поэтому рекомендуется защитить и установить пароль root для MariaDB. Вы можете сделать это с помощью следующей команды:

mysql_secure_installation

Ответьте на все вопросы, как показано ниже:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Как только MariaDB будет защищена, войдите в оболочку MariaDB:

mysql -u root -p

Укажите свой корневой пароль MariaDB, затем создайте базу данных и пользователя для Magento:

MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';

Затем предоставьте все привилегии базе данных Magento с помощью следующей команды:

MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Затем сбросьте привилегии и выйдите из оболочки MariaDB, используя следующую команду:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Как только вы закончите, вы можете перейти к следующему шагу.

Скачать Мадженто

На момент написания этого руководства последней версией Magento была 2.3.5. Вы можете скачать его с официальной страницы загрузки Magento.

После загрузки извлеките загруженный файл в корневой веб-каталог Apache с помощью следующей команды:

mkdir /var/www/html/magento
tar -xvjf magento-ce* -C /var/www/html/magento/

Затем укажите права собственности и права доступа к каталогу magento:

chown -R www-data:www-data /var/www/html/magento/
chmod -R 755 /var/www/html/magento/

Как только вы закончите, вы можете перейти к следующему шагу.

Настроить Apache для Magento

Затем создайте новый файл конфигурации виртуального хоста Apache для обслуживания веб-сайта Magento.

nano /etc/apache2/sites-available/magento.conf

Добавьте следующие строки:

<VirtualHost *:80>
     ServerAdmin 
     DocumentRoot /var/www/html/magento/
     ServerName magento.linuxbuz.com
     <Directory /var/www/html/magento/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Сохраните и закройте файл, затем включите виртуальный хост Magento и модуль перезаписи Apache с помощью следующей команды:

a2ensite magento.conf
a2enmod rewrite

Наконец, перезапустите службу Apache, чтобы изменения вступили в силу:

systemctl restart apache2

На данный момент веб-сервер Apache настроен для обслуживания Magento.

Защитите Magento с помощью Lets Encrypt SSL

Всегда полезно защитить свой сайт с помощью бесплатного SSL от Lets Encrypt. Сначала установите клиент Certbot на свой сервер, чтобы загрузить и настроить Lets Encrypt SSL для своего веб-сайта.

apt-get install certbot python3-certbot-apache -y

После установки Certbot выполните следующую команду, чтобы загрузить и установить Lets Encrypt SSL для своего веб-сайта:

certbot --apache -d magento.linuxbuz.com

Вам будет предложено указать действующий адрес электронной почты и принять условия обслуживания, как показано ниже:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/magento-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/magento-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/magento-le-ssl.conf

Далее вам будет предложено выбрать, следует ли перенаправлять HTTP-трафик на HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Введите 2 и нажмите Enter, чтобы завершить установку.

Redirecting vhost in /etc/apache2/sites-enabled/magento.conf to ssl vhost in /etc/apache2/sites-available/magento-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://magento.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-08-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Доступ к веб-сайту Magento

На данный момент ваш веб-сайт Magento защищен с помощью Lets Encrypt SSL.

Теперь откройте веб-браузер и введите URL-адрес https://magento.linuxbuz.com. Вы будете перенаправлены к веб-мастеру установки Magento:

Нажмите кнопку «Согласен и настройте Magento». Вы должны увидеть экран готовности Magento:

Нажмите кнопку «Начать проверку готовности». После завершения проверки готовности вы должны увидеть следующий экран:

Нажмите кнопку «Далее». Вы должны увидеть экран настройки базы данных:

Укажите имя базы данных Magento, имя пользователя базы данных, пароль и нажмите кнопку «Далее». Вы должны увидеть мастер веб-настройки Magento:

Укажите свой магазин Magento и адрес администратора, включите HTTPS и нажмите кнопку «Далее». Вы должны увидеть экран настройки магазина:

Установите предпочтительный часовой пояс, валюту, язык и нажмите кнопку «Далее». Вы должны увидеть экран создания пользователя-администратора:

Введите имя пользователя администратора, адрес электронной почты, пароль и нажмите кнопку «Далее». Вы должны увидеть следующий экран:

Нажмите кнопку «Установить сейчас», чтобы начать установку. После успешного завершения установки вы должны увидеть следующий экран:

Нажмите на адрес администратора Magento. Вы должны увидеть страницу администратора Magento:

Введите имя пользователя и пароль администратора Magento и нажмите кнопку «Войти». Вы должны увидеть панель управления Magento на следующем экране:

Вы также можете получить доступ к магазину Magento, используя URL-адрес https://magento.linuxbuz.com. Вы должны увидеть следующий экран:

Заключение

Поздравляем! вы успешно установили Magento с Lets Encrypt SSL на Ubuntu 20.04. Теперь вы можете легко развернуть свой собственный интернет-магазин. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.