Skip to content

Instantly share code, notes, and snippets.

@nagait84
Last active December 17, 2020 03:15
Show Gist options
  • Save nagait84/37f1a01a954e4e6dd2f5022a07d6da7a to your computer and use it in GitHub Desktop.
Save nagait84/37f1a01a954e4e6dd2f5022a07d6da7a to your computer and use it in GitHub Desktop.
レガシーPRJ蘇生時の自分用メモ【CakePHP2.3系】

現状調査

  • CentOS release 6.9
  • MySQL 5.1.62-log
  • CkePHP 2.3.10
  • PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09)
  • Apache
  • vhosts
  • そのほか
    • jQuery mobile使われてた

githubにコピー

  • SCPコマンドでソース全部持ってきた
  • 秘密情報がハードコードされている部分はマスクした
  • 稼働環境用の設定ファイルは追加で.gitignoreに設定した
    • app/tmp/cache/models/ などの必要ディレクトリは空ファイル置いてgitに追加した
  • githubにプッシュした

ローカル環境をDockerでつくる

課題

  • 警告がいくつか出てる
    • 動いてるからヨシ!とした
  • dockerにいらない設定がいくつか残ってる
    • 動いてるからヨシ!とした
  • jsの読み込みに失敗する
    • パスの呼び出しの問題ぽい
    • jQuery mobile の挙動が怪しい
    • もともとのバグなので諦めた
  • デプロイ方法がない
    • サーバーで git fetchgit checkout origin/master ファイル名 で強引にやった
    • 動いてるからヨシ!とした
<VirtualHost *:80>
DocumentRoot /var/www/html/app/webroot/
<Directory /var/www/html/app/webroot/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
version: "3.9"
services:
db:
image: mysql:5.7
# 環境変数
environment:
MYSQL_DATABASE: xxx_xxxxx
MYSQL_ROOT_PASSWORD: XXXXXXXXXX
TZ: "Asia/Tokyo"
# ログローテート設定
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# コンテナ間通信用
networks:
- xxxxxx_net
# ファイルのマウント設定
volumes:
# データベースの内容をホストOSの db/data/ 配下に置く(データ永続化のため)
- type: bind
source: ./db/data
target: /var/lib/mysql
# コンテナを永続化
tty: true
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/var/www/html
ports:
- 127.0.0.1:8010:80
environment:
TZ: "Asia/Tokyo"
depends_on:
- db
networks:
- xxxxxx_net
# ネットワーク名の定義
networks:
# コンテナ間通信用
xxxxxx_net:
FROM php:5.3-apache
RUN apt-get update -y \
&& apt-get install -y --force-yes --no-install-recommends \
curl \
git \
openssl \
zip \
unzip
RUN curl --insecure -SL "http://php.net/get/php-5.3.29.tar.bz2/from/this/mirror" -o php.tar.bz2 \
&& mkdir -p /usr/src/php \
&& tar -xf php.tar.bz2 -C /usr/src/php --strip-components=1
RUN cd /usr/src/php/ext/xsl \
&& phpize \
&& ./configure
RUN cd /usr/src/php/ext/xsl \
&& make \
&& make install
RUN echo "extension=/usr/local/lib/php/extensions/no-debug-non-zts-20090626/xsl.so" > /usr/local/lib/php.ini
# COPY apache site.conf file
COPY ./apache-dev.conf /etc/apache2/sites-available/000-default.conf
# Copy the source code into /var/www/html/ inside the image
COPY . .
# Set default working directory
WORKDIR ./app
# Create tmp directory and make it writable by the web server
RUN mkdir -p \
tmp/cache/models \
tmp/cache/persistent \
&& chown -R :www-data \
tmp \
&& chmod -R 770 \
tmp
# Enable Apache modules and restart
RUN a2enmod rewrite \
&& service apache2 restart
EXPOSE 80
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment