Решение проблемы с $PHP_AUTOCONF в FreeBSD

FreeBSDПри установке из портов вылезла ошибка:

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script

Сначала смотрим какие версии последние в системе:

# ls -la /usr/local/bin | grep autoconf
# ls -la /usr/local/bin | grep autoheader

Затем устанавливаем значение переменных в соответствии с последними версиями:

# setenv PHP_AUTOCONF autoconf-2.68
# setenv PHP_AUTOHEADER autoheader-2.68

Колисниченко Д. Н. FreeBSD. От новичка к профессионалу.

FreeBSD. От новичка к профессионалуВышла новая книга по FreeBSD от Дениса Колисниченко. От его прошлой книги я был не в восторге, но новую книгу решил купить, так как других книг по этой теме пока всё равно нет. Даже если удастся использовать 5-10% информации из книги, то это будет уже прекрасно.

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

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

Backup данных на FreeBSD по расписанию

Опишу небольшой скрипт для резервного копирования данных и общий ход его применения. Для начала создадим файл, в котором будет хранится скрипт:

# touch backup

Делаем его исполняемым:

# chmod 700 backup

Добавляем в файл команды. Так как скрипт будет запускаться по crontab, в котором нет переменной окружения $PATH, то прописываем полные пути к нужным файлам.

#!/bin/sh

FILE="/etc /usr/local/etc /usr/home /var/db/mysql"
NAME=`/bin/date '+%Y%m%d'`
tar -cPzf /mnt/backup/${NAME}.tar.gz ${FILE}

 

Теперь пояснения к скрипту. В переменной FILE задаются пути к папкам подлежащим копированию. Переменная NAME задает вид имени будущего архива. В данном случае имя будет состоять из года, месяца и дня в который осуществляется копирование. Примерный вид — 20101128.tar.gz.

В последней строчке команде tar указывается с помощью ключей, что файлы нужно не только объединить, но и сжать. Затем указывается путь КУДА записывать архив /mnt/backup/${NAME}.tar.gz и ОТКУДА копировать ${FILE}

Остается последний штрих — внести выполнение данного скрипта в расписание. Для этого вызываем команду crontab -e и вписываем следующую строчку:

#backup
20    4    *    *    7    /usr/home/scripts/backup

В данном примере скрипт будет запускаться каждую субботу в 4 часа 20 минут. 

Установка ionCube PHP на FreeBSD 6

Иногда требуется установить ionCube PHP для работы некоторых PHP скриптов. Делается это просто.

Сначала нужно определить версию своей ОС. К примеру так:

# uname -a

Допустим у нас FreeBSD 6. Тогда качаем нужный архив:

# wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_fre_6_x86.tar.gz

Затем распковывываем его:

# tar xvzf ioncube_loaders_fre_6_x86.tar.gz -C /usr/local/

Определяем кокая версия PHP стоит на сервере:

# php -v

Допустим у нас стоит PHP 5.2.4, тогда вписываем в начало файла /usr/local/etc/php.ini строчки:

zend_extension = «/usr/local/ioncube/ioncube_loader_fre_5.2.so»
zend_extension_ts = «/usr/local/ioncube/ioncube_loader_fre_5.2_ts.so»

Перезапускаем апач и проверяем установку командой php -m
должно появится что-то вроде этого:


xmlwriter
Zend Optimizer
zlib

[Zend Modules]
Zend Extension Manager
Zend Optimizer
the ionCube PHP Loader

Последняя строчка означает, что всё прошло успешно.

Если апач не запускается, то можно попробовать добавить строчки не в файл /usr/local/etc/php.ini, а в файл /usr/local/etc/php/extensions.ini

Книга Д.Н. Колисниченко FreeBSD 8

FreeBSD 8. Руководство администратораВышла новая книга по FreeBSD 8 от известного автора Колисниченко. Какого-то особого акцента на 8 ветке я не заметил. Информация представленная в книге вполне подойдет и для 6-7-ых веток. Несомненным плюсом книги служат рекомендации по русификации консоли и работе с кириллицей в других местах.

В целом книга мне показалась через чур лаконичной. Особенно по сравнению с книгой Брайана Таймэна»FreeBSD 6. Полное руководство». Огорчило очень поверхностное описание брандмауэра. Тем не менее книга будет полезна тем кто только осваивает FreeBSD, а вот профессионалам она может оказаться бесполезной.

Заказать книгу можно по этой ссылке — Д. Н. Колисниченко
FreeBSD 8. Руководство администратора
.

Установка и использование SVN

Задача: установить 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/

Фотографии из жизни
Каргалинские медные рудники каменная насыпь у северо-восточного склона и большой камень на юго-восточном. HP Jornada 720 Орский авиаспортивный клуб Стрижи Суундук Орский авиаспортивный клуб Стрижи
Подписка