OpenPNE3.10をnginxで起動させる
前準備
phpに組み込もうと思いパッケージをインストールした情報です。
Libiconv-1.18
Rocky Linuxにlibiconvパッケージは無いのでソースからインストールする。
以下のコマンドでソースファイルを取得するする。
# wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.18.tar.gz
--2025-05-25 17:57:48-- https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.18.tar.gz
ftp.gnu.org (ftp.gnu.org) をDNSに問いあわせています... 209.51.188.20, 2001:470:142:3::b
ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 5822590 (5.6M) [application/x-gzip]
libiconv-1.18.tar.gz' に保存中
libiconv-1.18.tar.gz 100%[=================== 5.55M 3.49MB/s 時間 1.6s
2025-05-25 17:57:51 (3.49 MB/s) - libiconv-1.18.tar.gz' へ保存完了 [5822590/5822590]
#
解凍後、コンパイルしてインストールする。
# tar xvfz libiconv-1.18.tar.gz
libiconv-1.18/
libiconv-1.18/doc/
libiconv-1.18/doc/relocatable.texi
libiconv-1.18/windows/
:
libiconv-1.18/extras/iconv_string.c
libiconv-1.18/extras/iconv_string.h
libiconv-1.18/COPYING
libiconv-1.18/DEPENDENCIES
#
cd libiconv-1.18
#
# ./configure --prefix=/usr/local
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
:
config.status: creating include/localcharset.h.inst
config.status: creating config.h
config.status: executing libtool commands
#
# make ZEND_EXTRA_LIBS='-liconv'
builddir="pwd"; cd libcharset && make all && make install-lib libdir="$builddir/lib" includedir="$builddir/lib"
make[1]: ディレクトリ '/home/kusama/libiconv-1.18/libcharset' に入ります
cd lib && make all
make[2]: ディレクトリ '/home/kusama/libiconv-1.18/libcharset/lib' に入ります
/bin/sh ../libtool --mode=compile gcc -I. -I. -I.. -I./.. -I../include -g -O2 -fvisibility=hidden -DBUILDING_LIBCHARSET -DHAVE_CONFIG_H -c ./localcharset.c
:
make[1]: ディレクトリ '/home/kusama/libiconv-1.18/man' から出ます
if test -d tests; then cd tests && make all; fi
make[1]: ディレクトリ '/home/kusama/libiconv-1.18/tests' に入ります
make[1]: 'all' に対して行うべき事はありません.
make[1]: ディレクトリ '/home/kusama/libiconv-1.18/tests' から出ます
#
# make install
d libcharset && make install prefix='/usr/local' exec_prefix='/usr/local' libdir='/usr/local/lib'
make[1]: ディレクトリ '/home/kusama/libiconv-1.18/libcharset' に入ります
cd lib && make all
make[2]: ディレクトリ '/home/kusama/libiconv-1.18/libcharset/lib' に入ります
make[2]: 'all' に対して行うべき事はありません.
make[2]: ディレクトリ '/home/kusama/libiconv-1.18/libcharset/lib' から出ます
cd lib && make install prefix='/usr/local' exec_prefix='/usr/local' libdir='/usr/local/lib'
make[2]: ディレクトリ '/home/kusama/libiconv-1.18/libcharset/lib' に入ります
/bin/sh ../build-aux/mkinstalldirs /usr/local/lib ; \
:
/usr/bin/install -c -m 644 ./iconv_open.3.html /usr/local/share/doc//iconv_open.3.html
/usr/bin/install -c -m 644 ./iconv_open_into.3.html /usr/local/share/doc//iconv_open_into.3.html
/usr/bin/install -c -m 644 ./iconvctl.3.html /usr/local/share/doc//iconvctl.3.html
make[1]: ディレクトリ '/home/kusama/libiconv-1.18/man' から出ます
#
OpenSSL-1.1.1
PHP-7.4.33はOpenSSL-3.0では対応しないため、OpenSSL-1.1.1をインストールする。
以下のサイトからOpenSSL-1.1.1wを取得する。
Old 1.1.1 Releases | OpenSSL Library
解凍して、コンパイルしてインストールする。
# tar xvfz openssl-1.1.1w.tar.gz
openssl-1.1.1w/
openssl-1.1.1w/ACKNOWLEDGEMENTS
openssl-1.1.1w/AUTHORS
openssl-1.1.1w/CHANGES
:
openssl-1.1.1w/util/shlib_wrap.sh.in
openssl-1.1.1w/util/su-filter.pl
openssl-1.1.1w/util/unlocal_shlib.com.in
openssl-1.1.1w/wycheproof/
#
# cd openssl-1.1.1w/
#
# ./Configure linux-aarch64 --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
Configuring OpenSSL version 1.1.1w (0x1010117fL) for linux-aarch64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
#
# make
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/crypto/bn_conf.h.in > include/crypto/bn_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/crypto/dso_conf.h.in > include/crypto/dso_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/openssl/opensslconf.h.in > include/openssl/opensslconf.h
make depend && make _all
make[1]: Entering directory '/usr/local/src/openssl-1.1.1w'
make[1]: Leaving directory '/usr/local/src/openssl-1.1.1w'
:
chmod a+x tools/c_rehash
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" util/shlib_wrap.sh.in > "util/shlib_wrap.sh"
chmod a+x util/shlib_wrap.sh
make[1]: Leaving directory '/usr/local/src/openssl-1.1.1w'
#
# make test
make depend && make _tests
make[1]: Entering directory '/usr/local/src/openssl-1.1.1w'
make[1]: Leaving directory '/usr/local/src/openssl-1.1.1w'
make[1]: Entering directory '/usr/local/src/openssl-1.1.1w'
( cd test; \
mkdir -p test-runs; \
SRCTOP=../. \
BLDTOP=../. \
RESULT_D=test-runs \
PERL="/usr/bin/perl" \
EXE_EXT= \
OPENSSL_ENGINES=cd .././engines 2>/dev/null && pwd \
OPENSSL_DEBUG_MEMORY=on \
/usr/bin/perl .././test/run_tests.pl )
./test/recipes/01-test_abort.t .................... ok
../test/recipes/01-test_sanity.t ................... ok
:
../test/recipes/99-test_ecstress.t ................. ok
./test/recipes/99-test_fuzz.t ..................... ok
All tests successful.
Files=159, Tests=2658, 382 wallclock secs ( 5.73 usr 0.73 sys + 296.99 cusr 102.35 csys = 405.80 CPU)
Result: PASS
make[1]: Leaving directory '/usr/local/src/openssl-1.1.1w'
#
# make install
make depend && make _build_libs
make[1]: Entering directory '/usr/local/src/openssl-1.1.1w'
make[1]: Leaving directory '/usr/local/src/openssl-1.1.1w'
make[1]: Entering directory '/usr/local/src/openssl-1.1.1w'
make[1]: Nothing to be done for '_build_libs'.
make[1]: Leaving directory '/usr/local/src/openssl-1.1.1w'
created directory `/usr/local/ssl'
:
/usr/local/ssl/share/doc/openssl/html/man7/ssl.html
/usr/local/ssl/share/doc/openssl/html/man7/X25519.html
/usr/local/ssl/share/doc/openssl/html/man7/X448.html -> /usr/local/ssl/share/doc/openssl/html/man7/X25519.html
/usr/local/ssl/share/doc/openssl/html/man7/x509.html
#
PHP-7.4.33インストール
アプリケーションがphp-8.3で動作しているため、OpenPNE用にphp-7.4.33を/usr/localディレクトリにインストーする。
make testでエラーとなるが、すべてエラーと取り除くのはできないとのWebの情報があるための無視してインストールする。
# ./configure \
--build=arm \
--prefix=/usr/local/php-7.4 \
--sysconfdir=/usr/local/php-7.4/etc/php \
--with-config-file-path=/usr/local/php-7.4/etc/php \
--with-config-file-scan-dir=/usr/local/php-7.4/etc/php/conf.d \
--with-xmlrpc \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-zlib \
--with-zlib-dir=/usr/lib \
--with-iconv=/usr/local \
--with-curl \
--with-jpeg \
--with-gettext \
--with-xpm \
--with-libxml \
--with-freetype \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-bz2 \
--enable-ftp \
--with-mhash \
--with-iconv=/usr/local \
--with-iconv-dir=/usr/local \
--with-zip \
--with-readline \
--with-gettext \
--with-openssl=/usr/local/ssl \
--with-openssl-dir=/usr/local/ssl \
--enable-mysqlnd \
--enable-inline-optimization \
--enable-fpm \
--enable-xml \
--enable-gd \
--enable-gd-jis-conv \
--enable-intl \
--enable-mbstring \
--enable-mbregex \
--enable-json \
--enable-shared \
--enable-cli \
--disable-debug \
--enable-maintainer-zts \
--enable-bcmath \
--enable-calendar \
--enable-dba \
--enable-exif \
--enable-sysvshm \
--enable-sysvsem \
--enable-sysvmsg \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--with-pear \
OPENSSL_CFLAGS=-I/usr/local/ssl/include \
OPENSSL_LIBS="-L/usr/local/ssl/lib -lssl -lcrypto"
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking build system type... arm-unknown-none
:
config.status: creating main/php_config.h
config.status: executing default commands
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
#
# make
/bin/sh /usr/local/src/php-7.4/php-7.4.33/libtool --silent --preserve-dup-deps --mode=compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/usr/local/src/php-7.4/php-7.4.33/ext/opcache/ -DPHP_ATOM_INC -I/usr/local/src/php-7.4/php-7.4.33/include -I/usr/local/src/php-7.4/php-7.4.33/main -I/usr/local/src/php-7.4/php-7.4.33 -I/usr/local/src/php-7.4/php-7.4.33/ext/date/lib -I/usr/include/libxml2 -I/usr/local/ssl/include -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/local/include -I/usr/local/src/php-7.4/php-7.4.33/ext/mbstring/libmbfl -I/usr/local/src/php-7.4/php-7.4.33/ext/mbstring/libmbfl/mbfl -I/usr/local/src/php-7.4/php-7.4.33/TSRM -I/usr/local/src/php-7.4/php-7.4.33/Zend -pthread -I/usr/local/include -g -O2 -fvisibility=hidden -pthread -Wall -Wno-strict-aliasing -DZTS -DZEND_SIGNALS -c /usr/local/src/php-7.4/php-7.4.33/ext/opcache/ZendAccelerator.c -o ext/opcache/ZendAccelerator.lo
/bin/sh /usr/local/src/php-7.4/php-7.4.33/libtool --silent --preserve-dup-deps --mode=compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/opcache/ -I/usr/local/src/php-7.4/php-7.4.33/ext/opcache/ -DPHP_ATOM_INC -I/usr/local/src/php-7.4/php-7.4.33/include -I/usr/local/src/php-7.4/php-7.4.33/main -I/usr/local/src/php-7.4/php-7.4.33 -I/usr/local/src/php-7.4/php-7.4.33/ext/date/lib -I/usr/include/libxml2 -I/usr/local/ssl/include -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/local/include -I/usr/local/src/php-7.4/php-7.4.33/ext/mbstring/libmbfl -I/usr/local/src/php-7.4/php-7.4.33/ext/mbstring/libmbfl/mbfl -I/usr/local/src/php-7.4/php-7.4.33/TSRM -I/usr/local/src/php-7.4/php-7.4.33/Zend -pthread -I/usr/local/include -g -O2 -fvisibility=hidden -pthread -Wall -Wno-strict-aliasing -DZTS -DZEND_SIGNALS -c /usr/local/src/php-7.4/php-7.4.33/ext/opcache/zend_accelerator_blacklist.c -o ext/opcache/zend_accelerator_blacklist.lo
:
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
directorygraphiterator.inc
directorytreeiterator.inc
invertedregexiterator.inc
clicommand.inc
pharcommand.inc
phar.inc
Build complete.
Don't forget to run 'make test'.
#
# make test
Build complete.
Don't forget to run 'make test'.
Failed loading /usr/local/src/php-7.4/php-7.4.33/modules/: /usr/local/src/php-7.4/php-7.4.33/modules/: cannot read file data: Is a directory
Failed loading /usr/local/src/php-7.4/php-7.4.33/modules/: /usr/local/src/php-7.4/php-7.4.33/modules/: cannot read file data: Is a directory
Failed loading /usr/local/src/php-7.4/php-7.4.33/modules/: /usr/local/src/php-7.4/php-7.4.33/modules/: cannot read file data: Is a directory
=====================================================================
PHP : /usr/local/src/php-7.4/php-7.4.33/sapi/cli/php
PHP_SAPI : cli
PHP_VERSION : 7.4.33
ZEND_VERSION: 3.4.0
PHP_OS : Linux - Linux raspberrypi 6.1.31-v8.1.el9.altarch #1 SMP PREEMPT Sat Jun 10 22:16:20 UTC 2023 aarch64
INI actual : /usr/local/src/php-7.4/php-7.4.33/tmp-php.ini
More .INIs :
---------------------------------------------------------------------
PHP : /usr/local/src/php-7.4/php-7.4.33/sapi/phpdbg/phpdbg
PHP_SAPI : phpdbg
PHP_VERSION : 7.4.33
ZEND_VERSION: 3.4.0
PHP_OS : Linux - Linux raspberrypi 6.1.31-v8.1.el9.altarch #1 SMP PREEMPT Sat Jun 10 22:16:20 UTC 2023 aarch64
INI actual : /usr/local/src/php-7.4/php-7.4.33/tmp-php.ini
More .INIs :
---------------------------------------------------------------------
CWD : /usr/local/src/php-7.4/php-7.4.33
Extra dirs :
VALGRIND : Not used
=====================================================================
TIME START 2025-05-25 09:48:35
=====================================================================
TEST 1/14396 [tests/run-test/bug75042-2.phpt]Failed loading /usr/local/src/php-7.4/php-7.4.33/modules/: /usr/local/src/php-7.4/php-7.4.33/modules/: cannot read file data: Is a directory
Failed loading /usr/local/src/php-7.4/php-7.4.33/modules/: /usr/local/src/php-7.4/php-7.4.33/modules/: cannot read file data: Is a directory
:
=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
phpt EXTENSIONS directive with static module [tests/run-test/bug75042-2.phpt]
phpt EXTENSIONS directive with nonexistent shared module [tests/run-test/bug75042-3.phpt]
EXPECT [tests/run-test/test001.phpt]
:
=====================================================================
You may have found a problem in PHP.
This report can be automatically sent to the PHP QA team at

301 Moved Permanently and http://news.php.net/php.qa.reports
This gives us a better understanding of PHP's behavior.
If you don't want to send the report immediately you can choose
option "s" to save it. You can then email it to qa-reports@lists.php.net later.
Do you want to send this report now? [Yns]: n
make: *** [Makefile:231: test] エラー 1
#
# make install
Installing shared extensions: /usr/local/php-7.4/lib/php/extensions/no-debug-zts-20190902/
Installing PHP CLI binary: /usr/local/php-7.4/bin/
Installing PHP CLI man page: /usr/local/php-7.4/php/man/man1/
Installing PHP FPM binary: /usr/local/php-7.4/sbin/
Installing PHP FPM defconfig: skipping
Installing PHP FPM man page: /usr/local/php-7.4/php/man/man8/
Installing PHP FPM status page: /usr/local/php-7.4/php/php/fpm/
Installing phpdbg binary: /usr/local/php-7.4/bin/
Installing phpdbg man page: /usr/local/php-7.4/php/man/man1/
Installing PHP CGI binary: /usr/local/php-7.4/bin/
Installing PHP CGI man page: /usr/local/php-7.4/php/man/man1/
Installing build environment: /usr/local/php-7.4/lib/php/build/
Installing header files: /usr/local/php-7.4/include/php/
Installing helper programs: /usr/local/php-7.4/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php-7.4/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php-7.4/lib/php/
[PEAR] Archive_Tar - installed: 1.4.14
[PEAR] Console_Getopt - installed: 1.4.3
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.4.5
warning: pear/PEAR dependency package "pear/Archive_Tar" installed version 1.4.14 is not the recommended version 1.4.4
[PEAR] PEAR - installed: 1.10.13
Wrote PEAR system config file at: /usr/local/php-7.4/etc/php/pear.conf
You may want to add: /usr/local/php-7.4/lib/php to your php.ini include_path
/usr/local/src/php-7.4/php-7.4.33/build/shtool install -c ext/phar/phar.phar /usr/local/php-7.4/bin/phar.phar
ln -s -f phar.phar /usr/local/php-7.4/bin/phar
Installing PDO headers: /usr/local/php-7.4/include/php/ext/pdo/
#
php-fpmのコンフィグファイルであるwww.confを設定する。
userとgroupの定義ではなく、php-fpmの受け口となるlisten.owner とlisten.groupの定義を有効化する。
# cd /usr/local/php-7.4/etc/php/php-fpm.d # # cp www.conf.default www.conf # # vi www.conf # # diff -c www.conf.default www.conf *** www.conf.default 2025-05-17 16:53:22.920912449 +0900 --- www.conf 2025-05-19 19:50:17.394901065 +0900 *************** *** 20,27 **** ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ! user = nginx ! group = nginx ; The address on which to accept FastCGI requests. ; Valid syntaxes are: --- 20,27 ---- ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ! ;user = nginx ! ;group = nginx ; The address on which to accept FastCGI requests. ; Valid syntaxes are: *************** *** 33,39 **** ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. ! listen = 127.0.0.1:9000 ; Set listen(2) backlog. ; Default Value: 511 (-1 on FreeBSD and OpenBSD) --- 33,40 ---- ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. ! ;listen = 127.0.0.1:9000 ! listen = /usr/local/php-7.4/var/run/php-fpm/php-fpm-7.4.sock ; Set listen(2) backlog. ; Default Value: 511 (-1 on FreeBSD and OpenBSD) *************** *** 45,53 **** ; and group can be specified either by name or by their numeric IDs. ; Default Values: user and group are set as the running user ; mode is set to 0660 ! ;listen.owner = nginx ! ;listen.group = nginx ! ;listen.mode = 0660 ; When POSIX Access Control Lists are supported you can set them using ; these options, value is a comma separated list of user/group names. ; When set, listen.owner and listen.group are ignored --- 46,54 ---- ; and group can be specified either by name or by their numeric IDs. ; Default Values: user and group are set as the running user ; mode is set to 0660 ! listen.owner = nginx ! listen.group = nginx ! listen.mode = 0660 ; When POSIX Access Control Lists are supported you can set them using ; these options, value is a comma separated list of user/group names. ; When set, listen.owner and listen.group are ignored *************** *** 60,66 **** ; must be separated by a comma. If this value is left blank, connections will be ; accepted from any ip address. ; Default Value: any ! ;listen.allowed_clients = 127.0.0.1 ; Specify the nice(2) priority to apply to the pool processes (only if set) ; The value can vary from -19 (highest priority) to 20 (lower priority) --- 61,67 ---- ; must be separated by a comma. If this value is left blank, connections will be ; accepted from any ip address. ; Default Value: any ! listen.allowed_clients = 127.0.0.1 ; Specify the nice(2) priority to apply to the pool processes (only if set) ; The value can vary from -19 (highest priority) to 20 (lower priority) #
nginxでアクセスする、および作成するファイルのアクセス権を設定する。
sockファイルとphp-fpmのログファイルの書き込みディレクトリの所有権をnginxユーザに変更する。
# chown -R nginx:nginx /usr/local/php-7.4/var #
php-fpmの自動起動を設定する。
systemdを設定するが正常に起動しないので、簡易的に起動するシェルを作成する。
そして、起動する。
# vi /etc/rc.d/php-fpm-7.4
#
# cat /etc/rc.d/php-fpm-7.4
#!/bin/bash
rm -f /usr/local/php-7.4/var/run/php-fpm/php-fpm-7.4.sock
chown nginx:nginx /usr/local/php-7.4/var/run/php-fpm
sudo -s -u nginx /usr/local/php-7.4/sbin/php-fpm --fpm-config /usr/local/php-7.4/etc/php/php-fpm.conf
#
# chown 755 /etc/rc.d/php-fpm-7.4
#
# cp /etc/rc.local /etc/rc.local_org
#
# diff /etc/rc.local_org /etc/rc.local
23a24,25
>
> /etc/rc.d/php-fpm-7.4
#
# /etc/rc.d/php-fpm-7.4
#
# ps -fea | grep nginx
nginx 651 322 0 00:30 ? 00:02:05 php-fpm: pool www
nginx 655 322 0 00:30 ? 00:01:56 php-fpm: pool www
:
nginx 200159 1 0 15:16 ? 00:00:00 php-fpm: master process (/usr/local/php-7.4/etc/php/php-fpm.conf)
nginx 200160 200159 0 15:16 ? 00:00:00 php-fpm: pool www
nginx 200161 200159 0 15:16 ? 00:00:00 php-fpm: pool www
#
MySQLを設定する。
OpenPNEで利用するデータベースとアクセスするユーザを作成する。
データベース名: openpne
アクセスするユーザ: openpne
パスワード: mypasswrod
# mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 116 Server version: 10.5.27-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> grant all privileges on *.* to openpne@localhost identified by 'mypassword'; Query OK, 0 rows affected (0.008 sec) MariaDB [(none)]> create database openpne; Query OK, 1 row affected (0.001 sec) MariaDB [(none)]> MariaDB [(none)]> commit; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> MariaDB [(none)]> exit Bye #
OpenPNEユーザを作成する。
OpenPNEのプログラムを実行するユーザを作成する。
nginxユーザで動作するパッケージなのでユーザ作成は必要ないが、管理のためにユーザを作成する。
# adduser openpne # # su - openpne $ $ co .bashrc .bashrc_org $ $ vi .bashrc $ $ diff -c .bashrc_org .bashrc *** .bashrc_org 2025-06-18 09:46:18.882184553 +0900 --- .bashrc 2025-06-18 09:47:14.290002606 +0900 *************** *** 28,30 **** --- 28,32 ---- fi unset rc + + PATH="/usr/local/php-7.4/bin:$PATH" $ $ source .bashrc $ $ php -v PHP 7.4.33 (cli) (built: May 25 2025 18:40:46) ( ZTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies $
OpenPNEパッケージをダウンロードする。
wgetコマンドやcutlコマンドではダウンロードできないのでブラウザでアクセスしてダウンロードする。
https://www.openpne.jp/pne-downloads/openpne3/

OpenPNEをインストールする。
ダウンロードしたパッケージをopnepnユーザのホームディレクトリに置くき、zipファイルを解凍する。
$ unzip openpne-OpenPNE3-OpenPNE-3.10.19-0-gad6ff5b.zip
[2025-06-03 20:37:40.705] Archive: openpne-OpenPNE3-OpenPNE-3.10.19-0-gad6ff5b.zip
[2025-06-03 20:37:40.710] ad6ff5b0c83abcfa54325a1d0ba28b4520dd5f94
[2025-06-03 20:37:40.794] creating: openpne-OpenPNE3-ad6ff5b/
[2025-06-03 20:37:40.799] inflating: openpne-OpenPNE3-ad6ff5b/.gitignore
[2025-06-03 20:37:40.801] inflating: openpne-OpenPNE3-ad6ff5b/LICENSE
:
inflating: openpne-OpenPNE3-ad6ff5b/web/pc_frontend.php
inflating: openpne-OpenPNE3-ad6ff5b/web/pc_frontend_dev.php
extracting: openpne-OpenPNE3-ad6ff5b/web/robots.txt
finishing deferred symbolic links:
openpne-OpenPNE3-ad6ff5b/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/test/functional/fixtures/config/doctrine/linked_schema.yml -> ../../data/linked_schema.yml
$
$ mv openpne-OpenPNE3-ad6ff5b OpenPNE
$
$ cd OpenPNE
$
$ ls -l
合計 72
-rw-r--r-- 1 openpne openpne 11358 12月 12 10:52 LICENSE
-rw-r--r-- 1 openpne openpne 2071 12月 12 10:52 NOTICE
-rw-r--r-- 1 openpne openpne 164 12月 12 10:52 README
drwxr-xr-x 7 openpne openpne 4096 12月 12 10:52 apps
drwxr-xr-x 2 openpne openpne 4096 12月 12 10:52 bin
drwxr-xr-x 4 openpne openpne 4096 12月 12 10:52 config
drwxr-xr-x 7 openpne openpne 4096 12月 12 10:52 data
drwxr-xr-x 4 openpne openpne 4096 12月 12 10:52 doc
drwxr-xr-x 2 openpne openpne 4096 12月 12 10:52 i18n
drwxr-xr-x 30 openpne openpne 4096 12月 12 10:52 lib
drwxr-xr-x 2 openpne openpne 4096 12月 12 10:52 log
drwxr-xr-x 4 openpne openpne 4096 12月 12 10:52 plugins
-rwxr-xr-x 1 openpne openpne 446 12月 12 10:52 symfony
drwxr-xr-x 2 openpne openpne 4096 12月 12 10:52 templates
drwxr-xr-x 6 openpne openpne 4096 12月 12 10:52 test
drwxr-xr-x 8 openpne openpne 4096 12月 12 10:52 web
$
構成情報を修正する。
base_url と mail_domainを修正する。
※運用までは行っていないので、正しいかは不正です。
$ cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php $ $ cp config/OpenPNE.yml.sample config/OpenPNE.yml $ $ vi config/OpenPNE.yml $ $ diff config/OpenPNE.yml.sample config/OpenPNE.yml 7c7 < base_url: "http://example.com" --- > base_url: "http://hoge000.jp" 15c15 < mail_domain: "example.com" --- > mail_domain: "hoge000.jp" 27c27 < #mail_envelope_from: "return@example.com" --- > mail_envelope_from: "return@hoge000.jp" 31c31 < #mail_smtp_host: "smtp.example.com" --- > mail_smtp_host: "localhost" 35,38c35,38 < #mail_smtp_config: < # auth: "login" < # username: "myusername" < # password: "password" --- > mail_smtp_config: > auth: "login" > username: "openpne" > password: "mypassword" $
OpenPNEをインストールする。
バンドルプラグインをダウンロード・インストールするため、 –internet オプションを付けてコマンドを実行しています。
$ ./symfony openpne:install --internet
Choose DBMS:
- mysql
- pgsql (unsupported)
- sqlite (unsupported)
mysql <--- mysqlを入力
Type database username
openpne <-- データベースにアクセスするユーザ名(openpne)を入力
Type database password (optional)
mypassword <--- パスワードを入力
Type database hostname
localhost <--- データベースのサーバ名(localhost)を入力
Type database port number (optional)
Type database name
openpne <---データベース名(openpne)を入力
Type database socket path (optional)
The DBMS : mysql
The Database Username : openpne
The Database Password : ******
The Database Hostname : localhost
The Database Port Number :
The Database Name : openpne
The Database Socket :
Is it OK to start this task? (Y/n)
Y
>> installer start clean install
Failed to download plugin list.
>> chmod 777 /home/openpne/OpenPNE/cache
>> chmod 777 /home/openpne/OpenPNE/log
>> chmod 777 /home/openpne/OpenPNE/symfony
>> chmod 777 /home/openpne/OpenPNE/cache/config
>> chmod 777 /home/openpne/OpenPNE/cache/openpne
:
>> link+ /home/openpne/OpenPNE/web/sfProtoculousPlugin
>> plugin Configuring plugin - sfSymfonyTemplatingViewPlugin
>> installer installation is completed!
$
nginxへのアクセスを設定する。
以下のURLにnginxでOpenPNEを動作させるための定義が有りました。
なかゆきの気まぐれ日記
# cd /etc/nginx/conf.d
#
# vi openpne.conf
#
# cat openpne.conf
server {
listen 443 ssl http2;
server_name ksm.wjg.jp;
root /home/openpne/OpenPNE/web;
location / {
if (-f "${document_root}/index.html") {
rewrite ^/$ /index.html last;
}
if (-f $request_filename.html) {
rewrite ^/([^.]+)$ /$1.html last;
}
if ($request_filename ~ \.php) {
rewrite ^/(.+\.php)/ /$1 last;
}
if (!-f $request_filename) {
rewrite ^/(.*)$ /index.php last;
}
location ~\.php$ {
try_files $uri =404;
fastcgi_pass unix:/usr/local/php-7.4/var/run/php-fpm/php-fpm-7.4.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
}
#
nginxを再起動する。
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # # systemctl restart nginx #
ブラウザでアクセスする。
以下の情報でログインする。
メールアドレス: sns@example.com
パスワード: password

