Коротка заметка ( в будущем наполню):
1) Заходите в document root сайта и выполняете htpasswd -c .passwd someuser
где .passwd — файл к-ый будет создан и someuser — имя пользователя
2) В .htaccess вашего document root пропишите
AuthType Basic
AuthBasicProvider file
AuthUserFile /path/to/your/file/.passwd
Require user someuser
Проблемы с proftpd
StandardЕсли у вас появилась такая строка «proftpd unable to determine ip address».
Это значит, следующее: ftp берет название вашего хоста из /etc/hostname и дальше пытается определить его ip-адрес, но не может. Скорей всего эта ошибка появится когда вы измените hostname на серваке. Решение — простое, добавьте в /etc/hosts строку:
127.0.0.1 YourHostname.
Как подключиться по openvpn в ubuntu
StandardТолько что пришлось подключаться через vpn, в windows постоянно были какие-то косяки, и хаки с openvpn клиентом. Сел за ubuntu, и все завелось в пару команд.
Итак наши действия:
- Устанавливаем openvpn: sudo apt-get install openvpn
- Подключаемся используя конфиг-файл: openvpn —config your_config_file
Вышел php 5.5 alpha 3
StandardРаз уж я начал освещать каждый новый выход php 5.5, тогда продолжу.
Итак предыдущие обзоры:
В третей альфе, сделаны следующие изменения (нововведения):
- Добавлен метод Generator::throw()
- Новые cURL функции и опции, например: curl_escape(), curl_multi_setopt(), curl_multi_strerror(), curl_pause(), curl_reset()
- Поддержка атрибута Max-Age в setcookie функции
- Исправлено пару багов в mysqlnd и ядре
Весь список изменений здесь. Я очень часто использую curl, поэтому добавление новых функций в расширение только приветствую, жду не дождусь set, get операций над cookies.
Книги по javascript и jQuery
StandardПродолжаю серию статей по книжной тематике, книги для других языков:
JavaScript: The Definitive Guide
JavaScript & jQuery: The Missing Manual
JavaScript: The Good Parts
Регистрация facebook приложения
StandardКазалось бы, что такого сложного в регистрации приложения :), но мне «повезло» так как мой сотовый оператор — МТС.
Страница создания приложения здесь, facebook необходим ваш телефон, его можно добавить на странице мобильных настроек, на ней можно получить код, к-ый надо отправить на определенный номер, но у МТС есть неприятная особенность — весь трафик из фейсбука (возможно от других соц. сетей тоже) блокируется, получается что смс с ответным кодом не придет. Решение — подключить услугу МТС Онлайн, все это дело стоит 1.5 руб в день, правда нам ведь никто не мешает подключить и сразу отключить
Вышел php 5.5 alpha 2
StandardВышла 2 альфа версия PHP 5.5. Качаем с этой страницы.
Из нового:
- Функция empty() теперь поддерживает выражения и вызов функции как аргументы.
До этого момента был возможен вызов empty($somevar), но нельзя было сделать empty(some_function()) - Оптимизирован доступ к временным и скомпилированным VM переменным. На 8% меньше обращений к памяти.
- MySQL расширение теперь бросает E_DEPRECATED ошибку, вместо него используйте MySQLi, PDO или Mysqlnd
- Оптимизация VM стека
Все это не может не радовать, пхп становится лаконичней и быстрее.
Doctrine Collection против array_chunk
StandardСтолкнулся с такой задачей: необходимо разбить коллекцию объектов (Doctrine) на части. Изначально подумывал использовать array_chunk, но ему на вход нужно подать массив, ок — doctrine поддерживает метод ->toArray(), но проблема в том, что toArray() превращает и коллекцию и объекты, которые в ней содержатся в массив. Можно было бы поизвращаться с Doctrine Pager, но решение уже существовало — метод getData(), к-ый надо выполнить над коллекцией. В итоге получаем массив содержащий объекты.
Вычисляем md5 и sha1 строки в консоли
StandardЧасто бывает необходимо вычислить md5 (или sha1) значение строки (для паролей, к примеру). Раньше мне приходилось идти в браузер набирать в поисковике «md5 online», теперь использую только консоль. На маке есть чудесная программа openssl, ее мы будем использовать для вычисления. Т.к. взять аргумент в alias нельзя, приходиться создавать функции, итак мои функции для вычисления sha1 и md5 в ~/.bash_profile :
sha1(){
echo -n "$1" | openssl sha1;
}
# Назвал не md5 тк такая прога уже есть в консоли мака,
# чтобы не затереть выбрал km5
km5(){
echo -n "$1" | openssl md5;
}
чтобы начать их использовать — набирите source ~/.bash_profile. Теперь можно вычислить sha1 от строки 111:
sha1 111
# => 6216f8a75fd5bb3d5f22b6f9958cdede3fc086c2
Как добавить / убрать слеш из урла
StandardСегодня речь пойдет о редиректах насущных, в прошлый раз я упомянал как сделать редирект с www на без www, сейчас задача убрать из урла слеш (или добавить), например должен отсылать 301 редирект на /.
Пропишите это в .htaccess:
# Чтобы убрать слеш
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Это чтобы добавить слеш
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]