を作成し、展開し、管理する
📎 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データベースを介してデータベースを作成する
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
もうこれだけです.私は、これが助けることを望みます.あなたの考えや/または提案を私に知らせてください.Reference
この問題について(を作成し、展開し、管理する), 我々は、より多くの情報をここで見つけました https://dev.to/webrobert/sop-for-creating-deploying-managing-websites-on-bluehost-shared-46m5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol