Перенос ispmanager на новый сервер Ubuntu

Если вы переносите ispmanager на новый сервер, на забудьте поменять настройки сети в файле:

/etc/network/interfaces

IP-адрес нового сервера — xx.xxx.xxx.xx (+ xxxx:xxxx:xxxx:xx:x:xx:x:xxx)

Маска — xxx.xxx.xxx.x

gateway — xx.xxx.xxx.x

*x поменяйте на свои значения

Как выйти из командной строки mysql

Пользователи часто сталкиваются с тем что не могут выйти из режима командной строки mysql. Стандартные команды не помогают:

exit

CtrlC

CtrlD

quit

Ctrl

CtrlZ

bye

Выход можно осуществить по:

Ctrl+Shift+D

PhpMyadmin ошибка авторизации: Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.

При обновлении phpmyadmin можно столкнуться с ошибкой авторизации

Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.

В сети предлагается множество решений. В частности почистить куки браузера, зайти в режиме инкогнито или удалить определенные раширения. Но иногда ничего из этого не помогает.

Я решил проблему на своем сервере следующим образом

Переходим в папку phpmyadmin на сервере:

cd /usr/share/phpmyadmin

Открываем для редактирования файл конфигурации

vi config.inc.php

После строки $cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’; добавляем строки

$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'yourpassword';

Далее, если вы пользуетесь ispmanager или подобной панелью, можно заменить:

$cfg['PmaAbsoluteUri'] = 'http://'.$_SERVER["HTTP_HOST"].'/myadmin/';

на

$cfg['PmaAbsoluteUri'] = 'http://'.$_SERVER["HTTP_HOST"].'/phpmyadmin/';

Перезагружаем сервер

/etc/init.d/apache2 restart

Заходим в панель phpmyadmin

Консоль Ubuntu для веб разработчика

Перемещение по файловой системе выполняется командой cd

cd etc/

просмотр содержимого каталога выполняется командой ls

ls

просмотр содержимого файла выполняется командой nl

nl apache2.conf

Переименование файла выполняется командой mv. (По сути эта команда выполняет перемещение файла)

mv apache2.conf apache2.conf.system-old

Копирование файла команда cp

cp

Создание каталога команда mkdir

mkdir

Редактор vi

Редактировать файлы будем с помощью vi

vi file.name

чтобы войти в режим редактирования текста нажмем i

выход из режима редактирования ESC

Сохранить изменения и выйти :wq

Выход без сохранения :q!

Редактор Nano

nano file.name

Выйти и сохранить

Ctrl-x затем Y затем Enter

Выделить и удалить несколько строк в редактируемом файле

Alt-A устанавливает метку, далее мотаем курсором, чтобы выделить нужный фрагмент. Затем жмем Ctrl-K чтобы удалить выделенное.

Как найти папку или файл по имени?

find / -type d -name 'foldernames'

/ — искать по всей системе, то есть начинать с точки монтирования «/»

-type d — искать только папки

-name 'workers' — в данном случае точное совпадение с workers

Как найти файл по части имени?

find / -type f -name '*filenames'

/ — искать по всей системе, то есть начинать с точки монтирования «/»

-type f — искать только файлы

-name '*filenames' — в данном случае все, что заканчивается на «filenames»

Веб-сервер Apache

Рестарт сервера

/etc/init.d/apache2 restart

Веб-сервер Enginx

Рестарт сервера

/etc/init.d/nginx restart

PHP строгая типизация

В php функциях лучше избегать ситуаций когда функция принимает не пойми что, и возвращает не пойми что. Поэтому мы будем использовать строгую типизацию. К примеру у нас есть функция проверяющая какой-то id:

function checkId(string $id) : bool {...

мы явно задаем, что входной параметр у нас имеет тип string. А возвращает функция данные типа bool.

Аутентификация Laravel

Laravel содержит в себе практически готовую систему аутентификации. Развернуть ее можно командой:

php artisan make:auth

Эта команда сформирует шаблоны (view) для аутентификации. Они распологаются в папке auth. А также специальные контроллеры, которые содержатся в папке Auth, в разделе контроллеров.

Шаблоны аутентификации

login.blade.php — отвечает за отображение формы ввода пароля и логина

register.blade.php — отвечает за отображение формы регистрации.

password\reset.blade.php — страница сброса пароля

Как закрыть доступ к определенному разделу сайта?

Для того, чтобы дать доступ только зарегистрированным пользователям, нужно в маршрут добавить посредник ‘middleware’=>[‘web’,’auth’]

группа посредников web перед auth нужна для запуска механизма сессий, перед запуском механизма аутентификации (auth). Напомню, что посредники передают управление по цепочке. То есть сначала отработает посредник web. А затем он передаст управление посреднику auth.

Продолжим. К примеру мы хотим закрыть доступ в раздел profile. В маршруте этого раздела укажем:

Route::group(['prefix'=>'profile', 'middleware'=>['web','auth']], function() {...

MySql заполнение столбца таблицы данными из другой таблицы

Если вам нужен пример запроса то вот он:

UPDATE table_1, table_2
SET table_1.data_1 = table_2.date_2
WHERE table_1.data_1_1 = table_2.data_2_2

А теперь немного пояснения. В блоке UPDATE мы указываем название обеих таблиц. В блоке SET мы указываем в какое поле таблицы.1 мы будем записывать данные из таблицы.2 (и указываем из какого поля). В блоке WHERE мы указываем какие данные из какие данные из таблицы.1 должны соответствовать данным из таблицы.2

Выборка из 2х таблиц MySql

Выбрать однотипные данные из 2х таблиц, можно запросом

SELECT user, name FROM Customers UNION SELECT user, name FROM Employees;

Мы с помощью Union объединяем два запроса. В результате получим данные полей user и name из 2х таблиц Customers и Employees за исключением дублей. То есть если данные полностью совпадут, и результат попадет только одно совпадение.

Laravel создать модель, контроллер и миграцию одной командой

Модель миграцию и контроллер проще всего создать одной командой:

php artisan make:model MyModel -mcr

Добавить данные в seeds

Чтобы добавить данные в seeds нужно выполнить команду:

php artisan db:seed --class=НазваниеВашегоКласса