を作成し、展開し、管理する


📎 I created this for my own standard operating procedure. Mainly, so I don't forget how to create and launch new sites! It was suggested that I share it with the community. That said, I'm not an expert. Your results may vary. And please I am always open to feedback for improving the process.



マイメソッド/ワークフロー
私は私の生産サーバー、Bluehostにgitリポジトリフォルダを持っています.私のアカウントは、共有アカウント、プロのWebホスティングです.私はそこにリポジトリを作成し、また、新しいサイトのライブパブリックフォルダ.
典型的なワークフロー.ローカルサイトを作り始める→ リポジトリに更新をプッシュ→ ライブフォルダにSHHとリポジトリからサイトをプルします.私はもともとこれに触発されたguide .

創造
BluehostアカウントでSSHアクセスを有効にする必要があります.BluehostのIPアドレスとユーザ名を使用します.[email protected]

私のGITワークフロー
ローカルでサイトをビルドする場合は、このメソッドを使用します.

あなたはすでにLALAVELアプリを開発し始めました.
Gitプロジェクトをローカルにコミットしました.

2 .初期化-bare 倉庫
BlueStory“生産サーバー”にsshとあなたの中央リポジトリを希望するディレクトリを探します.フォルダがあるRepo
ssh [email protected]
cd repo
新しいリポジトリを初期化します.
git init --bare --shared sitename.git

Note this is outside of your public folder structure.



ローカルプロジェクトへのリモートの追加
ローカルのウェブサイトのフォルダに移動します.
cd ~/"Path/to/websites/sitename"
レポを起源として加える
git remote add origin [email protected]:~/repo/sitename.git
強制的にサイトを設定し、原点を
git push -f --set-upstream origin master
より良い方法がありますが、これはこのユースケースのために素晴らしいようです.

代替のgitワークフロー
ローカルのdevサイトがない場合は、このメソッドを使用します.

1 .初期化-bare 倉庫
BlueStory“生産サーバー”にsshとあなたの中央リポジトリを希望するディレクトリを探します.フォルダがあるRepo
ssh [email protected]
cd repo
今すぐリポジトリを初期化します.
git init --bare --shared sitename.git

Note this is outside of your public folder structure.



ローカルサイトを作成するクローン
ローカルウェブサイトファイルに移動します.
cd ~/"Path/to/websites"
今すぐ中央をクローン--bare あなたが作成したリポジトリとこのsshセッションのログアウト.
git clone [email protected]:~/repo/sitename.git sitename

3 .あなたのlaravelアプリの開発を開始します.
祝うし、何かを作り始める.

展開

Repoからのライブウェブサイトを作成するクローン
(既にssh経由でBluehostにログインしていない場合)
ssh [email protected]
ウェブサイトファイル
cd ~/public_html/
サイトの中央リポジトリをクローンする
git clone [email protected]:~/repo/sitename.git sitename

2 . Bluehost管理タスク
BlueHost管理者ウェブサイトから、我々はプロジェクトのためにデータベースを作成して、ドメインを割り当てて、電子メールを加えます.
別に、私はBlueStoryにデータベースをsshに可能なことを読みましたが、LALAVELプロジェクトを作るとき、それがどのように自動化されることができるかを見る時間を取らなかった.

aドメインを割り当てるか、サブドメインを作成する

  • ドメインを割り当てる
    ドメインサブメニューから[割り当て]を選択します.あなたのドメインをBlueHostに割り当てる方向に従ってください.ステップ4に進むと、アドオンディレクトリとサブドメインを選択し、既存のディレクトリを使用して/sitename/public/ 人口減少ドロップダウンから.
    OR
  • サブドメインを作成する
    ドメインサブメニューからサブドメインを選択します.ホームフォルダを作る/sitename/public/

  • 任意のサイトに関連する電子メールアドレスを作成する
    cPanelは“高度な”メニューのタブに移動されています.
    BlueHost SMTPを使用してサイトの通知を送信する場合は、サイトのドメインを使用して電子メールを設定する必要がありますか、すでにあなたのアカウントに関連する電子メールを使用します.

    cデータベースを介してデータベースを作成する
  • MySQLデータベース→ データベースの作成
  • 作成後、データベースページに戻って、すべての権限を持つ新しいデータベースにユーザーとして自分自身を追加します.

  • 3 .サイトを編集します.envファイル
    SSH Goを使用してライブウェブサイトファイル
    cd ~/public_html/sitename/
    
    例env fileの名前を変更する
    mv .env.example .env
    
    エディット.関連する生産値を追加するENVファイル
    vim .env
    

    Quick Reminder Crib Sheet for VIM: i to edit (insert), esc to stop editing, :wq to write and quit, OR :q to quit without saving


    に新しいデータベースの資格情報やアプリを追加します.env
    APP_NAME=Sitename
    APP_ENV=production
    APP_KEY=
    APP_DEBUG=true
    APP_URL=https://sitename.com
    
    ...
    
    DB_CONNECTION=mysql
    DB_HOST=localhost
    DB_PORT=3306
    DB_DATABASE=your_username_sitename
    DB_USERNAME=your_username
    DB_PASSWORD=your_blue_password
    
    ...
    
    MAIL_MAILER=smtp
    MAIL_HOST=mail.sitename.com
    MAIL_PORT=465
    MAIL_USERNAME=[email protected]
    MAIL_PASSWORD=thEemailPaSsowrd
    MAIL_ENCRYPTION=ssl
    MAIL_FROM_ADDRESS=[email protected]
    MAIL_FROM_NAME="${APP_NAME}"
    
    ...
    

    💡 Remember: Bluehost databases are automatically prefixed with your_username_

    ⛔ Come back and set to app_debug to false once you confirm the site works.

    📨 For emails to work via Bluehost smtp it may require a chat with support for them to edit your site permissions for emails using their tool putty. If you get a swift error when the site is trying to sending emails. Chat up support!



    4 .作曲家のインストールなど.
    ここでは、Laaravelの、作曲家のインストールの修正版を使用します.(あなたの正しいバージョン/パスについては、Bluehostをチェックしてください).
    /usr/local/bin/ea-php80 /opt/cpanel/composer/bin/composer install --optimize-autoloader --no-dev
    
    またはdev依存性がある場合は、まだソートされていません
    /usr/local/bin/ea-php80 /opt/cpanel/composer/bin/composer install
    
    サイトキーを生成します.
    php artisan key:generate
    
    データベースを移行します.ここではデフォルトで播種します
    php artisan migrate:fresh --seed
    
    警告が表示されます.確かですね.あなたは生産中です.

    5 .編集htaccess
    ここではphp 8バージョンハンドラを含み、サイトをhttpsを使用するよう強制します.可能性がありますこの手順をスキップすることができます.
    cd public
    vim .htaccess
    
    これから.
    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews -Indexes
        </IfModule>
    
        RewriteEngine On
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.+)/$
        RewriteRule ^ %1 [L,R=301]
    
        # Send Requests To Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
    
    これに.
    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews -Indexes
        </IfModule>
    
        RewriteEngine On
    
        # FORCE HTTPS
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.+)/$
        RewriteRule ^ %1 [L,R=301]
    
        # Send Requests To Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
    
    # This handler adds the correct php [version?]
    <IfModule mime_module>
        AddHandler application/x-httpd-ea-php80 .php .php8 .phtml
    </IfModule>
    
    pow、サイトが動作している!新しいサイトのURLをご覧ください.
    ここでは、ラーラヴエルの他のキャッシュの提案を実行することができますdeployment section . 私は、サイトが正しく動作するまで知っているのを待ちます.

    管理/更新
    [この章は進行中です]

    1 .新しいコードをリポジトリにプッシュする
    あなたのローカルプロジェクトから
    git push origin master
    

    2 .ライブウェブサイトに取り込む
    ssh [email protected]
    
    ウェブサイトファイル
    cd ~/public_html/sitename
    
    リポジトリからサイトを更新
    git pull origin master
    
    もうこれだけです.私は、これが助けることを望みます.あなたの考えや/または提案を私に知らせてください.