
ознакомиться
docker search centos
docker pull centos
docker run -it centos bash
docker commit №_контейнера название_образа # сделать нужный образ
docker rm $(docker ps -a -q -f status=exited) # удалить лишние контейнеры (все)
docker команды
https://www.yiiframework.com/doc/guide/2.0/en/tutorial-docker
docker-compose -v
docker -v
docker-compose up -d
docker-compose ps
docker-compose logs -f
docker-compose stop
docker-compose kill
docker-compose down -v
docker-compose run --rm php composer install
docker-compose exec php bash
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
Определение многоконтейнерного приложения с помощью docker-compose.yml
Программирование с YII2: приступаем к работе
https://github.com/yiisoft/yii2/tree/master/docs/guide-ru
https://webformyself.com/yii2-advanced-ustanovka/
https://www.yiiframework.com/doc/guide/2.0/ru/start-installation
https://www.yiiframework.com/doc/guide/2.0/ru/tutorial-start-from-scratch
http://onreader.mdl.ru/LearningDockerNetworking/content/Ch02.html
Docker: как развернуть фуллстек-приложение и не поседеть
установка php
установка compozer
yum install install curl php-cli php-mbstring git zip unzip
curl -sS https://getcomposer.org/installer -o composer-setup.php
или
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
или
mv composer.phar /usr/local/bin/composer
composer show --platform | grep ext-xsl
sudo yum install php-xsl
подключение к БД
https://yiiframework.com.ua/ru/doc/guide/2/db-dao/
- MySQL, MariaDB:
mysql:host=localhost;dbname=mydatabase
- SQLite:
sqlite:/path/to/database/file
- PostgreSQL:
pgsql:host=localhost;port=5432;dbname=mydatabase
- CUBRID:
cubrid:dbname=demodb;host=localhost;port=33000
- MS SQL Server (via sqlsrv driver):
sqlsrv:Server=localhost;Database=mydatabase
- MS SQL Server (via dblib driver):
dblib:host=localhost;dbname=mydatabase
- MS SQL Server (via mssql driver):
mssql:host=localhost;dbname=mydatabase
- Oracle:
oci:dbname=//localhost:1521/mydatabase
ошибки при установке yii2-app-advanced
Exception 'yii\db\Exception' with message 'could not find driver'
sudo yum install php-gd php-mysql
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] No such file or directory'
nano $HOME/yii-application/common/config/main-local.php
'dsn' => 'mysql:host=127.0.0.1:3306;dbname=yii2advanced
sudo mysql_secure_installation
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost''
http://qaru.site/questions/161543/error-1698-28000-access-denied-for-user-rootlocalhost
https://www.digitalocean.com/community/tutorials/mysql-ubuntu-18-04-ru
$ sudo mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
надо создать нового пользователя с полными правами.
$ sudo mysql -uroot
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
$ mysql -unewuser -ppassword
Для работы с базой использовать нового пользователя newuser вместо root.
nano $HOME/yii-application/common/config/main-local.php
изменить на:
'dsn' => 'mysql:host=127.0.0.1;port=3306;dbname=yii2advanced',
'username' => 'newuser',
'password' => 'password',
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [1049] Unknown database 'yii2advanced''
mysql> CREATE DATABASE yii2advanced;
mysql> EXIT;
php yii serve --port=8888
Document root "/home/user/yii-application/console/web" does not exist.
В консоли надо указать путь к document root проекта.
php yii serve --docroot="path/to/docroot"
Например:
php yii serve --docroot="@frontend/web" --port=8080
php yii serve --docroot="@backend/web" --port=8888
php yii serve --docroot="@console" --port=8000
или
php -S 127.0.0.1:8080 -t frontend/web
php -S 127.0.0.1:8888 -t backend/web
http://127.0.0.1:8080/index.php?r=gii
Сервис на Yii2: Тестирование приложения с Codeception
проверка (запуск в каталоге)
vendor/bin/codecept run acceptance -- -c frontend
vendor/bin/codecept run acceptance -- -c backend
Codeception requires CURL extension installed to make tests run
If you are not sure, how to install CURL, please refer to StackOverflow
yum install php-curl
https://www.tutorialspoint.com/sqlite/sqlite_create_database.htm
http://www.w3big.com/ru/sqlite/sqlite-syntax.html
Стартуем с SQLite3 – Основные команды
nano $HOME/yii-application/common/config/main-local.php
изменить на:
'dsn' => 'sqlite:/home/user1/yii-application/DB/yii2advanced.db',
$ mkdir -p $HOME/yii-application/DB/
$ sqlite3 $HOME/yii-application/DB/yii2advanced.db
.quit
Команда | Описание |
.show | Показывает текущие настройки заданных параметров |
.databases | Показывает название баз данных и файлов |
.quit | Выход из sqlite3 |
.tables | Показывает текущие таблицы |
.schema | Отражает структуру таблицы |
.header | Отобразить или скрыть шапку таблицы |
.mode | Выбор режима отображения данных таблицы |
.dump | Сделать копию базы данных в текстовом формате |
composer --version
composer self-update
composer global require "fxp/composer-asset-plugin:~1.4.5"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
или
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
или
php composer.phar create-project yiisoft/yii2-app-advanced advanced
Установка из архивного файла
https://www.yiiframework.com/download
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'enter your secret key here',
обновление
php composer.phar update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask
Проверка установки, запуск yii2
php yii serve 0.0.0.0:8080 (универсально)
php yii serve ip_адрес:8080 (правильно)
проверка проброса портов
php -S 0.0.0.0:8080
Чтобы открыть несколько портов, просто укажите несколько аргументов -p:
docker run -p host_port1:container_port1 -p host_port2:container_port2
docker run -it -p 7100-7120:7100-7120/tcp
проверка блокировки по портам
php -S 0.0.0.0:8080 (или внутренний ip контейнера напр 172.17.0.2:0.0.0.0)
localhost:0.0.0.0 работать не будет, как и 127.0.0.1:8080
напр docker run -d -p 127.0.0.2:8080:8080 uzverss/centos_yii
php -S 127.0.0.2:8080 сработает
docker run -d -p 127.0.0.2:8080:8080 uzverss/centos_yii
php yii serve (по умолч localhost порт 80)
php yii serve --port=8080 (поднимется по умолчанию на localhoct, т.е. при --net=host )
php yii serve 0.0.0.0:8080 (универсально)
php yii serve ip_adres_контейнера:8080 (правильно)
узнать ip адрес (если нет ip a)
yum install net-tools
ifconfig
docker run --name centos -it centos bash
docker run -d -p 80:8080 uzverss/centos_yii
если что то блокирует проброс то
docker run --net=host -it centos1_yii2 bash
примеры
пример: подключить каталог с yii2 с хоста в контейнер
docker run -v /home/user/basic:/home/user/basic -p 127.0.0.2:8080:8080 -it centos-php bash
пример: подключить каталог с yii2 с контейнера на хост (каталога basic1 на хосте нет, создаётся с правами root)
docker run -v /home/user/basic1:/home/user/basic -p 127.0.0.2:8080:8080 -it centos-php bash
chown user:user /home/user/basic
монтировать каталоги хоста внутрь контейнера
docker run -v /каталог_на_компе:/каталог_в контейнере -v /каталог_на_компе:/каталог_в контейнере образ_докера
создание пользователей
adduser username
passwd username
gpasswd -a username wheel
userdel username
userdel -r username удалит пользователя с каталогом
sudo lid -g wheel
пример настроенного контейнера:
docker pull schmunk42/yii2-app-basic
docker run -p 8888:80 schmunk42/yii2-app-basic
https://github.com/yiisoft/yii2-app-basic
docker pull yiisoftware/yii2-php:7.3-fpm
docker run --name php-yii2 --rm -it dmstr/php-yii2 -p 8080:8080 yii
https://hub.docker.com/r/yiisoftware/yii2-php/
https://github.com/dmstr/docker-yii2-app
Как сделать админку для yii2 basic?
https://www.yiiframework.com/search?type=extension&q=admin
https://github.com/yii2tech/admin
https://www.yiiframework.com/extension/yii2-template-smarty
https://www.yiiframework.com/extension/qtzpanel
https://www.yiiframework.com/extension/yii2-admin
https://elisdn.ru/blog/76/seo-service-on-yii2-admin-and-sef
https://github.com/ElisDN/seokeys
https://www.yiiframework.com/extension/phpnt/yii2-cms
https://www.yiiframework.com/extension/execut/yii2-cms
https://github.com/yii2tech
https://github.com/codemix
https://github.com/creocoder
https://www.adminer.org/
https://phpdocker.io/generator
https://nginxconfig.io
https://github.com/digitalocean/nginxconfig.io
https://www.yiiframework.com/doc/guide/2.0/ru/start-installation
https://www.yiiframework.com/wiki/783/running-applications-with-docker
https://phptoday.ru/post/gotovim-lokalnuyu-sredu-docker-dlya-razrabotki-na-php
https://blog.rvalitov.ru/programming/yii2/yii2-base-docker/
http://noob.poex.me/2018/06/22/docker-network/
Полное руководство по Yii 2.0
https://nix-tips.ru/yii2-api-guides/guide-ru-README.html
https://github.com/yiisoft/yii2/tree/master/docs/guide-ru
установка dokuwiki centos php nginx
Расшариваем веб-сайт на localhost в глобальную сеть интернет.