Просьба оставить комментарий





Если вам понравился или не понравился топик. Я что то забыл или не дописал, то вы можете оставить свой комментарий и я постараюсь исправить это в ближайшее время.

среда, 2 октября 2013 г.

Большие кнопки "Поделиться" от Яндекса

Маленькие кнопки Яндекса "Поделиться" очень часто мешают встраивания их в сайты, хотя очень помогает мониторить через панель метрики. В автогенераторе почему то генерируются только маленькие кнопки, что не есть хорошо. Вот кода который поможет частично решить эту проблему, так же в этом коде прописано отображение количесвто нажатий на ту или иную соцсеть.

<script type="text/javascript" src="http://yandex.st/share/cnt.share.js"></script> <div class="b-ya-likes yashare-auto-init b-share_theme_counter" data-yasharel10n="ru" data-yasharelink="http://element.yandex.ru" data-yasharetitle="Название" data-yasharedescription="Описание" data-yashareimage="Картинка" data-yasharequickservices="facebook,vkontakte,twitter,gplus,yaru,odnoklassniki,moimir" data-yasharetheme="counter" data-yasharetype="big"></div>

Полный список кнопок:

yaru, yazakladki, vkontakte, facebook,gplus, twitter, odnoklassniki, moimir, lj, diary, pinterest, surfingbird, friendfeed, moikrug, blogger, tutby, digg, evernote, delicious, gbuzz, greader, juick, liveinternet, linkedin, myspace, pocket

среда, 21 августа 2013 г.

Ошибка Invalid password length squid прокси Centos при ntlm аутентификации

Столкнулся с проблемой при настроенной ntlm аутентификации через учетные записи в домене и в качестве прокси выступал squid 2ой версии. В качестве клиентской ОС Windows 7, также может встречаться в Windows 8. Просто тупо отображалось поле ввода логина и пароля, хотя аутентификация на рабочей станции с доменной учеткой проходило без проблем.

В логах message содержалась ошибка Invalid password length, смена пароля, логина, удаление и пересоздание учетки не помогает. Решение этой проблемы внесение изменения в реестр. Нужно залогиниться либо из под локального администратора или администратора домена и запустить .reg файл. Скачать можно тут http://inettools.net/getfile.php?key=yTbyuHhLxsdPeZtTavsXJglA9ikbZutmeuKz4Tao

После запуска можно заходить под учеткой пользователя и попытаться запустить браузер.

пятница, 16 августа 2013 г.

Скрипт для очистки кэша Linux

Может кому пригодится

#!/bin/sh
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

Можно закинуть например в /usr/local/bin

touch /usr/local/bin/drop_caches
chmod 775  /usr/local/bin/drop_caches

и прописать в крон

Ошибка Error - should be sent to WINS server

Столкнулся с такой проблемой в Cent OS. В файле messages писало
Error - should be sent to WINS server

После долгого гугления определил, что пролема находится в неверной настройке конфига /etc/samba/smb.conf

в секции [globals] было добавлено

wins support = yes

закомментировал опцию

#name resolve order = hosts wins bcast lmhosts


выставлен

os level = 255

Потом рестарт service smbd restart

(Решение) Ошибка 0x000000ED

Столкнулся с такой ошибкой на Windows XP сразу после появления заставки, уходил в перезагруз. С помощью F8 отключил автоматическую перезагрузку и при сбое системы.

После отключения и перезагрузки вылез синий экран с такой ошибкой:
0x000000ED

Сбой в работе жесткого диска. Решается эта проблема проверкой утилитой chkdsk. Вставляем дистрибутив с windows XP и грузимся с него.
Выбираем режим восстановления системы, т.е. жмем R.

>chkdsk /r

То есть проверка и исправление.

После проверки выдал результат, проведена проверка и исправлены ошибки на диске.

После перезагрузки синий экран пропал.

Если через какое то время ошибка не проявляется значит был единичный сбой.

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

вторник, 13 августа 2013 г.

hal.dll Ошибка: отсутствует или поврежден


Вызвали по заявке выползла такая ошибка hal.dll отсутствует или поврежден, при загрузке безопасного режима и последней удачной конфигурации вылезало тоже самое. Hiren не помог.

Единственное что помог сделать хайрен, восстановить копию hal.dll с компакт диска дистрибутива

expand X:\i386\hal.dl_ С:\windows\system32 где X ваш сидиром

Для восстановления boot.ini помогла утилитка из набора в режиме восстановления. Берем чистый дистрибутив Windows XP грузимся с него и при вопросе, "что будем делать?" нажимаетм режим восстановления (R)

BOOTCFG /REBUILD FIXBOOT

проверяет все ОС на компьютере и генерирует файл заново, на все вопросы можно просто нажать enter

если файл уже присутствует следует его удалить для начала

cd c:
del boot.ini

Проблема таким образом решается без переустановки винды.

воскресенье, 21 июля 2013 г.

Автозапуск Zabbix агент и сервер

При установке пакетов из исходников автозапуск само собой не прописан. Следующие скрипты вам помогут в этом нелегком труде.

Скрипт автозапуска сервера

zabbix# cat /etc/init.d/zabbix-server
#! /bin/sh
#
# Zabbix daemon start/stop script.
#
# Written by Alexei Vladishev <alexei.vladishev@zabbix.com>.

NAME=zabbix_server
DAEMON=/usr/local/sbin/${NAME}
DESC="Zabbix server daemon"
PID=/tmp/$NAME.pid

test -f $DAEMON || exit 0

case "$1" in
start)
echo "Starting $DESC: $NAME"
start-stop-daemon --oknodo --start --pidfile $PID \
--exec $DAEMON
;;
stop)
echo "Stopping $DESC: $NAME"
start-stop-daemon --oknodo --stop --pidfile $PID \
--exec $DAEMON
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0


Скрипт автозапуска агента


zabbix# cat /etc/init.d/zabbix-agent
#!/bin/sh
#
# Zabbix agent start/stop script.
#
# Written by Alexei Vladishev <alexei.vladishev@zabbix.com>.

NAME=zabbix_agentd
DAEMON=/usr/local/sbin/${NAME}
DESC="Zabbix agent daemon"
PID=/tmp/$NAME.pid

test -f $DAEMON || exit 0

case "$1" in
start)
echo "Starting $DESC: $NAME"
start-stop-daemon --oknodo --start --pidfile $PID \
--exec $DAEMON
;;
stop)
echo "Stopping $DESC: $NAME"
start-stop-daemon --oknodo --stop --pidfile $PID \
--exec $DAEMON
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0






Не забываем про права с помощью chmod лучше выставлять стандартные для init.d 755

rsync без пароля


Нашел инфу для синхронизации с бэкап сервером без пароля по ключю


тоже самое что: ssh-keygen -P "" -t rsa
лучше вместо rsa использовать dsa



localhost > ls -la .ssh/id_*.pub
localhost > ssh remotehost touch .ssh/authorized_keys2
localhost > ssh remotehost chmod 700 .ssh/authorized_keys*
localhost > cat .ssh/id_rsa.pub | ssh alone.dubna.ru "cat - >> .ssh/authorized_keys2"
localhost > cat .ssh/id_dsa.pub | ssh alone.dubna.ru "cat - >> .ssh/authorized_keys2" //Вроде не надо

localhost > ssh-add -l (если пусто делаем) //Вроде не надо
localhost > ssh-agent //Вроде не надо
localhost > ssh-add //Вроде не надо

четверг, 27 июня 2013 г.

Подмонтирование FTP места под бекапы Hetzner к серверу

Hetzner по умолчанию дает 100гб места под бекапы бесплатно, за денюшку размер можно увеличить.
Вот такие вот цены на бэкап
500 GB Backup Space - 9,90 €/Month 9,90 €/Setup
2.000 GB Backup Space - 19,90 €/Month 19,90 €/Setup
5.000 GB Backup Space - 44,90 €/Month 44,90 €/Setup
10.000 GB Backup Space - 79,90 €/Month 79,90 €/Setup

Соответственно раз уж есть халява, то надо пользоваться.

Вы можете гораздо проще получать доступ к своему ftp-ресурсу с помощью утилиты curlftpfs для linux. Эта фантастическая утилита поможет вам монтировать любой ftp-сайт к любому каталогу вашей файловой системы linux.


1. Инсталляция

Сначала инсталлируйте пакет curlftpfse. В Debian или Ubuntu, это просто как:

apt-get install curlftpfs

2. Монтирование ftp каталога

Следующее, что вам нужно сделать – это создать точку монтирования:

# mkdir /mnt/backup_hetzner

Потом используйте curlftpfs, чтобы присоединить ваш уделенный ftp. Представим, что мои учетные данные для доступа выглядят следующим образом:

username: ftp-user
password: ftp-pass
host/IP: my-ftp-location.local

Фактически, команда curlftpfs для монтирования будет выглядеть так:

# curlftpfs ftp-user:ftp-pass@my-ftp-location.local /mnt/backup_hetzner/

Осторожно:

ftp использует незашифрованные пароли, так что любой может перехватить вашу информацию без особых усилий. Поэтому используйте curlftpfs в сочетании с SSL сертификатами, если вы не подключаетесь к LAN серверу.



В Debian вы можете монтировать ftp, используя curlftpfs как root, и это позволит только root’у получать доступ. Никакие другие пользователи не будут иметь доступ, так как, по умолчанию, только подключившие пользователи имеют доступ к смонтированному каталогу. Если вы будете монтировать ftp как простой пользователь, вам может выдать следующее сообщение об ошибке:

fuse: failed to open /dev/fuse: Permission denied

Но вместо изменения разрешений /dev/fuse вы можете разрешить другим пользователям получать доступ к ftp-каталогу с помощью опции curlftpfs allow_other. Команда будет выглядеть как нижеприведенная:


# curlftpfs -o allow_other ftp-user:ftp-pass@my-ftp-location.local /mnt/backup_hetzner/

3. Монтирование ftp с curlftpfs с использованием /etc/fstab

Так как мы не желаем размещать какие бы то ни было пароли в файле /etc/fstab, то мы сначала создадим файл /root/.netrc, содержащий имя пользователя ftp и пароль по этому формату:

machine my-ftp-location.local

login ftp-user

password ftp-pass

Теперь изменим разрешения этого фала на 600:

# chmod 600 /root/.netrc

Проверьте uid и gid простого пользователя (не root). Этот пользователь будет иметь доступ к подключенному каталогу:

$ id

На следующем этапе добавьте такую строку в файл /etc/fstab (изменить данные вашего пользователя ftp):

curlftpfs#my-ftp-location.local /mnt/backup_hetzner fuse allow_other,uid=1000,gid=1000,umask=0022 0 0

Теперь подключайте ftp:

mount -a


После всех этих операций в директории /mnt/backup_hetzner можно получить доступ для бэкапа, я использую его для слива mysqldump базы данных с 2 виртуальных серверов по крону. Также хетзнер предупреждает что доступ к этому фтп доступен только из их подсетей, это надо учитывать.

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

пятница, 7 июня 2013 г.

Решение unknown filesystem type LVM2_member

На хетзнере накосячил опять :)

 Пыталсь по ихнему мануалу подмонтировать
mount -o ro /dev/md1 /mnt/

Написал такую бяку unknown filesystem type LVM2_member


фишка просто так не замонтировать
делаем так всего 2 команды


lvscan
выводит все lvm разделы с именами

  ACTIVE            '/dev/vg0/swap' [10.00 GiB] inherit
  ACTIVE            '/dev/vg0/tmp' [20.00 GiB] inherit
  ACTIVE            '/dev/vg0/root' [2.44 TiB] inherit

Мне нужен рутовый

поэтому так

mount /dev/vg0/root /mnt/

Все

вторник, 14 мая 2013 г.

Решение проблемы nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

После рестарта нджинкса достучаться досайтов не смог, перед этим
переводил интерфейс в новую подсеть, возможно что проблема была связаня с этим.
Рестартанул Апачат проблема осталось, перезагрузил нджикс вылезла такая ошибка
 
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
 
Немного погуглив нашел решение вопроса, в конфиге сайта должна быть опция
 
listen 80;
listen [::]:80 default_server;
 
ее надо привести к такому виду
 
listen 80;
listen [::]:80 ipv6only=on default_server;
 
в разных конфигурациях в разных файлах в моем случае было в default либо может быть
конфиге самого сайта 

четверг, 9 мая 2013 г.

Быстрая индексация страниц нового сайта

Для быстрой индексации страниц сайта лучший способ прогон по соцсетям, это единственный метод который работает в данный момент. Самым популярным конечно же является твиттер и прогон можно произвести с помощью своего аккаунта так и с помощью доп сервисов(для примера с помощью этого ссылка).

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

С твиттера статьи обычно очень быстро влетают в индекс, с помощью тестового поста проверил из твиттера эффект через 20 минут пост был в индексе, правда продержался не долго из за большого наплыва похожей тематики, так как новость была очень срочная.

Также подобная система индексации быстророботом дает защиту контента на время пока не апдейтнулся основной индекс.

Не забываем размещать свои статьи в "Оригинальных текстах" в яндексе и подтвержение авторства в Гугле для защиты вашего контента.

четверг, 2 мая 2013 г.

Outpost блокирует соединения с интернет

Столкнулся с этой проблемы при включении машины в режиме моста(bridged mode описано ниже), трабла сложная изначально была очень долго копался в настройках, фишка была в том что стандартными правилами проблему не решить.

Продукты Outpost блокируют транзитные пакеты, не позволяя виртуальным машинам VMWare выйти в сеть Интернет. Для решения проблемы создавайте правила для vmware.exe по умолчанию, которые предложит Outpost, и выполните описанные ниже шаги.

Сначала проверьте, какой режим соединения с рабочим компьютером использует ваша виртуальная машина: bridged mode или NAT:

    Откройте Контрольную панель Виртуальной машины (щелкните Edit virtual machine settings).
    Щелкните ярлык Hardware.
    Выберите Ethernet.
    В группе Network Connection будет выбран один из параметров NAT: Used to share the host's IP address. или Bridged: Connected directly to the physical network.

Если вы используете трансляцию адресов (NAT), дополнительных правил в продуктах Outpost создавать не требуется.

В случае bridged mode создайте следующее глобальное правило для разрешения трафика с виртуальной машины:

    Щелкните Настройки > Сетевые правила > Системные правила > Низкоуровневые правила.
    Щелкните Добавить и создайте следующее правило:

    где протокол IP
    и тип IP-протокола ICMP, TCP, UDP и где локальный адрес (указать адрес виртуальной машины или диапазон используемых адресов (например, 192.168.1.1)
    разрешить

    Щелкните OK, чтобы сохранить изменения.

    Примечание: Мы не советуем использовать динамические адреса, поскольку в этом случае придется каждый раз создавать новое правило. В подобных случаях мы рекомендуем задавать диапазоны адресов.


Если виртуальная машина получает динамический IP-адрес с помощью протокола DHCP, то необходимо создать дополнительные правила:

    Щелкните Настройки > Сетевые правила > Системные правила > Низкоуровневые правила.
    Щелкните Добавить и создайте следующее правило:

    где протокол udp
    и где удаленный порт 67, 68, 546, 547
    и где локальный порт 67, 68, 546, 547
    разрешить

    Щелкните OK, чтобы сохранить изменения.

Для Outpost Firewall Pro (версии до 4.0 включительно) и Outpost Security Suite Pro 2007 используйте иную инструкцию:


    Щелкните Параметры на панели инструментов > Системные.
    В группе Глобальные правила и доступ к rawsocket щелкните Правила > Добавить.
    В появившемся окне отметьте следующие параметры:

    Где локальный адрес (указать адрес виртуальной машины или диапазон используемых адресов (например, 192.168.1.1)
    Разрешить

    Примечание: Мы не советуем использовать динамические адреса, поскольку в этом случае придется каждый раз создавать новое правило. В подобных случаях мы рекомендуем задавать диапазоны адресов.

пятница, 26 апреля 2013 г.

Полезные комады Linux



Решил написать долгоиграющий пост по полезным командам Линука. Буду пополнять по мере поступления.

Удаление комментариев из конфига. То есть строк в которых первым символом является какой то спецсимвол. Пр:

cat config | grep -v "#" > config.1

Работа с файловой системой

Определение размера каталога со всеми подкаталогами и файлами

#du -shc /var/* или так #du -shc /var/

Показ всех разделов и информации об их заполнении#df -h //покажет размер в сокращенном виде например 700G


Nginx


a2ensite для nginx

ln -s /etc/nginx/sites-available/domine.ru /etc/nginx/sites-enabled/domine.ru

Редакторы

Установка редактора по умолчанию из командной строки

#update-alternatives --config editor

Установка LAMP

apt-get install apache2 apache2.2-common  mysql-server phpmyadmin php5 php5-mysql php5-common  libapache2-mod-php5  php-pear

Apache 2


a2enmod rewrite Ативация модуля mod_rewrite
a2ensite domine.com Активация нового сайта

ps -ae | grep apache2 | wc -l Узнать количество запущенных процессов

MySQL


Дамп конкретной таблицы базы данных
 mysqldump -uroot -pdb_user_password db_name db_table > db_table.sql

Восстановление конкретной таблицы в базу mysql -uroot -pdb_user_password db_name < db_table

RSYNC

Синхронизация 2х каталогов
rsync --progress -av /var/www/ root@example.com:/opt/backup/

SCP



Копируем локальный SourceFile на удалённый хост командой: scp SourceFile user@host:/directory/TargetFile


Копируем SourceFile с удаленного хоста командой: scp user@host:/directory/SourceFile TargetFile


Если ssh работает на другом порту, то тогда указываем : scp -P port user@host:/directory/SourceFile /directory/TargetFile


Копируем SourceFolder с удаленного хоста внутрь локального TargetFolder (На локальном хосте получится что SourceFolder будет находиться внутри TargetFolder): scp -r user@host:/directory/SourceFolder TargetFolder

суббота, 13 апреля 2013 г.

http аутентификация через htaccess

Встала задача организовать доступ по паролю к закрытому разделу для фрилансеров. Самый шустрый способ без различных проверок сессий итп является http аутентификация, также он является очень надежным.

Допустим нам надо организовать доступ в папку work.

1. Создаем папку work
mkdir work
2. Заходим туда
cd work
3. Создаем 2 файла .htaccess и .htpasswd
touch .htaccess
touch .htpasswd
.htaccess  будет отвечать за запрос пароля и укажет путь к файлу с паролем .htpasswd
в .htpasswd собственна сама пара логин/пароль
4. Пишем необходимые строки в эти файлы
**************
 .htaccess
AuthUserFile  /тут/путь/к/файлу/.htpasswd
AuthGroupFile /dev/null
AuthName "Заголовок окна авторизации"
AuthType Basic

<Limit GET>
require valid-user
</Limit>
 **************
.htpasswd
Этот файл заполняем с помощью утилиты
В командной строке пишем
htpasswd -cm .htpasswd worker
Утилита спросит 2 раза пароль, вбиваем пароль


Все

воскресенье, 3 марта 2013 г.

Сортировка таблицы по 2 полям SQL

Пробовал через phpmyadmin такую конструкцию, что то не получалось


SELECT * FROM `table` ORDER BY `timestamp` DESC, `itemid` DESC;

То есть необходимо было отсортировать таблицу по 2 полям сразу, гуглер давал как раз такой ответ, еще немного погуглив наткнулся на подобную конструкцию.


SELECT * FROM
(SELECT * FROM `table` ORDER BY `timestamp` DESC) a
ORDER BY `itemid`

Также очень желательно установить лимит, так как запрос оказался очень тяжелый, так как было еще 2 условия выборки, сделать это можно так


SELECT * FROM
(SELECT * FROM `table` ORDER BY `timestamp` DESC LIMIT 10) a
ORDER BY `itemid`




вторник, 26 февраля 2013 г.

Virtualbox и Outpost Firewall Настройка в режиме моста

Захотел забацать виртуалку чтобы можно было юзать ее через внешку, но как обычно оутпост начал мне ее блочить, ковыряние в настройках, переключение в режим обучения, снятие запретов всех абсолютно результатов не давали, в режиме разрешения пинги шли имена резолвились, а в режиме обучения все сразу блочилось. В журнале оутпоста само собой появлялись записи о блокировании пакетов ICMP при пинге и UDP при nslookup.

Порывшись в сети нашел решение данной проблемы.

  1. Щелкните Настройки > Сетевые правила > Системные правила > Низкоуровневые правила.
  2. Щелкните Добавить и создайте следующее правило:

    где протокол IP
    и тип IP-протокола ICMP, TCP, UDP и где локальный адрес (указать адрес виртуальной машины или диапазон используемых адресов (например, 192.168.1.1)
    разрешить

    Щелкните OK, чтобы сохранить изменения. Примечание: Мы не советуем использовать динамические адреса, поскольку в этом случае придется каждый раз создавать новое правило. В подобных случаях мы рекомендуем задавать диапазоны адресов.

    После выполнения этих правил сразу все забегало. Всем пока.

среда, 20 февраля 2013 г.

Способы защиты контента от копирования

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

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

Время обычно определяется по дате публикации, которую очень желательно указывать на странице статьи или новости, также во многих движках дата публикации указывается автоматически в урле адреса к странице.

Сообщения поисковому роботу о новом контенте можно произвести несколькими способами, напримеро твитнуть ссылку на него в твиттере или какой либо социальной сети. Быстроробот придет проиндексирует.

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

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

И последнее как делаю лично я, чтобы сразу же после публикации боты конкурента не определили уникальность контента и не опубликовали на другом сайте, хотя даже если опубликуют смысла  будет мало. Гугл обычно быстро находит новый контент на сайте если на него есть ссылка и индексирует его. Следовательно можно публиковать статьи раньше, но ссылку с главной не делать, а сделать ссылку глубоко в сайте где робот конкурента обычно не ищет(или например в скрипте генерации карты сайта), и выставлять дату публикации на главной с лагом в несколько дней, то есть публикация в понедельник в глубине сайта, а на главной в среду или четверг. Конечно такой способ пройдет только для статей, так как новости актуальны обычно в тот же день или на следующий, но зато это реальная защита в гугле.