1

私は通常の Linux/Apache サーバー (雇われたホスティング) を持っており、FTP 経由で定期的に更新する PHP Web サイトをホストしています。Bitbucket リポジトリに変更をプッシュするときに、変更をサーバーに自動的にデプロイしたいと考えていました。

まず、サーバーに SSH で接続し、リポジトリをディレクトリ (myapp など) に複製します。

git clone [myapp GIT URL]

http://mydomain.com/myappにアクセスすると、 Internal Server Error (500)が表示されます。権限またはファイルの所有権に関係があると考えました。FTP を介して、chmodすべてのファイルを 777 に転送して、同じエラーがスローされます。実際、ディレクトリのコンテンツを削除し、FTP を介してアプリを手動でアップロードしても、エラーは持続します (ディレクトリのアクセス許可も 777 に設定されています)。これを修正する唯一の方法は、ディレクトリを削除して再度作成し、アプリを手動でアップロードすることです。

私が言ったように、これは有料のホスティング サービスであるため、私はサーバーを所有しておらず、サーバーを高度に制御することもできません。

なぜこれが起こるのですか?それは私の側から修正可能ですか?

4

1 に答える 1

3

同じ問題があり、どこにも答えが見つからなかったため、この質問を見つけました。これは、将来この質問を見つけるすべての人のためのものです。

あなたのbashrcファイルを編集する必要があります

$ vim ~/.bashrc

そして、これをファイルの最後に追加します

umask 022

この後、これが有効になる前にログアウトしてログインする必要があります(sshを使用してログインしている場合は、もう一度接続するだけです)またはファイルを実行します

.  ~/.bashrc

これで、再度 git clone を実行できるようになり、動作するようになります。

umaskのドキュメントはこちら

于 2015-11-21T21:38:35.693 に答える