1
0

apacheにgitをいれてcloneしたものを表示する

Last updated at Posted at 2024-04-15

初めに

git cloneしたプロジェクトをapacheで表示させてみたのでその解説をします。

環境情報

macOS Sonoma 14.4.1
CentoOS Stream X_86_64
Apache/2.4.57
composer version 2.7.2
Laravel Installer 5.7.1
git version 2.43.0

解説する

サーバ側でやること

rootユーザーでログインする
gitをインストール

dnf install git-all

git でコマンド紹介が出ればオッケー

.sshに移動

cd .ssh

githubと連携するための公開鍵と秘密鍵をおいておくディレクトリを作る

mkdir git_hub

git_hubに移動

cd git_hub

そのディレクトリに鍵のペアを作る

ssh-keygen -t ed25519 -C "gitのメールアドレス" -f キー名

パスフレーズはメモしておく

ssh-agentへのsshキーの追加
パスフレーズの入力をパスするようになります。
バックグラウンドでssh-agentが動作していることを確認

eval `ssh-agent`

秘密鍵をssh-agentに追加する

ssh-add ~/.ssh/git_hub/~

公開鍵をgitに登録する

右上のアイコンをから
スクリーンショット 2024-04-15 17.01.21.png

Settingsに飛ぶ
スクリーンショット 2024-04-15 17.02.11.png

SSH and GPG keysに飛ぶ
スクリーンショット 2024-04-15 17.03.07.png

New ssh keyで
スクリーンショット 2024-04-15 17.04.07.png

公開鍵を追加する

動くかテストする

ssh -T git@github.com

これを叩いてみてください。
gitとうまく連携できていると

Hi ユーザー名! You've successfully authenticated, but GitHub does not provide shell access.

と表示されますが、
画面には

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

と表示されているのでこれを解決していきます。

gitの秘密鍵をうまく読み取らせる

gitはssh接続の際にデフォルトで「~/.ssh/id_rsa」、「~/.ssh/id_dsa」、「~/.ssh/identity」のファイルしか確認しないそうです。
僕は新しくgitの鍵を置いておくディレクトリを作ったのでデフォルトでは読み取られません。
なのでその対策としてconfigファイルを作っていきます。
.sshに移動します。

cd ../

で一つ上に上がって

vi config

でconfigファイルを作成します。
内容は

Host github github.com
  HostName github.com
  IdentityFile ~/.ssh/git_hub/~ #ここに自分の鍵のファイル名
  User git

にします

動くかテストする

ssh -T git@github.com

これを叩いてみてください。
gitとうまく連携できていると

Hi ユーザー名! You've successfully authenticated, but GitHub does not provide shell access.

と表示されます

git cloneしてみる

laravelのプロジェクトを/var/www/htmlにおきたいのでそこまで移動

git clone ~

でプロジェクトをクローンしてきてください。

あとは
apacheの設定はこの記事で

laravelのデータベースなどの設定はこちらの記事を参考にしてやってみてください。

お疲れ様でした。

手順の最中にエラーが出る

エラー1 

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (Connection: mysql, SQL: select table_name as `name`, (data_length + index_length) as `size`, table_comment as `comment`, engine as `engine`, table_collation as `collation` from information_schema.tables where table_schema = 'portfolio' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED') order by table_name)

.envにデータベースの設定を記入したのにrootで接続しようとしている場合の対処方法
.envでdatabaseの情報に#がついていないか確認してください。

それでも無理な方は下の記事を参考にユーザーを作り直して権限を与えてください

ぼくはこれで解決できました。

最後に

これでポートフォリオを公開する準備が整いました。

参考文献

こちらの記事を参考にして作成しました。
ありがとうございました!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0