Last Updated on 2018年9月22日 by kabekin
Raspberry Pi3B+上でNetCommons3の動作確認をすることを目標にLAMPに相当する環境を
 立ち上げたので、その作業メモ。
必要なもの
NetCommons3のシステム要件は、下記のとおりです。
【サーバ環境】
    開発言語:PHP5.4以上
    開発フレームワーク
        CakePHP 2.x系
        AngularJS 1.x系
        Bootstrap 3.x系
    データベースサーバー:MySQL5.5以上(※sql_modeがSTRICT_TRANS_TABLESだと正常に動作しません)
    ウェブサーバ:Apachei
        Apacheのmod_rewriteモジュール
    zipコマンド
【サーバ環境:オプション】
    ImageMagick(会員情報プラグイン:アバター画像自動生成)
    ffmpeg(動画プラグイン:動画のmp4変換とサムネイルの自動生成)
    cron(メールプラグイン:未来日送信機能のみ。未来の日に設定したブログ投稿のメール通知等)
【クライアント環境】
    対応ブラウザ:IE9以上、Chrome、Firefox、Safari、Edge
ということなのでApache2とMySQL5.5,PHP5以上で環境を整備
 参考元 ⇒ こちら
■PHP7.0のインストール
sudo apt install php7.0 php7.0–mysql
 ⇒ PHP 7.0.30-0+deb9u1がインストールされた
■Apache2のインストール
sudo apt install apache2 apache2-mod-php7.0
 mod_rewriteの有効化
 sudo a2enmod rewrite
 インストール後再起動で動作している模様
 RootDocsは/var/www
 設定 ⇒ /etc/apache2/apache2.conf
 起動 ⇒ sudo /etc/init.d/apache2 start
 停止 ⇒ sudo /etc/init.d/apache2 stop
 再起動 ⇒ sudo /etc/init.d/apache2 restart
 状態表示 ⇒ sudo systemctl status apache2
■MySQL5 & phpmyadminのインストール
参考元⇒ こちら と こちら
 sudo apt-get install mysql-server phpmyadmin
 ⇒mysql Ver 15.1 Distrib 10.1.23-MariaDB がインストールされた
 phpMyAdminインストール中に確認される項目
 自動再設定をするwebサーバ = apache2
 phpmyadmin用のMySQLアプリケーションパスワード = 任意
 phpmyadminの設定をapache2.confに追加
 一番最後に1行追加
 sudo nano /etc/apache2/apache2.conf
Include /etc/phpmyadmin/apache.conf
再起動して動作確認
 最近のphpmyadminはリモートからrootでログインできないようなので特権ユーザ権限のユーザを作成しておく
 ユーザー名 = dbuser
 パスワード = 任意のパスワード
 sudo mysql -u root -p
 CREATE USER ‘dbuser’@’%’ IDENTIFIED BY ‘任意のパスワード’; でユーザ追加
 GRANT ALL PRIVILEGES ON *.* TO ‘dbuser’@’%’ WITH GRANT OPTION;  で特権付加
 このユーザで phpmyadminからも操作可能
 http://localhost/phpmyadmin でログイン画面して継続して任意のDBを作成可能
■FTPサーバのインストール
sudo apt install vsftpd
 ソフトインストール後再起動でラズパイのユーザでftpサーバにログイン可能だった
 ユーザ名:pi
 パスワード= 任意
 ポート = 21
 通信の設定は特に変更しなくても使えるようですが、ユーザ毎にディレクトリは
 変更しないと不便なので変更
 ラズパイ用のvsftpd設定を色々参考にさせて頂きながらやったがうまくいかず
 ラズパイ用ではありませんがコチラの記事が分かりやすくうまくいきました 参考元 ⇒ こちら
 vsftpd.confの変更
 sudo nano /etc/vsftpd.conf
# Uncomment this to enable any form of FTP write command. write_enable=YES ←コメントアウト無効 # ASCII mangling is a horrible feature of the protocol. ascii_upload_enable=YES ←コメントアウト無効 ascii_download_enable=YES ←コメントアウト無効 # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) user_sub_token=$USER ←追加 chroot_local_user=YES ←コメントアウト無効 chroot_list_enable=YES ←コメントアウト無効 # (default follows) chroot_list_file=/etc/vsftpd.chroot_list ←コメントアウト無効 local_root=/var/www/html ←追加 allow_writeable_chroot=YES ←追加 # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. ls_recurse_enable=YES ←コメントアウト無効
その他はデフォルト通り
 接続ユーザのリスト作成
 sudo /etc/vsftpd.chroot_list
 pi   ←追加
 sudo systemctl restart vsftpd でvsftpdを再起動し sudo systemctl status vsftpd でvsftpdが動作していることを確認
 外部のftpソフトから/var/www/htmlが読み書きできるか確認
ラズパイの設定
ラズパイ起動時にXWindowは不要なのでCUIで起動するように変更
 raspi-config で 3 Boot Options から B1 Desktop / CLI で B2 Console Automatically logged in as ‘pi’ user を選択しておく
この環境でNetcommons3.2.0をインストールしてみると HTTP 500 内部サーバエラーになってしまいました^^;;
 Wordpress 4.9.8は動作するのでwebサーバとしては動作していると思うのですが、なぜだろう・・・
