Я не первый год занимаюсь сайтостроением и за все время перепробовал немало различных хостингов. Однако DigitalOcean полюбился мне как родной. Поэтому я советую обратить внимание именно на этот VPS, не только стартаперам, но и тем, кто уже не первый год в интернет бизнесе. Почему DO? Он быстрый, не дорогой, проверенный временем. С десяток серверов по всему миру, в том числе и Европе. Только SSD-диски, благодаря чему скорость заметно выше чем у конкурентов. Достоинств много, я думаю, если вы собрались читать этот мануал, вы уже знаете о них. В общем — DigitalOcean — Добро Пожаловать!
Цель данного руководства заключается в том, чтобы научить даже абсолютного новичка самостоятельно установить магазин на Prestashop 1.6 на VPS (Virtual Private Server или Виртуальный выделенный сервер) предоставленным DigitalOcean мене чем за 1 час. (На самом деле менее чем за 10 минут, в зависимости от вашего уровня знаний).
Мы рекомендуем Этот VPS потому что он:
- Недорогой (Мене 10 долларов в месяц – или 7,2 евро по текущему обменному курсу)
- Производительный (SDD жесткие диски и 6-и ядерные процессоры от Intel)
- Расширяемый (Вы можете быстро сменить бзовое 5-и доллоровый тариф на 10-20-30-и доллоровые предложения, которые более мощные и подходят для ваших нужд)
- Очень прост в использовании (В получаете работоспособный сервер менее чем за 60 секунд, и возможность вручную управлять своими доменными доменными именами)
- Безопасность (вы можете автоматизировать бекапы или делать по требованию скриншоты в два клика по очень низкой цене)
- Расположение в Европе (2 центра по обработке данных в Амстердаме)
Функционал обычных хостингов слишком ограничен для Престашопа (Вы замучаетесь работать с нереально медлительным магазином, практически неработоспособным), или же довольно сложные в установке и дорогостоящие выделенные серверы.
Вам предлагается вариант создать надежный магазин, быстро и без обязательств, достаточно просто.
Кроме того, у Вас появляется возможность тестировать Prestashop прежде чем окончательно сделать выбор для вашего будущего магазина.
Инструкция состоит из 7 этапов:
- Создаем аккаунт на Digital Ocean
- Создаем Droplet (Такое название получил VPS на Digital Ocean)
- Соединяемся с Droplet
- Настраиваем MySQL (база данных используемая Престашопом)
- Создаем БД
- Загружаем Prestashop
- Устанавливаем магазин
Переходим по ссылке на DigitalOcean
Нажимаем Signup в правом верхнем углу, в форме введите свои электронную почту и придумайте пароль. На почту придет письмо, в котором нужно будет подтвердить регистрацию.
После этого переходим на страницу пополнения счета чтобы пополнить свой аккаунт. Выберите сумму (к примеру 10 долларов) после чего нажмите желтую кнопку «Pay Now». Вы перейдете на страницу, где сможете оплатить свой аккаунт при помощи PayPal или дебетовой/кредитовой картой.
Оплата производится в течение часа, поэтому вы можете успеть изменить сумму, однако 10 долларов будет вполне достаточно для первого месяца.
Создаем Droplet
Первое что нужно сделать – это создать Дроплет. Это личный сервер, с особенностями которые мы должны будем задать (расположение, инструменты и софт). Вы можете создавать дроплеты в любом количестве, ограничить вас может только количество средств на вашем аккаунте.
— Переходим на страницу создания Дроплета — заполняем поле Hostname, в названии указываем основное доменное имя, без «www» (например – prestaweb.ru) или придумайте что-нибудь другое (например -prestatest).
— Выберите размер (количество памяти, мощность процессора и размер диска). Для небольшого магазина на престашоп 1.6 мы рекомендуем вам выбрать тариф за 10$. В тарифе за 5$ меньше оперативной памяти, и из-за этого, вероятнее всего, магазин будет подтормаживать.
Выберите регион. Амстердам 1 или 2 отличный вариант, если вы находитесь в Европе, иначе выберите наиближайшее расположение.
В пункте «Выбор изображения» на вкладке приложения выбираем LEMP on Ubuntu 14.04. Она отвечает всем требования престашоп.
В разделе настроек проверяем активна ли опция Enable VirtIO. По желанию можете включить Бэкапы. Ваш дроплет в таком случае автоматически будет сохранять их некоторое время. Цена этой опции 20% стоимости тарифа, т.е. 2$ в месяц если у вас тариф за 10 доллров. Эта функция полезна, если вы не хотите реализовать функцию резервного копирования на своем сайте.
Можете нажимать – Создать дроплет.
Ваш сервер будет создан менее чем за одну минута и вы сразу получите параметры доступа на ваш почтовый ящик.
Следующим этапом в работе является подключение к серверу посредствам SSH, используя учетные данные, которые вы получи на почту. Если вы не знакомы с SSH, советуем почитать о нем. В противном случае можете переходить к следующему этапу.
В двух словах – SSH это протокол, который позволяет вам получить удаленный доступ к командной строке на сервере, чтобы выполнять команды (загружать файлы, устанавливать ПО и прочее).
Если вы пользуетесь Windows: Проще всего установить программу типа Putty или MobaXterm. После установки следует создать новую сессию. Вводим адрес хоста и название дроплета, нажимаем сохранить, чтобы подключиться выбираем наш сервер и нажимаем open. Откроется окно, в котором вам предложат ввести логин (root) и пароль (из письма).
Если вы пользуетесь Mac (OSX): Запустите терминал (приложения->утилиты), в меню выберите новое удаленное соединение для ввода учетных данных. Затем введите команду ssh root@server-ip-address
Если вы пользуетесь GNU/Linux: Вызываем терминал сочетанием клавиш ctrl+alt+T. Теперь используйте команду ssh root@server-ip-address для соединения.
После подключения вам предложат сменить пароль – введите пароль из письма, затем дважды свой пароль, который вы придумали.
Настройка MySQL
После подключения, вцелях безопасности, советуем вам изменить пароль от MySQL (стандартный пароль вы найдете по адресу /etc/motd.tail, или же найдете в сообщении Your MySQL root user’s password is xxxxxxxxxx). Для этого используйте команду:
mysqladmin -uroot -p’хххххххххх’ passwordnewpasswordгде newpassword – ваш новый пароль.
Не смотря на то что MySQLне доступен напрямую от внешнего мира, мы настоятельно рекомендуем использовать надежный пароль, используя минимум 10 символов, букв и цифр.
Создаем Базу Данных:
Первым делом устанавливаем соединение с MySQLпри помощи команды:
mysql -u root –p
После этого у вас запросят пароль, введите новый пароль и нажмите ввод. Новая строка будет начинаться у вас с:
mysql>
Теперь вы можете создать новую базу данных:
CREATE DATABASE xxxxxxx;
Вместо xxxxxxx введите название для новой базыданных (например: mydomain). Не забудьте символ «;» в конце строки. Теперь у вас должно появиться сообщение вида:
Query OK, 1 row affected (0.00 sec)
Все, База Данных успешно создан, можете выходить из MySQL :
\q
Загружаем PrestaShop
Прежде чем приступить к загрузке Престашопа, вы должны создать директорию, куда будете его устанавливать.
Обычно Вебсайты хранятся в директории /var/www/html/ сервера. Поэтому нам нужно создать /var/www/html/mydomain как директорию для установки.
sudo mkdir -p /var/www/html/mydomain/
Теперь вам надо скачать с официального сайта prestashopактуальную версию prestashop_1.6.X.X.zip и залить в новоиспеченную папку. Для этого легче всего использовать WinSCP. Устанавливаем программу, устанавливаем соединение с теми же данными что и для putty, находим в местном коммандере папку /var/www/html/mydomain/ и копируем туда zip-файл с преcтой. Теперь можем возвращаться обратно к работе с Putty.
Переходим в нашу директорию:
cd /var/www/html/mydomain/
Для того чтобы распаковать зип-файл нужно установить ПО zip:
sudo apt-get -y install zip
Распаковываемархив:
unzip prestashop_1.6.X.X.zip
Теперь все файлы магазина находятся по адресу /var/www/mydomaine/prestashop/. Нужно их перенести в /var/www/mydomaine/:
cd / && mv /var/www/html/mydomain/prestashop/* /var/www/html/mydomain/
Зип-файл и пустая директория Prestashopнам больше не нужны, удаляем их:
rmdir /var/www/html/mydomain/prestashop/ && rm /var/www/html/mydomain/prestashop_1.6.X.X.zip
Установка Prestashop:
Прежде чем приступить к установки следует внести некоторые изменения в разрешениях файловой системы:
chown www-data:www-data -R /var/www/html/mydomain/
затем
chmod -R 0744 /var/www/html/mydomain
Эти команды создадут безопасную среду для запуска Prestashop
Так же нам нужна графическая библиотека GD:
sudo apt-get update
sudo apt-get -y install php5-gd
sudo service apache2 restart
Начинаем установку. Переходим по адресу ххх.ххх.ххх.ххх/mydomain/ ,где ххх.ххх.ххх.ххх ip адрес сервера.
Вы будете переадресованы в мастер установки, следуйте по указанным шагам.
Когда вас попросят ввести данные Базы Даных, введите:
- Название БД, которое вы указали на шаге «Создаем Базу Данных» (mydomain)
- Имя пользователя – root
- Пароль MySQLкоторый вы указали на шаге «Настройки MySQL» (newpassword)
Последние 2 этапа установки – требования безопасности
Удалите директорию /install/
rm -r /var/www/html/mydomain/install/
и переименуйте директорию /admin/
mv /var/www/html/mydomain/admin/ /var/www/html/mydomain/xxxxxx/
Вместо xxxxxx введите имя которое вам нравится (например — superadmin).
Теперь чтобы зайти в панель администратора вам нужно ввести адрес ххх.ххх.ххх.ххх/mydomain/superadmin .
Теперь вы можете заполнять свой Интернет-магазин товарами и развивать свой бизнес. Удачи!
Везде пишут что надо обязательно выбрать LAMP а не LEMP. Так же в этом руководстве только небольшая часть по настройке VPS. А как же например кэширование!? Я пробовал настроить согласно вашему руководству, но преста работает как черепаха и множество ее функций не работает!
Здравствуйте!
LAMP (как и LEMP) — комплекс серверного ПО, в который уже включен набор программ. Как правило, предпочтительнее устанавливать все нужные компоненты по отдельности, чтобы установить и настроить нужным образом все модули и пакеты для максимальной оптимизации работы и увеличения быстродействия.
Почему LEMP вместо LAMP? LEMP: Linux, Nginx, Mysql, Php. LAMP: Linux, Apache, Mysql, Php. Разница в веб-сервере, который используется в пакете.
В чём разница между Nginx и Apache? Apache устроен таким образом, что на каждый запрос создаёт отдельный процесс. Так, при значительном трафике создаётся так же значительная нагрузка на веб-сервер. Поэтому, на продакшн-серверах Apache используется чисто для работы с php (с динамическим контентом), но при этом всегда используется nginx как прослойка между внешним миром и apache. Так же nginx занимается раздачей статики (картинки, css, js и пр), т.к. он обладает гораздо большей производительностью при большом количестве запросов в единицу времени и снимает часть нагрузки с apache.
Зачем тогда вообще нужен apache? Почему бы не использовать только nginx в качестве веб-сервера как для статики, так и для динамики (php), убрав лишнее звено в виде apache, тем самым, повышая быстродействие всей системы?
Причина использования apache заключается в том, что множество веб-проектов используют компонент mod_rewrite, осуществляющий роутинг URL (Prestashop не исключение). Nginx тоже имеет возможность осуществлять роутинг, но для этого нужно прописывать правила в его настройках. И сама настройка nginx для работы в связке с пхп имеет некоторые дополнительные сложности (настройка php-fpm и пр).
Для повышения быстродействия сайта под Prestashop необходимо включить кэширование в настройках админ-панели. По умолчанию в Prestashop используется файловое кэширование, которое способно повысить быстродействие, но, чтобы добиться максимального эффекта, нужно использовать специализированные системы кэширования — например, memcached. Вкратце можно сказать, что memcached хранит кэшируемые данные не на жёстком диске (или ssd), а в оперативной памяти, тем самым, осуществляя практически мгновенную выдачу данных по запросу системы (исключая время работы жёсткого диска в случае с файловым кэшем).
Вообще, задача повышения производительности сайта требует анализа эффективности использования сайтом ресурсов клиентской части (фронтэнда) и сервера. Для этого необходимо анализировать работу каждого модуля сайта и, при необходимости, производить настройку систем сервера для наиболее оптимальной работы. А так же, зачастую, имеется необходимость вносить изменения в сам движок сайта, поскольку не все его модули могут быть заточены для работы с большим объёмом данных или под высокой нагрузкой.
Здравствуйте. Полностью следовал вашим инструкциям, но в итоге получил ошибку в моменте рестарта апача: «sudo service apache2 restart». Сама консоль выдает ошибку:
* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server’s fully qualified doma in name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress th is message.
При попытке установки выскакивает ошибка, что это может быть?
mysql -u root –p
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
После установки у вас уже стоит пароль к mysql для пользователя root, а вы его указываете без пароля при подключении