Как установить PrestaShop с LAMP на Ubuntu 20.04 LTS

12 set 2022 5 min di lettura
Как установить PrestaShop с LAMP на Ubuntu 20.04 LTS
Indice dei contenuti

Введение

LAMP — это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу размещать динамические веб-сайты и веб-приложения. LAMP включает в себя Apache, MySQL, PHP.

В этом руководстве мы установим LAMP с PrestaShop на Ubuntu 20.04 LTS Focal Fossa.

Если вы хотите установить Prestashop на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh [email protected]_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh [email protected]_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh [email protected]_DEL_SERVER -p PORTA

Установить Апач

Официальные репозитории пакетов Ubuntu включают обновленную версию Apache. Затем мы можем установить необходимые пакеты с помощью apt.

Обновите список пакетов Ubuntu, чтобы иметь последнюю версию списков репозитория, с терминала:

sudo apt update

Чтобы установить Apache, откройте терминал и выполните следующие команды:

sudo apt install apache2

Если брандмауэр Ubuntu активен, вам необходимо включить трафик для Apache:

sudo ufw allow in "Apache Full"

На данный момент сервер готов с конфигурациями по умолчанию. Просто подключитесь к общедоступному IP-адресу или доменному имени:

http://IP_OPPURE_NOME_DOMINIO

Чтобы просмотреть статус Apache:

sudo service apache2 status

Вы должны увидеть выходное сообщение, подобное следующему:

● apache2.service - The Apache HTTP Server
 Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
 Active: active (running) since Tue 2020-07-21 14:55:55 CEST; 5min ago
 Docs: https://httpd.apache.org/docs/2.4/Main PID: 2907 (apache2)
 Tasks: 55 (limit: 2286)
 Memory: 5.1M
 CGroup: /system.slice/apache2.service
 ├─2907 /usr/sbin/apache2 -k start
 ├─2908 /usr/sbin/apache2 -k start
 └─2909 /usr/sbin/apache2 -k start

Чтобы перезапустить Апач:

sudo service apache2 restart

Чтобы остановить Апач:

sudo service apache2 stop

Чтобы запустить Апач:

sudo service apache2 start

Настроить виртуальный хост

При использовании веб-сервера Apache вы можете использовать виртуальные хосты для размещения нескольких доменов, а затем нескольких веб-сайтов на одном сервере. Мы создадим домен с именем example.com, но вы должны использовать существующий домен.

Apache в Ubuntu 20.04 LTS Focal Fossa имеет включенный по умолчанию серверный блок, который настроен для обслуживания документов из правильно функционирующего каталога /var/www/html для одного сайта. Если вы размещаете несколько сайтов, вместо изменения /var/www/html создайте структуру каталогов внутри /var/www, оставив /var/www/html в качестве каталога по умолчанию, который будет использоваться, если запрос клиента не соответствует любому другому настроенному сайту. в качестве виртуального хоста.

Создайте каталог для esempio.com, используя флаг -p для создания всех необходимых каталогов:

sudo mkdir -p /var/www/prestashop/

Назначьте текущего пользователя владельцем нового каталога:

sudo chown -R $USER:$USER /var/www/prestashop

Убедитесь, что разрешения указаны правильно:

sudo chmod -R 755 /var/www/prestashop

Создайте новый файл конфигурации для виртуального хоста esempio.com, не изменяя файл по умолчанию:

sudo nano /etc/apache2/sites-available/prestashop.conf

Вставьте следующие строки кода, убедившись, что вы изменили значения для своего домена, в данном случае esempio.com:


<VirtualHost *:80>
 ServerAdmin [email protected]
 ServerName esempio.com
 ServerAlias www.esempio.com
 DocumentRoot /var/www/prestashop
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

Сохраните и закройте файл.

Включите новый сайт:

sudo a2ensite prestashop.conf

Проверяем правильность введенных в файлы данных:

sudo apache2ctl configtest

Вы должны увидеть выходное сообщение, подобное следующему:

Syntax OK
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

Перезапустите Апач:

sudo systemctl restart apache2

Теперь вы можете подключиться к только что созданному виртуальному хосту, подключившись к своему домену:

http://esempio.com

Установить MySQL

Вы можете установить MySQL, используя официальный репозиторий Ubuntu с помощью apt. Установите MySQL:

sudo apt install mysql-server

Защита MySQL

Запустите скрипт MySQL, чтобы изменить некоторые настройки:

sudo mysql_secure_installation

Вам будет предложено ввести пароль для пользователя root, который вы будете использовать для входа на сервер MySQL.

Введите « y » для « да » или любую другую букву для « нет ».

Вас спросят, хотите ли вы проверить безопасность пароля.

Затем рекомендуется нажать « y », затем « yes ».

  • Удалить анонимных пользователей
  • Удаленно отключить root-вход
  • Удалить тестовую базу данных
  • Обновите новые правила

Изменить метод аутентификации

Начиная с версии MySQL 5.7, корневой пользователь MySQL по умолчанию настроен на аутентификацию через плагин auth_socket вместо пароля.

Чтобы использовать пароль для подключения к MySQL в качестве пользователя root, вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password.

Поскольку пароль еще не установлен, вы можете подключиться к серверу MySQL, просто используя команду mysql или sudo mysql, если вы вошли в систему как обычный пользователь. Затем вам нужно будет использовать команду mysql -u root -p от имени пользователя root, в противном случае sudo mysql -u root -p от имени обычного пользователя.

Итак, если вы вошли в систему как root, введите в терминале:

mysql

В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:

sudo mysql

Чтобы проверить метод аутентификации, связанный с учетными записями mysql:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы должны получить сообщение, подобное этому:

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | debian-sys-maint | $A$005$wiz.ZHn"U%%#RSRzx/183gaUy11ye4bLrE1dPfyuKzabsr9iPu/2hC/| caching_sha2_password | localhost |
 | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | root | | auth_socket | localhost |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 5 rows in set (0.00 sec)

Как видите, метод аутентификации auth_socket установлен по умолчанию для пользователя root.

Чтобы использовать аутентификацию по паролю для учетной записи root, внесите следующие изменения:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Осторожность:Your password does not satisfy the current policy requirements.этот учебник

Затем обновите таблицы:

FLUSH PRIVILEGES;

Теперь вы можете проверить новый метод аутентификации, связанный с пользователем root:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы должны получить сообщение, подобное этому:

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | debian-sys-maint | $A$005$wiz.ZHn"U%%#RSRzx/183gaUy11ye4bLrE1dPfyuKzabsr9iPu/2hC/| caching_sha2_password | localhost |
 | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | root | *13097EDBBF2AB852D55D47ED1477E2901F60DFE1 | mysql_native_password | localhost |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 5 rows in set (0.00 sec)

Выйдите из приглашения MySQL:

exit;

Чтобы снова войти на сервер MySQL теперь вам нужно будет ввести пароль, затем из терминала:

Если вы вошли в систему как root, введите в терминале:

mysql -u root -p

В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:

sudo mysql -u root -p

Создайте базу данных для PrestaShop:

CREATE DATABASE prestashop DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Создайте и свяжите нового пользователя с базой данных prestashop с паролем и привилегиями:

CREATE USER 'prestashopuser'@'localhost' IDENTIFIED BY 'nuova_password';
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashopuser'@'localhost' WITH GRANT OPTION;
Осторожность:Your password does not satisfy the current policy requirements.этот учебник

Права обновления:

FLUSH PRIVILEGES;

Выход из MySQL:

exit;

Установить PHP

Чтобы установить PHP и полезные расширения для PrestaShop, из терминала:

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

Перезапустите Апач:

sudo service apache2 restart

Установить PrestaShop

Дайте следующие команды из терминала, войдите в папку PrestaShop:

cd /var/www/prestashop

Скачайте PrestaShop, на данный момент последняя версия 1.7.6.7:

sudo wget https://download.prestashop.com/download/releases/prestashop_1.7.6.7.zip

Установите Zip и Unzip для управления архивами.zip:

sudo apt-get install zip unzip

Извлечь PrestaShop:

sudo unzip prestashop_1.7.6.7.zip

Распакуйте архив prestashop.zip:

sudo unzip prestashop.zip

При необходимости перезапишите файл index.php. Затем нажмите y и затем введите (клавиша ввода на клавиатуре).

Включить mod_rewrite:

sudo a2enmod rewrite

Перезапустите Апач:

sudo service apache2 restart

Изменить разрешения:

sudo chown -R www-data:www-data /var/www/

Подключиться к вашему доменному имени:

http://esempio.com

Вы должны увидеть первый экран установки PrestaShop.

Вывод

В этом руководстве мы увидели, как установить Prestashop на Ubuntu 20.04 LTS Focal Fossa с помощью LAMP, MySQL и PHP.

Если вы хотите использовать phpMyAdmin для управления базами данных, прочтите это руководство: Как установить и настроить phpMyAdmin в Ubuntu 20.04 LTS.

Вы можете бесплатно установить сертификаты HTTPS (SSL), чтобы получить безопасное соединение, прочитайте это руководство: Как установить Let's Encrypt для Apache на Ubuntu 20.04 LTS.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.