Настраиваем связку Apache + PHP + MySQL на базе ОС OpenBSD 4.3::Журнал СА 6.2008
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

 Читать далее...

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

 Читать далее...

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

 Читать далее...

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 11110
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 9355
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 9413
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5900
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6602
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 3909
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2860
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3663
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3662
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6149
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

Друзья сайта  

 Настраиваем связку Apache + PHP + MySQL на базе ОС OpenBSD 4.3

Архив номеров / 2008 / Выпуск №6 (67) / Настраиваем связку Apache + PHP + MySQL на базе ОС OpenBSD 4.3

Рубрика: Веб /  Веб

Максим Гришков

Настраиваем связку Apache + PHP + MySQL
на базе ОС OpenBSD 4.3

Предположим, у вас возникла необходимость в развертывании веб-сервера с поддержкой PHP и MySQL. Данную задачу просто решить, имея под рукой свежий дистрибутив ОС OpenBSD 4.3, поскольку базовая установка данной ОС уже содержит настроенный и готовый к работе веб-сервер Apache версии 1.3. Остается только прикрутить к нему PHP и MySQL.

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

Установка СУБД MySQL

Устанавливаем пакет mysql-server:

# pkg_add -v mysql-server

parsing mysql-server-5.0.51a

<--- --->

mysql-server-5.0.51a: complete

--- mysql-server-5.0.51a -------------------

You can find detailed instructions on how to install a database

in /usr/local/share/doc/mysql/README.OpenBSD.

 

Using MySQL in an OpenBSD environment

 

If you are installing MySQL for the first time, you have to create

a default database first. In order to create the database, please run

/usr/local/bin/mysql_install_db

 Следуя совету, создаем системные таблицы в служебной БД:

# /usr/local/bin/mysql_install_db

Installing MySQL system tables...

OK

Filling help tables...

OK

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/local/bin/mysqladmin -u root password 'new-password'

/usr/local/bin/mysqladmin -u root -h bsd.my.domain password 'new-password'

 

Alternatively you can run:

/usr/local/bin/mysql_secure_installation

 Настраиваем безопасность с помощью скрипта mysql_secure_installation, для этого запускаем СУБД:

# /usr/local/bin/mysqld_safe &

Запускаем скрипт настройки безопасности:

# /usr/local/bin/mysql_secure_installation

Вводим пустой пароль пользователя root:

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Соглашаемся установить пароль для пользователя root и вводим пароль:

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

Удаляем анонимного пользователя:

Remove anonymous users? [Y/n] y

... Success!

Соглашаемся, что пользователю root можно заходить только с localhost:

Disallow root login remotely? [Y/n] y

... Success!

Удаляем тестовую БД:

Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Соглашаемся перезагрузить таблицу привилегий, для того чтобы изменения вступили в силу:

Reload privilege tables now? [Y/n] y

... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

Настройка безопасности закончена.

Поскольку в OpenBSD Аpache сконфигурирован для работы в chroot-окружении в директории /var/www, а сокет MySQL находится по адресу /var/run/mysql/mysql.sock, возникает проблема – Apache «не видит» директорию /var/run и сокет MySQL.

Решить проблему можно, создав жесткую ссылку на файл MySQL сокета mysql.sock:

# mkdir -p /var/www/var/run/mysql

# ln -f /var/run/mysql/mysql.sock

/var/www/var/run/mysql/mysql.sock

Для того чтобы активировать запуск СУБД MySQL во время загрузки, необходимо добавить следующую строчку в файл /etc/rc.conf.local:

mysqld=YES

После этого добавляем скрипт для запуска mysqld в файл /etc/rc.local после строки «starting local daemons» перед строкой «echo '.'»:

if [ X"${mysqld}" == X"YES" -a -x /usr/local/bin/mysqld_safe ]; then

echo -n " mysqld"; /usr/local/bin/mysqld_safe --user=_mysql --log --open-files-limit=256 &

for i in 1 2 3 4 5 6; do

if [ -S /var/run/mysql/mysql.sock ]; then

break

else

sleep 1

echo -n "."

fi

done

#

# Создаем MySQL-сокет в chroot-окружении Apache

mkdir -p /var/www/var/run/mysql

sleep 2

ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock

fi

Установка и настройка СУБД MySQL закончена.

Установка PHP

# pkg_add -v php5-core

 

<--- --->

php5-core-5.2.5p2: complete

--- php5-core-5.2.5p2 -------------------

To enable the php5 module please create a symbolic

link from /var/www/conf/modules.sample/php5.conf

to /var/www/conf/modules/php5.conf.

 

ln -s /var/www/conf/modules.sample/php5.conf /var/www/conf/modules

 

The recommended php configuration has been installed

to /var/www/conf/php.ini.

 

Don't forget that the default OpenBSD httpd is chrooted

into /var/www by default, so you may need to create support

directories such as /var/www/tmp for PHP to work correctly.

 

Следуя полученным советам, активируем модуль php5 путем создания символической ссылки:

# ln -s /var/www/conf/modules.sample/php5.conf /var/www/conf/modules

А также создаем директорию /var/www/tmp, принадлежащую пользователю www из группы www (apache), необходимую для корректной работы РНР в chroot-окружении:

#mkdir /var/www/tmp

#chown www:www /var/www/tmp

Устанавливаем модуль php5-mysql

# pkg_add -v php5-mysql

 

<--- --->

php5-mysql-5.2.5: complete

--- php5-mysql-5.2.5 -------------------

You can enable this module by creating a symbolic

link from /var/www/conf/php5.sample/mysql.ini to

/var/www/conf/php5/mysql.ini.

 

ln -fs /var/www/conf/php5.sample/mysql.ini /var/www/conf/php5/mysql.ini

 

Следуя полученному совету, активируем модуль php5-mysql путем создания символической ссылки:

# ln -fs /var/www/conf/php5.sample/mysql.ini /var/www/conf/php5/mysql.ini

Замечание: почему-то был создан пустой файл /var/www/conf/php5.sample/mysql.ini, исправим это:

cat extension=mysql.so > /var/www/conf/php5.sample/mysql.ini

Добавляем другие необходимые модули РНР, например, MCRYPT, GD, MHASH:

# pkg_add -v php5-mcrypt

 

<--- --->

php5-mcrypt-5.2.5: complete

--- php5-mcrypt-5.2.5 -------------------

You can enable this module by creating a symbolic

link from /var/www/conf/php5.sample/mcrypt.ini to

/var/www/conf/php5/mcrypt.ini.

 

ln -fs /var/www/conf/php5.sample/mcrypt.ini /var/www/conf/php5/mcrypt.ini

 

Активируем модуль php5-mcrypt путем создания символической ссылки:

# ln -fs /var/www/conf/php5.sample/mcrypt.ini /var/www/conf/php5/mcrypt.ini

Устанавливаем модуль php5-mhash:

# pkg_add -v php5-mhash

Далее аналогично php5-mcrypt.

Замечание: если во время установки системы вы не устанавливали компонент xbase43.tgz (базовая установка X11), то необходимо устанавливать пакет php5-gd-5.2.5-no_x11, в остальных случаях – php5-gd-5.2.5. Делается это при помощи параметра -i утилиты pkg_add:

# /usr/local/bin/mysql_install_db

 

Ambiguous: choose package for php5-gd

         0: <None>

         1: php5-gd-5.2.5

         2: php5-gd-5.2.5-no_x11

 

Вводим с клавиатуры «2» и жмем клавишу <Enter>.

Your choice: 2

Далее аналогично php5-mcrypt.

Настройка автозапуска Apache

Для того чтобы активировать запуск веб-сервера Apache во время загрузки, необходимо изменить значение флага httpd_flags в файле /etc/rc.conf.local:

httpd_flags=""

# for normal use: "" (or "-DSSL" after reading ssl(8))

Заключение

Потратив в результате выполнения вышеперечисленных несложных операций около 15 минут времени, имеем рабочую связку Apache+PHP+MySQL. Преимуществами такого подхода являются простота реализации, изначальная ориентированность ОС на обеспечение наивысшего уровня безопасности, а недостатком, на мой взгляд, не самая свежая версия веб-сервера Apache.

Удачи!

Приложение

OpenBSD

В мае этого года команда разработчиков OpenBSD объявила о выходе очередного релиза этой операционной системы под номером 4.3 (подробности см. на стр. 28-30). Операционная система OpenBSD берет начало от программной платформы Berkeley Software Distribution (BSD), разрабатывавшейся специалистами Калифорнийского университета в Беркли. Проект OpenBSD был основан Тео де Раадтом, одним из главных разработчиков NetBSD. В конце 1995 года в результате раскола в команде NetBSD Раадт был вынужден прекратить работы над этой операционной системой и заняться собственным делом. Основное внимание при разработке OpenBSD уделяется безопасности. Участники проекта подчеркивают, что за более чем десятилетнюю историю OpenBSD в базовых версиях операционной системы были выявлены только две уязвимости, допускающие удаленную эксплуатацию.

  1. Вышла операционная система OpenBSD 4.3 – http://www.astera.ru/software/?id=57346.
  2. How-to: OpenBSD 3.8+Apache+PHP+MySQL – http://www.freeyourbox.org/tutorials/bsd/obsd3.8_apache_php_mysql.html.
  3. Установка OpenBSD 4.2 – http://www.lissyara.su/?id=1589.
  4. Package Management – http://www.openbsd.org/faq/faq15.html.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru