質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

Q&A

解決済

2回答

1094閲覧

laravelをさくらvpsで使えるようにしたい。

panp

総合スコア12

さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

0グッド

0クリップ

投稿2020/06/13 08:33

編集2020/06/15 06:52

前提・実現したいこと

https://qiita.com/sskmy1024y/items/c2e434941400bd4ee82c

を参考にさくらサーバーでlaravelを動かそうとした。
とりあえず、viewのn_user_log.blade.php
というログイン画面だけでも表示させたい。mysqlはまだ設定していない。
/home/ユーザー/laravel/newpro(prioect名)にプロジェクトがあり、
/var/www/html/newproにpublicの中身をコピーした。参考にしたQiitaどおりである。

発生している問題・エラーメッセージ

http://ipアドレス/newpro/index.php と検索しても以下のエラーがでる

HTTP ERROR 500

apacheのエラー

[Sat Jun 13 16:19:34.426402 2020] [php7:warn] [pid 14648] [client 180.0.139.63:59861] PHP Warning: require(/var/www/html/newpro/../../laravel/newpro/vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/newpro/index.php on line 24 [Sat Jun 13 16:19:34.426516 2020] [php7:error] [pid 14648] [client 180.0.139.63:59861] PHP Fatal error: require(): Failed opening required '/var/www/html/newpro/../../laravel/newpro/vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/newpro/index.php on line 24

/var/www/html/newpro/index.phpの24行目は以下です。

require __DIR__.'/../../laravel/newpro/vendor/autoload.php';

laravel/newpro/vendor/autoload.phpの中身は以下です。

// autoload.php @generated by Composer require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit10a0efddbedf8959c8df19c82f98907d::getLoader();

試したこと

/var/www/html/newpro
drwxrwxr-x 5 apache webgroup 4096 Jun 13 17:08 .
drwxrwxr-x 3 apache webgroup 4096 Jun 13 16:11 ..
-rwxrwxr-x 1 ユーザー名 ユーザー名 596 Jun 13 15:03 .htaccess
drwxrwxr-x 2 ユーザー名 ユーザー名 4096 Jun 13 14:39 css
-rwxrwxr-x 1 ユーザー名 ユーザー名 0 Jun 13 14:39 favicon.ico
-rwxrwxr-x 1 ユーザー名 ユーザー名 1859 Jun 13 14:41 index.php
drwxrwxr-x 2 ユーザー名 ユーザー名 4096 Jun 13 14:39 js
-rwxrwxr-x 1 ユーザー名 ユーザー名 24 Jun 13 14:39 robots.txt
drwxrwxr-x 2 ユーザー名 ユーザー名 4096 Jun 13 14:39 storage

.env
APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:4ZdzcXWTRzssKtBKzF44uqLwvXG4fHVwX7JdDJ5RUI8=
APP_DEBUG=false
APP_URL=http://160.16.218.27

補足情報(FW/ツールのバージョンなど)

centOS7 Apache2.4 php7.4

php

sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm sudo yum install --enablerepo=remi,remi-php74 php php-devel php-mbstring php-pdo php-xml php-zip1

apache

sudo yum install httpd

composer install -vvvすると以下のような見慣れないエラー文句がでていました。
Failed to initialize global composer: Composer could not find the config file: /home/satoshi/.config/composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading /home/satoshi/laravel/newpro/vendor/composer/installed.json
Running 1.10.7 (2020-06-03 10:03:56) with PHP 7.4.7 on Linux / 3.10.0-1127.8.2.el7.x86_64
Reading ./composer.lock
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Reading ./composer.lock
Resolving dependencies through SAT
Looking at all rules.

.htaccessの中身

<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> コメントアウトOptions -MultiViews -Indexes </IfModule> RewriteEngine On RewriteBase / コメントアウト 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] コメントアウト Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>

/etc/httpd/conf/httpd.conf

<Directory "/var/www/html"> コメントアウト コメントアウト Possible values for the Options directive are "None", "All", コメントアウト or any combination of: コメントアウト Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews コメントアウト コメントアウト Note that "MultiViews" must be named *explicitly* --- "Options All" コメントアウト doesn't give it to you. コメントアウト コメントアウト The Options directive is both complicated and important. Please see コメントアウト http://httpd.apache.org/docs/2.4/mod/core.html#options コメントアウト for more information. コメントアウト Options Indexes FollowSymLinks コメントアウト コメントアウト AllowOverride controls what directives may be placed in .htaccess files. コメントアウト It can be "All", "None", or any combination of the keywords: コメントアウト Options FileInfo AuthConfig Limit コメントアウト AllowOverride None コメントアウト コメントアウト Controls who can get stuff from this server. コメントアウト Require all granted </Directory>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuki84web

2020/06/13 10:33

LaravelのURLは、ドキュメントルートをLaravelのpublicディレクトリに設定せず、mod_rewriteでの書き換えもしていないなら、http://xxx.xxx/public/index.phpになるはずですが… あとは、Laravelの動作に必要な各種PHPモジュールやapacheのモジュールの確認でしょうか。
panp

2020/06/13 11:33

ドキュメントルート、mod_rewriteはいじっていないです。 http://xxx.xxx/public/index.php こちらのurlはどの部分を指していますでしょうか?
yuki84web

2020/06/13 12:28

/var/www/html/ がドキュメントルートだとして、その中にnewproというディレクトリ名でLaravelを設置したならば、そのアプリケーションのルートURLは http://ipアドレス/newpro/public/index.php になるはずでは?とういうことです。
panp

2020/06/14 06:41

なるほど。 index.phpを検索した後は、どのページが表示されるはずなのでしょうか? 現状はnot foundなのですが。。
yuki84web

2020/06/14 08:39

最後のスラッシュは不要です。初期状態ならそれで、/resources/view/welcome.blade.php の内容が表示されるはずです。Laravelのディレクトリに移動して"php artisan route:list"というコマンドを実行して、ルーティング一覧が出ますか?あと、Laravelのルートディレクトリには初期状態でcssディレクトリとかindex.phpは無いはずなのですが、それは一体どんなファイルなのでしょう…
panp

2020/06/14 09:27

ルーティング一覧表示されました。先頭にこんな感じのものが。。 GET|HEAD | / | | Closure | web GET|HEAD | api/user | | Closure | api,auth:api
panp

2020/06/14 09:29

laravelのnewproはSFTP転送でlocalからもってきました。
panp

2020/06/14 09:38

index.phpとcssなどはもともとlaravel/newpro/public内にありまして、公開ディレクトリー下にもってくるときに、/var/www/html/newproへ移動させました。
yuki84web

2020/06/14 11:12

移動させるのはURLからpublicを除去する為だと思いますが、何か作業が足りていないような気がします。
yuki84web

2020/06/15 04:03

publicを除去しているならそうなります。404の画面がLaravelによるものではなくウェブサーバーアプリケーションによるものであれば、単純にURLのリライトが出来てないだけの気がしますが…
panp

2020/06/15 06:11

.htaccessは以下の通りです。 <IfModule mod_rewrite.c> #<IfModule mod_negotiation.c> # Options -MultiViews -Indexes #</IfModule> RewriteEngine On RewriteBase / # 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] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
yuki84web

2020/06/15 06:53

どこかから参照したなら多分問題なさそうな気もしますが、原因が分かりにくいので 、まずはVPS上で別のディレクトリにcomposerでLaravelインストールして一切のカスタマイズ無しでアクセス出来るならLaravelの問題、それも出来ないならウェブサーバー側の問題でしょう。
panp

2020/06/15 11:05

プロジェクトを作成し、プロジェクト名/index.phpにアクセスしてみたところ、同様のエラーが確認できました。
panp

2020/06/15 11:50

エラーメッセージの require(/var/www/html/newpro/../../laravel/newpro/vendor/autoload.php) がおかしいように思います。公開用ディレクトリのurlと本体のurlが混じってしまっているということでしょうか?
yuki84web

2020/06/16 00:31 編集

一旦htmlディレクトリ以下の内容を全部消す→「$ composer create-project --prefer-dist laravel/laravel foo」でインストール→http://xxx.xxx/foo/public/index.php にアクセスしても無理ならサーバーの問題としか思えないので、そちらを調査して下さい
guest

回答2

0

composer install を行なっていないためかと思います

投稿2020/06/13 14:58

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

panp

2020/06/14 06:52

cd laravel /newproで composer installをおこなった結果です。以前qiitaの記事通りに実行したことがありました。 Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Nothing to install or update Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: facade/ignition Discovered Package: fideloper/proxy Discovered Package: laravel/tinker Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully.
panp

2020/06/14 14:54

composer install -vvvすると以下のような見慣れないエラー文句がでていました。 Failed to initialize global composer: Composer could not find the config file: /home/satoshi/.config/composer/composer.json To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section Reading /home/satoshi/laravel/newpro/vendor/composer/installed.json Running 1.10.7 (2020-06-03 10:03:56) with PHP 7.4.7 on Linux / 3.10.0-1127.8.2.el7.x86_64 Reading ./composer.lock Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Reading ./composer.lock Resolving dependencies through SAT Looking at all rules.
guest

0

自己解決

最初からやりなおし、パーミッションをみなおしながらやった結果うまくいきました、ありがとうございます。

投稿2020/06/25 05:33

panp

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問