- 記事一覧 >
- ブログ記事
FreeBSD-13.0-RELEASEにapache2,php,postgresql,openldapをインストール
はじめに
FreeBSD-13.0-RELEASE
に
・Apache 2.4.46
・PHP 7.4.16
・PostgreSQL 12.6
・OpenLDAP 2.4.58
インストールを行います。
作業時期は、2021年5月ですので、
時期によっては、バージョンが異なっていたり、
うまくいかなかったりするかもしれません。
【2023年11月更新】
ブログ投稿当時は存在したphp74が存在しなくなりました。その他、ブログ投稿当時と異なったバージョンがインストールされるため、新記事「【FreeBSD13+php74】pkgをビルドしてDeprecatedで消えたphp7.4.16をインストール」を追加しました。
apache2インストール から
# vi /usr/local/etc/apache24/modules.d/001_mod-php.conf
の直前までの手順は、新記事を確認してください。
apache2インストール
# pkg update
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
※以降基本的にYのため、-yを付けます。
-y は、? [y/N]: のようなときに自動的に y とするオプションです。
# pkg install -y apache24
# sysrc apache24_enable="YES"
sysrcコマンド:
apache24_enable="YES"を/etc/rc.confに追加します。
vi等エディタで手動で行っても同じことです。
phpインストール
# pkg install -y php74 php74-extensions php74-gd php74-mbstring php74-pear php74-gettext php74-iconv
php74-extensionsによって、
libedit: 3.1.20210216,1
libiconv: 1.16
php74: 7.4.16
php74-ctype: 7.4.16
php74-dom: 7.4.16
php74-extensions: 1.0
php74-filter: 7.4.16
php74-iconv: 7.4.16
php74-json: 7.4.16
php74-opcache: 7.4.16
php74-pdo: 7.4.16
php74-pdo_sqlite: 7.4.16
php74-phar: 7.4.16
php74-posix: 7.4.16
php74-session: 7.4.16
php74-simplexml: 7.4.16
php74-sqlite3: 7.4.16
php74-tokenizer: 7.4.16
php74-xml: 7.4.16
php74-xmlreader: 7.4.16
php74-xmlwriter: 7.4.16
sqlite3: 3.34.1,1
がインストールされます。
php74-gd php74-mbstring php74-pear php74-gettext php74-iconv
によって、さらに、
fontconfig: 2.13.93,1
freetype2: 2.10.4
giflib: 5.2.1
jbigkit: 2.1_1
jpeg-turbo: 2.0.6
libargon2: 20190702
libgd: 2.3.1,1
oniguruma: 6.9.6
pcre2: 10.36
php74-gd: 7.4.16
php74-gettext: 7.4.16
php74-mbstring: 7.4.16
php74-pear: 1.10.12
php74-zlib: 7.4.16
png: 1.6.37_1
tiff: 4.2.0
webp: 1.2.0
がインストールされます。
php74-gd:JPEG、PNG、GIFなどの画像処理ライブラリ拡張モジュールです。
php74-mbstring:マルチバイト文字を使用できるようにする拡張モジュールです。
php74-pear:PEAR (PHP Extension and Application Repository)を利用できるモジュールです。
PEARとは、クラスライブラリ群のことです。例えば、phpのコードでtarを扱えるようになるArchive_Tarなどです。
php74-gettext:複数言語対応拡張モジュールです。
php74-iconv:文字エンコーディング変換用拡張モジュールです。
php-pgsqlインストール
# pkg install -y php74-pgsql php74-pdo_pgsql
これ以前に
postgresql*-server postgresql*-client
がpkg installされている場合、削除されて、
postgresql12-client-12.6
がインストールされます。(2021年5月時点)
php74-pdo_pgsql は、PDOを使って、postgresqlを扱うことができる拡張モジュールです。
PDOとは、「PHP Data Objects」略で、PHPからデータベースの種類、バージョンを意識せずに扱える機能です。
postgresql12-serverインストール
# pkg install -y postgresql12-server
# sysrc postgresql_enable=yes
# /usr/local/etc/rc.d/postgresql initdb
/var/db/postgres/data12が作成されます。
/var/db/postgres/data12は、設定、データベースのバイナリデータがある領域です。
openldap-client-2.4.57インストール php-ldap対応
# pkg install -y php74-ldap
openldap-client: 2.4.58
php74-ldap: 7.4.16
がインストールされます。
(2021年5月時点)
バージョン確認
# postmaster -V
postgres (PostgreSQL) 12.6
# httpd -v
Server version: Apache/2.4.46 (FreeBSD)
# ldapsearch -VVV
ldapsearch: @(#) $OpenLDAP: ldapsearch 2.4.58 (Apr 15 2021 01:08:40) $
# curl -V
curl 7.75.0 (amd64-portbld-freebsd13.0) libcurl/7.75.0 OpenSSL/1.1.1k zlib/1.2.11 nghttp2/1.43.0
※curlは最初から入っていました。
その他作業
apache-php対応
# pkg install -y mod_php74
php-curl対応
# pkg install -y php74-curl
# vi /usr/local/etc/apache24/modules.d/001_mod-php.conf
以下を書き込み、保存します。
<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>
# apachectl configtest
Performing sanity check on apache24 configuration:
Syntax OK
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
phpのエラーを非表示から表示するに変更します。
# vi /usr/local/etc/php.ini
display_errors = On
display_startup_errors = On
phpのエラーログは、
/var/log/httpd-error.log
へ
[php7:error]・・・
で出力されます。
# apachectl restart
info.phpを作成します。
# vi /usr/local/www/apache24/data/info.php
<?php
phpinfo();
?>
初期設定では、<?php か <?= から始めないとphpプログラムと認識されません。
php.ini が short_open_tag = On の場合、<? から始めてもOKになります。
なお、phpのコードだけの場合、最後の ?> は有っても無くても構いません。
info.php確認
http://[FreeBSD13のIPアドレス]/info.php
へブラウザからアクセスします。
phpにpostgresql,openldap,curlが組み込まれているのが確認できます。
成功です!
その他、宣伝、誹謗中傷等、当方が不適切と判断した書き込みは、理由の如何を問わず、投稿者に断りなく削除します。
書き込み内容について、一切の責任を負いません。
このコメント機能は、予告無く廃止する可能性があります。ご了承ください。
コメントの削除をご依頼の場合はTwitterのDM等でご連絡ください。