1. 概要
起動手順、エラーログの確認方法、データベースの使用方法、Gitのcommit、push、pull、cloneのやり方をマスターする。
なお、当記事は以下のリンクの続きになります。
2. 前提
- 以下のリンクの手順を実施していること
3. 始め方
- LAMP_SVの起動
- TeraTermでLAMP_SVにSSH接続する
- VisualStdioCodeでLAMP_SVにSSH接続する
- ローカルリポジトリをリモートリポジトリにマージする
- エラーログの削除
- apacheの起動
- firewallの停止
- ブラウザでLAMP_SVのIPアドレスにアクセスする
3-1. LAMP_SVの起動
VMwareにLAMP_SVが表示されている場合はそれをダブルクリックして起動。
表示されていない場合は、仮想マシンを開く → LAMP_SV.vmxを選択 → VMwareにLAMP_SVが表示されるのでダブルクリックして起動。
3-2. TeraTermでLAMP_SVにSSH接続する
以下のリンク参照
3-3. VisualStdioCodeでLAMP_SVにSSH接続する
以下のリンク参照
3-4. ローカルリポジトリをリモートリポジトリにマージする
別の環境でプログラムを更新してリモート(GitHub)にpushした人は以下を実行してください(やってない人は飛ばしてok)。
/var/www/アプリ名
がリポジトリ化されている場合
git pull リモート名 ブランチ名
※ リモート名とブランチ名が分からない場合は以下を実行
- リモート名の調べ方
git remote -v
- ブランチ名の調べ方
git branch
/var/www/アプリ名
がリポジトリ化されていない場合
git clone git@github.com:your_name/アプリ名.git
3-5. エラーログの削除
エラーログは/var/log/httpd/アプリ名_error.log
に保存されています。
テキストファイルなのでエラーが起きる度にログが追記されます。
つまり、度々削除しないと既に解決したエラーも残ったままになってしまいます。
viエディタでエラーログを編集する。
vi /var/log/httpd/アプリ名_error.log
以下のコマンドでファイルの中身を削除する。
:%d
以下のコマンドで上書き保存する。
:wq
3-6. apacheの起動
systemctl start httpd
3-7. firewallの停止
systemctl stop firewalld
3-8. ブラウザでLAMP_SVのIPアドレスにアクセスする
index.htmlの内容が表示されたらok
4. プログラムの更新をしたら
必ず以下のコマンドでapacheを再起動してからブラウザで表示、処理内容の確認してください。
systemctl restart httpd
5. エラーログの確認方法
tailコマンドのfオプションで/var/log/httpd/アプリ名_error.log
を表示することにより、リアルタイムでエラーログを確認することができます。
更に、Pythonのファイルのprint関数の表示結果もこのログに表示されます。
tail -f `/var/log/httpd/アプリ名_error.log`
6. データベースを使う場合
データベースファイルの所有者、所有グループがapacheになっていないとエラーになります。
加えて、書き込み権限もデフォルトだと無い為エラーになります。
所有者、所有グループを変更
chown apache:apache /var/www/アプリ名/データベース名.db
書き込み権限の付与
chmod 664 /var/www/アプリ名/データベース名.db
また、db.pyやmain.pyなどにデータベース名が記述されている場合、相対パスだと正しく動作しない可能性があるので、絶対パスで記述するように修正してください。
# 記述例
DATEBASE = "/var/www/アプリ名/flaskr/データベース名.db"
データベースの中身を確認したい場合はsqliteをインストールしてください。
dnf install sqlite
以下のコマンドでsqlite3と対話モードになる
sqlite3 /var/www/アプリ名/flaskr/データベース名.db
初期状態だとSELECT文を打ってもカラムが表示されない為、以下を入力する。
.headers on
.mode column
テーブルの一覧を表示する際は以下を入力する。
.table
終了する時は以下のコマンドを入力
.exit
7. 終わり方
- gitでcommitしてpushする
- shotdownコマンドでシャットダウンする
7-1. gitでcommitしてリモートにpushする
/var/www/アプリ名
まで移動する
cd /var/www/アプリ名
app.wsgi以外のファイルをステージングする
git add . ':!app.wsgi'
commitする
git commit -m "コメント"
※ コメントは変更内容を記述してください。
リモートにpushする
git push
7-2. shotdownコマンドでシャットダウンする
rootユーザーに切り替えてから以下のコマンドを実行する
shotdown now