はじめに
ホスティングサーバにsymfony4をアップロードする手順です。
Webサーバはapacheです。
symfony本体をアップロードするディレクトリは、ドキュメントルートに設定されているディレクトリと兄弟関係にします。
root |_ public_html |_ ... |_ symfony |_ ...
事前準備
- アップロードしたいsymfony4アプリケーション
- アップロードで使用するFTPアカウント
上記が準備されているものとします。
まず、.envファイルのAPP_ENVの値をprodにします。
APP_ENV=prod
その後、composerコマンドを叩いてアップロードするための環境を整えます。
composer install --no-dev --optimize-autoloader
composer dump-autoload --optimize --no-dev --classmap-authoritative
下記コマンドを叩いて、apache-packをインストールします。
composer require symfony/apache-pack
publicフォルダ内に.htaccessとindex.phpが追加されていると思いますので、追加されたindex.phpを編集します。
// ...
// 8行目あたり
require __DIR__.'/../symfony/vendor/autoload.php';
// ...
// 15行目あたり
(new Dotenv())->load(__DIR__.'/../symfony/.env');
// ...
今回はsymfonyディレクトリにインストールするので、上記のようにsymfonyの設置先を書き換えました。
自分の環境に合わせて適宜設定を書き換えてください。
アップロード
ファイルをアップロードしていきます。まずはsymfonyフォルダにアップロードします。
- /bin
- /config
- /src
- /templates
- /translations
- /vendor
- .env
- composer.json
上記にあるファイルとフォルダをsymfonyディレクトリにアップロードします。
次に、先ほどapache-packのインストールで追加された.htaccessとindex.phpをサイトのドキュメントルートにアップロードします。
ファイルのアップロードは以上です。
追加でsymfony上にvarディレクトリを作成しておきましょう。パーミッションは755にします。ここにログやキャッシュが書き出されるようです。
root |_ public_html |_ .htaccess |_ index.php |_ symfony |_ .env |_ bin |_ composer.json |_ config |_ src |_ templates |_ translations |_ var |_ vendor
最終的なファイル構成は上記のようになっているかと思います。
データベース
bin/console doctrine:schema:update --dump-sql
上記コマンドで吐き出されたダンプファイルをデータベースに読み込ませたりするのだと思います。詳しいことは引用先を参考にされてください。
おわり
サイトにアクセスしてみて、ページが表示されたら無事インストール完了です。