OpenPNE3.10をnginxで起動させる
前準備
必要無いかもしれないが、phpに組み込もうと思いパッケージをインストールした情報です。
Libiconv-1.18
Rocky Linuxにlibiconvパッケージは無いのでソースからインストールする。
以下のコマンドでソースファイルを取得するする。
1 2 3 4 5 6 7 8 9 10 11 |
# 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] # |
解凍後、コンパイルしてインストールする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# tar xvfz openssl-1.1.1w.tar.gz openssl-1.1.1w/ openssl-1.1.1w/ACKNOWLEDGEMENTS penssl-1.1.1w/AUTHORS openssl-1.1.1w/CHANGES : 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 --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 config.h config.status: config.h is unchanged 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
解凍して、コンパイルしてインストールする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# 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インストール
make testでエラーとなるが、すべてエラーと取り除くのはできないとのWebの情報があるための無視してインストールする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# ./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 http://qa.php.net/reports 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の定義を有効化する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# 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ユーザに変更する。
1 2 |
# chown -R nginx:nginx /usr/local/php-7.4/var # |
php-fpmの自動起動を設定する。
systemdを設定するが正常に起動しないので、簡易的に起動するシェルを作成する。
そして、起動する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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ユーザで動作するパッケージなのユーザ作成は必要ないが、管理のためにユーザを作成する。
1 2 3 4 |
# adduser openpne # # su - openpne $ |
OpenPNEパッケージをダウンロードする。
wgetコマンドやcutlコマンドではダウンロードできないのでブラウザでアクセスしてダウンロードする。
https://www.openpne.jp/pne-downloads/openpne3/
OpenPNEをインストールする。
ダウンロードしたパッケージをopnepnユーザのホームディレクトリに置くき、zipファイルを解凍する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$ 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<br />$<br />$ 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を修正する。
※運用までは行っていないので、正しいかは不正です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$ 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 オプションを付けてコマンドを実行しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
$ ./symfony openpne:install --internet Choose DBMS: - mysql - pgsql (unsupported) - sqlite (unsupported) mysql <--- mysqlを入力 Type database username openpne <-- データベースにアクセスすrユーザ名(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を動作させるための定義が有りました。
なかゆきの気まぐれ日記
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# 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を再起動する。
1 2 3 4 5 6 |
# 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