Установка из пакетов или портов в ОС OpenBSD

Cекция содержит замечания и советы, которые касаются установки PHP на ОС » OpenBSD.

Работа с бинарными пакетами

Бинарные пакеты для установки PHP на OpenBSD — простейший и рекомендованный способ. Ядро (основной пакет) отделили от модулей, но каждый из них устанавливается или удаляется независимо от другого. Файлы, которые потребуются для установки, доступны на CD-диске с ОС OpenBSD или на FTP-сервере.

Основной пакет, который потребуется установить — php, он содержит базовый движок (плюс модули fpm, gettext и iconv) и доступен в разных версиях на выбор. Затем обратите внимание на пакеты модулей наподобие php-mysqli или php-imap. Включением модулей в файле php.ini управляют командой phpxs.

Пример #1 Пример установки пакетов в OpenBSD

# pkg_add php
# pkg_add php-apache
# pkg_add php-mysqli
  (install the PEAR libraries)
# pkg_add pear

Следуйте инструкциям, которые выводят пакеты во время установки!

  (to remove packages)
# pkg_delete php
# pkg_delete php-apache
# pkg_delete php-mysqli
# pkg_delete pear

Страница руководства к функции » packages(7) даёт больше информации о бинарных пакетах в ОС OpenBSD.

Использование портов

PHP также компилируют из исходного кода » дерева портов. Способ рекомендуют только пользователям с опытом работы в ОС OpenBSD. Порт PHP разделили на ядро и модули. Модули генерируют подпакеты для каждого модуля, который поддерживается PHP. Параметр вроде no_*, где вместо символа звёздочки указали название модуля, не станет создавать модуль. Например, чтобы пропустить и не создавать модуль imap, устанавливают параметр no_imap.

Стандартные проблемы

  • Веб-серверы Apache и Nginx больше не веб-серверы по умолчанию для OpenBSD, но они доступны в портах и пакетах. Новый сервер по умолчанию называется 'httpd'.
  • Стандартная установка httpd работает » в изоляции chroot(2), что запрещает PHP доступ к файлам вне каталога /var/www. Поэтому потребуется создать директорию /var/www/tmp, чтобы сохранять файлы PHP-сессий, или использовать альтернативный бэкенд для управления сессиями. Сокеты баз данных потребуется разместить в изоляции или прослушивать на интерфейсе localhost. При работе с сетевыми функциями отдельные файлы из каталога /etc наподобие /etc/resolv.conf и /etc/services потребуется переместить в каталог /var/www/etc. Пакет OpenBSD репозитория PEAR автоматически устанавливается в правильные каталоги chroot.
  • Пакет модуля » gd для OpenBSD требует установки графического интерфейса Xorg. Пакет добавляют после базовой установки (смотрите » OpenBSD FAQ#4), если пакет ещё не установили при базовой установке путём добавления набора файлов xbase.tgz.
Добавить

Примечания пользователей 2 notes

up
20
pete att shitnami.net
9 years ago
A brief update: As of OpenBSD 5.7 (2015) the installation process is extremely easy. Apache httpd was replaced by Nginx, which has since been further replaced by OpenBSD's own server, aptly named 'httpd'.

'httpd' is installed by default, everything else you can still get from packages, with a couple name changes (including Apache and Nginx.) You will be asked which version to install - at the time of writing, versions 5.3.29p1 thru 5.6.5 are available.

#pkg_add php
#pkg_add php-fpm
#pkg_add pear

----
OpenBSD disables most services by default; a blank '_flags' line overrides default 'NO' value. pkg_scripts are located in /etc/rc.d/
To start at boot, edit "/etc/rc.conf.local":

httpd_flags=
pkg_scripts=php_fpm

----
Example /etc/httpd.conf
#
# paths are relative to chroot - e.g, '/var/www/run/php-fpm.sock'
server "default" {
listen on * port 80
location "*.php" {
fastcgi socket "/run/php-fpm.sock"
}
directory index index.php
root "/htdocs"
}

----
For date, timezone issues, copy /etc/localtime:
$cp /etc/localtime /var/www/etc/localtime

If 'localhost' DNS name fails to resolve, copy /etc/hosts
$cp /etc/hosts /var/www/etc/hosts
up
18
Anonymous
3 years ago
UPDATE: OpenBSD 6.9:

- The package "php-fpm" no longer exists. It's the default, so you can just install "php".
- The /var/www/tmp directory will be created automatically when you install PHP.
- PHP 8 is available :D as well as older versions. pkg_add will ask you which version to install.
To Top