Categories: R10コンピュータ

ラズパイPi3B+にApache2とMySQL,PHP7,vstfpdをインストール

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.0mysql
⇒ 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サーバとしては動作していると思うのですが、なぜだろう・・・

kabekin