Table of Contents

, , , ,

Установка программ и FreeBSD 6.x для безошибочно верной инсталляции Dedikit

Операционная система должна быть свежеустановленной, без векового барахла. Настоятельно рекомендую обновить древо портов перед началом работ на сервере:

# portsnap fetch && portsnap extract

Стадия 1

Установка программного обеспечения из портов
Не стоит забывать про диалоговые окна в процессе установки приложений и периодчески заглядывать в консоль, в которой происходит сборка.

# make install clean -C /usr/ports/textproc/libxml2 && make install clean -C /usr/ports/ftp/curl && make install clean -C /usr/ports/mail/cclient && make install clean -C /usr/ports/security/mcrypt && \
make install clean -C /usr/ports/databases/mysql50-server && make install clean -C /usr/ports/www/nginx && make install clean -C /usr/ports/ftp/vsftpd && make install clean -C /usr/ports/graphics/jpeg && \
make install clean -C /usr/ports/graphics/png && make install clean -C /usr/ports/www/oops && make install clean -C /usr/ports/net-mgmt/net-snmp && make install clean -C /usr/ports/devel/libltdl15 && \
make install clean -C /usr/ports/ftp/wget && make install clean -C /usr/ports/net/mpd && make install clean -C /usr/ports/devel/zziplib && make install clean -C /usr/ports/textproc/libxslt && \
make install clean -C /usr/ports/textproc/sablotron && make install clean -C /usr/ports/net/cvsup

Стадия 2

Всяческие рулезы

# mkdir -p /home/mysql && chown mysql\: /home/mysql
# wget http://kyxap.crimea.ua/rc/vimrc -O ~/.vimrc
# wget http://kyxap.crimea.ua/rc/screenrc -O ~/.screenrc
# mkdir -p /opt/etc/php5 && mkdir -p /opt/etc/php4

Предварительно стягиваем последнее древо исходных кодов FreeBSD:

# cat > /root/standart.cvsup << EOF
*default host=cvsup13.us.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_6_2
*default delete use-rel-suffix
*default compress
src-all
EOF
# cvsup -g -L 2 /root/standart.cvsup

Включаем поддержку SASL2 по доке Аутентификация SMTP: штатный sendmail + SASL. Для установки дедикита надо выполнить п.1, п.2, п.3, п.5, п.7, п.8.

Если нам необходимо использовать apache-2.2.6, то в файл /boot/loader.conf нам необходимо добавить строчку accf_http_load="YES".
Загружаем модуль:

# kldload accf_http

Включаем форвардинг пакетов:

# sysctl -w net.inet.ip.forwarding=1

Добавляем дефолтные опции для сервера в /etc/make.conf

# cat > /etc/make.conf << EOF
BATCH=yes
WITHOUT_X11=yes
WITHOUT_FONTCONFIG=yes
EOF

Стадия 3

Добавление установленных демонов в список загружаемых сервисов + настройка демонов
Прописываем в /etc/rc.conf флаги для автозапуска нужных нам сервисов.

gateway_enable="YES"
named_enable="YES"
mysql_enable="YES"
mysql_dbdir="/home/mysql"
mysql_args="--skip-locking --skip-name-resolve -O max_connect_errors=500000 -O max_connections=1000"
sendmail_enable="YES"
vsftpd_enable="YES"
mpd_enable="YES"
oops_enable="YES"

В файле /usr/local/etc/vsftpd.conf должны содержаться следующие записи:

anonymous_enable=NO
background=YES
listen=YES
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES

Создаем дефолтные конфиги для mpd:

cd /usr/local/etc/mpd; cp mpd.conf.sample mpd.conf; cp mpd.links.sample mpd.links; cp mpd.script.sample mpd.script; cp mpd.secret.sample mpd.secret;

В файле /etc/namedb/named.conf ищем строку listen-on { 127.0.0.1; }; и комментируем ее.

Стадия 4

Установка APACHE из исходных кодов
Стягиваем в /opt/src необходимую версию apache отсюда: http://www.apache.org/dist/httpd/
Распаковываем, заходим в директорию с исходными кодами, создаем файл MyConfig.sh, в который записываем следующие строки:
Для apache-1.3.x

#!/bin/sh
OPTIM="-D_FILE_OFFSET_BITS=64 -DDEFAULT_LISTENBACKLOG=1024 -DHARD_SERVER_LIMIT=1024"  ./configure --prefix=/opt/<apache-1.3.x>  --enable-module=so --enable-module=rewrite --enable-module=ssl

Для apache-2.x

#!/bin/sh
OPTIM="-D_FILE_OFFSET_BITS=64 -DDEFAULT_LISTENBACKLOG=1024 -DHARD_SERVER_LIMIT=1024"  ./configure --prefix=/opt/<apache-2.x> --enable-so --enable-cgi --enable-rewrite --with-mpm=worker --with-expat=builtin

Компилируем, устанавливаем и создаем симлинку:

# sh MyConfig.sh
# make
# make install
# ln -s /opt/apache-x.x.x /usr/local/apache

Установка PHP из исходных кодов
Стягиваем в /opt/src необходимую версию php отсюда: http://museum.php.net/
Распаковываем, заходим в директорию с исходными кодами, создаем файл MyConfig.sh, в который записываем следующие строки:
(Для версии apache-1.x ключ –with-apxs, для версии apache-2.x ключ –with-apxs2)
Для php-4.x

#!/bin/sh
CFLAGS="-DEAPI -O2" ./configure  --prefix=/opt/php-4.x \
  --with-apxs=/usr/local/apache/bin/apxs \
  --with-config-file-path=/opt/etc/php4 \
  --enable-calendar \
  --enable-sysvsem \
  --enable-sysvshm \                                                                                                                                                                 
  --enable-sysvmsg \
  --enable-ftp \
  --enable-track-vars \
  --with-zip \
  --with-mysql=/usr \
  --enable-bcmath \
  --with-bz2 \ 
  --with-gd \
  --with-jpeg-dir \
  --with-zlib-dir \
  --with-curl \
  --enable-sockets \
  --with-iconv \
  --enable-mbstring \
  --enable-mbregex \
  --enable-ctype \
  --enable-shmop \
  --enable-wddx \
  --with-imap \
  --with-kerberos \
  --with-freetype-dir \
  --with-dom \
  --with-dom-xslt \
  --with-dom-exslt \
  --with-xmlrpc \
  --enable-xslt \
  --with-xslt-sablot \
  --with-expat-dir=/usr \
  --enable-dbase \
  --with-mime-magic \
  --with-mhash \
  --with-openssl \
  --with-mcrypt \
  --with-imap-ssl \
  --enable-memory-limit

Для php-5.x

#!/bin/sh
CFLAGS="-O2" ./configure  --prefix=/opt/php-5.х \
  --with-apxs2=/usr/local/apache/bin/apxs\
  --enable-calendar \
  --enable-sysvsem \
  --enable-sysvshm \
  --enable-sysvmsg \
  --enable-ftp \
  --with-mcrypt \
  --with-mysql \
  --with-mysqli \
  --enable-bcmath \
  --with-bz2 \
  --with-gd \
  --with-jpeg-dir \
  --with-zlib-dir \
  --with-curl \
  --enable-sockets \
  --with-iconv \
  --enable-mbstring \
  --enable-mbregex \
  --enable-ctype \
  --enable-shmop \
  --enable-wddx \
  --with-imap \
  --with-freetype-dir \
  --with-xmlrpc \
  --enable-dbase \
  --with-mime-magic \
  --with-mhash \
  --with-gettext \
  --with-imap-ssl \
  --with-pear \
  --with-openssl \
  --with-config-file-path=/opt/etc/php5

Компилируем, устанавливаем и создаем симлинку:

# sh MyConfig.sh
# make
# make install
# ln -s /opt/php-x.x.x /usr/local/php

Если при make install ругается что

cp: libs/libphp5.so: No such file or directory

то делаем:

1. run your configure script as it is
2. Open the libtool file that is created in the php source directory
3. find the variable definition: deplibs_check_method=
4. edit it to read: deplibs_check_method="pass_all"
5. run make

В зависимости от версии php, делаем:

# cp /opt/src/php-x.x.x/php.ini-dist в /opt/etc/phpX

Стадия 5

Запуск сервисов

# /etc/rc.d/sendmail restart
# /etc/rc.d/named start
# /usr/local/etc/rc.d/mysq-server start
# /usr/local/etc/rc.d/oops start
# /usr/local/etc/rc.d/vsftpd start
# /usr/local/etc/rc.d/mpd start
# /usr/local/apache/bin/apachectl start

Приложение к Стадии 4

Установка Zend Optimizer
Тянем архив:

# make fetch -C /usr/ports/devel/ZendOptimizer/ && mv /usr/ports/distfiles/ZendOptimizer-* /opt/src

Распаковываем, заходим в директорию и запускаем install-tty.
Следуем инструкциям инсталлятора, в пути к рнр.ini указываем значение переменной –with-config-file-path из файла MyConfig.sh.