Веб-сервер на Ubuntu
Устанавливаем веб-сервер на операционной системе Ubuntu Linux: lighttpd + mysql + informix + ftp
Подготовим операционную систему
Для началу установим Ubuntu Server. Предположу, что уровень подготовки позволит это сделать самостоятельно и перейдем к более тонкой настройке программ.
Подразумевается, что на сервере уже установлены OpenSSH и mc:
atp-get install mc
atp-get instal ssh
Обновляю список пакетов и зависимостей:
apt-get update
Обновлю систему. Данное действие не является необходимым и может быть даже нежелательным, если производится на рабочей системе
atp-get upgrade
Установка lighttpd:
Настоятельно рекомендую использовать lighttpd в качестве веб-сервера. Он значительно более легок, но не менее гибок.
Как установить lighttpd?
Устанавливаю все зависимые пакеты:
apt-get build-dep lighttpd
Устанавливаю Lighttpd из пакетов:
apt-get install lighttpd
Запускаем lighttpd так:
/etc/init.d/lighttpd restart
Должна появиться стартовая страница.
Устанавливаем PHP
С сайта php.net беру последнюю стабильную версию, кладу в /install и извлекаю из архива, после чего доустанавливаю все необходимое:
apt-get build-dep php5
cd /install/php-5.3.1
./buildconf --force
./configure --disable-debug --disable-ftp --disable-inline-optimization --disable-magic-quotes --disable-mbstring --enable-wddx=shared --enable-xml --with-regex=system --with-jpeg-dir=/usr/lib --with-zlib-dir=/usr/lib --with-zlib --without-pdo-sqlite --without-iconv --without-sqlite --enable-shared
make
make install
Все :)
Если все прошло по плану, то PHP установлен в каталог /usr/local/bin
Дальше инструкция по установке велит копировать файл php.ini по месту его постоянной дислокации (cp /install/php-5.3.1/php.ini-development /usr/local/lib/php.ini), однако опытным путем установлено, что пока этого делать не надо.
Пока создадим пустой файл php.ini по тому же пути.
cat /dev/null > /usr/local/lib/php.ini
В результате, PHP работает в конфигурации по умолчанию. Если какой-либо параметр необходимо изменить- просто дописываем его в php.ini. Например, у меня файл имеет такой вид:
asp_tags = Off
precision = 14
output_buffering = 4096
register_globals=Off
date.timezone='Europe/Kiev'
extension=gd.so
extension=exif.so
extension=mysql.so
Включаюмодульfast-cgi и simple-vhost: (для обработки php-сценариев при помощи внешнего обработчика и поддержки виртуалхостов)
lighty-enable-mod fastcgi
lighty-enable-mod simple-vhost
Основной конфиг lighttpd – файл /etc/lighttpd/lighttpd.conf
В том же каталоге кроме lighttpd.conf лежат 2 подкаталога: conf-available и conf-enabled
Первый – список всех возможных дополнительных конфигов. Второй – линки на те, что действительно будет использоваться
Создаем нужные линки:
@05-auth.conf
@10-fastcgi.conf
@10-simple-vhost.conf
---- @10-fastcgi.conf -------
Файл конфига содержит примерно такой код:
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
((
"socket" => "/tmp/php.socket",
"bin-path" => "/usr/local/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 20
))
)
Здесь надо изменить путь к php-cgi, он должен быть таким: /usr/local/bin/php-cgi
---- @10-simple-vhost.conf -----
server.modules += ( "mod_simple_vhost" )
simple-vhost.server-root = "/www"
simple-vhost.document-root = "/www/"
simple-vhost.default-host = "192.168.1.150"
$HTTP["host"] =~ "online1.company" {
server.document-root = "/www/myhost"
accesslog.filename = "/var/log/lighttpd/myhost_access.log"
}
$HTTP["host"] =~ "products1.company" {
server.document-root = "/www/products"
accesslog.filename = "/var/log/lighttpd/online_access.log"
}
Установка Mysql
Установлю клиентские библиотеки, необходимые для работы модулей PHP:
apt-get build-dep mysql-client
cd /install/php-5.3.1/ext/mysql
phpize
./configure
make
make install
если проблемыс путями –
./configure --with-mysql=/usr/bin/ --with-libdir=lib64
Если необходимо установить еще и MySQL server, делаем так:
apt-get build-dep mysql
apt-get install mysql
При установке будет запрошен пароль рута на СУБД.
Запускаем лайти:
/etc/init.d/lighttpd restart
Установка и настройка Informix client
Установка Informix CSDK не является обязательной и выполнялась в нашем случае по суровой жизненной необходимости.
groupadd informix
useradd -g informix -p vtnhj80cnhjq -d /opt/informix informix
mkdir /opt/informix
chown informix.informix /opt/informix
export INFORMIXDIR=/opt/informix
export PATH=$PATH:$INFORMIXDIR/bin
export DB_LOCALE=ru_ru.1251
export CLIENT_LOCALE=ru_ru.1251
/opt/informix/.profile
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=ol_bear
export DB_LOCALE=ru_ru.1251
export CLIENT_LOCALE=ru_ru.1251
export DBDATE=DMY4
apt-get install bc
Если установка производится на платформе 64bit – не обходимо установить соответствующую Java-машину:
apt-get install sun-java6-bin
дальше-установка клиента в /opt/informix
cd /install/ids
./ids_install
Прописываю файлы:
/opt/informix/etc/sqlhosts
ol_bear olsoctcp bear.company servbear
/etc/services
servbear 1528/tcp informix on bear
It would seem as though 'libstdc++5' has been dropped from the Ubuntu repositories as of the latest version, 9.10 (Karmic). Although it still includes 'libstdc++6', any non-Ubuntu applications may suffer because of this. One small workaround is to simply install the 9.04 (Jaunty) packages. Here is a little tutorial on how to do just that.
First, create a directory to hold the new packages, 'cd' into it and download the packages.
For 32-bit users
mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_i386.deb
sudo updatedb
locate libstdc++.so.
For 64-bit users ...
mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.de

