Использование Composer в проектах на PHP

Composer — это менеджер внешних библиотек для вашего проекта. Например, если вы используете jquery, jqueryui, какие-то другие библиотеки, то для того чтобы не тащить их при переносе проекта, не следить за их обновлением и актуальностью, достаточно использовать Composer. При новой инсталляции проекта достаточно будет выполнить

composer install

для генерации начального composer.json  (создание нового проекта) достаточно выполнить:

composer init

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

composer require components/jquery:3.3.1
composer require components/jqueryui:1.12.1
composer require components/font-awesome:5.4.2
composer require components/bootstrap:4.1.1

Обновить пакеты можно:

composer update

Ну и далее как использовать в своем коде PHP:

require_once vendor/autoload.php
 
Или JS:
 
<script src="/vendor/components/jquery/jquery.js"></script>

Ну и в догонку. Если у вас из проекта нет доступа к папке vendor, а нужно для использования например css и js непосредственно на странице, можно сделать симлинк, например что-то вроде:

pavel@pavelpc:/var/www/webuseorg4/public$ ln -s ../vendor/components/ components
pavel@pavelpc:/var/www/webuseorg4/public$

 

Настройка FreeRadius для авторизации по DCHP Option 82 через Mikrotik

На микротике должен быть поднят DHCP сервер, который обращается к Radius клиенту, который обращается к Radius серверу.

queries.conf :

sql_user_name = "%{%{Agent-Remote-Id}:-%{%{User-Name}:-DEFAULT}}"

authorize_check_query = "\
    SELECT id, username, attribute, value, op \
    FROM ${authcheck_table} \
    WHERE REPLACE(mac,':','') = REPLACE(REPLACE('%{SQL-User-Name}','0x',''),':','') and sw_port=''\
    UNION ALL select id,username,attribute,value,op from radcheck where upper(sw_mac)=upper(REPLACE('%{Agent-Remote-Id}','0x','')) and upper(sw_port)=upper(RIGHT('%{Agent-Circuit-Id}',2))"

authorize_reply_query = "\
    SELECT id, username, attribute, value, op \
    FROM ${authreply_table} \
    WHERE REPLACE(mac,':','') = REPLACE(REPLACE('%{SQL-User-Name}','0x',''),':','') and sw_port=''\
    UNION ALL select id,username,attribute,value,op from radreply where upper(sw_mac)=upper(REPLACE('%{Agent-Remote-Id}','0x','')) and upper(sw_port)=upper(RIGHT('%{Agent-Circuit-Id}',2))"

В sites-enabled/default :

authorize {

    update control {
    Auth-Type := Accept
    }
...

Локализация консоли в UTF-8 FreeBSD 10.x, 11.x

Добавляем в файл /boot/loader.conf

kern.vty=vt

Добавляем в файл /etc/rc.conf способ переключения раскладки в консоли клавишами CTRL+SHIFT
keymap=»ru.win»

Проверяем тип консоли в файле /etc/ttys, должно быть xterm

ttyv0 "/usr/libexec/getty Pc" xterm on secure

Редактируем класс «russian» в файле /etc/login.conf, должно получиться следующее:

russian|Russian Users Accounts:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:

Обновляем /etc/login.conf.db командой:

cap_mkdb /etc/login.conf

Локализуем shell, в  ~/.cshrc, добавив строки:

setenv LANG ru_RU.UTF-8
setenv MM_CHARSET UTF-8

Пользователю необходимо прописать класс russian, командой:

pw user mod user_name -L russian

Где user_name — имя пользователя
При создании нового пользователя можно сразу прописать нужный нам класс командой

pw useradd user_name -L russian

После перазагрузки консоль станет UTF-8, по ssh нужно перезайти.