Этот блог создан для того, чтобы сохранить мои наработки. Буду рад конструктивным комментариям
пятница, 11 октября 2019 г.
воскресенье, 29 ноября 2015 г.
Доработка и настройка редактора TinyMCE
Данный пост создан для хранения настроек редактора TinyMCE во всех системах и случаях, с которыми мне доводилось и доведется встречаться. Редко приходится делать одну и ту же настройку на сайтах, и между этими случами забываю как это делается.
MODx Revo. Добавление валидных атрибутов тегов в код редактора
Часто приходится вставлять свои атрибуты в исходный hml-код редактора для создания своих стилей или обработки js, но редактор их "режет". Как исправить: лезем в настройки редактора по адресу assets/components/tinymce/xconfig.js, находим строку с такой строкой:
var tinymce_extended_valid_elements
, и пишем внутрь квадратных скобок отсутствующий атрибут тега, учитывая то, что атрибуты должны отделять друг от друга вертикальной чертой:
MODx Revo. Добавление валидных атрибутов тегов в код редактора
Часто приходится вставлять свои атрибуты в исходный hml-код редактора для создания своих стилей или обработки js, но редактор их "режет". Как исправить: лезем в настройки редактора по адресу assets/components/tinymce/xconfig.js, находим строку с такой строкой:
var tinymce_extended_valid_elements
, и пишем внутрь квадратных скобок отсутствующий атрибут тега, учитывая то, что атрибуты должны отделять друг от друга вертикальной чертой:
var tinymce_extended_valid_elements = "span[begin]";
четверг, 22 октября 2015 г.
Регулярки
Часто требуется одно и то же. Но забываю же!
Тогда оставлю их тут:
\swidth="\d*" удаляет атрибут тега с числовым значением с впереди идущим пробелом.
\sclass="\w+\d*"
( ){2}
style="[^"]+" - удаляет атрибут со значением
\w - любая буква или символ
\s - пробел
\d - числа
* - много
Тогда оставлю их тут:
\swidth="\d*" удаляет атрибут тега с числовым значением с впереди идущим пробелом.
\sclass="\w+\d*"
( ){2}
style="[^"]+" - удаляет атрибут со значением
\w - любая буква или символ
\s - пробел
\d - числа
* - много
понедельник, 7 сентября 2015 г.
первый значащий ноль в числах Excel
Неоднократно сталкивался с этой проблемой и неоднократно забывал как это сделать.
Оставляю это здесь.
ПКМ на ячейке - Формат ячеек.. . -на вкладке Число слева есть список, выбрать (все форматы) и в строке Тип вписать кол. нулей после американский знак номера, например: 0000#### - жмем ОК и применяем этот новый формат ко всем ячейкам.
среда, 19 августа 2015 г.
Ошибка - explorer.exe - обнаружена ошибка. Приложение будет закрыто
Выполнить проверку и восстановление системных файлов: sfc.exe /scannow (понадобится дистрибутив системы). Проверьте систему на вирусы и spyware антивирусом и антишпионом с актуальными базами.
stop: c000021a session manager initialization 0xc000026c
решается заменой файла
WINDOWS\system32\win32k.sys
на исправный
ИЛИ
беру с рабочей машины winlogon.exe (windows\system32\)
гружу ERD-commander, подменяю winlogon.exe, перегружаюсь, запускаю антивирусную проверку.
И всё
четверг, 6 августа 2015 г.
Монтирование RAID в Linux
sudo apt-get install mdadm
mkdir old_hdd
sudo mdadm --assemble /dev/md126 /dev/sdb2 /dev/sdc2 и т.д., где /dev/sdb2 - раздел с RAID массивом на диске
если всё успешно, появится сообщение: mdadm: /dev/md126 has been started with 2 drives
sudo mount /dev/md126 old_hdd
в папке old_hdd увидим содержимое массива. После всех операций с массивом делаем:
sudo umount old_hdd
sudo mdadm -S /dev/md126
Записки пользователя Ubuntu, Windows всех мастей...: Ошибка обзора сети по SMB в Gnome-Commander
Записки пользователя Ubuntu, Windows всех мастей...: Ошибка обзора сети по SMB в Gnome-Commander: Установили с другом на его ноутбуке Ubuntu. Установка и настройки нового оконного менеджера UNITY прошла без сучка и задоринки. Далее, мы пр...
воскресенье, 19 апреля 2015 г.
Полезные команды Linux
Поиск файлов по шаблону и применение еще одной команды к ним:
find /home/ -name "filename.ext" - exec du -h '{}' ';'
find /home/ -type f - exec chmod 644 {} \; // ищем только файлы
find /home/ -type d - exec chmod 755 {} \; // ищем только директории
Вычисление размера файла в человекопонятном виде:
du -h
Вычисление размера директорий:
du -ha --max-depth=1 /home/ //--max-depth=1 - первый уровень вложенности
find /home/ -name "filename.ext" - exec du -h '{}' ';'
find /home/ -type f - exec chmod 644 {} \; // ищем только файлы
find /home/ -type d - exec chmod 755 {} \; // ищем только директории
Вычисление размера файла в человекопонятном виде:
du -h
Вычисление размера директорий:
du -ha --max-depth=1 /home/ //--max-depth=1 - первый уровень вложенности
воскресенье, 12 апреля 2015 г.
Архивирование и сжатие файлов в Linux
bunzip2 file1.bz2 разжимает файл 'file1.gz'
gunzip file1.gz
gzip file1 сжимает файл 'file1'
bzip2 file1
gzip -9 file1 сжать файл file1 с максимальным сжатием
rar a file1.rar test_file создать rar-архив 'file1.rar' и включить в него файл test_file
rar a file1.rar file1 file2 dir1 создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1
rar x file1.rar распаковать rar-архив
unrar x file1.rar
tar -cvf archive.tar file1 создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1 создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tar показать содержимое архива
tar -xvf archive.tar распаковать архив
tar -xvf archive.tar -C /tmp распаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1 создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2 разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1 создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gz разжать архив и распаковать его
zip file1.zip file1 создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1 создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zip разжать и распаковать zip-архи
вторник, 1 апреля 2014 г.
Подключаем mod_rewrite к Apache2 в Ubuntu
Подключаем сам модуль, в консоли:
sudo a2enmod rewrite
Редактируем конфигурацию хостов:
sudo nano /etc/apache2/sites-available/default
А именно, изменяем параметр AllowOverride None на AllowOverride All
Перезапускаем web-сервер:
sudo invoke-rc.d apache2 restart
Готово.
воскресенье, 29 декабря 2013 г.
понедельник, 18 ноября 2013 г.
Обновление firefox (и другого софта) в старой версии ubuntu
Этот рецепт подходит также для linux mint версии ниже 12
При обновлении и/или установке софта линукс пишет что не найден путь:
Err http://archive.ubuntu.com maverick/main i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Err http://archive.ubuntu.com maverick/restricted i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Err http://archive.ubuntu.com maverick/universe i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Err http://archive.ubuntu.com maverick-updates/main i386 Packages 404 Not Found [IP: 91.189.92.201 80] E
rr http://archive.ubuntu.com maverick-updates/restricted i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Err http://archive.ubuntu.com maverick-updates/universe i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Err http://archive.ubuntu.com maverick-security/main i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Err http://archive.ubuntu.com maverick-security/restricted i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Err http://archive.ubuntu.com maverick-security/universe i386 Packages 404 Not Found [IP: 91.189.92.201 80]
Видимо этого софта по указанному пути в source.list нет
Значит пишем туда следующее:
## EOL upgrade sources.list
# Required
deb http://old-releases.ubuntu.com/ubuntu/ CODENAME main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ CODENAME-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ CODENAME-security main restricted universe multiverse
# Optional
#deb http://old-releases.ubuntu.com/ubuntu/ CODENAME-backports main restricted universe multiverse
И всё будет работать;)
воскресенье, 27 октября 2013 г.
Настройка FTP соединения на Notepad++
Для редактирования страниц сайта можно использовать текстовый редактор Notepad++. Сегодня нужно настроить новое FTP соединение в редакторе Notepad++.
Что дает настройка FTP в редакторе Notepad++?
Можно редактировать любые файлы сайта и напрямую, сразу отправлять или переписывать в корневом каталоге непосредственно на свой хост.
Порядок настройки FTP соединения в редакторе Notepad++:
1. Открыть редактор Notepad++
2. Проверить установлен ли плагин NppFtp. Обычно по-умолчанию он есть в последних версиях редактора. Если есть - переходим к шагу 4. Если нет - смотрим дальше.
3. Для установки плагина NppFtp открываем в верхнем меню Плагины - Plugin Manager. Должен быть подключен интернет. В открывшемся окне в списке ищем NppFtp, ставим галочку и жмем кнопку Install. После установки плагина перезапускаем Notepad++.
4. Слева в окне редактора Notepad++ будет окно FTP - менеджера. Для настройки соединения жмем значок показанный на рисунке ниже. Выбираем Profile Settings.
5. Откроется окно настройки соединений. Создаем новое соединение (Add new). Пишем ему имя (например - webdesign) .Заполняем данные своего хостинга на вкладке Connection (Hostname - сервер, хост, Username - имя пользователя, Password - пароль). Больше ничего не трогаем и жмем Close (Закрыть)
6. После создания соединения активируется возможность установить соединение. Нажимаю кнопку активации (смотри ниже), выбираем нужное соединение (если их у вас несколько)
7. Если соединение успешно, то в окошке появится соответствующая надпись и список папок на вашем хосте:
8. Теперь можно работать. Открываете нужную папку, для редактирования щелкаете на нужном файле. делает необходимые изменения и сохраняете. Файл автоматически обновится на удаленном хосте.
В окне FTP-менеджера можно создавать новые папки и файлы по щелчку правой кнопки мыши.
суббота, 12 октября 2013 г.
Плагин Emmet для Sublime Text 3 и Notepad++
Установка плагина в редактор Sublime Text 3
- Первым делом устанавливаем Package Managet (из коробки его нет):
- Выбираем Preferences > Browse Packages… menu
- Смотрим где расположена папка установленных плагинов
- Качаем отсюда файл и копируем в папку установленных плагинов
- Открываем консоль (View -> Show Console)
- Вставляем туда такой текст: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
- Жмем Enter. Дожидаемся когда пройдут все сообщения.
- Открываем Tools -> Command Palette и набираем install Package, выбираем Package Control: install Package
- В появившемся окне ищем Emmet
- Дальше следим за консолью.
- В консоли должно быть всё OK
- Проверяем как работает плагин: пишем html:5 и жмем tab (предварительно установите синтаксис html)
Установка плагина в редактор Notepad++
- Устанавливаем Python Script plugin в Plugin Manager
- Скачиваем отсюда плагин Emmet и распаковываем в C:\Program Files\Notepad++\plugins
- Перезапускаем Notepad++
- В меню Палагины наблюдаем плагин Emmet
- Но им не очень удобно пользоваться. Для того чтобы аббревиатура сработала надо нажать Ctrl+Alt+Enter
- Удобнее назначить для этого другое сочетание клавиш.
- Открываем Опции - Горячие клавиши.
- Выбираем Plugin Commands
- Далее ищем Expand abbreviation. Назначаем более удобное сочетание, например Ctrl+Alt+Пробел или даже просто Tab
- Проверяем: пишем input:submit и жмем Tab
среда, 26 сентября 2012 г.
Объявлены лучшие снимки астрономов-любителей 2012 года
Объявлены лучшие снимки астрономов-любителей 2012 года:
Главный приз взяла галактика Водоворот, поглощающая своего компаньона. Снимок сделан с идеальной выдержкой и в прекрасных цветах.
вторник, 10 июля 2012 г.
Симулятор сражения на мечах CLANG успешно профинансирован
В разработке находится «самый достоверный симулятор сражений на мечах», сообщает компания Subutai Corporation. Проект получил название CLANG.
вторник, 19 июня 2012 г.
Настройка SAMBA в школьной сети
Пример smb.conf
[global]
workgroup = school24
server string = %h server (Samba)
log file = /var/log/samba/log.%m
max log size = 1000
usershare allow guests = yes
username map = /etc/samba/smbusers
security = share
use sendfile = no
[install]
# также расшаривается по nfs
path = /home/schooladm/install
writeable = yes
browseable = no
valid users = root, schooladm
[share]
# также расшаривается по nfs
path = /home/schooladm/share
writeable = yes
browseable = no
guest ok = yes
create mask = 0777
[school_docs]
# также расшаривается по nfs
path = /home/schooladm/school_docs
writeable = yes
browseable = no
guest ok = yes
create mask = 0777
[media]
# также расшаривается по nfs
# в этой папке еще существуют папки fotos, video и videoshare
# папка videoshare транслируется на телевизор или по школьной сети
path = /home/schooladm/media
writeable = yes
browseable = no
valid users = admin, root, schooladm
В файле smbusers пишемъ:
root = administrator
nobody = guest smbguest pcguest
schooladm = schooladm
admin = admin
user = user
З.Ы.: Для того, чтобы в samba-папку, у которой прописаны valid users, можно было зайти из windows-машины, необходимо, чтобы на этой машине существовал пользователь, прописанный в valid users и в smbusers.
[global]
workgroup = school24
server string = %h server (Samba)
log file = /var/log/samba/log.%m
max log size = 1000
usershare allow guests = yes
username map = /etc/samba/smbusers
security = share
use sendfile = no
[install]
# также расшаривается по nfs
path = /home/schooladm/install
writeable = yes
browseable = no
valid users = root, schooladm
[share]
# также расшаривается по nfs
path = /home/schooladm/share
writeable = yes
browseable = no
guest ok = yes
create mask = 0777
[school_docs]
# также расшаривается по nfs
path = /home/schooladm/school_docs
writeable = yes
browseable = no
guest ok = yes
create mask = 0777
[media]
# также расшаривается по nfs
# в этой папке еще существуют папки fotos, video и videoshare
# папка videoshare транслируется на телевизор или по школьной сети
path = /home/schooladm/media
writeable = yes
browseable = no
valid users = admin, root, schooladm
В файле smbusers пишемъ:
root = administrator
nobody = guest smbguest pcguest
schooladm = schooladm
admin = admin
user = user
З.Ы.: Для того, чтобы в samba-папку, у которой прописаны valid users, можно было зайти из windows-машины, необходимо, чтобы на этой машине существовал пользователь, прописанный в valid users и в smbusers.
понедельник, 4 июня 2012 г.
Заметка про LVM
Давно разбираюсь с этой темой, да всё никак не сохраню тут основные моменты.
Тут, тут и тут можно почитать про LVM (собственно оттуда я и стянул инфу).
Создание томов LVM.
Сначала устанавливаем apt-get install lvm2
Полезно еще установить GUI утилиту дял управления LVM system-config-lvm
pvcreate /dev/sdb данная команда сделает из физического раздела физический LVM раздел
Далее надо создать группу томов:
vgcreate group1 /dev/sdb, где group1 - название группы
Создание логических томов:
lvcreate -n usr -L10G group1 и так далее для каждого раздела Linux
Посмотреть что натворили можно такими командами:
pvdisplay - информация по физическим томам
vgdisplay - информация по группе томов
lvdisplay - информация по логическим томам
разделы что мы создали появятся в папке /dev/[имя_vg]/, точнее там будут ссылки на файлы,
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -> /dev/mapper/group1-swap
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 tmp -> /dev/mapper/group1-tmp
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr -> /dev/mapper/group1-usr
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 var -> /dev/mapper/group1-var
и т.д…
форматируем наши разделы в любимые файловые системы:
mkfs.ext2 -L tmp /dev/group1/tmp
mkfs.ext4 -L usr /dev/group1/usr
mkfs.ext4 -L var /dev/group1/var
mkfs.ext4 -L home /dev/group1/home
раздел подкачки:
lvcreate -n swap -L2G group1
mkswap -L swap /dev/group1/swap
swapon /dev/group1/swap
Создаём папку и подключая по очереди новообразовавшиеся тома, копируем в них нужное содержимое:
root@ws:~# mkdir /mnt/target
root@ws:~# mount /dev/group1/home /mnt/target
копируем туда всё из папки /home своим любимым файловым менеджером (с сохранением прав доступа), например так ;):
root@ws:~# cp -a /home/* /mnt/target/
root@ws:~# umount /mnt/target/
кстати, для папки temp необходимо только поправить права, копировать туда что-либо необязательно:
root@ws:~# mount /dev/group1/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
добавляем нужные строчки в /etc/fstab, например такие:
/dev/mapper/group1-home /home ext4 relatime 0 2
/dev/mapper/group1-tmp /tmp ext2 noatime 0 2
/dev/mapper/group1-swap none swap sw 0 0
Для добавления жесткого диска я пользовался GUI утилитой.
Сначала я форматировал диск, инициализировал его, добавил в группу томов.
В группе томов появилось неиспользуемое место. Тогда можно расширить один или несколько томов (увеличить размер).
Увеличение размера логического тома.
Сначала надо увеличить размер тома, потом увеличить размер файловой системы. ext3/ext4/reiserfs можно увеличивать не отмонтируя.
lvextend -L+4G /dev/volgroup00/test01 //увеличение логического тома на 4Гб
resize2fs /dev/volgroup00/ext //расширение Ext2/Ext3/Ext4
Удаление томов и групп
Логические тома перед удалением должны быть отмонтированы.
# vgreduce volgroup00 /dev/sdb1 //удаление физического тома из группы # lvremove /dev/volgroup00/test01 //удаление логического тома # vgremove volgroup00 //удаление группы томов # pvremove /dev/sdc1 //удаление физического тома
root@ws:~# mkdir /mnt/target
root@ws:~# mount /dev/group1/home /mnt/target
копируем туда всё из папки /home своим любимым файловым менеджером (с сохранением прав доступа), например так ;):
root@ws:~# cp -a /home/* /mnt/target/
root@ws:~# umount /mnt/target/
кстати, для папки temp необходимо только поправить права, копировать туда что-либо необязательно:
root@ws:~# mount /dev/group1/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
добавляем нужные строчки в /etc/fstab, например такие:
/dev/mapper/group1-home /home ext4 relatime 0 2
/dev/mapper/group1-tmp /tmp ext2 noatime 0 2
/dev/mapper/group1-swap none swap sw 0 0
Для добавления жесткого диска я пользовался GUI утилитой.
Сначала я форматировал диск, инициализировал его, добавил в группу томов.
В группе томов появилось неиспользуемое место. Тогда можно расширить один или несколько томов (увеличить размер).
Увеличение размера логического тома.
Сначала надо увеличить размер тома, потом увеличить размер файловой системы. ext3/ext4/reiserfs можно увеличивать не отмонтируя.
lvextend -L+4G /dev/volgroup00/test01 //увеличение логического тома на 4Гб
resize2fs /dev/volgroup00/ext //расширение Ext2/Ext3/Ext4
Удаление томов и групп
Логические тома перед удалением должны быть отмонтированы.
# vgreduce volgroup00 /dev/sdb1 //удаление физического тома из группы # lvremove /dev/volgroup00/test01 //удаление логического тома # vgremove volgroup00 //удаление группы томов # pvremove /dev/sdc1 //удаление физического тома
Установка стандартного набора LAMP
Давно уже искал способ быстро поднять LAMP из консоли и постоянно натыкался на огромный набор команд, которые не запомнишь, а записывать лень.
Вот способ быстро это сделать:
sudo tasksel install lamp-server
И усё!
Всё станет устанавливаться и настраиваться (спросит пароль mysql).
Остается только перезапустить apache и установить phpmyadmin (если надо).
Вот тут всё разжевано
Вот способ быстро это сделать:
sudo tasksel install lamp-server
И усё!
Всё станет устанавливаться и настраиваться (спросит пароль mysql).
Остается только перезапустить apache и установить phpmyadmin (если надо).
Вот тут всё разжевано
Подписаться на:
Сообщения (Atom)



