CentOS7でOpenPNE3.8系が利用できる環境構築とまとめ

AWS

私は大学院時代といっても、もう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の再起動、起動、停止コマンドとログ

【参考】

CentOS7 SELinuxの無効化手順

OpenPNE-3.8.x のインストールについて

[Apache] Options と AllowOverRide の設定値を改めて整理してみる

SNS構築ソフトウェア「OpenPNE 3.8」の導入記録

 

コメント

タイトルとURLをコピーしました