Tag: howto

How-to, linux, жизнь @ 05 Апрель 2009, “3 Comments”
Вчера/сегодня настраивал человеку сервер, для wtorrent+rtorrent. Наткнулся на несколько проблем.
Симптоматика примерно следующая:
С thepiratebay.org и других открытых трекеров скачивает свежий rtorrent без проблем, а на всяких Demonoid.com, tfile.ru, torrents.ru выдаёт "Timed Out".
Такое наблюдается на старых системах, с не очень свежим curl(За решение спасибо клиенту, что он откопал).
Собственно этот пост посвящён особенностям связки wtorrent+rtorrent на старых системах.
Итак, на текущий момент собирать всё из svn попросту необходимо(это актуально даже на системах типа Ubuntu), поскольку свежий wtorrent работает нормально только со свежим же rtorrent.

Итак, нам понадобятся свежие curl, c-ares(для curl), xmlrpc-c, ну и конечно rtorrent и libtorrent.
Рекомендую сделать отдельную папку compile(например) и собирать всё в ней.
Сборку начнём с c-ares, поскольку его использует curl, а тот в свою очередь используется xmlrpc:
mkdir compile && cd compile
http://c-ares.haxx.se/c-ares-1.6.0.tar.gz
tar zxvf c-ares-1.6.0.tar.gz
cd c-ares*tar.gz
./configure --prefix=/usr
make -j5 //j5 на двухядерную машину
sudo make install

Затем соберём curl:
cd ../
wget http://curl.haxx.se/download/curl-7.19.4.tar.bz2
tar xvfj curl*tar.bz2
cd curl*
./configure --enable-ares --prefix=/usr
make -j5
sudo make install

Ну и xmlrpc, чтобы можно было работать совместно с wtorrent:
cd ../
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c/
./configure --prefix=/usr
make -j5
sudo make install

Теперь осталось только что и собрать rtorrent и libtorrent:
cd ../
svn co svn://rakshasa.no/libtorrent/trunk torrent
cd torrent/libtorrent
./autogen.sh
./configure --prefix=/usr
make -j5
sudo make install
cd ../rtorrent
./autogen.sh
./configure --prefix=/usr --with-xmlrpc-c
make -j5
sudo make install

После этого вполне можно установить wtorrent по этой инструкции.
Кстати, хочу подсказать если у вас при установке никак не хочет соединяться wtorrent с rtorrent'ом, имеет смысл попробовать в настройках поменять порт на 80(чего то они в последних версиях wtorrent'а черезчур намутили). Также имеет смысл в настройках apache поставить авторизацию к директории /RPC2, а то каждый кто захочет сможет вашей качалкой попользоваться :)
linux, Maxsite CMS @ 20 Февраль 2009, “2 Comments”
Не секрет, что базовые настройки из пакетов - далеко не оптимальны. После аренды VPS у меня на этой связке из 256Мб доступной оперативной памяти было использовано порядка 190Мб, что согласитесь - многовато. Основными потребителями памяти в связке, понятное дело, являются apache и mysql. Сейчас мы рассмотрим как это потребление можно уменьшить, и при этом повысить производительность системы в целом. Особо хочу сказать, что читать, возможно, имеет смысл только тем, кто уже как то сталкивался с настройкой серверов(в любом случае с удовольствием приму любые советы).
Далее...
How-to, linux @ 22 Январь 2009, “61 Comments”
В общем по многочисленным просьбам трудящихся, исправленная и переработанная версия how-to установки rtorrent+wtorrent(rtGui и прочих). Установка будет происходить на примере wtorrent, однако Вы без проблем сможете устаноть любой другой понравившийся веб интерфейс.
Из необходимых оговорок: эта связка ставилась на Debian 5 Lenny, вот буквально пару часов назад.
В ходе этого хауту я буду давать необходимые и достаточные пояснения по описанию того, что мы там будем делать. В конце я буду рад замеченным Вами ошибкам, дополнениям.
Итак, установка будет происходить как и в прошлый раз на вебсервер Apache(в testing это 2.2.9) и php5(5.2.6)
Установка будет происходить из репозиториев, благо это достаточно быстрый и удобный способ. Особой производительности полученного вебсервера нам не требуется. Под катом собственно сама установка.
Далее...
linux, жизнь @ 04 Январь 2009, “6 Comments”
Заметка очень короткая, поскольку делать в ней надо всего ничего. И, возможно, она касается только моего компьютера.
Итак, задача: сделать возможность болтать по скайпу, слушать музыку и смотреть флэш со звуком одновременно.
Я тут недавно всё переставлял изза глюка винды, и последующего моего тупизма. Потерял большинство наработок, которые набрались за год использования Linux.
В общем в итоге поставил сначала openbox, но что то там мне стало очень лень всё настраивать и я поставил базовую систему ubuntu-desktop.
И обнаружил в ней, что весь аудиовыход идёт через pulseaudio, в отличие от старого и надёжного alsa, с которым я проблем не имею вообще(и конфигурируемость у него повыше).
Итак - удаляем pulseaudio:
sudo aptitude remove pulseaudio && sudo aptitude purge pulseaudio
Это удалит начисто весь pulseaudio из системы.
Затем идём в Система - Параметры - Звук:
Везде ставим "ALSA - Advanced Linux Sound Architecture"
В каналах микшера по умолчанию:"HDA NVidia(Alsa mixer)"
Вуаля - Готово!

P.S. Это также у меня на моём позволило убрать лишний хрип из динамиков при работе со скайпом.
linux @ 02 Январь 2009, “5 Comments”
Сегодня ночью у себя на ноутбуке ставил связку, позволяющую принять на себя огромную нагрузку.
Сперва наперво нужно провести подготовительные установки перед сборкой пакетов:
sudo -s
Далее будем работать от рута.
cd /usr/src
apt-get build-dep php5
apt-get build-dep nginx

Собираем php c патчем php-fpm и nginx:
wget http://us.php.net/get/php-5.2.8.tar.bz2/from/this/mirror
tar xjf php-*.tar.bz2
wget http://php-fpm.anight.org/downloads/head/php-5.2.8-fpm-0.5.10.diff.gz
cd php*/
zcat ../php*fpm*.diff.gz | patch -p1
EXTENSION_DIR=/usr/lib/php5/modules ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d \
--enable-fastcgi \
--enable-force-cgi-redirect \
--disable-posix \
--enable-exif \
--enable-ftp \
--enable-bcmath \
--enable-zip \
--with-bz2 \
--with-curl \
--with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir \
--with-openssl \
--with-pcre-regex=/usr \
--with-zend-vm=GOTO \
--with-zlib \
--with-mysql \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-conf=/etc/php-fpm.conf \
--with-fpm-log=/var/log/php-fpm.log \
--with-fpm-pid=/var/run/php-fpm.pid
make
strip sapi/cgi/php-cgi
Устанавливаем php5
make install


ln -s /usr/sbin/php-fpm /etc/init.d/php-fpm
sudo gedit /usr/local/etc/php-fpm.conf

Меняем значения user и group на:
www-data
www-data

Собираем и настраиваем nginx:
wget http://sysoev.ru/nginx/nginx-0.7.30.tar.gz
tar xzvf nginx-*.tar.gz
cd nginx*/
./configure --sbin-path=/usr/local/sbin --prefix=/usr/nginx --with-http_ssl_module
--without-mail_pop3_module --without-mail_imap_module
--without-mail_smtp_module
make
make install

Делаем инит скрипт для nginx:
vim /etc/init.d/nginx
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/nginx.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/nginx.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0


sudo chmod +x /etc/init.d/nginx
Добавляем php-fpm и nginx в автозапуск:
/usr/sbin/update-rc.d -f php-fpm defaults
/usr/sbin/update-rc.d -f nginx defaults

Скачиваем конфиг nginx для Maxsite CMS:
wget http://librarian.spb.ru/configs/nginx.conf -O /usr/nginx/conf/nginx.conf
Нужно его немного подправить на предмет исправления /home/lib/www/localhost на папку, в которой у Вас будет находится сам сайт и замену localhost на домен по которому Ваш сайт будет открываться.
vim /usr/nginx/conf/nginx.conf
Запускаем последовательно:
/etc/init.d/php-fpm start
/etc/init.d/nginx start

Самое сложное закончилось(то над чем я всю ночь сидел, не над сборкой, а над конфигурированием), теперь простенькое - установка mysql и Maxsite CMS:
aptitude install mysql-server
Вводим пароль, повторяем.
Создаем базу данных(вообще было бы неплохо ещё пользователя создать, да ограничить его в правах, но мне было лень):
mysql -uroot -pPASS
mysql > CREATE DATABASE name;
mysql > quit

База есть, теперь приступим к установке Maxsite CMS, на текущий момент последней стабильной версией является 0.27. Перед установкой следует выйти из root режима:
logout или Ctrl+D
cd /home/lib/www/localhost
wget http://max-3000.com/uploads/mso-0-27.zip
unzip mso*.zip
cp application/config/database.php-distr application/config/database.php
vim application/config/database.php

прописываем настройки подключения к базе данных:
$db['default']['hostname'] = "localhost"; // хост БД
$db['default']['database'] = "name"; // имя базы данных
$db['default']['username'] = "root"; // имя пользователя БД
$db['default']['password'] = "PASS"; // пароль


cp application/maxsite/mso_config.php-distr aplication/maxsite/mso_config.php
vim application/maxsite/mso_config.php

Прописываем секретную фразу
$MSO->config['secret_key'] = '$upeR$ecRetPpAa$SPhraSe';
Устанавливаем свой config файл
wget http://librarian.spb.ru/configs/maxsite_config.txt -O application/config/config.php
vim application/config/config.php

Заменяем
$config['base_url'] = "http://localhost/";
На Ваш домен.
Теперь можно открыть http://localhost/, ввести имя пользователя, пароль, имя сайта и электропочту :)
На этом всё, если будут какие-то баги - обращайтесь, помогу. Связаться со мной можно через форму на сайте: http://librarian.spb.ru/contact или через jabber: menkovich@gmail.com

При настройке использовались:
Установка nginx+php-fpm на Centos/Fedora/Debian
Установка nginx+php-fpm
Setup CodeIgniter on nginx server with FastCGI

P.S. По бенчмарку результат не очень хороший: 27.5 запросов в секунду выдерживает(но это я параллельно ещё в инете сидел, писал пост слушал музыку и так далее) Я думаю что специально сконфигурированные вебсервера выдержат НАМНОГО большую нагрузку.
← + Ctrl + →