Участвуй в конкурсе сайтов
Получи профессиональную оценку сайта и
награду за дизайн, контент или технологичность
20452

Как установить Laravel 5.x на обычный shared-хостинг Timeweb?

16 ответов

С недавних пор, сделал волевое решение расширить кругозор и потихоньку уйти от CMS Drupal 7/8 на PHP-фреймворк. Выбор пал на Laravel 5. В обнимку с Laracast, уже получилось разобраться и создать свой скромный демо-проектик на этом замечательном фреймворке.

И вот теперь появился вопрос: «Как установить мой проект на обычный shared хостинг Timeweb?». Возможно ли это? Есть ли все необходимые разрешения/модули/etc у этого хостинг-провайдера для Laravel 5 на обычном хостинге (вариант с переходом на VPS пока не рассматриваю).

Буду признателен за мануал, советы или готовый кейс по этому вопросу!

Заранее спасибо.

Ответы (16)

Лавр Иванов +126
01.07.2016 11:16
С Laravel 5 не сталкивался, однако вижу добротную инструкцию по установке на shared (т.е. виртуальном) хостинге, полагаю что вариант подойдет и на Timeweb:
https://medium.com/laravel-news/the-simple-guide-to-deploy-laravel-5-application-on-shared-hosting-1a8d0aee923e#.ln6zbkigm

Кое-какую информацию можно получить с официального форума, например, из этой темы:
http://laravel.io/forum/03-06-2015-how-to-setup-laravel-5-in-shared-hosting

Предлагаю попробовать проследовать той инструкции, которая по первой ссылке размещена.
А если будут сложности - пишите на каком этапе проблема, Vikky, попробуем вместе решить её.
Свернуть ответы
Vikky Shostak 0
02.07.2016 13:40
Спасибо за ссылки. Более-менее стало ясно, что это возможно.

Только один вопрос: можно ли установить node.js (и в частности gulp), чтобы делать крутые штуки, как показано в одном из уроков Laracast (https://laracasts.com/series/laravel-5-from-scratch/episodes/6 )?
Vikky Shostak 0
02.07.2016 13:49
Я про консольную команду "gulp watch", например. Просто не понимаю как она будет работать? На локалке (использую OpenServer) — ясно, что пока запущена консоль с этой командой (при установленном node.js, конечно же), то любые изменения в app.scss будут автоматически компилированы gulp-ом в обычный CSS. Тоже самое не понимаю и про команду "php artisan serve" (запуск окружения Laravel и работы сайта) — как на хостинге запускать-то?
Teylon +12
05.07.2016 15:12
Насколько мне известно timeweb не поддерживает node.js на виртуальном хостинге, предлагают VDS или выделенный сервер
Тимофей +2
05.07.2016 15:26
Если я все правильно понимаю, вы не должны на продакшене что-то компилировать Gulp.
По логике вещей, вы разрабатываете у себя на локальком компе, а уже все скомпилированные css и т.д. заливаете на хостинг(либо через FTP либо через сторонние приложения для деплоя).
Команда "php artisan serve" запускает встроенный веб сервер. Это тоже используется для локальной разработки, чтобы не надо было грубо говоря апач поднимать.
Igor Karachentsev +1
14.09.2016 21:14
А зачем? Разрабатываете в dev окружении (homestead и так далее), и потом деплоите на продакшен, а тут не важно уже куда, хоть шаред, хоть выделенный сервер.
Павел Кононов +2
20.10.2017 03:04
https://staindb.pixarts.ru/laravel-5-4-na-xostinge-timeweb/

Касательно node через ssh npm работает, думаю и gulp тоже будет, но сам сервер вы не поднимите на простом хостинге, а без этого back-end на js не будет работать.
Если не прав, исправьте.
Свернуть ответы
Павел Кононов +2
20.10.2017 03:07
немного нытья про nodejs
https://staindb.pixarts.ru/node-js-na-timeweb-ru/
сервер поднять не удалось, но поставить, подгрузить модули через npm, вышло.
Привет, получилось установить ларавель на таймвеб? Не расскажешь, как сделал?
Свернуть ответы
Павел Кононов +2
16.02.2018 05:07
рассказали уже.
Павел Кононов +2
16.02.2018 05:04
требования для Laravel 5.6: PHP >= 7.1.3 + модули
#Установка лары 5.6
composer create-project - -prefer-dist laravel/laravel .
#возможно падение в момент выполнения команды artisan optimize
#по умолчанию в консоли версия 5.3…! Чтобы успешно запустить скрипт artisan, нужно добавить расположение нужной консольной версии php в команду
/opt/php7.1/bin/php artisan optimize
#гибкая ссылка на рабочий каталог, посему каталог public_html, если возможно, удалите.
ln -s public public_html
#Далее надо выполнить две вещи в корне проекта
cp .env/example .env
/opt/php7.1/bin/php artisan key:generate
#выставить права, как указано ниже.
chmod 755 laravel_app/
chmod 755 laravel_app/public/
chmod 644 laravel_app/public/index.php
chmod -R 777 laravel_app/storage
chmod -R 777 laravel_app/bootstrap/cache
#После этого Лара заработает.
Свернуть ответы
Павел Кононов +2
16.02.2018 05:09
Ставить ее надо не в public_html, а уровнем ниже.
Павел Кононов +2
21.02.2019 19:44
В общем чтобы не заливать вендоров туда сюда и иметь возможность работать с git(без его захламления)
положить на сайте hook
touch .git/hooks/post-receive
cat <<EOF > .git/hooks/post-receive
#!/bin/sh
cd ..
GIT_DIR='.git'

if [ -e "composer.json" ];
then

if [ -d "vendor" ];
then
composer install
else
composer update
fi
fi
git reset --hard

EOF
chmod +x .git/hooks/post-receive

====
Чтобы этот хук срабатывал нужно чтобы подтягивалась в консоли нужная версия php, для этого
положить композер в ~/.utils/
создать в корне сайта или всего хостинга файл bash_profile с алиасом к нужной версии php, иначе вендоры не установятся.
cat <<EOF2 > .bash_profile
alias composer='/opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar'

EOF2
Свернуть ответы
Павел Кононов +2
21.02.2019 19:59
И естественно нужно перелогиниться по ssh чтобы .bash_profile стал активным. Хотя может быть достаточно просто выйти зайти в папку. Тестируйте.
Павел Кононов +2
23.02.2019 04:23
правда в скрипте sh, в общем лучше прописывать полный путь к php(и указывать размер выделяемой памяти 400-500M) и composer.phar, так как окружение явно барахлит.
Павел Кононов +2
23.02.2019 05:00
cat <<EOF > .git/hooks/post-receive
#!/bin/bash
cd ..
GIT_DIR='.git'

if [ -e "composer.json" ]; then
if [ -d "vendor" ]; then
/opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar install --no-dev
else
/opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar update --no-dev
fi
fi

git reset --hard
EOF
chmod +x .git/hooks/post-receive

Похожие вопросы

Виталий Лошков
406

Требуется помощь, консультация, настройка

При выполнении команды конвертации файла в odt из PHP-скрипта: system ("sudo -u root unoconv -f docx file.odt"); время от времени (может раз в день, может раз в неделю) команда перестает работать, при этом ответ от PHP-скрипта никакой не приходит. Лечится...
Andrey
454

Проблема с отправкой почтовой формы

Доброго времени суток. Столкнулся со следующей проблемой - есть небольшой лэндинг на html, в котором есть форма отправки данных на почту gmail.  Для отправки формы используется небольшой php код <?php     if ($_SERVER['REQUEST_METHOD']=='POST'...
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте