私は大学院時代といっても、もう10年近く前、OpenPNEを研究で使わせていただきました。
訳あって、今構築しています。
SNSを構築するOpenPNEが利用できる環境を作っていいきます。
2019年7月現在のOpenPNE
安定版: 3.8.32
OpenPNEはPHP5環境(まだPHP7でない)
推奨環境はDebian
ソースのダウンロードはこちら
セットアップ手順(Debian)はこちら
実際の構築環境
今回はCentOSで構築(同じLinuxなのだけれども、癖があるので、使いなれているもので構築)した。また、Amazon Lightsailを利用した。手軽にテスト環境を作るには、一番早いかもしれません。
構築にあたり、MysqlとApacheまわりの最低限の知識がないと、厳しい印象。手順通りではうまくいかない場合もあるのでエラーなど見れる力が必要です。
あとPHP5系とMysqlのインストールは自力でやらないといけない。
具体的に
PHP5.6系
Mysql5.7系を利用
Mysql5.7系を利用したときハマったこと
初期パスワードが自動生成されている。sudo cat /var/log/mysqld.log | grep "temporary password"
で確認をする。
詳しくはこちら。
トップページで500エラー
PHP Warning: copy(/var/www/html/openpne/cache/apache/config/OpenPNE.yml.php): failed to open stream: Permission denied in /var/www/html/openpne/lib/vendor/symfony/lib/task/sfFilesystem.class.php on line 74
…
こんな感じのエラーになってしまいました。
ファイルの権限まわりなど、疑っていたのですが、ふと、SELinuxまわりなのではないかと思って、無効化してみました。
getenforce
<結果>
Enforcing
vi /etc/selinux/config
下記をコメントアウト##SELINUX=enforcing
下記を付け足すSELINUX=disabled
OSの再起動をするshutdown -r now
SELinuxの設定状況を確認getenforce
<出力結果>
Disabled
次にトップページが出現したもののログインができない状況でした。
ログインなどを押すと、404になってしまいます。
Apacheの設定を変更します
vi /etc/httpd/conf/httpd.conf
該当部分を
AllowOverride None
になっているので、
AllowOverride All
に変更する。このあたりも、サーバーの設定をしたことがないと厳しいと思われます。
NoneとAllの違いは前者は.htaccessの設定が効かない、Allは.htaccessの設定が効くと思ってください。
[Apache] Options と AllowOverRide の設定値を改めて整理してみる
はまりやすいポイントと解決策
- サーバーの設定を変更したら再起動しよう
- Mysqlの設定を変更したら再起動しよう
- Apacheの設定を変更したら再起動しよう
- Apacheのエラーログを追いかけよう
よく使うコマンドなど
CentOS7のApacheの再起動、起動、停止コマンドとログ
【参考】
[Apache] Options と AllowOverRide の設定値を改めて整理してみる
コメント