Заметка о том, как корректно поставить 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 curl4. Установите 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.run9. Предположим, в /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Теги документа