PHP 8.4.1 Released!

Рекомендаціі щодо встановлення OpenBSD

Цей розділ містить примітки та підказки щодо встановлення PHP на » OpenBSD.

Використання бінарних пакетів

Використання бінарних пакетів для встановлення PHP на OpenBSD є рекомендованим і найпростішим методом. Основний пакет було відокремлено від різних модулів, і кожен з них може бути встановлений і видалений незалежно від інших. Файли, які вам потрібні, можна знайти на вашому компакт-диску OpenBSD або на FTP-сайті.

Основним пакетом, який потрібно встановити, є php, який містить базовий движок (а також fpm, gettext та iconv) і може бути доступний у кількох версіях на вибір. Далі зверніть увагу на пакети модулів, таких як php-mysqli або php-imap. Вам потрібно використовувати команду phpxs для активації та деактивації цих модулів у вашому php.ini.

Приклад #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_* FLAVOR. Наприклад, щоб пропустити збірку модуля imap, встановіть FLAVOR у значення 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.
  • Пакет OpenBSD для розширення » gd потребує встановлення Xorg. Якщо його не було встановлено під час базового встановлення шляхом додавання набору файлів xbase.tgz, його можна додати після встановлення (див. » OpenBSD FAQ#4).
add a note

User Contributed Notes 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