• Vagrant: установка Linux, настройка php + nginx

    РазноеКомментариев нет

    Vagrant — программное обеспечение помогающее создать единое окружение для разработки.

    Если говорить просто, то Vagrant ничто иное как CLI (интерфейс командной строки) для VirtualBox.

    Перед установкой Linux нужно скачать и установить VirtualBox и Vagrant на свой компьютер.

    Открываем консоль и выполняем команды:

    Linux

    // выбираем ос для установки
    // создаться ***Vagrant файл с настройками  
    $ vagrant init ubuntu/xenial64
    
    // устанавливаем oс
    // команда на самом деле запускает виртуальную машину, 
    // но так как ос у нас еще не установлена - выполнится установка
    $ vagrant up
    
    // подключение к виртуальной машине
    $ vagrant ssh
    
    // переводит пользователя в сессию под root-ом, 
    // но при этом текущий каталог не меняется /root
    $ sudo -s
    
    // обновление индекса программных пакетов
    $ apt-get update
    
    // обновляем программные пакеты
    $ apt-get upgrade
    
    // устанавливаем mysql
    $ apt-get install mysql-server mysql-client
    
    // пробуем подключиться к базе 
    $ mysql -u root -p
    
    // просмотр баз данных
    $ show databases;
    
    // выходим из базы
    $ exit

    ***Vagrantfile — файл, описывающий характеристики и поведение будущей виртуальной операционной системы.

    Nginx

    // установим nginx
    $ apt-get install nginx
    
    // проверим работу nginx
    $ service nginx start
    (должно ничего не произойти)

    Настраиваем порты

    // для начала нужно выйти из vagranta
    $ exit
    $ exit
    
    // откроем файл ***Vagrantfile и разкомментируем следующую строчку
    config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
    // - это нужно для пробросать портов, что бы мы могли обращаться из браузера к нашему серверу
    // - возможно в строке следует поменять порты, host 8080 у вас может быть занят
    
    // возвращаемся в консоль
    // перезагрузим vagrant для применения обновленных настроек
    $ vagrant reload
    
    // запускаем виртуальную машину
    $ vagrant up
    $ vagrant ssh
    
    // проверим работу nginx
    // стоить отметить что после перезапуска, nginx был добавлен в автозагрузку
    $ service nginx status 
    
    // откроем браузер и проверим
    http://localhost:8070
    => Welcome to nginx!

    PHP

    // переходим к пользователю root
    $ subo -s 
    
    // установим последнюю версию php
    // тут мы сперва добавим пакет, что бы установить последнюю версии, 
    // так как в официальном репозитории ее пока нет
    // если пакет есть в репозитории - таких трюков не нужно
    $ apt-add-repository ppa:ondrej/php
    
    // обновим индексы программных пакетов
    $ apt-get update
    
    // установим последнюю версию php
    $ apt-get install php7.2-fpm
    
    // проверим что php установлен, выводим его версию
    $ php -v

    Настройка Nginx + PHP

    // откроем настройки
    //  Nginx использует один виртуальный хост под названием default.
    $ vi /etc/nginx/sites-available/default
    
    // раскомментируем следующие сроки(ветка с php)
    // !! Внимательней с версии php, проверьте правильность
    location ~ \.php$ {                 
        include snippets/fastcgi-php.conf;
    ...
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
    // а так же укажем что по умолчанию на сервере открываться должен index.php
    // для этого в строку
    index index.html index.htm index.nginx-debian.html;
    // добавим index.php
    index index.php index.html index.htm index.nginx-debian.html;
    
    // откроем файл настроек php
    $ vi vi /etc/php/7.2/fpm/php.ini
    
    // расскомментировать строку и установить значение 0.
    // по умолчанию повышенная безопасность и скрипты не знаю о свое местоположении
    cgi.fix_pathinfo=0 
    
    // перезапустим nginx
    $ service nginx reload
    
    // перезапустим php
    $ service php7.2-fpm reload

    Создание первой страницы

    // переходим в каталог /var/www/html
    $ cd /var/www/html
    
    // удалим html файл в каталоге /var/www/html 
    // - он создан по умолчанию и нам не нужен
    $ rm index.nginx-debian.html
    
    // создадим файл php
    $ vi index.php
    
    // пропишем в файле
    <?php     
    phpinfo();
    
    // открыть браузер
    http://localhost:8070 => вывод информации о php
    
    

    Дополнительные модули для PHP

    // перейдем в корневую директорию
    $ cd /
    
    // посмотрим какие модули php доступны для загрузки
    $ apt-cache search php7.2
    
    // установи для примера 3 библиотеки mysql, curl, gd
    $ apt-get install php7.2-mysql php7.2-curl php7.2-gd
    
    // перезагрузим php
    $ service php7.2-fpm reload
    
    

    Список основных команд:

    • vagrant halt — останавливает виртуальную машину
    • vagrant destroy — удаляет виртуальную машину
    • vagrant suspend — «замораживает» виртуальную машину
    • vagrant global-status — выводит список всех ранее созданных виртуальных машин в хост-системе
    • vagrant ssh — подключается к виртуальной машине по SSH

     

    Список готовых коробок

    https://app.vagrantup.com/boxes/search

     

    Поиск ошибок Nginx

    $ cd /var/log/nginx — переходим к логам nginx

    $ tail error.log — откроем последние(10) записи в логе ошибок


    Комментарии закрыты!