Поделиться:
Поделиться:

16 ответов

Лавр Иванов
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
02.07.2016 13:40

Спасибо за ссылки. Более-менее стало ясно, что это возможно.

Только один вопрос: можно ли установить node.js (и в частности gulp), чтобы делать крутые штуки, как показано в одном из уроков Laracast (https://laracasts.com/series/laravel-5-from-scratch/episodes/6 )?

Vikky Shostak
02.07.2016 13:49

Я про консольную команду "gulp watch", например. Просто не понимаю как она будет работать? На локалке (использую OpenServer) — ясно, что пока запущена консоль с этой командой (при установленном node.js, конечно же), то любые изменения в app.scss будут автоматически компилированы gulp-ом в обычный CSS. Тоже самое не понимаю и про команду "php artisan serve" (запуск окружения Laravel и работы сайта) — как на хостинге запускать-то?

Teylon
05.07.2016 15:12

Насколько мне известно timeweb не поддерживает node.js на виртуальном хостинге, предлагают VDS или выделенный сервер

Тимофей
05.07.2016 15:26

Если я все правильно понимаю, вы не должны на продакшене что-то компилировать Gulp.
По логике вещей, вы разрабатываете у себя на локальком компе, а уже все скомпилированные css и т.д. заливаете на хостинг(либо через FTP либо через сторонние приложения для деплоя).
Команда "php artisan serve" запускает встроенный веб сервер. Это тоже используется для локальной разработки, чтобы не надо было грубо говоря апач поднимать.

Igor Karachentsev
14.09.2016 21:14

А зачем? Разрабатываете в dev окружении (homestead и так далее), и потом деплоите на продакшен, а тут не важно уже куда, хоть шаред, хоть выделенный сервер.

Павел Кононов
20.10.2017 03:04

https://staindb.pixarts.ru/laravel-5-4-na-xostinge-timeweb/

Касательно node через ssh npm работает, думаю и gulp тоже будет, но сам сервер вы не поднимите на простом хостинге, а без этого back-end на js не будет работать.
Если не прав, исправьте.

Павел Кононов
20.10.2017 03:07

немного нытья про nodejs
https://staindb.pixarts.ru/node-js-na-timeweb-ru/
сервер поднять не удалось, но поставить, подгрузить модули через npm, вышло.

Привет, получилось установить ларавель на таймвеб? Не расскажешь, как сделал?

Павел Кононов
16.02.2018 05:07

рассказали уже.

Павел Кононов
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
#После этого Лара заработает.

Павел Кононов
16.02.2018 05:09

Ставить ее надо не в public_html, а уровнем ниже.

Павел Кононов
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

Павел Кононов
21.02.2019 19:59

И естественно нужно перелогиниться по ssh чтобы .bash_profile стал активным. Хотя может быть достаточно просто выйти зайти в папку. Тестируйте.

Павел Кононов
23.02.2019 04:23

правда в скрипте sh, в общем лучше прописывать полный путь к php(и указывать размер выделяемой памяти 400-500M) и composer.phar, так как окружение явно барахлит.

Павел Кононов
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