Archive

Archive for the ‘System administration’ Category

Установка eAccelerator на Debian Squeeze

March 20th, 2012 4 comments

Давно хотел заморочиться и написать статью о том, как правильно установить eAccelerator на Debian. Чудо совершилось – я пишу. 😉 К сожалению, *deb-пакеты этого чуда отсутствуют, потому нам придется собирать из исходных кодов.

Устанавливаем необходимые для сборки пакеты:

# aptitude -y install install build-essential php5-dev

Скачиваем архив отсюда и заливаем на сервер. Распаковываем, переходим в папку:

# cd eaccelerator-0.9.6.1

Далее делаем необходимые для сборки действия:

# phpize

Конфигурим:

# ./configure

Компилим:

# make

устанавливаем:

# make install

Проверяем:

# php-cgi -v

Либо:

# php -v

На что нам отобразится что-то вроде:

PHP 5.3.3-7+squeeze8 with Suhosin-Patch (cgi-fcgi) (built: Feb 10 2012 14:12:37)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

Почти всё. Теперь осталось создать файлы конфигов и временные папки. Создаем папку:

# mkdir -p /var/cache/eaccelerator

Даем права:

# chmod -R 777 /var/cache/eaccelerator

Создаем конфиги. Сделать можно несколькими способами: прописать напрямую в php.ini, либо создать отдельный файл в папке /etc/php5/conf.d, что мы и сделаем.

# nano /etc/php5/conf.d/eaccelerator.ini

Вставляем конфиг:

extension=”eaccelerator.so”
eaccelerator.shm_size=”64″
eaccelerator.cache_dir=”/var/cache/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”1800″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″

Всё, можно проверять:

# /etc/ini.d/apache2 restart

На этом конфигурация завершена. Остался один момент: иногда при попытке запуска eAccelerator возникает ошибка:

eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel allows is 33554432. Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax.
PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0

Что бы пофиксить, прописываем в конец файла  /etc/sysctl.conf  строчку:

kernel.shmmax=67108864

После выполним:

# echo 67108864 > /proc/sys/kernel/shmmax

После ошибка исчезает и eAccelerator нормально работает. Удачи!

Автоматизируем процесс настройки системы с помощью bash-скриптов

March 19th, 2012 No comments

Итак, я всем давно обещал рассказать про то, какая же замечательная эта вещь – bash-скрипты. Они могут использоваться во многих целях: для автоматизации первичной настройки системы, для выполнения бекапов, для автоматизации обслуживания серверов и для многих других полезных вещей.

Итак, сегодня я покажу как написать bash-скрипт на примере сборки nginx из исходных кодов. В этом способе есть плюсы и минусы: плюс – всё прозрачно и легко настраиваемое, минус – привязка к дистрибутиву и его версии.

Итак, что делает скрипт: он удаляет старую версию nginx, (если такая есть) причем не важно, собирался ли он из исходных кодов, или устанавливался из *deb-пакета – старая версия всё равно будет удалена. Далее – ставит и/или обновляет необходимые для сборки пакеты (очень удобно в том случае, если ранее стоял просто *deb-пакет). Далее скрипт скачивает с официального сайта пакет с исходниками nginx, конфигурирует их, компилирует и устанавливает, после чего стартует службу и  прописывает ее в rc.d 🙂

Read more…

Установка nginx из исходников

February 26th, 2012 No comments

День добрый %) Сегодня мы соберем из исходных кодов nginx – самый быстрый http-сервер.

Итак, переходим в папку, в которой будем собирать сырцы:

# cd ~/

Скачиваем nginx (на момент написания этой статьи версия была 1.1.15):

# wget http://www.nginx.org/download/nginx-1.1.15.tar.gz

переходим в папку со скачанным архивом nginx:

# cd nginx-1.1.15

Распаковываем:

# tar -xvf  nginx-1.1.15.tar.gz

Ставим необходимые библиотеки/пакеты, которые необходимы для сборки nginx:

# aptitude install build-essentials libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev

Конфигурируем с параметрами (кстати, описание всех директив с параметрами конфигурации можно найти здесь):

# ./configure –user=www-data –group=www-data –with-http_ssl_module –with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_dav_module –with-http_flv_module –with-http_gzip_static_module –with-mail  –with-mail_ssl_module

Read more…

Ставим dd-wrt на Linksys WRT54GS

February 12th, 2012 No comments

Итак, сегодня мы будем ставить альтернативную прошивку dd-wrt, которая основана на ядре Linux. dd-wrt существенно увеличивает функционал роутера, добавляет огромное количество функций, как правило потребляет меньший объем оперативной памяти, увеличивает мощность сигнала Wi-Fi до трех раз и позволяет разгонять процессор. Помимо огромного расширения функционала ваш роутер может стать torrent/ftp/web/samba сервером, и может управляться при помощи sshd. dd-wrt является свободным программным обеспечением.

Установка dd-wrt на разных роутерах может несущественно отличаться, но сегодня мы будем препарировать Linksys WRT54GS (данная инструкция должна подходить ко всем роутерам этой линейки).

Идем на dd-wrt.com и ищем свой роутер. Внизу девайса, на пломбе, должна быть написана версия железа, соответственно выбираем прошивку в списке под конкретную версию железа. Мне попалась версия 5.1, потому я использова эту прошивку.

Итак, на страничке вашего роутера и версии железа необходимо будет скачать файлы vxworks_killer_gs_v08.zipvxworks_prep_gs_v03.zip и dd-wrt.v24_micro_generic.bin.

Включаем ваш роутер в розетку, присоединяемся к нему по проводу. Заходим на web-интерфейс по адресу 192.168.1.1, идем в Administration -> Firmware Upgrade -> жмем “Обзор” и указываем на файл vxworks_prep_gs_v03.bin. После ждем, пару минут и наблюдаем, что веб-интерфейс стал белым. Файлик vxworks_prep_gs_v03.bin разлочивает возможность прошивки и удаляет старую, после чего DHCP-сервер становется неработоспособным. Для того, что бы продолжить отключаем роутер, после чего в настройке вашего сетевого подключения указываем статические настрйки: ip 192.168.1.2 и маску 255.255.255.0. Идем по адресу 192.168.1.1 и видим приглашение загрузить следующий файл под названием Management Mode. Жмем “Обзор” и указываем файл vxworks_killer_gs_v08.bin. Ждем, отключаем роутер. Далее, нам понадобится tftp-клиент. Если Вы пользователь Windows – то можете скачать предложенный на сайте dd-wrt клиент, который можно скачать тут. А если Вы пользователь Linux, то установите при помощи вашего пакетного менеджера пакет tftp. В случае с Windows – открываем скачанную программу, нажимаем “Обзор” и указываем файл dd-wrtv24_micro_generic.bin. Убеждаемся, что адрес сервера 192.168.1.1. И жмем “Upload”. Ждем, пока лампочка питания перестанет мигать, отключаем роутер из розетки и включаем снова. Всё, теперь на вашем роутере стоит dd-wrt 🙂

 

Openfire: самый простой и самый функциональный Jabber-сервер + IM-gateway

February 1st, 2012 No comments

 

Привет! Давно хотел сделать несколько статей, посвященных серверам Jabber. На самом деле, их очень много, под разные ОС и под разные запросы. Сегодня я расскажу Вам про Openfire.

Openfire – очень функциональный, легко настраиваемый, с возможностью расширения функционала Jabber-север, реализованный на Java. Из плюсов – быстрая и простая установка, веб-интерфейс, где происходит настройка, простота настройки, плагины. Из минусов – Java (при 300+ клиентов нагрузка увеличивается в геометрической прогрессии), надежность,  маленькое количество плагинов.

Итак, будем меньше говорить и приступим к установке. Openfire кроссплатформенный, потому можно выбрать установку как для Windows, так и для Linux и Mac. В нашем примере мы берем установочный пакет для Debian на офф. сайте:

 

# wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.7.1_all.deb

Далее устанавливаем Java:

# aptitude install sun-java6-jre

После можно устанавливать пакет с Openfire:

# dpkg -i  openfire_3.7.1_all.deb

Всё, Openfire успешно установлен. теперь осталось произвести только настройку. Открываем браузер, переходим по IP или по домену сервера, а котором установлен Openfire. Обычно он находится на порту 9090. В моем случае это был http://localhost:9090.

Read more…