さくらのレンタルサーバにLaravelをインストールしてアプリ作成する
さくらのレンタルサーバにLaravelインストールってできないの?
試しにやってみますか。

この記事ではさくらのレンタルサーバでLaravelアプリケーションをデプロイするっていうことをやってみたいと思います。

この記事でやること
  • Laravelアプリを公開するドメインを追加する
  • PHPバージョンを確認・変更する
  • Composerをインストールする
  • Laravelをインストールする
  • .htaccessの編集をする
  • ブラウザからアクセスして確認する

    Laravelアプリケーションをさくらのレンタルサーバでどう公開できるのか、どんな風にやれるのか気になる方は見てみてください。

    さくらのレンタルサーバでLaravelアプリを公開してみたい。

    使用するさくらのレンタルサーバーのプランはスタンダード

    契約しているさくらのレンタルサーバのプランはスタンダードです。

    このスタンダードプランでLaravelアプリを公開するっていうことをやっていきます。スタンダードならSSH接続もできるので、SSH接続して作業していきます。

    もしこれからさくらのレンタルサーバを使うっていう場合は、スタンダードかプレミアムがおすすめです。もしよければ以下の記事を見てみてください。

    さくらのレンタルサーバにLaravelアプリケーションを公開する流れ

    Laravelアプリケーションをさくらのレンタルサーバに公開するまでの流れとしては以下です。

    Laravelアプリ公開までの流れ
    1. Laravelアプリを公開するドメインを追加する
    2. PHPバージョンを確認・変更する
    3. Composerをインストールする
    4. Laravelをインストールする
    5. .htaccessの編集をする
    6. ブラウザからアクセスして確認する

    結構やることは多いけど、ある程度レンタルサーバーに備わっている機能を使うことができるので楽な部分は楽です。

    ちょっと面倒な部分もあるけどやっていきましょう。

    Laravelアプリを公開するドメインを追加する

    Laravelアプリケーションを公開するドメインを登録しないといけないので、まずはそこからです。

    ドメインをさくらのレンタルサーバに追加していない場合は以下の記事でお名前.comを使ったドメインの追加方法を書いているので、よかったら見てみてください。

    さくらのレンタルサーバのPHPバージョンを確認・変更する

    管理画面からPHPバージョンの確認と変更を行うことができます。

    選べるバージョンは限られているけど、できるだけ公開したいアプリケーションのPHPバージョンに近いものにしておくといいです。

    変更した後にSSH接続してphp -vとかすると設定したバージョンに切り替わっているのが確認できると思います。

    Composerをインストールする

    ComposerはComposerのサイトにインストール方法が掲載されているので、それを参考に入れます。

    $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    $ php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    
    $ php composer-setup.php
    $ php -r "unlink('composer-setup.php');"

    ディレクトリを作成してcomposerを移動させておきます。

    $ mkdir -p .config/composer/vendor/bin/
    $ mv composer.phar .config/composer/vendor/bin/composer

    パスを通して完了です。

    $ vi ~/.bash_profile
    PATH=$HOME/.config/composer/vendor/bin:$HOME/bin:$PATH
    $ source ~/.bash_profile
    $ composer -v
       ______
      / ____/___  ____ ___  ____  ____  ________  _____
     / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 2.4.2 2022-09-14 16:11:15

    これでComposerのインストールが完了したので、Laravelアプリケーションを作成していきましょう。

    Laravelをインストールする

    composerコマンドを使ってLaravelプロジェクトを作成します。

    作成するディレクトリ
    作成するディレクトリはドメインを追加した際のWEB公開フォルダにやるとします。(別に好きな場所で大丈夫)

    今回は/www/yellow-glass.siteでLaravelアプリケーションの作成コマンドを打ちます。

    要はWEB公開フォルダとLaravelプロジェクトのディレクトリ位置を合わせたいだけです。

    $ cd ~/www/yellow-glass.site
    $ composer create-project laravel/laravel .

    実行するとLaravelアプリケーションが生成されます。

    .htaccessを編集する

    LaravelはWebサーバーからpublicフォルダに接続されると画面が表示されるようになっています。さくらのレンタルサーバは、ドメインにアクセスされた際はWEB公開フォルダが参照されるようになっています。

    本当はWebサーバーの設定をいじりたいけど、レンタルサーバーであるさくらのレンタルサーバではそこまではできません。

    WEB公開フォルダではなく、publicフォルダにアクセスして欲しいので.htacecssを作成して向き先を変更します。

    $ vim /home/xxxwww/yellow-glass.site/.htaccess
    
    <Ifmodule mod_rewrite.c>
      RewriteEngine On
      RewriteRule ^(.*)$ public/$1 [QSA,L]
    </IfModule>
    

    これでドメインにアクセスされたら直下のpublicフォルダを参照するようになりました。

    この辺りはどこにLaravelアプリを作成したかなどのディレクトリ構造によって変わってくるので、自分のアプリケーションに合うように編集するといいです。

    Laravelアプリケーションにアクセスする

    ブラウザからドメインにアクセスしてみるとLaravelの画面が表示されました。

    ここまでで表示はOKですが、データベースとの接続もしたいのでやっていきましょう。

    データベースを作成する

    データベースはさくらのレンタルサーバの管理画面から作成することができるので作成します。

    必要な情報を入力していきます。

    作成するボタンを押すとデータベースが作成されます。

    データベース接続用パスワードは初回のDB作成時にしか問われない
    データベース接続用パスワードは2回目以降のDB作成時には問われません。

    初回作成時にデータベースサーバーへの接続の際のパスワードが設定されるので、そのパスワードが他のデータベース作成時にも適用されます。

    試しに2つデータベースを作ってみてみるとこんな感じで同じデータベースサーバーに作成したデータベースがありますね。

    $ mysql -u ユーザー名 -h データベースサーバー名 -p

    データベース接続情報を変更する

    作成したデータベースに接続できるようにLaravelアプリケーションの.envを編集します。

    DB_CONNECTION=mysql
    DB_HOST=データベースサーバー名
    DB_PORT=3306
    DB_DATABASE=作成したデータベース名
    DB_USERNAME=ユーザー名
    DB_PASSWORD=設定したパスワード

    赤い線を引いた部分が接続情報になるので、それらを.envに記載しておきましょう。

    migrationファイルを作成する

    migrationファイルを作成してmigrateしてみます。

    $ php artisan make:migration create_todos_table
    
       INFO  Migration [2022_12_15_030654_create_todos_table] created successfully.
        public function up()
        {
            Schema::create('todos', function (Blueprint $table) {
                $table->id();
                $table->string('title');
                $table->timestamps();
            });
        }

    これでmigrateするとちゃんとできましたね。

    これで作成したデータベースとの接続もできたので、あとはコードを書いてDBにデータを挿入したり引っ張ってきて表示したりということができるはずです。

    まとめ

    さくらのレンタルサーバでLaravelをインストールするっていうことをやってみたけど、インストールして動くところまでできましたね。今回やったことは以下です。

    やったこと
    • Laravelアプリを公開するドメインを追加する
    • PHPバージョンを確認・変更する
    • Composerをインストールする
    • Laravelをインストールする
    • .htaccessの編集をする
    • ブラウザからアクセスして確認する

    データベースとの接続も確認できたので、EloquentやDBファサード使ってデータの取得などもできるはず。もしローカルで開発したLaravelアプリケーションを公開してみたかったら試してみるといいでしょう。