Laravel - популярный PHP-фреймворк
Рост популярности связан с его простотой и одновременно мощным инструментарием
Для начала установим composer (если его ещё нет).
На Ubuntu будет выглядеть так:
sudo apt-get install composer
Через composer скачиваем установщик Laravel
Стандартное место установки веб-проектов: cd /var/www
composer global require "laravel/installer"
После завершения загрузки устанавливаем фреймворк в папку blog (папка создастся автоматически):
composer create-project --prefer-dist laravel/laravel blog
После выполнения команды появится папка blog, в которой будут исходные файлы проекта.
Корневой папкой сайта будет blog/public. В ней уже содержится index.php и остальные файлы вебстраницы.
Пример создания связки вебсервера nginx c php7.1-fpm (конфиг nginx):
/etc/nginx/sites-enabled/default
Так же стоит озаботится правами. Юзер вебсервера должен быть способным писать в папку с проектом.
Результат - установленный Laravel:
Так же можно использовать nginx-конфиг от самих разработчиков Laravel:
Конфиг доступен тут
Спасибо за внимание.
Возможные проблемы: laravel/installer v2.0.1 requires ext-zip Решение: sudo apt-get install php7.1-zip - версия php должна быть такая же как и установленная у Вас
Возможные проблемы: laravel/framework v5.6.5 requires ext-mbstring Решение: sudo apt-get install php7.1-mbstring phpunit/phpunit 7.1.x-dev requires ext-dom Решение: sudo apt-get install phpunit
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/blog/public; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; } }
server { # Port that the web server will listen on. listen 80; # Host that will serve this project. # server_name app.dev; # Useful logs for debug. access_log /path/log/nginx/access.log; error_log /var/log/nginx/error.log; rewrite_log on; # The location of our projects public directory. root /var/www/blog/public; # Point index to the Laravel front controller. index index.php; location / { # URLs to attempt, including pretty ones. try_files $uri $uri/ /index.php?$query_string; } # Remove trailing slash to please routing system. if (!-d $request_filename) { rewrite ^/(.+)/$ /$1 permanent; } # PHP FPM configuration. location ~* \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php7.1-fpm.sock; } # We don't need .ht files with nginx. location ~ /\.ht { deny all; } # Set header expirations on per-project basis location ~* \.(?:ico|css|js|jpe?g|JPG|png|svg|woff)$ { expires 365d; } }