Установка Yii2 framework в Ubuntu Kinetic Kudu и XAMPP

Заметка о том, как корректно поставить Xammp, Composer и настроить проект Yii2 1. Вам понадобится версия XAMPP >= 8 (файл для Linux) 2. Запустите установку от суперпользователя ./sudo xampp[tab], о настройке виртуальных хостов уже было в этом блоге. Так как плохой практикой является запуск проекта из домашнего каталога /home, то рекомендуется разделить рабочий каталог (куда вносятся правки) и каталог, в котором лежат файлы для локального веб-сервера, можно создать папку внутри /opt/lampp/htdocs/sites/yii2 для виртуального хоста и после внесения правок копировать рабочий каталог в каталог веб-сервера

# sudo rm  /opt/lampp/htdocs/sites/yii2 -rf
sudo cp /home/USERNAME/yii2        /opt/lampp/htdocs/sites/yii2 -R
sudo chown daemon:daemon /opt/lampp/htdocs/sites/ -R
  Изменение владельца необходимо для корректного доступа к файлам ( для этого команду можно поместить в sh-файл или сделать alias в bashrc ) Виртуальный хост будет иметь примерно такой вид (/opt/lampp/etc/extra/httpd-vhosts.conf)
<VirtualHost *:80>
   ServerAdmin email@mail.ru
   DocumentRoot "/opt/lampp/htdocs/sites/yii2"
   ServerName yii2.local
   ServerAlias www.yii2.local
   ErrorLog "logs/yii2.local-error_log"
   CustomLog "logs/yii2.local-access_log" common
       <Directory "/opt/lampp/htdocs/sites/yii2">

   Options Indexes FollowSymLinks ExecCGI Includes
 
   AllowOverride All
    
   Order allow,deny
   Allow from all

 
   Require all granted
       </Directory>

</VirtualHost>
  3. Установите curl для скачивания установочного скрипта compose
sudo apt-get install curl
4. Установите Composer с помощью команды
cd /home/username/ 
sudo curl -s https://getcomposer.org/installer | /opt/lampp/bin/php
 

Обратите внимание, что должен указываться путь к интерпретатору php, который устанавливает XAMPP 5. Создаем локальную ссылку, как если бы php был установлен в системе обычным образом ln -s /opt/lampp/bin/php /usr/local/bin/php 6. После установки в текущем каталоге появится файл composer.phar, его нужно переместить mv composer.phar /usr/local/bin/composer 7. Предположим, мы хотим начать новый проект в папке /home/username//yii2 Запускаем команду
composer create-project --prefer-dist yiisoft/yii2-app-basic yii2
8. Запуск менеджера XAMPP позволит запустить apache2 и mysql
cd /opt/lampp
sudo ./manager-linux-x64.run
  9. Предположим, в /etc/hosts у вас yii2.local, тогда после установки Yii2 можно открыть по ссылке http://yii2.local/web/index.php Если вы добавили свой контроллер и свое действие, то они будут доступны по ссылке вида http://yii2.local/web/index.php?r=имя_контроллера/действие 10. По запуску тестов. Естественно, локальный веб-сервер должен быть включен перед тестированием. Для виртуального хоста нужно задать точное имя и порт ВЕБ-СЕРВЕРА e.g. apache в файле tests/acceptance.suite.yml - WebDriver: url: http://yii2.local:80 browser: chrome Необходима стабильная версия google-chrome (sudo apt-get install google-chrome-stable) Драйвер Chrome Headless забираем на этой странице согласно номера версии После разархирования надо переместить исполняемый файл в папку, доступную в $PATH
sudo mv chromedriver /usr/bin/chromedriver

sudo chown root:root /usr/bin/chromedriver

sudo chmod +x /usr/bin/chromedriver
  Понадобится установить JDK ( sudo apt-get install default-jdk ) sh скрипт вида запускает сервер селениума (берем отсюда) и запускает сценарии тестирования
java -jar selenium-server.jar standalone --port 4444 
java -jar selenium-server.jar node --hub http://localhost:4444
  Если все верно, на http://localhost:4444/ui откроется Selenium Grid UI Запускаем тесты
cd /home/username//yii2/
./vendor/bin/codecept run
./vendor/bin/codecept g:cest acceptance MyNewScenarioCest
   

Теги документа