1. скачать последнюю версию с https://golang.org/dl/
2. распаковать в /usr/local
3. добавить в /usr/bin ссылки на исполняемые файлы go (/usr/local/go/bin/go, /usr/local/go/bin/go/bin/godoc, /usr/local/go/bin/go/bin/gofmt)
4. создать ~/go (это будет GOPATH)
5. установить переменную GOPATH (export GOPATH=~/go)
6. проверяем версию go version
среда, 27 декабря 2017 г.
суббота, 25 ноября 2017 г.
понедельник, 13 ноября 2017 г.
git Удаление всех веток кроме мастера
Предварительный просмотр команд удаления (вывод в файл)
git branch -a | grep -v master | cut -d "/" -f 3- | sed "s/.*/git push origin :&/" > file
Удаление всех веток на origin кроме мастера
git branch -a | grep -v master | cut -d "/" -f 3- | sed "s/.*/push origin :&/" | xargs -n 3 git
git branch -a | grep -v master | cut -d "/" -f 3- | sed "s/.*/git push origin :&/" > file
Удаление всех веток на origin кроме мастера
git branch -a | grep -v master | cut -d "/" -f 3- | sed "s/.*/push origin :&/" | xargs -n 3 git
пятница, 10 ноября 2017 г.
Warning: No support for locale: ru_RU.utf8
sudo locale-gen --purge --no-archive
проверяем
sudo update-initramfs -u
четверг, 9 ноября 2017 г.
Генерация самоподписанных сертификатов ssl
mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout local.key -out local.crt
cd /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout local.key -out local.crt
nginx конфиг дефолтного сайта
server {
set $domain "default";
set $www "/home/user/www";
set $root $www;
access_log /home/user/www/nginx-access.log;
error_log /home/user/www/nginx-error.log;
server_name *.lo;
index index.php;
if ($host ~* ^([_a-z0-9]+)\.lo$) {
set $domain $1;
}
root $www/$domain;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}
location ~* \.(js|css|less|png|jpg|jpeg|gif|ico|woff|ttf|svg|tpl)$ {
expires 24h;
access_log off;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
}
set $domain "default";
set $www "/home/user/www";
set $root $www;
access_log /home/user/www/nginx-access.log;
error_log /home/user/www/nginx-error.log;
server_name *.lo;
index index.php;
if ($host ~* ^([_a-z0-9]+)\.lo$) {
set $domain $1;
}
root $www/$domain;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}
location ~* \.(js|css|less|png|jpg|jpeg|gif|ico|woff|ttf|svg|tpl)$ {
expires 24h;
access_log off;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
}
mint 18.2 установка postgresql 10
echo deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get install postgresql-10
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get install postgresql-10
mint 18.2 установка php7.1
sudo apt-get install -y python-software-properties
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update -y
sudo apt-get install php7.1-cli php7.1-gd php7.1-fpm php7.1-cgi php7.1-mcrypt php7.1-curl php7.1-imap php7.1-memcache php7.1-xsl php7.1-json php7.1-mbstring php7.1-zip php7.1-pgsql
вторник, 12 сентября 2017 г.
Установка yii2 + usuario
Предположим, наш сайт будет называться shop, а админка его будет доступна по урлу http://backend.shop.lo
Создаём проект согласно инструкции на оф. сайте
На вопросы отвечаем:
Затем создаем базу данных
Устанавливаем usuario согласно оф. документации
Добавляем пути к миграциям
В console/config/main.php добавляем
В backend/config/main.php добавляем
В common/config/main.php добавляем
Удаляем стартовую миграцию yii
Запускаем миграции
Изменяем настройки identityClass в backend/config/main.php
Создаём администратора c почтой admin@shop.lo логином admin и паролем 123456
Создаём команду для генерации базового доступа согласно оф. документации
console/controllers/RbacController.php
Запускаем её
Проверяем
Заходим на http://backend.shop.lo/index.php?r=user%2Fadmin%2Findex
После авторизации должно показать панель управления пользователями и доступами
Создаём проект согласно инструкции на оф. сайте
composer.phar global require "fxp/composer-asset-plugin:^1.2.0" composer.phar create-project yiisoft/yii2-app-advanced shop cd shop ./init
На вопросы отвечаем:
Your choice [0-1, or "q" to quit] 0 Initialize the application under 'Development' environment? [yes|no] y
Затем создаем базу данных
mysqladmin -uroot create shop
Устанавливаем usuario согласно оф. документации
composer require 2amigos/yii2-usuario
Добавляем пути к миграциям
В console/config/main.php добавляем
'controllerMap' => [ ... 'migrate' => [ 'class' => \yii\console\controllers\MigrateController::class, 'migrationNamespaces' => [ 'Da\User\Migration', ], ], ],
В backend/config/main.php добавляем
'components' => [ ... 'authManager' => [ 'class' => 'yii\rbac\DbManager', ],
В common/config/main.php добавляем
'modules' => [ 'user' => [ 'class' => Da\User\Module::class, 'administratorPermissionName' => 'fullAccess', ] ]
Удаляем стартовую миграцию yii
rm console/migrations/m130524_201442_init.php
Запускаем миграции
./yii migrate --migrationPath=@yii/rbac/migrations
Изменяем настройки identityClass в backend/config/main.php
'components' => [ ... 'user' => [ 'identityClass' => Da\User\Model\User::class, // здесь раньше было 'common\models\User'
Создаём администратора c почтой admin@shop.lo логином admin и паролем 123456
./yii user/create admin@shop.lo admin 123456
Создаём команду для генерации базового доступа согласно оф. документации
console/controllers/RbacController.php
< ?php namespace console\controllers; use Yii; use yii\console\Controller; class RbacController extends Controller { public function actionInit() { $auth = Yii::$app->authManager; $fullAccessPerm = $auth->createPermission(Yii::$app->getModule('user')->administratorPermissionName); $fullAccessPerm->description = 'Полный доступ'; $auth->add($fullAccessPerm); $admin = $auth->createRole('admin'); $auth->add($admin); $auth->addChild($admin, $fullAccessPerm); $auth->assign($admin, 1); } }
Запускаем её
./yii rbac/init
Проверяем
Заходим на http://backend.shop.lo/index.php?r=user%2Fadmin%2Findex
После авторизации должно показать панель управления пользователями и доступами
воскресенье, 13 августа 2017 г.
установка xdebug для sublime + php5 на linux
Установка xdebug
sudo apt install php5-xdebug
Редактируем php.ini
sudo subl /etc/php5/fpm/php.ini
Вставляем строчки
xdebug.remote_enable=On xdebug.remote_handler=dbgp xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_log="/log/var/xdebug.log" xdebug.remote_mode="req"
Перезапускаем php-fpm
sudo service php5-fpm restart
Проверяем, что все встало как надо
php5-fpm -m -c | grep xdebug
Если видно xdebug то все в порядке
Настраиваем sublime text
Устанавливаем в sublime пакет xdebug client, для этого должен быть установлен package control.
В sublime text нажимаем ctrl + shift + p выбираем Package Control: install Package, немного ждем, пока sublime прочитает репозитории и в появившемся окне ищем Xdebug client.
Затем создаем проект Project -> Save project as
И в появившемся файле настроек проекта (имяпроекта.sublime-project) пишем
"settings": { "xdebug": { "url": "http://public.tonar.lo/", "max_depth": 5 } }
Узел settings должен быть корневым, т.е. в целом должно получиться что то вроде этого
{ "folders": [ { "follow_symlinks": true, "path": "." } ], "settings": { "xdebug": { "url": "http://public.tonar.lo/", "max_depth": 5 } } }
Проверяем, у нас должна появится вкладка xdebug в контекстном меню и в Tools Теперь настроим горячие клавиши Идем в Preferences -> Key Bindings и редактируем
[ {"keys": ["ctrl+f8"], "command": "xdebug_breakpoint"}, {"keys": ["shift+f8"], "command": "xdebug_conditional_breakpoint"}, {"keys": ["ctrl+shift+f5"], "command": "xdebug_continue", "args": {"command": "run"}}, {"keys": ["ctrl+shift+f6"], "command": "xdebug_continue", "args": {"command": "step_over"}}, {"keys": ["ctrl+shift+f7"], "command": "xdebug_continue", "args": {"command": "step_into"}}, {"keys": ["ctrl+shift+f8"], "command": "xdebug_continue", "args": {"command": "step_out"}}, {"keys": ["ctrl+shift+f9"], "command": "xdebug_session_start"}, {"keys": ["ctrl+shift+f10"], "command": "xdebug_session_stop"}, {"keys": ["ctrl+shift+f11"], "command": "xdebug_layout", "args": {"keymap" : true}} ]
Горячие клавиши по умолчанию можно посмотреть распаковав пакет Xdebug Client в файле Default.sublime-keymap
Страница пакета Xdebug Client
Запуск с гет параметром /?XDEBUG_SESSION_START=sublime.xdebug
среда, 5 июля 2017 г.
Yii включить gii
В config/main.php
В modules надо добавить
В urlManager rules
В modules надо добавить
'gii' => array(
'class' => 'system.gii.GiiModule',
'password' => '1',
),
В urlManager rules
'gii'=>'gii',
'gii/<controller:\w+>'=>'gii/<controller>',
'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>',
git Игнорировать изменения прав доступа
git config core.fileMode false
В конфиге:
core.fileMode
If false, the executable bit differences between the index and the
working copy are ignored; useful on broken filesystems like FAT.
See git-update-index(1). True by default.
-c
для установки в одной команде:git -c core.fileMode=false diff
--global
Установит поведение по умолчанию для текущего юзера:git config --global core.fileMode false
core.fileMode Охватывает только бит исполнения.
понедельник, 3 июля 2017 г.
sublime text Обновление папки по хоткею
Key Bindings - User
{ "keys": ["f5"], "command": "refresh_folder_list" }
{ "keys": ["f5"], "command": "refresh_folder_list" }
Подписаться на:
Сообщения (Atom)