Введение
LAMP — это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу размещать динамические веб-сайты и веб-приложения. LAMP включает в себя Apache, MySQL, PHP.
В этом руководстве мы установим LAMP с PrestaShop на Ubuntu 20.04 LTS Focal Fossa.
Если вы хотите установить Prestashop на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_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.